summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xcloud-init.py3
-rw-r--r--cloudinit/__init__.py10
2 files changed, 13 insertions, 0 deletions
diff --git a/cloud-init.py b/cloud-init.py
index 1db2ea60..c92f07cd 100755
--- a/cloud-init.py
+++ b/cloud-init.py
@@ -26,6 +26,9 @@ def warn(str):
sys.stderr.write(str)
def main():
+ # cache is not instance specific, so it has to be purged
+ cloudinit.purge_cache()
+
cloud = cloudinit.CloudInit()
try:
diff --git a/cloudinit/__init__.py b/cloudinit/__init__.py
index 8d6ec59e..1d8a1898 100644
--- a/cloudinit/__init__.py
+++ b/cloudinit/__init__.py
@@ -318,3 +318,13 @@ class CloudInit:
def device_name_to_device(self,name):
return(self.datasource.device_name_to_device(name))
+
+
+def purge_cache():
+ try:
+ os.unlink(data_source_cache)
+ except OSError as e:
+ if e.errno != errno.ENOENT: return(False)
+ except:
+ return(False)
+ return(True)