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(), | 
