summaryrefslogtreecommitdiff
path: root/cloudinit
AgeCommit message (Collapse)Author
2011-10-30Make enabling puppet service work on FedoraScott Moser
configure puppet service to start on fedora based on one of: * presence of /etc/default/puppet (Ubuntu) * /bin/systemctl * /sbin/chkconfig taken from git://pkgs.fedoraproject.org/cloud-init.git commit 87f33190f43d2b26cced4597e7298835024466c2 Author: Garrett Holmstrom <gholms@fedoraproject.org> Patch7: cloud-init-0.6.2-puppetenable.patch
2011-10-30Write timezone data to /etc/sysconfig/clockScott Moser
If the file /etc/sysconfig/clock exists, assume fedora style timezone config and write 'ZONE="%s' to that file. taken from git://pkgs.fedoraproject.org/cloud-init.git commit 87f33190f43d2b26cced4597e7298835024466c2 Author: Garrett Holmstrom <gholms@fedoraproject.org> Patch5: cloud-init-0.6.2-tzsysconfig.patch
2011-10-30Make locale file location configurableScott Moser
fedora's analog to /etc/default/locale is /etc/sysconfig/i18n . This makes locale_configfile configurable and chooses between /usr/sbin/locale-gen (ubuntu/debian) and /usr/sbin/update-localeo (fedora) based on availability to generate locales. taken from git://pkgs.fedoraproject.org/cloud-init.git commit 87f33190f43d2b26cced4597e7298835024466c2 Author: Garrett Holmstrom <gholms@fedoraproject.org> Patch4: cloud-init-0.6.2-localefile.patch
2011-10-30Restore created files' selinux contextsScott Moser
This adds a restorecon_if_possible method which uses selinux python module, and uses that for files modified in /etc. taken from git://pkgs.fedoraproject.org/cloud-init.git commit 87f33190f43d2b26cced4597e7298835024466c2 Author: Garrett Holmstrom <gholms@fedoraproject.org> Patch3: cloud-init-0.6.2-filecontext.patch
2011-10-27Replace static dict mapping version to packages with a method (LP: #848932)Scott Moser
Previously, there was a 'ruby_packages' dictionary that mapped the ruby version (1.8, 1.9, 1.9.1) to a list of packages that would need to be installed to get a functional gems. This replaces that with a method that is more likely to support future versions without requiring updates to cloud-init. It is not identical output as before. The changes are: * do not include 'ruby' in the case of 1.8, but rather 'ruby1.8' This is because the default could change, and 'ruby' would depend on a different default version. * do not explicitly list 'libruby-<version>' as that is a dependenency of 'ruby<version>' * End result is for any 'version' != 1.8, you'll get the following installed ruby<version> ruby<version>-dev LP: #848932
2011-10-27do not run run-parts if directory has no itemsScott Moser
Per bug 857926, on some systems, run-parts will exit failure if the directory is empty. On debian/ubuntu, at least of recent vintage, it exits success. Its reasonable to just not run it. LP: #857926
2011-10-06DataSourceEc2: catch a socket timeout in wait-for-md-service codeScott Moser
In addition to catching a url timeout, we also need to catch and retry on a socket timeout. Apparently urllib2 doesn't catch this and brand it as a urlerror. LP: #869492
2011-09-23DataSourceOVF: specify timeout=None in read_seeded callScott Moser
If the user told us to read from a seed, we should not timeout quickly
2011-09-22remove local copy of boto.utilsScott Moser
LP: #855965
2011-09-22make read_seeded return OSError for a file not foundScott Moser
2011-09-22add retrying to read_seeded. have it use read_url.Scott Moser
read_seeded also takes a 'file_retry' which defaults to zero. This is so that if the seed path is a file, retries are not done. read_optional_seed is not passing 'retries=0' here, but all the users of read_optional_seed are using it from file.
2011-09-22cloudinit/DataSource.py: fix bad usage of get_fqdn_from_hostsScott Moser
2011-09-14try a little harder to get a fqdn rather than defaulting to localdomainScott Moser
This fixes (LP: #850206). See bug for more info. LP: #850206
2011-09-13Bringing in proper json support for firstboot.json from ↵Mike Moulton
lp:~avishai-ish-shalom/cloud-init/chef Bringing in 'initial_properties' support from lp:~avishai-ish-shalom/cloud-init/chef
2011-09-12Set sane defaults for 'node_name' and 'environment'Mike Moulton
Support both 'validation_cert' and 'validation_key' for backwards compatibility Cleaned up line length
2011-09-10Modifications to properly support both 'gems' and 'packages' install types.Mike Moulton
Added support for 'node_name' and 'environment' properties. Renamed 'validation_cert' to 'validation_key' to match Chef's nomenclature.
2011-09-09return a list, not a stringScott Moser
2011-09-09accept that public-keys keys in the metadata service might be a stringScott Moser
LP: #845155
2011-09-08Fix minor issue with multiple runlist items not written in the correct format.Scott Moser
2011-09-09Fixed wrong firstboot json formatAvishai Ish-Shalom
2011-09-08Fix cc_chef issues (LP: #845161)Scott Moser
LP: #845161
2011-09-08Fixed review rejects: firstboot.json write, gem_binary not defined, wrong ↵Avishai Ish-Shalom
validation cert name
2011-09-01DataSourceOVF: change the default instance id from nocloud to iid-dsovfScott Moser
2011-09-01DataSourceOVF do not provide a default static hostnameScott Moser
This is the same change made in DataSourceNoCloud, but to the OVF DataSource.
2011-09-01warn on failure of the hostname command when setting hostnameScott Moser
LP: #832175
2011-09-01improve DataSource's get_hostname functionScott Moser
This allows for the chance that platform.node returned a fully qualified domainname. Per its doc: Returns the computer's network name (which may not be fully qualified)
2011-08-31remove a default 'local-hostname' value from DataSourceNoCloudScott Moser
If there is no local-hostname, then the base DataSource will make attempts to resolve it. Having a default here meant that it would be taken as truth.
2011-08-31cloudinit/DataSource.py: for default instance id, use 'iid-datasource'Scott Moser
Previously the Ubuntu specific and confusing string "ubuntuhost" was used. Use something that gives a better hint as to where it came from for get_instance_id()
2011-08-29improve updating of .ssh/authorized_keysScott Moser
These changes update the .ssh/authorized_keys rather than simply appending This is preferable as ssh daemon picks the first key that is present. This fixes 2 issues where something had edited a .ssh/authorized_keys prior to cloud-init getting at it. a.) LP: #434076 a user prior to re-bundling b.) LP: #833499 the hypervisor If you want to enable ssh access for root user, the proper way to do it is with 'disable_root: False' in cloud-config. LP: #434076, #833499
2011-08-22Add some network debug info printed to the consoleScott Moser
When 'cloud-init start' (network) runs, it will print information about the systems network info to the console. This will help in debugging instances. LP: #828186
2011-08-22util.subp: do not attach stdin cloud-init's stdin to subprocesses (LP: 831505)Scott Moser
Fix issue where 'isatty' would return true for apt-add-repository. It would get stdin which was attached to a terminal (/dev/console) and would thus hang when running during boot. This was done by changing all users of util.subp to have None input unless input was given. In that case, the input will be the string passed in. LP: #831505
2011-08-22fix for syntax error around ecdsa changesScott Moser
2011-08-22cc_apt_update_upgrade.py: Redirect stdin to /dev/null for calls to ↵Adam Gandelman
add-apt-repository (LP #831505)
2011-08-15add awareness of ecdsa keys.Scott Moser
2011-08-03fix incorrect logic when 'manage_etc_hosts' has a valueScott Moser
For better or worse, 'manage_etc_hosts' means "write /etc/hosts from the template" The default setting is 'False', which was not to update /etc/hosts at all. Now, we're updating /etc/hosts, claiming the 127.0.1.1 entry as owned by cloud-init if manage_etc_hosts is false.
2011-08-03remove debug statementScott Moser
2011-08-03cloudinit/util.py: fix syntax errorScott Moser
2011-08-03add get_hostname_fqdn method to 'util' and use it for getting hostnameScott Moser
This adds a method 'get_hostname_fqdn' to cloudinit.util, and then uses this method for getting the hostname and fqdn in places that get hostname. The single place for getting it right will help.
2011-08-03improve update_etc_hosts method in cc_update_etc_hostsScott Moser
This fixes a couple issues with the updating of /etc/hosts by the update-etc-hosts cloud-config module. * if hostname changed in the life of the instance, an additional "header" line would be added. * any comment lines like '#mycomment' would be deleted because they did not have 2 fields
2011-08-02This fixes LP: #819507, to make consume_userdata run 'always'Scott Moser
consume_userdata should really run always, rather than once per instance. The documentation says that boothooks were on their own for per-instance but since this routine was only being called once, they would only get called once. This modifies the behavior to be: user_script: per_always cloud_config : per_always upstart_job : per_instance cloud_boothook: per_always In order to not break part handlers that are existing, and expect to only be called once per instance, this adds a 'handler_version' item in a handler that can indicate the version (currently 1 or 2). If it is 2, then the hander will be passed the frequency (per-instance or per-always) that this is being run. That way the handler can differenciate between them. This also makes 'bootcmd' run every boot. That should be changable in cloud-config though, so users who dont like the behavior can modify it. LP: #819507
2011-07-26use md5sum as the unique identifier rather than base64Scott Moser
base64 encode will grow with the size of the url, possibly resulting in silly-long filenames. md5sum will keep it to a constant length.
2011-07-26include-once: fixups found in testingScott Moser
at this point, the following user-data file in /var/lib/cloud/seed/nocloud-net/user-data will do what you would expect: $ cat > /var/lib/cloud/seed/nocloud-net/user-data <<EOF #include-once http://169.254.169.254/2011-01-01/user-data EOF $ python -c \ 'import boto.utils, pprint; pprint.pprint(boto.utils.get_instance_metadata())' | sudo tee /var/lib/cloud/seed/nocloud-net/meta-data Then, $ sudo sh -c 'for i in /var/lib/cloud/*; do [ ${i##*/} = "seed" ] && continue; rm -Rf "$i"; done' $ sudo reboot You will then find a file in /var/lib/cloud/instance/data/urlcache/ that has the contents of user-data from the metadata service. It will not be downloaded again as long as that file is present.
2011-07-26use util.write_file in cc_mcollective.pyScott Moser
2011-07-26make 'include-once' really "download source once per-instance"Scott Moser
Marc's implementation would only ever process the include-once urls a single time. This changes that to process them every time, with the second time coming from a file on disk rather than the url. You can then do expiring or one time use URLs in the include-once and have all function of if the content was there every time. The cached file is readable by root-only.
2011-07-26cc_mcollective: use util.write_file, change perms of private key file to 0600Scott Moser
2011-07-25Added ssl cert support to mcollectiveMarc Cluet
2011-07-25Added new feature include-onceMarc Cluet
2011-07-21fix syntax error in cc_chef.pyScott Moser
2011-07-19special case handling of mapping for ephemeral0Scott Moser
t1.micro do not have a ephemeral0 disk, but the metadata service will have an entry there. i386 t1.micro: 'block-device-mapping': {'ami': '/dev/sda1', 'ephemeral0': '/dev/sda2', 'root': '/dev/sda1'}, amd64 t1.micro: 'block-device-mapping': {'ami': '/dev/sda1', 'ephemeral0': '/dev/sdb', 'root': '/dev/sda1'}, LP: #744019
2011-07-19increase timeout on read_seed when a seedfrom was explicitly givenScott Moser
In the case where a seedfrom value was given on the command line or in the config file, we were timing out in 2 seconds on the connection. That timeout was put in place to support "probing" for sources, but seedfrom is explictly given. So, in that case, do a urllib.open without a timeout value. Looking at source code, default timeout is 'socket._GLOBAL_DEFAULT_TIMEOUT', but rather than importing that and using it, I will call without a timeout value. LP: #812646