summaryrefslogtreecommitdiff
path: root/cloud-init.py
diff options
context:
space:
mode:
Diffstat (limited to 'cloud-init.py')
-rwxr-xr-xcloud-init.py13
1 files changed, 10 insertions, 3 deletions
diff --git a/cloud-init.py b/cloud-init.py
index ee08c191..09c537f1 100755
--- a/cloud-init.py
+++ b/cloud-init.py
@@ -146,9 +146,6 @@ def main():
warn("consuming user data failed!\n")
raise
- # finish, send the cloud-config event
- cloud.initctl_emit()
-
cfg_path = cloudinit.get_ipath_cur("cloud_config")
cc = CC.CloudConfig(cfg_path, cloud)
@@ -163,6 +160,16 @@ def main():
except Exception as e:
warn("Failed to get and set output config: %s\n" % e)
+ # send the cloud-config ready event
+ cc_path = cloudinit.get_ipath_cur('cloud_config')
+ cc_ready = cc.cfg.get("cc_ready_cmd",
+ ['initctl', 'emit', 'cloud-config',
+ '%s=%s' % (cloudinit.cfg_env_name, cc_path) ])
+ if cc_ready:
+ if isinstance(cc_ready,str):
+ cc_ready = [ 'sh', '-c', cc_ready]
+ subprocess.Popen(cc_ready).communicate()
+
module_list = CC.read_cc_modules(cc.cfg,"cloud_init_modules")
failures = []