diff options
Diffstat (limited to 'cloudinit/CloudConfig/cc_phone_home.py')
-rw-r--r-- | cloudinit/CloudConfig/cc_phone_home.py | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/cloudinit/CloudConfig/cc_phone_home.py b/cloudinit/CloudConfig/cc_phone_home.py index 05caf8eb..73066444 100644 --- a/cloudinit/CloudConfig/cc_phone_home.py +++ b/cloudinit/CloudConfig/cc_phone_home.py @@ -23,6 +23,7 @@ frequency = per_instance post_list_all = ['pub_key_dsa', 'pub_key_rsa', 'pub_key_ecdsa', 'instance_id', 'hostname'] + # phone_home: # url: http://my.foo.bar/$INSTANCE/ # post: all @@ -31,10 +32,10 @@ post_list_all = ['pub_key_dsa', 'pub_key_rsa', 'pub_key_ecdsa', 'instance_id', # phone_home: # url: http://my.foo.bar/$INSTANCE_ID/ # post: [ pub_key_dsa, pub_key_rsa, pub_key_ecdsa, instance_id -# +# def handle(_name, cfg, cloud, log, args): if len(args) != 0: - ph_cfg = util.readconf(args[0]) + ph_cfg = util.read_conf(args[0]) else: if not 'phone_home' in cfg: return @@ -56,7 +57,7 @@ def handle(_name, cfg, cloud, log, args): if post_list == "all": post_list = post_list_all - all_keys = { } + all_keys = {} all_keys['instance_id'] = cloud.get_instance_id() all_keys['hostname'] = cloud.get_hostname() @@ -74,7 +75,7 @@ def handle(_name, cfg, cloud, log, args): except: log.warn("%s: failed to open in phone_home" % path) - submit_keys = { } + submit_keys = {} for k in post_list: if k in all_keys: submit_keys[k] = all_keys[k] @@ -82,20 +83,22 @@ def handle(_name, cfg, cloud, log, args): submit_keys[k] = "N/A" log.warn("requested key %s from 'post' list not available") - url = util.render_string(url, { 'INSTANCE_ID' : all_keys['instance_id'] }) + url = util.render_string(url, {'INSTANCE_ID': all_keys['instance_id']}) - last_e = None + null_exc = object() + last_e = null_exc for i in range(0, tries): try: util.readurl(url, submit_keys) - log.debug("succeeded submit to %s on try %i" % (url, i+1)) + log.debug("succeeded submit to %s on try %i" % (url, i + 1)) return except Exception as e: - log.debug("failed to post to %s on try %i" % (url, i+1)) + log.debug("failed to post to %s on try %i" % (url, i + 1)) last_e = e sleep(3) log.warn("failed to post to %s in %i tries" % (url, tries)) - if last_e: raise(last_e) - + if last_e is not null_exc: + raise(last_e) + return |