diff options
author | Joshua Harlow <harlowja@gmail.com> | 2014-10-11 18:23:20 -0700 |
---|---|---|
committer | Joshua Harlow <harlowja@gmail.com> | 2014-10-11 18:23:20 -0700 |
commit | 4994f7cb475713be523f96e077a76f801e6d1db5 (patch) | |
tree | 99a40dd26ed295f500ec85cd68f28f4bd91edf34 | |
parent | c5341fe07b767735e9ed74e45cee9629c6434892 (diff) | |
download | vyos-cloud-init-4994f7cb475713be523f96e077a76f801e6d1db5.tar.gz vyos-cloud-init-4994f7cb475713be523f96e077a76f801e6d1db5.zip |
Allow the omnibus url fetching retries to be configurable
-rw-r--r-- | cloudinit/config/cc_chef.py | 6 | ||||
-rw-r--r-- | cloudinit/util.py | 4 |
2 files changed, 9 insertions, 1 deletions
diff --git a/cloudinit/config/cc_chef.py b/cloudinit/config/cc_chef.py index e503371d..205f4b49 100644 --- a/cloudinit/config/cc_chef.py +++ b/cloudinit/config/cc_chef.py @@ -37,6 +37,7 @@ CHEF_DIRS = [ ] OMNIBUS_URL = "https://www.opscode.com/chef/install.sh" +OMNIBUS_URL_RETRIES = 5 CHEF_RB_TPL_DEFAULTS = { # These are ruby symbols... @@ -199,7 +200,10 @@ def install_chef(cloud, chef_cfg, log): elif install_type == 'omnibus': # This will install as a omnibus unified package url = util.get_cfg_option_str(chef_cfg, "omnibus_url", OMNIBUS_URL) - content = url_helper.readurl(url=url, retries=5) + retries = max(0, util.get_cfg_option_int(chef_cfg, + "omnibus_url_retries", + default=OMNIBUS_URL_RETRIES)) + content = url_helper.readurl(url=url, retries=retries) with util.tempdir() as tmpd: # Use tmpdir over tmpfile to avoid 'text file busy' on execute tmpf = "%s/chef-omnibus-install" % tmpd diff --git a/cloudinit/util.py b/cloudinit/util.py index f236d0bf..71221e09 100644 --- a/cloudinit/util.py +++ b/cloudinit/util.py @@ -399,6 +399,10 @@ def get_cfg_option_str(yobj, key, default=None): return val +def get_cfg_option_int(yobj, key, default=0): + return int(get_cfg_option_str(yobj, key, default=default)) + + def system_info(): return { 'platform': platform.platform(), |