Age | Commit message (Collapse) | Author |
|
To make it so that cloud-init is installable in a virtualenv
where it can be tested in an isolated scenario we need to avoid
using and including datafiles (which won't be written into the
virtualenv) and also avoid using our initsys helper class which
also adds on its own files when we are being ran from a virtualenv.
|
|
Add the basics of docs that can be extracted from the code itself (also
impose a initial format that will be useful for further modules to
follow). In this initial addition modify the cc_debug.py and
cc_ubuntu_init_switch.py to use this new style.
LP: #1383510
|
|
|
|
This busted logic causes 'output' to not be paid any attention
to, and thus output is not written to /var/log/cloud-init-output.log.
LP: #1387340
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
When a dict is passed in for 'ssh_authorized_keys' just extract
the keys from the values of the dict (and discard the keys).
|
|
Instead of only expected a list, tuple, or set type
allow for a string type to be passed in, and add log
message that occurs if some other type is used that
can not be correctly processed.
|
|
|
|
This adds a DataSource for DigitalOcean's metadata service. The service is
documented at https://developers.digitalocean.com/metadata/ .
|
|
|
|
|
|
Previously the usage of the yaml_dumps module was causing
any python unicode key and value to show up as:
'item': !!python/unicode "some string"
This was not very pretty...
Fix this by using safe_dumps (which is also a good thing to
use and allow_unicode=True). Also create a tiny helper function
in the cc_debug module that does not include the yaml start and
end footers (since this module has its own footers and headers).
Also includes a basic sanity test for this module.
|
|
|
|
|
|
|
|
|
|
|
|
- Use _libexecdir for the helper binaries
- Use _sharedstatedir instead of /var/lib
- Ensure _libexecdir/${name} exists
|
|
|
|
|
|
|
|
Without this change the tests are currently failing on rhel7
since a location where a hostname file is written no longer
exists at that location when systemd is active. To avoid this
allow the test to inspect if the distro has systemd enabled
and avoid testing the file when systemd is being used so the
test passes.
We likely need to figure out a better way to test features
that no longer exist as files but exist as commands with
systemd in general.
|
|
|
|
Defaulting to only trying once.
|
|
|
|
The DigitalOcean metadata service is an AWS-style service available
over HTTP via the link local address 169.254.169.254. The specifics
of the API are documented at:
https://developers.digitalocean.com/metadata/
|
|
|
|
|
|
For those who run chef in non-daemon mode, they would like to delete
the validation.pem file if chef finishes as expected to remove that file
from existing in an easy to read manner.
|
|
|
|
|
|
The keys 'server_url' and 'validation_name' were
previously mandatory, we should retain that behavior
for now.
|
|
|
|
Standardize on using the chef_cfg key 'exec' which can be used
when installing to tell the caller to run the chef client or can
also be used if the client is already installed and its requested
to be ran.
To retain existing behavior 'exec' does not by default assume to
be true, unless explicitly provided or a gems mode install is
requested.
|
|
|
|
|
|
When the template provides a path, make sure that before the
template is written that the path that is now in the template
has the associated directory created (if not already created).
|
|
|
|
|
|
|
|
|
|
Instead of only running the client when installed from gems, allow it
to be ran from other install modes as well (if configured) and allow the
arguments that are passed to the client when ran to be altered (if so
desired).
|
|
- Use the generated_by() utility function to
give the ruby template a better header comment
- Set special parameters after selecting the basic
chef parameters.
|