diff options
Diffstat (limited to 'cloudinit')
| -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(), | 
