diff options
| author | Joshua Harlow <harlowja@yahoo-inc.com> | 2012-11-07 10:42:54 -0500 |
|---|---|---|
| committer | Scott Moser <smoser@ubuntu.com> | 2012-11-07 10:42:54 -0500 |
| commit | 21a3cf3186809f9dae387e52e8bd9bc548981003 (patch) | |
| tree | d82d3c05e0f295ad2dda2dee5d0ca5b6ab116b78 /cloudinit/config/cc_chef.py | |
| parent | e6d4b76e5e60ff558c247ad76acd27343afe367c (diff) | |
| parent | 8b677bc80a39a0eb1a3cc7989c6bffb959fc7a69 (diff) | |
| download | vyos-cloud-init-21a3cf3186809f9dae387e52e8bd9bc548981003.tar.gz vyos-cloud-init-21a3cf3186809f9dae387e52e8bd9bc548981003.zip | |
test and path cleanups.
1. Remove the usage of the path.join function now that all code should
be going through the util file methods (and they can be mocked out as
needed).
2. Adjust all occurences of the above join function to either not use it
or replace it with the standard os.path.join (which can also be mocked
out as needed)
3. Fix pylint from complaining about the tests folder 'helpers.py' not
being found.
4. Add a pylintrc file that is used instead of the options hidden in the
'run_pylint' tool.
Diffstat (limited to 'cloudinit/config/cc_chef.py')
| -rw-r--r-- | cloudinit/config/cc_chef.py | 30 |
1 files changed, 14 insertions, 16 deletions
diff --git a/cloudinit/config/cc_chef.py b/cloudinit/config/cc_chef.py index 6f568261..7a3d6a31 100644 --- a/cloudinit/config/cc_chef.py +++ b/cloudinit/config/cc_chef.py @@ -26,6 +26,15 @@ from cloudinit import util RUBY_VERSION_DEFAULT = "1.8" +CHEF_DIRS = [ + '/etc/chef', + '/var/log/chef', + '/var/lib/chef', + '/var/cache/chef', + '/var/backups/chef', + '/var/run/chef', +] + def handle(name, cfg, cloud, log, _args): @@ -37,24 +46,15 @@ def handle(name, cfg, cloud, log, _args): chef_cfg = cfg['chef'] # Ensure the chef directories we use exist - c_dirs = [ - '/etc/chef', - '/var/log/chef', - '/var/lib/chef', - '/var/cache/chef', - '/var/backups/chef', - '/var/run/chef', - ] - for d in c_dirs: - util.ensure_dir(cloud.paths.join(False, d)) + for d in CHEF_DIRS: + util.ensure_dir(d) # Set the validation key based on the presence of either 'validation_key' # or 'validation_cert'. In the case where both exist, 'validation_key' # takes precedence for key in ('validation_key', 'validation_cert'): if key in chef_cfg and chef_cfg[key]: - v_fn = cloud.paths.join(False, '/etc/chef/validation.pem') - util.write_file(v_fn, chef_cfg[key]) + util.write_file('/etc/chef/validation.pem', chef_cfg[key]) break # Create the chef config from template @@ -68,8 +68,7 @@ def handle(name, cfg, cloud, log, _args): '_default'), 'validation_name': chef_cfg['validation_name'] } - out_fn = cloud.paths.join(False, '/etc/chef/client.rb') - templater.render_to_file(template_fn, out_fn, params) + templater.render_to_file(template_fn, '/etc/chef/client.rb', params) else: log.warn("No template found, not rendering to /etc/chef/client.rb") @@ -81,8 +80,7 @@ def handle(name, cfg, cloud, log, _args): initial_attributes = chef_cfg['initial_attributes'] for k in list(initial_attributes.keys()): initial_json[k] = initial_attributes[k] - firstboot_fn = cloud.paths.join(False, '/etc/chef/firstboot.json') - util.write_file(firstboot_fn, json.dumps(initial_json)) + util.write_file('/etc/chef/firstboot.json', json.dumps(initial_json)) # If chef is not installed, we install chef based on 'install_type' if not os.path.isfile('/usr/bin/chef-client'): |
