summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-01-15merge from trunkScott Moser
2014-01-15Require sudo package.Vlastimil Holer
2014-01-14provide default 'output' setting to log to /var/log/cloud-init-output.logScott Moser
This has been "best practice" for quite some time, and its a common request of "where is the output of my user-data programs". http://askubuntu.com/questions/345344/where-are-the-logs-for-my-user-data-script-cloud-init
2014-01-10Updated non-json messageJoshua Harlow
2014-01-10Only check for json objects instead of also arraysJoshua Harlow
2014-01-10Add a maybe_json helper functionJoshua Harlow
2014-01-10Add ec2 utils tests and httpretty requirement for http mockingJoshua Harlow
2014-01-10Bring back the ec2 utils, non-boto userdata/metadata readingJoshua Harlow
This replacement uses our own userdata/metadata ec2 webservice parser that we can easily modify, it also automatically allows for reading the ec2 userdata/metdata from files and also brings in the usage of requests instead of boto's usage of urllib which did not support ssl properly.
2014-01-09Allow a Config Drive source on a partition, if the label matches.Paul Querna
2014-01-09Azure: minor changes for filename as strings and logging.Scott Moser
We were passing a unicode string to 'runcmd' in the path to the .crt file. That is because the keyname was coming from ovf file as unicode. Ie: u'/var/lib/waagent/6BE7A7C3C8A8F4B123CCA5D0C2F1BE4CA7B63ED7.crt' Then, logging was extending not appending errors.
2014-01-09Added vendordata to SmartOSBen Howard
2014-01-09Merge with upstream sourcesBen Howard
2014-01-08Significant re-working of the userdata handling and introduction ofBen Howard
vendordata. Vendordata is a datasource provided userdata-like blob that is parsed similiarly to userdata, execept at the user's pleasure. cloudinit/config/cc_scripts_vendor.py: added vendor script cloud config cloudinit/config/cc_vendor_scripts_per_boot.py: added vendor per boot cloud config cloudinit/config/cc_vendor_scripts_per_instance.py: added vendor per instance vendor cloud config cloudinit/config/cc_vendor_scripts_per_once.py: added per once vendor cloud config script doc/examples/cloud-config-vendor-data.txt: documentation of vendor-data examples doc/vendordata.txt: documentation of vendordata for vendors (RENAMED) tests/unittests/test_userdata.py => tests/unittests/test_userdata.py TO: tests/unittests/test_userdata.py => tests/unittests/test_data.py: userdata test cases are not expanded to confirm superiority over vendor data. bin/cloud-init: change instances of 'consume_userdata' to 'consume_data' cloudinit/handlers/cloud_config.py: Added vendor script handling to default cloud-config modules cloudinit/handlers/shell_script.py: Added ability to change the path key to support vendor provided 'vendor-scripts'. Defaults to 'script'. cloudinit/helpers.py: - Changed ConfigMerger to include handling of vendordata. - Changed helpers to include paths for vendordata. cloudinit/sources/__init__.py: Added functions for helping vendordata - get_vendordata_raw(): returns vendordata unprocessed - get_vendordata(): returns vendordata through userdata processor - has_vendordata(): indicator if vendordata is present - consume_vendordata(): datasource directive for indicating explict user approval of vendordata consumption. Defaults to 'false' cloudinit/stages.py: Re-jiggered for handling of vendordata - _initial_subdirs(): added vendor script definition - update(): added self._store_vendordata() - [ADDED] _store_vendordata(): store vendordata - _get_default_handlers(): modified to allow for filtering which handlers will run against vendordata - [ADDED] _do_handlers(): moved logic from consume_userdata to _do_handlers(). This allows _consume_vendordata() and _consume_userdata() to use the same code path. - [RENAMED] consume_userdata() to _consume_userdata() - [ADDED] _consume_vendordata() for handling vendordata - run after userdata to get user cloud-config - uses ConfigMerger to get the configuration from the instance perspective about whether or not to use vendordata - [ADDED] consume_data() to call _consume_{user,vendor}data cloudinit/util.py: - [ADDED] get_nested_option_as_list() used by cc_vendor* for getting a nested value from a dict and returned as a list - runparts(): added 'exe_prefix' for running exe with a prefix, used by cc_vendor* config/cloud.cfg: Added vendor script execution as default tests/unittests/test_runs/test_merge_run.py: changed consume_userdata() to consume_data() tests/unittests/test_runs/test_simple_run.py: changed consume_userdata() to consume_data()
2014-01-07SeLinuxGuard: Cast file path to string.James Slagle
Before passing a path into selinux.matchpathcon, it needs to be casted to a string, since the path could be unicode and selinux.matchpathcon does not support unicode. LP: #1260072
2013-12-18new: Apply the locale to the default login class.Harm Weites
2013-12-14change: Just run the required command and let the exception do the restHarm Weites
if the process died. Checking first if the process is still alive proofed to be quite error prone, atleast on a rather slow compute node.
2013-12-14fix: Proper comment.Harm Weites
2013-12-14change: Use a proper signal instead of 'just' 0.Harm Weites
2013-12-14support calling apt with eatmydata, enable by default if available.Scott Moser
This allows a general config option to prefix apt-get commands via 'apt_get_wrapper'. By default, the command is set to 'eatmydata', and the mode set to 'auto'. That means if eatmydata is available (via which), it will use it. The 'command' can be either a array or a string. LP: #1236531
2013-12-14change: Use util.system_info().Harm Weites
2013-12-14new: Touch a reboot-required file to make clear we want a reboot afterHarm Weites
resizing the partition.
2013-12-14change: Use util.system_info().Harm Weites
2013-12-14change: Separate functions to load, read and write /etc/rc.conf keys andHarm Weites
values. Use these right away to read and change the hostname.
2013-12-14packages/debian/control.in: remove 'python:Depends'Scott Moser
remove python:Depends macro from the control.in file. This seemed to be overriding my 'python-json-patch | python-jsonpatch' with whichever one was installed. So, we're not getting automatic dependencies on trunk, which is honestly fine. We'll manage them this way.
2013-12-14fix: Log the used method as well.Harm Weites
2013-12-14fix: Fallback to check the interface state, specifically freebsd benefitsHarm Weites
of this.
2013-12-13packages/bddeb: accept python-json-patch or python-jsonpatchScott Moser
debian bug 717916 renames python-json-patch to python-jsonpatch, so ubuntu cloud-images with cloud-init may not have python-json-patch. Just accept either one.
2013-12-13Cast file path to string.James Slagle
Before passing a path into selinux.matchpathcon, it needs to be casted to a string, since the path could be unicode and selinux.matchpathcon does not support unicode. Closes-Bug: #1260072 LP: #1260072
2013-12-12fix 'make yaml'.Scott Moser
2013-12-12add 'debug' module for printing debug output.Shraddha Pandhe
This adds a debug module for printing debug output. It does not enable it by default (by putting it in in cloud_config_modules or elsewhere). Thats fine, as it is still quite useful for the user to run: sudo cloud-init single --frequency=always --name=debug ci-debug.txt
2013-12-12be verbose explicitly if run from cmdline.Scott Moser
Let the command line (or module args) that set outfile explicitly override a config'd value of 'verbose'. Ie, if /etc/cloud/cloud.cfg.d/my.cfg had: debug: verbose: False but the user ran: cloud-init single --frequency=always --name=debug output.txt Then they probably wanted to have the debug in output.txt even though verbose was configured to False.
2013-12-12fix pep8 and pylint warningsScott Moser
This fixes warnings raised by: ./tools/run-pep8 cloudinit/config/cc_debug.py ./tools/run-pylint cloudinit/config/cc_debug.py
2013-12-12Add a log message around import failures.Joshua Harlow
Since the import failure can be an expected failure do not log that failure at a WARNING level, but to start log it at a DEBUG level. This will help in figuring out why imports fail (if they ever do) for developer and cloud-init users. Previously it is hard to know if a module fails importing for a valid reason (not existent) or an invalid reason (the module exists but the module has a dependency which is not satisfied).
2013-12-11Removed yaml importShraddha Pandhe
2013-12-11Removed method _format_yamlShraddha Pandhe
2013-12-11essageShraddha Pandhe
2013-12-11bug: 1258619 added namespace for config options, output file, commandline ↵Shraddha Pandhe
argument for output file
2013-12-06new: FreeBSD module to support cloud-init on the FBSD10 platform. In itsHarm Weites
current form its still missing some modules though. Supported: -SSH-keys -growpart -growfs -adduser -powerstate
2013-12-06This is a new debug module thats supposed to print outShraddha Pandhe
some information about the instance being created. The module can be included at any stage of the process - init/config/final LP: #1258619
2013-11-19open 0.7.5Scott Moser
2013-11-19fix 'make rpm' by removing 0.6.4 entry from ChangeLog (LP: #1241834)Scott Moser
0.6.4 was never released, but had entries in the ChangeLog. The lack of a tag for 0.6.4 caused problems with 'make rpm' LP: #1241834
2013-11-19pep8 fixScott Moser
2013-11-19fix issue with get_mount_info on older kernelsScott Moser
This removes the requirement for /proc/PID/mountinfo, which was added in linux kernel 2.6.26. We could potentially re-visit this and read /proc/mounts rather than /proc/mtab, but mtab proves effective in testing. LP: #1248625
2013-11-19Documentation: fix name of 'cloud-init-per' commandScott Moser
2013-11-13Fix bug lp:1248625 by reading /etc/mtab when mountinfo is not present.Tim Daly Jr.
2013-11-08Change SmartOS verb for availability zoneScott Moser
smartos host changed the name of 'region' to 'datacenter_name' LP: #1244355
2013-11-07Change SmartOS verb for availability zone (LP: #1249124)Ben Howard
2013-10-31Documentation: fix name of "cloud-init-per" commandRobie Basak
2013-10-24support calling add-apt-repository on cloud-archive: entriesScott Moser
LP: #1244355
2013-10-24improve error message on failure of add-apt-repositoryScott Moser