summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbin/cloud-init4
-rw-r--r--cloudinit/stages.py4
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: