summaryrefslogtreecommitdiff
path: root/ChangeLog
AgeCommit message (Collapse)Author
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
2013-09-25Fix usage of libselinux-python when selinux is disabled.Garrett Holmstrom
When libselinux-python is installed, but selinux is disabled on the instance, calls to restorecon blow up. This fixes it by checking what is_selinux_enabled() returns first.
2013-09-20add support for partitioning and creating filesystemsScott Moser
If the disks that are attached on boot do not have a filesystem on them, then this module is useful to set that up. LP: #1218506
2013-09-11merge from trunkScott Moser
2013-09-10add entry to changelogScott Moser
2013-09-09Add support for reading 'random_seed' from data source.Scott Moser
A new field in the metadata has emerged on openstack config drive, one that provides a way to seed the linux random generator. This adds a 'random_seed' config module that writes and that it to /dev/urandom. Also added is support for reading that data on azure via the hyper-v acpi table data. In config drive datasource, it rewrites parts of the on_boot code to use a little helper class.
2013-08-14cc_growpart: prefer growpart over parted 'resizepart'Scott Moser
the resizepart code was not functional. We will re-favor it later under bug 1212492. For now, we'll just favor the 'growpart' resizer. Both will be found in Ubuntu cloud images. LP: #1212444
2013-07-30add util.log_time helperScott Moser
The reason for this is that more and more things I was wanting to be able to see how long they took. This puts that time logic into a single place. It also supports (by default) reading from /proc/uptime as the timing mechanism. While that is almost certainly slower than time.time(), it does give millisecond granularity and is not affected by 'ntpdate' having run in between the two events.
2013-07-29add dependency on 'serial' used by SmartOS datasourceScott Moser
2013-07-24Add support for merging via jsonp patch format.Joshua Harlow
This adds a very well defined and understood mechanism for applying changes to the cloud-config. Had we seen this previously, we might have not done the merge-types work.
2013-07-23finalize handlers even when another handler fails.Joshua Harlow
Instead of previously initializing and not finalizing the handles that completed successfully when a handler initializing or running failed we should attempt to always give said handlers a chance to finalize (even when another handler fails). LP: #1203368
2013-07-23allow individual MIME segments to be gzip compressedJoshua Harlow
this will automatically decompress individual MIME segments if they are compressed. LP: #1203203
2013-07-23Fix password setting for rhel5.Scott Moser
Changing password via 'chpasswd' command in rhel5 would fail, if input to the 'chpasswd' command doesn't end with '\n'. The fix is just to append a carriage return to the input.
2013-07-17adds support for SLES plus some basic unittests.Juerg Haefliger
Some code from the RHEL handler was moved to a new file so that it can be used by the SLES handler.
2013-07-10add Azure datasourceScott Moser
This datasource is not perfect at this point, but is tested on raring. It expects that walinuxagent config is set to disable provisioning (Provisioning.Enabled=n) and also that walinuxagent will not start otherwise (ie 'echo manual | sudo tee /etc/init/walinuxagent.override).
2013-07-09handlers/upstart_job.py: invoke reload-configuration if we can.Scott Moser
Previously we'd not invoked reload-configuration because doing so caused issues with upstart. Now, instead, determine if we can invoke it. LP: #1124384
2013-06-07DataSourceOVF: small fix for iso9660 transportScott Moser
This is not really a problem, because nothing would call transport_iso9660 with 'require_iso' as False, but if it did, then we would have still required iso9660 filesystem on the mount.
2013-05-20Fix chef omnibus installation support.Chris Wing
LP: #1182265
2013-05-20open 0.7.3Scott Moser
2013-05-15mention new merge format in ChageLogScott Moser
2013-04-10improvments to systemd/fedora 18 supportGreg Padgett
This branch contains fixes found while investigating integration of cloud-init into oVirt. They're in 3 categories: - compatibility with systemd configuration management (as used in Fedora 18) - workaround for a 2.6 kernel quirk which prevented 'blkid' from displaying /dev/sr0 in some cases - writing sysconfig files in typical convention, with a newline preceding EOF, to make some parsers happy
2013-04-03invoke dist-upgrade instead of upgrade for apt upgradesScott Moser
dist-upgrade is generally more correct here to get all packages upgraded. We add the options to change these in system_info. Also, document the previous apt configuration change (apt_get_command). LP: #1164147
2013-03-20use 'requests' rather than urllib2.Scott Moser
This re-works the urlhelper and users of it to use requests rather than urllib2. The primary benefit is that now when using recent versions of python-requests (>= 0.8.8) https certificates will be checked.
2013-03-07support different and user-suppliable merging algorithms for cloud-configScott Moser
This adds a very useful mechanism for merging cloud-config, allowing the user to append to lists (ie, just add more 'run_cmd') or other things. See doc/merging.txt for more information, it is intended to be backwards compatible by default. LP: #1023179
2013-03-07allow customization of apt-get command, add --force-unsafe-ioScott Moser
This allows the customization of the apt-get command used for installing packages, and also adds '--force-unsafe-io'. Because this is spawned from cloud-init, it seems to make sense as a first boot package installation option.
2013-03-05add 'growpart' config module.Scott Moser
This adds support for resizing partition tables for mounted partitions. It thus allows us to remove 'cloud-initramfs-growpart' from running in the initramfs, and do it here instead. That depends on: a.) growpart in cloud-utils 0.2.7 or later or parted with 'resizepart' support b.) kernel 3.8.
2013-03-05fix ChangeLog entries incorrectly added as 0.6.0Scott Moser
2013-03-04upstart/cloud-init-nonet.conf: handle SIGTERM gracefullyScott Moser
this fixes a confusing message, most commonly found in /var/log/dmesg or seen on log screens: init: cloud-init-nonet main process (307) killed by TERM signal This was actually *expected* as the upstart job was supposed to block until networking came up, and the SIGTERM was sent by upstart. That said, the message was confusing. Now, instead we will see something like cloud-init-nonet[6.54]: waiting 10 seconds for network device cloud-init-nonet[12.13]: static networking is now up Which is much nicer. In the event that networking does not come up you'll see: cloud-init-nonet[X.Y]: gave up waiting for a network device. LP: #1015223
2013-03-01fix an issue where keys were not being parsed correctlyScott Moser
this fixes an issue where ssh keys were not being parsed correctly. The result was that keys were considered to have options that did not have options. Additionally, those options were being written rather than the disable_root options. LP: #1136343
2013-03-01Support resizing btrfs filesystems.Blair Zajac
The existing code has two issues with btrfs: 1) The command to resize a btrfs filesystem uses a path to the mount point, not the underlying device: $ btrfs filesystem resize max /dev/vda1 ERROR: unable to resize '/dev/vda1' - Inappropriate ioctl for device Resize '/dev/vda1' of 'max' $ btrfs filesystem resize max / Resize '/' of 'max' 2) The code that is given a path and finds the ID of the device where the path is mounted doesn't work for btrfs: Use /proc/$$/mountinfo to find the device where path is mounted. This is done because with a btrfs filesystem using os.stat(path) does not return the ID of the device. Here, / has a device of 18 (decimal). $ stat / File: '/' Size: 234 Blocks: 0 IO Block: 4096 directory Device: 12h/18d Inode: 256 Links: 1 Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2013-01-13 07:31:04.358011255 +0000 Modify: 2013-01-13 18:48:25.930011255 +0000 Change: 2013-01-13 18:48:25.930011255 +0000 Birth: - Find where / is mounted: $ mount | grep ' / ' /dev/vda1 on / type btrfs (rw,subvol=@,compress=lzo) And the device ID for /dev/vda1 is not 18: $ ls -l /dev/vda1 brw-rw---- 1 root disk 253, 1 Jan 13 08:29 /dev/vda1 So use /proc/$$/mountinfo to find the device underlying the input path.
2013-02-21Few patches to make life on Debian 6 stable happier:Vlastimil Holer
* Added arguments to packages/bddeb: -d pass through '-d' to debuild --no-cloud-utils don't depend on cloud-utils package (default: False) These are essential for building on Debian 6, because there are no python-mocker (build dependency) and cloud-utils (install dependency) in squeeze and squeeze-backports. * SysVinit startup scripts modified to run both on RHEL and Debian, * (Unfortunately) New option INIT_SYSTEM=sysvinit_deb for Debian /etc/init.d/ directory * Make separate Ubuntu and Debian APT source template (cc_apt_configure) I'm now generating working Debian 6 package following way: INIT_SYSTEM=sysvinit_deb packages/bddeb -us -uc --no-cloud-utils -d
2013-02-07DataSourceNoCloud: allow setting user-data and meta-data in configScott Moser
This allows a single file to declare and activate this data source. This could come from: * cloud-config-url on kernel cmdline * /etc/cloud/cloud.cfg.d * debian preseed of 'cloud-init/local-cloud-config' Also here is * some tests * a small fix to parse_cmdline_data found when writing those tests. LP: #1115833
2013-01-31upstart/cloud-init-container.conf: ensure /run/network existsScott Moser
ifquery will exit failure if there is no /run/network directory. normally that would get created by one of network-interface.conf or networking.conf. But, it is possible that we're running before either of those have.
2013-01-31Changelog: reformat to limit to 80 chars wideScott Moser
2013-01-31doc: fix example in cloud-config-write-files.txtScott Moser
The write_files documentation incorrectly used 'perms' rather than 'permissions'. LP: #1111205
2013-01-30Adding package versioning logic to package installation.Joshua Harlow
This change adds the ability to provide specific package versions to Distro.install_packages and subsequently Distro.package_command. In order to effectively use Distro.install_packages, one is now able to pass a variety of formats in order to easily manage package requirements. These are examples of what can be passed: - "package" - ["package1","package2"] - ("package",) - ("package", "version") - [("package1",)("package2",)] - [("package1", "version1"),("package2","version2")] This change also adds the option to install a specific version for the puppet configuration module. This is especially important here as successful puppet deployments are highly reliant on specific puppet versions.
2013-01-29Fix broken cc_update_etc_hostsharlowja
Right now, all distros but ubuntu will fail to manage /etc/hosts. This is due to the fact that the templates are named: - hosts.ubuntu.tmpl - hosts.redhat.tmpl The config handler is specifically looking for a template with the given distro name. This change addresses this issue.
2013-01-28add entries to ChangeLogScott Moser
2013-01-16DataSourceConfigDrive: consider CD rom as valid config-drive source.Scott Moser
previously, there was an attempt in the config drive source to limit the source device to a "full block device" rather than a partition. This was done by a simplistic approach of checking that the last character of the name was not a number. That was filtering out CD-rom devices (sr0). Now, we have a bit more sophisticated approach to that same problem. We filter out block devices that have a 'partition' entry in /sys/class/block/DEVICE_NAME/partition . LP: #1100545
2013-01-07Allow 'sr0' to be specified as a device for mountsVlastimil Holer
Previously cloud-config to get a '/dev/sr0' entry written to /etc/fstab would have had to have the full /dev/sr0. This change allows cloud-config to reference it without the '/dev/' prefix. Like: | mounts: | - [ sr0, /media/sr0 ]
2013-01-07DataSourceCloudStack: fallback to default route if no virtual router foundGerard Dethier
Changes in revision 753 broke cloud-init on ubuntu, as it has a different dhclient directory than Fedora where the change was developed and tested. This change does 2 things: * searches multiple directories (including /var/lib/dhcp) for the lease files. * adds a fallback to the old code path of choosing the default route as the virtual router if there were no virtual routers found in the lease files. LP: #1089989
2013-01-07fix 'lock_password' for cloud-config user setupScott Moser
This simiplifies the logic, by just making it independent of 'system'. LP: #1096423
2013-01-07fix redaction of password field in log (LP: #1096417)Joshua Harlow
We were trying to avoid the user's password being written to the log, but that was looking for the wrong option. LP: #1096417
2012-12-19add ChangeLog entry for previous commitScott Moser
2012-12-17ensure a datasource's 'distro' and sys_cfg are updatedJoshua Harlow
After parsing and merging datasource's config, the changes in were not making it into the datasource's 'distro. The end result was that the when a config module was called, it's 'cloud' argument would be updated in 'cloud.distro', but not in 'cloud.datasource.distro'. This path was required for getting mirror settings to take affect, because they include information from the datasource. Ie: cc_apt_configure had mirror_info = cloud.datasource.get_package_mirror_info() the datasource then used *its* copy of sys_cfg to call self.distro.get_package_mirror_info and *that* distro's sys_cfg had not been updated. LP: #1090482
2012-12-15Add 'omnibus' install mode for chefScott Moser
This adds 'omnibus' to the values supported for chef's "omnibus_url" config option. It also: * makes 'omnibus_url' configurable in cloud-config. * adds a 'force_install' flag, to allow the install code to act even if /usr/bin/chef-client is already present.
2012-12-14Provide a mechanism for puppet to be conditionally installed.Craig Tracey
Instead of always installing puppet give users the ability to opt-out. LP: #1090205