summaryrefslogtreecommitdiff
path: root/ChangeLog
AgeCommit message (Collapse)Author
2014-07-21Allow the usage of jinja2 templatesScott Moser
This drops the hard requirement on Cheetah. Jinja is a python 2.4->3.x compatible templating engine, allow its optional usage (until we can depreciate cheetah) by allowing for specifying a template file header that can define which template engine to use. If the template file header does not specify a renderer, then assume that that is cheetah. If cheetah is not available, then use a limited builtin renderer on a best effort basis, and log the warning. LP: #1219223
2014-07-16fix 'make test' in python 2.6Scott Moser
2014-06-09doc: fix user-groups doc to reference plural ssh-authorized-keysScott Moser
LP: #1327065
2014-06-02SmartOS test: do not require existance of /dev/ttyS1.Scott Moser
LP: #1316597
2014-05-30CloudSigma: only poll on serial device after dmidecode check.Kiril Vladimiroff
On systems with a ttyS1 and nothing attached, the read attempts that the cloud sigma datasource would do would block. Also, Add timeouts for reading/writting from/to the serial console LP: #1316475
2014-05-30add vendordata support to cloudsigma datasourceScott Moser
LP: #1303986
2014-05-30open 0.7.6Scott Moser
2014-03-27OpenNebula: support base64 encoded user-dataScott Moser
This change adds the possibility to have base64 encoded userdata in OpenNebula source. OpenNebula uses a text file with shell variables for storing the configuration variables (including user provided data). Some user data may not be renderable into this format, so using base64 encoding alleviates the problem. The change here allows the user to provide a second variable USERDATA_ENCODING (or USER_DATA_ENCODING) and set that value to 'base64' to indicate that USERDATA is base64 encoded.
2014-03-19Azure: re-format ephemeral disk if necessaryScott Moser
On azure, the ephemeral disk may be destroyed and replaced with a fresh ephemeral disk on any reboot or stop and start cycle. This makes the datasource able to detect that by presence of an unformatted and specifically labeled NTFS filesystem with no files on it. LP: #1292648
2014-03-03write status to /run/cloud-init/ for external consumptionScott Moser
This populates and maintains status.json and result.json with json formated data about cloud-init's errors and datasource. It is intended to be consumed by other programs that want to wait until cloud-init is done, or know its success. LP: #1284439
2014-03-03seed_random: support a 'command' to seed /dev/randomDustin Kirkland
This extends 'random_seed' top level entry to include a 'command' entry, that has the opportunity to then seed the random number generator. Example config: #cloud-config random_seed: command: ['dd', 'if=/dev/zero', 'of=/dev/random', 'bs=1M', 'count=10'] LP: #1286316
2014-02-27AltCloud: to not run dmidecode on arm systems.Scott Moser
As with SmartOS change earlier, running dmidecode on arm will crash kvm. So instead of doing that, just return UNKNOWN which will cause this data source to not activate. LP: #1285686
2014-02-26SmartOS: do not run on arm as dmidecode causes problemsScott Moser
See LP: #1243287 for more information, but the easiest thing to do here is just not run smartos on arm. LP: #1243287
2014-02-13Add a openstack specific datasourceJoshua Harlow
Openstack has a unique derivative datasource that is gaining usage. Previously the config drive datasource provided part of this functionality as well as the ec2 datasource, but since new functionality is being added to openstack's special datasource it seems beneficial to combine the used parts into a new datasource just made for handling openstack deployments that use the openstack metadata service (possibly in combination with the ec2 metadata service). This patch factors out the common logic shared between the config drive and the openstack metadata datasource and places that in a shared helper file and then creates a new openstack datasource that readers from the openstack metadata service and refactors the config drive datasource to use this common logic.
2014-02-13Add initial GCE datasourceScott Moser
There are some rough edges here and its missing some test, but I want to get this pulled in.
2014-02-12initial Gentoo and Arch linux supportNate House
2014-02-12Add support for the CloudSigma server context.Kiril Vladimiroff
2014-02-12Add 'unverified_modules' config option and skip unverified modulesScott Moser
Config modules are able to declare distros that they were verified to run on by setting 'distros' as a list in the config module. Previously, if a module was configured to run and the running distro was not listed as supported, it would run anyway, and a warning would be written. Now, we change the behavior to skip those modules. The distro (or user) can specify that a given list of modules should run anyway by declaring the 'unverified_modules' config variable. run_once modules will be run without this filter (ie, expecting that the user explicitly wanted to run it).
2014-02-10Azure: fix issue with stale data in /var/lib/waagentScott Moser
If a datasource was found other than in /var/lib/waagent, and /var/lib/waagent contained all the files necessary for 'wait_for_files' (most likely 'SharedConfig.xml'), then cloud-init would continue on before looking properly. To address this, if the ovf-env.xml came from somewhere other than /var/lib/waagent, and it differs from the file in /var/lib/waagent, then we clean up some files that we expect to be provided by 'wait_for_files'. Also some minor changes to the tests here. LP: #1269626
2014-01-29DataSourceNoCloud: support reading vendor-data Scott Moser
Here we add the ability to read vendor-data from a file named vendor-data at the same location as the user-data and meta-data files. At the moment, vendor-data is not read at all from 'seedfrom'.
2014-01-28util.is_ipv4: realize that 0 is a valid number in a ipv4 address.Vlastimil Holer
Due to bug in function "cloudinit.util.is_ipv4" an IPv4 address with zero (0) at any component wasn't evaluated as IPv4 address. E.g.: having local datasource with 192.168.0.1 in meta-data/local-hostname. The correct behaviour would be to generate ip-192-168-0-1 hostname. With this bug, the hostname (with IPv4) was considered as FQDN (no IPv4 inside) and just first component (supposed to be hostname there) was taken. It generated hostname "192". Fixes for SmartOS datasource 1. fixed conflation of user-data and cloud-init user-data. Cloud-init user-data is now namespaced as 'cloud-init:user-data'. 2. user-scripts (not user-data) are now fetched from the meta-data service each boot and executed as in the scripts directory 3. datacenter name is now namespaced as sdc:datacenter 4. user-scripts will now have '#!/bin/bash' magically prepended if the 'file' thinks its plain text and it does not start with '#!' read_file_or_url: raise UrlError with 404 on ENOENT This makes it easier to call read_file_or_url and handle file or url errors. Now read_file_or_url will raise a UrlError in either case on errors.
2014-01-23Initial Freebsd supportHarm Weites
This gets initial support for freebsd.
2014-01-23Consider partitions as sources for configdrive if labelled correctlyPaul Querna
This change removes the filtering of partitions from potential ConfigDrive sources, if the LABEL of the partition is set to "config-2". This is useful for a bare metal device. It may not have a separate device for ConfigDrive, but instead have a ConfigDrive available on a partition.
2014-01-22cc_resizefs: figure out what /dev/root means via kernel cmdlineScott Moser
If mount_info says that the root filesystem is on /dev/root and /dev/root does not exist, then we'll try to glean that information from the linux kernel cmdline. This situation occurs at least when you boot without an initramfs for the current ppc64el cloud images: qemu-system-ppc64 ... -kernel my.kernel -append 'root=/dev/sda' When doing that, /proc/1/mountinfo will say '/dev/root' for '/'.
2014-01-17Add 'Requires' or 'Recommends' on sudo in packaging files.Vlastimil Holer
2014-01-17drop requirement on boto for its boto.utils.get_instance_metadata()Scott Moser
We had a requirement on boto only to use boto.utils.get_instance_metadata(). That had actually caused some pain in the past. This removes a Requires and also one that wasn't python3.
2014-01-17initial vendordata supportScott Moser
This adds the ability for a datasource to provide "vendordata". The difference here is that vendordata is from the vendor (cloud provider) where user-data is from the user. By enabling this channel, the vendor can have input on how the instance is set up without modifying or needing to understand the user-data. vendordata is generally consumed exactly like user-data, but the user has the ability to disable its consumption. The only datasource supporting this at the moment is SmartOS.
2014-01-17remove support for resizing via 'parted resizepart'Scott Moser
This was previously broken anyway. It doesn't seem like there was an easy way to actually support it, so for now I'm removing it entirely. growpart works well enough.
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-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-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-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-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-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-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-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-08Change SmartOS verb for availability zoneScott Moser
smartos host changed the name of 'region' to 'datacenter_name' LP: #1244355
2013-10-24support calling add-apt-repository on cloud-archive: entriesScott Moser
LP: #1244355
2013-10-17fix power_state_change config module so that example works, improve docScott Moser
2013-10-17fix DataSourceAzure incompatibility with 2.6Scott Moser
LP: #1232175
2013-10-07fix bug mounting first partition of a alias'd name.Scott Moser
The expected behavior was that 'ephemeral0' in a mount device entry and ephemeral0 mapped to /dev/xvdb that /dev/xvdb1 or /dev/xvdb would be substituted. Explicitly setting 'ephemeral0.0' would mean only xvdb in this case. LP: #1236594
2013-10-07open 0.7.4Scott Moser
2013-10-02cc_growpart: respect /etc/growroot-disabled Scott Moser
cloud-initramfs-growroot is an initramfs module in cloud-initramfs-tools that resizes the root partition before the root is pivoted over. growroot was used in Ubuntu up to and including 12.10. The file /etc/growroot-disabled on the root filesystem was the only way of disabling the growing of the root partition. In cloud-init 0.7.2 cloud-init began resizing the root partition as growpart gained the ability to utilize 'ptupdate' in kernels > 3.8. This was a big improvement as now the user could disable or enable the growing of the root partition via user-data. In order to let users disable growing of / very simplistically cloud-init will now respect the presense of /etc/growroot-disabled unless config specifically tells it to ignore that file. LP: #1234331
2013-10-02examples/cloud-config-user-groups.txt doc fix, fix pep8Scott Moser
fix documentation of mkpasswd usage in doc/examples/cloud-config-user-groups.txt Also, Precise's version of pep8 insists on ordering of imports, but saucy's has not. So we had some incorrect ordering. This fixes './tools/run-pep8' on precise.
2013-09-30add default user to 'sudo' group.Scott Moser
Ubuntu images in 12.04 added the user to the 'admin' group. The admin group was deprecated/replaced with the 'sudo' group in 12.10. d-i adds its first-user to the 'sudo' group, so it makes sense to mimic that behavior for the default user created by cloud-init. That was the original reason behind the presense in the 'admin' group. Also, here I sorted alphabetically the group list. LP: #1228228
2013-09-26add entry to ChangeLogScott Moser
2013-09-26fix spelling in ChangeLogScott Moser
2013-09-25update ChangeLogScott Moser