summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-01-20Corrected comment: puppet -> chefLorin Hochstein
2011-12-22fix issue with part-handlers and base64 encoding (LP: #874342)Scott Moser
Previously, * if content came into cloud-init for processing came in via a multipart mime file, and was already base64 encoded, it would get base64 encoded again before being handed to a part-handler. * if it came in via a '#include'd file then it would not be encoded at all. This drops the internal 'parts' array, that was just converted to and then from. Instead, we keep MIME format throughout and keep headers along the way. That means that a message that comes in with 'Content-Transfer-Encoding' set to 'base64' will be decoded before being handed to a part-handler. It also reduces the chance of failure due to content appearing to be an actual email. Previously if content contained colon separated fields, it might be read as headers (email.message_from_string(open("/etc/passwd","r")) would come back as all headers, no payload) The weak point right now is that '#include'd data cannot have mime types associated with it (unless it is a mime formatted content). I had hoped to read user headers and possibly set 'Content-Type' from that. LP: #874342
2011-12-22fix issue with multiple content-typesScott Moser
2011-12-22fix issue with part-handlers and base64 encoding (LP: #874342)Scott Moser
Previously, * if content came into cloud-init for processing came in via a multipart mime file, and was already base64 encoded, it would get base64 encoded again before being handed to a part-handler. * if it came in via a '#include'd file then it would not be encoded at all. This drops the internal 'parts' array, that was just converted to and then from. Instead, we keep MIME format throughout and keep headers along the way. That means that a message that comes in with 'Content-Transfer-Encoding' set to 'base64' will be decoded before being handed to a part-handler. It also reduces the chance of failure due to content appearing to be an actual email. Previously if content contained colon separated fields, it might be read as headers (email.message_from_string(open("/etc/passwd","r")) would come back as all headers, no payload) The weak point right now is that '#include'd data cannot have mime types associated with it (unless it is a mime formatted content). I had hoped to read user headers and possibly set 'Content-Type' from that.
2011-12-21support configuration of landscape-client via cloud-config (LP: #857366)Scott Moser
This adds the ability to configure landscape client code from cloud-config. The fields available are those that were populated to /etc/landscape/client.conf when I ran landscape-config on precise ('11.07.1.1-0ubuntu2') LP: #857366
2011-12-21fix bug where first entry in the list presented to mergeTogether was ignoredScott Moser
2011-12-20merge from trunkScott Moser
2011-12-20support configuration of landscape-client via cloud-config (LP: #857366)Scott Moser
This adds the ability to configure landscape client code from cloud-config. The fields available are those that were populated to /etc/landscape/client.conf when I ran landscape-config on precise ('11.07.1.1-0ubuntu2')
2011-12-20debian.trunk/ transition to dh_python2 from pycentralScott Moser
This is the same 2 changes that were made to cloud-init under LP: #904248
2011-12-20add INSTANCE_ID to env of bootcmd, add cloud-init-perScott Moser
the environment varible INSTANCE_ID is set when invoking boothooks from multi-part input. However, previously that was not the case for things run via bootcmd. This adds cloud-init-per, which makes it easy for user in bootcmd or boothook to do something per 'instance', 'always', or 'once'. The functionality in cloud-init-per mostly duplicated what was in cloud-init-run-module. That supported "modules", but it is unlikely that it was used for anything other than "execute". So, cloud-init-per now replaces cloud-init-run-module and provides legacy support for the 'execute' path.
2011-12-20put sem/marker files in 'sem' dirsScott Moser
2011-12-20remove unused cloudinit/execute.pyScott Moser
2011-12-20update documentation for bootcmdScott Moser
- reference cloud-init-per - mention that INSTANCE_ID is in environment of bootcmd scripts
2011-12-20replace cloud-init-run-module with cloud-init-perScott Moser
This replaces cloud-init-run-module (which was probably rarely or never used) with 'cloud-init-per' which does basically the same thing, but doesn't support "modules".
2011-12-20add INSTANCE_ID to environment of bootcmd scriptsScott Moser
2011-12-20output public ssh host keys to console on boot (LP: #893400)Scott Moser
Currently cloud-init writes something like this to console output: ec2: ############################################################# ec2: -----BEGIN SSH HOST KEY FINGERPRINTS----- ec2: 2048 78:ae:f3:91:04:6f:8d:ee:ef:e1:2d:72:83:6a:d0:82 root@h (RSA) ec2: 1024 d3:b6:32:64:22:d4:43:05:f9:25:b4:f3:65:4e:e2:51 root@h (DSA) ec2: -----END SSH HOST KEY FINGERPRINTS----- ec2: ############################################################# the key fingerprints are useful for humans to read, but not so useful for machines, as you cannot populate a KnownHostsFile (~/.ssh/known_hosts) from the data there. This change adds output like: -----BEGIN SSH HOST KEY KEYS----- ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdH......STI= root@h ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDYRIQe6m......tWF3 root@h -----END SSH HOST KEY KEYS----- Those lines can easily be grabbed and appended to a known_hosts file. LP: #893400
2011-12-20output public ssh host keys to console on boot (LP: #893400)Scott Moser
Currently cloud-init writes something like this to console output: ec2: ############################################################# ec2: -----BEGIN SSH HOST KEY FINGERPRINTS----- ec2: 2048 78:ae:f3:91:04:6f:8d:ee:ef:e1:2d:72:83:6a:d0:82 root@h (RSA) ec2: 1024 d3:b6:32:64:22:d4:43:05:f9:25:b4:f3:65:4e:e2:51 root@h (DSA) ec2: -----END SSH HOST KEY FINGERPRINTS----- ec2: ############################################################# the key fingerprints are useful for humans to read, but not so useful for machines, as you cannot populate a KnownHostsFile (~/.ssh/known_hosts) from the data there. This change adds output like: -----BEGIN SSH HOST KEY KEYS----- ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdH......STI= root@h ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDYRIQe6m......tWF3 root@h -----END SSH HOST KEY KEYS----- Those lines can easily be grabbed and appended to a known_hosts file.
2011-12-19fix missing import for use of close_stdinScott Moser
revision 490 missed some required imports.
2011-12-19revert default handling of /etc/hosts to 0.6.1 style (Ubuntu 11.04)Scott Moser
The default management of /etc/hosts in 0.6.2 (Ubuntu 11.10) was problematic for a couple different uses, and represented a change in what was present in previous releases. This changes the default behavior back to the way it was in 11.04/0.6.1. It makes 'manage_etc_hosts' in cloud-config more than just a boolean. It can now have 3 values: * False (default): do not update /etc/hosts ever * "localhost": manage /etc/hosts' 127.0.1.1 entry (the way it was done in 11.10/0.6.2) * True (or "template"): manage /etc/hosts via template file This addresses bugs * LP: #890501 * LP: #871966 LP: #890501, #871966
2011-12-19revert default handling of /etc/hosts to 0.6.1 style (Ubuntu 11.04)Scott Moser
The default management of /etc/hosts in 0.6.2 (Ubuntu 11.10) was problematic for a couple different uses, and represented a change in what was present in previous releases. This changes the default behavior back to the way it was in 11.04/0.6.1. It makes 'manage_etc_hosts' in cloud-config more than just a boolean. It can now have 3 values: * False (default): do not update /etc/hosts ever * "localhost": manage /etc/hosts' 127.0.1.1 entry (the way it was done in 11.10/0.6.2) * True (or "template"): manage /etc/hosts via template file This addresses bugs * LP: #890501 * LP: #871966
2011-12-19make stdin read from /dev/null for all cloud-init programs (LP: #903993)Scott Moser
the cloud-init programs are never intended to run interactively. Some programs were being run via subprocess, and would notice that their input was attached to a terminal (/dev/console). As a result, they they would try to prompt the user for input (apt-add-repository) This change simply re-opens standard input as /dev/null so any subprocesses will not end up blocking on input. LP: #903993
2011-12-19make stdin read from /dev/null for all cloud-init programs (LP: #903993)Scott Moser
the cloud-init programs are never intended to run interactively. Some programs were being run via subprocess, and would notice that their input was attached to a terminal (/dev/console). As a result, they they would try to prompt the user for input (apt-add-repository) This change simply re-opens standard input as /dev/null so any subprocesses will not end up blocking on input.
2011-12-19update changelog for DataSourceEc2 changesScott Moser
2011-12-19make DataSourceEc2 more resilliant to slow metadata service (LP: #894279)Scott Moser
This increases the timeout for a metadata request to something that should be easily satisfiable (50 seconds). But hopefully does so while still keeping the case of no-metadata service in mind. Previously, there was a small timeout and many retries (30) would be done. Now, - larger timeout (50 seconds) by default - retry until a given "max_wait" is reached (120 seconds default) The end result is that if we're hitting the timeout, there will only end up being a couple attempts made. But if the requests are coming back quickly then we'll still make several attempts. There is one EC2DataSource config change, now 'retries' is not used, but rather 'max_wait' to indicate generally how long it should try to find a metadata service. LP: #894279
2011-12-19make DataSourceEc2 more resilliant to slow metadata service (LP: #894279)Scott Moser
This increases the timeout for a metadata request to something that should be easily satisfiable (50 seconds). But hopefully does so while still keeping the case of no-metadata service in mind. Previously, there was a small timeout and many retries (30) would be done. Now, - larger timeout (50 seconds) by default - retry until a given "max_wait" is reached (120 seconds default) The end result is that if we're hitting the timeout, there will only end up being a couple attempts made. But if the requests are coming back quickly then we'll still make several attempts. There is one EC2DataSource config change, now 'retries' is not used, but rather 'max_wait' to indicate generally how long it should try to find a metadata service.
2011-12-18cloudinit/DataSourceEc2: use util.is_resolvable_urlScott Moser
2011-12-16add support for reading configuration of mirror and proxyScott Moser
This adds support for configuration of a mirror by looking for dns names like 'ubuntu-mirror', and setting a 'apt_mirror_search' configuration variable to find the first mirror in the list. Also, allows configuration of an apt proxy via 'apt_proxy' in cloud-config. LP: #897688
2011-12-16add apt_proxy doc to cloud-config.txtScott Moser
2011-12-16remove trailing :: on apt config for proxyScott Moser
2011-12-16add apt_proxy supportScott Moser
2011-12-16add documentation for mirror selectionScott Moser
2011-12-16use the distro when searchingScott Moser
instead of only searching ubuntu.localdomain, search <distro>-mirror.localdomain
2011-12-16only use apt_mirror if it is non-emptyScott Moser
if apt_mirror was set to "" or False in the config, we would have used that.
2011-12-16fix issue if apt_mirror is provided in configScott Moser
2011-12-16replace a print with a log.debugScott Moser
2011-12-16merge trunkScott Moser
2011-12-16tools/bddeb: add a symlink to created debScott Moser
this just adds a cloud-init_all.deb symlink to the deb that is created so its easier to scp it elsewhere after you build it.
2011-12-16DataSource: fix is_ipv4 usageScott Moser
2011-12-16sync from trunkScott Moser
2011-12-16setup.py: move version to 0.6.3Scott Moser
2011-12-16bddeb: improve 'bddeb' to read version and add bzr revnoScott Moser
This just removes one place where i had the version string and additionally makes bddeb built debs have a revno in their version
2011-12-16initial mirror configuration/discoveryScott Moser
2011-12-16move logic of "is this an ipv4 address" to a function is_ipv4Scott Moser
2011-12-06doc/ovf/README: documentation fix [David Medberry]Scott Moser
LP: #900537
2011-11-30do not convert 'None' to a string in cloud-config mounts input.Scott Moser
input like: mounts: - [ ephemeral0, /opt , auto, "defaults,noexec" ] - [ swap, null ] would get interpreted as string "None" rather than "None" and an entry for swap would be written to fstab. LP: #898365
2011-11-22fix doc for ec2 datasourceScott Moser
2011-10-31use hashlib rather than md5 module to avoid deprecation warning.Scott Moser
Thanks: Garrett Holmstrom LP: #883367
2011-10-31fix bug in netinfo.debug_info if no network devices availableScott Moser
LP: #883367
2011-10-31Mention in Changelog integration of Fedora packages (LP: #883286)Scott Moser
LP: #883286
2011-10-31add documentation of new config optionsScott Moser
This adds doc/examples/cloud-config.txt data for the options that were added when pulling in Fedora support.