| if install_type == "gems": | |
| # this will install and run the chef-client from gems | |
| chef_version = util.get_cfg_option_str(chef_cfg, 'version', None) | |
| ruby_version = util.get_cfg_option_str(chef_cfg, 'ruby_version', | |
| RUBY_VERSION_DEFAULT) | |
| install_chef_from_gems(cloud.distro, ruby_version, chef_version) | |
| # and finally, run chef-client | |
| log.debug('Running chef-client') | |
| util.subp(['/usr/bin/chef-client', | |
| '-d', '-i', '1800', '-s', '20'], capture=False) | |
| elif install_type == 'packages': | |
| # this will install and run the chef-client from packages | |
| cloud.distro.install_packages(('chef',)) | |
| elif install_type == 'omnibus': | |
| url = util.get_cfg_option_str(chef_cfg, "omnibus_url", OMNIBUS_URL) | |
| content = url_helper.readurl(url=url, retries=5) | |
| with util.tempdir() as tmpd: | |
| # use tmpd over tmpfile to avoid 'Text file busy' on execute | |
| tmpf = "%s/chef-omnibus-install" % tmpd | |
| util.write_file(tmpf, str(content), mode=0700) | |
| util.subp([tmpf], capture=False) | |
| import time; time.sleep(100) | |
| else: | |
| log.warn("Unknown chef install type %s", install_type) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment