diff options
-rwxr-xr-x | cloud-init.py | 3 | ||||
-rw-r--r-- | cloudinit/__init__.py | 10 |
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) |