diff options
Diffstat (limited to 'cloud-init.py')
-rwxr-xr-x | cloud-init.py | 13 |
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 = [] |