diff options
-rwxr-xr-x | bin/cloud-init | 4 | ||||
-rw-r--r-- | cloudinit/stages.py | 4 |
2 files changed, 7 insertions, 1 deletions
diff --git a/bin/cloud-init b/bin/cloud-init index 715be4b5..b449ac95 100755 --- a/bin/cloud-init +++ b/bin/cloud-init @@ -265,7 +265,9 @@ def main_init(name, args): else: return (None, ["No instance datasource found."]) - if args.local: + if args.local and not init.ds_restored: + # if local mode and the datasource was not restored from cache + # (this is not first boot) then apply networking. init.apply_network_config() # Stage 6 diff --git a/cloudinit/stages.py b/cloudinit/stages.py index 3fbb4443..ffb15165 100644 --- a/cloudinit/stages.py +++ b/cloudinit/stages.py @@ -66,6 +66,7 @@ class Init(object): self._distro = None # Changed only when a fetch occurs self.datasource = NULL_DATA_SOURCE + self.ds_restored = False if reporter is None: reporter = events.ReportEventStack( @@ -80,6 +81,7 @@ class Init(object): self._distro = None if reset_ds: self.datasource = NULL_DATA_SOURCE + self.ds_restored = False @property def distro(self): @@ -231,6 +233,8 @@ class Init(object): ds = None else: myrep.description = "no cache found" + + self.ds_restored = bool(ds) LOG.debug(myrep.description) if not ds: |