summaryrefslogtreecommitdiff
path: root/cloudinit/sources
AgeCommit message (Collapse)Author
2013-09-02Ensure data is initialized to a dict if its empty/noneJoshua Harlow
LP: #1198297
2013-09-02Add config drive support for random_seedJoshua Harlow
A new field in the metadata has emerged, one that provides a way to seed the linux random generator. Add support for writing the seed and rewrite parts of the on_boot code to use a little helper class. LP: #1198297
2013-08-24support base64 encoded data in the smart os datasource.Scott Moser
The big benefit of this is that now the user can put in arbitrary data into the user-data or user-script keys and there is no concern about the data being incorrectly read. Previously, if data contained '\n.\n', there was no way to differenciate that from a end of message in the serial communication format. It would be recommended that anyone using user-data on smartos base64 encode that data and specify a key of 'b64-user-data' with value 'true'.
2013-08-24changes to behavior on specifying keys.Scott Moser
The most likely end user operation (or at least a valid one) for base64 encoding would be to encode the user-data, but leave all other values as plaintext. In order to facilitate that, the user can simply add: b64-user-data=true to indicate that user-data is base64 encoded. Other changes here are to change the cloud-config and metadata keynames that are used. base64_all = boolean(True) base64_keys = [list, of, keys] Fixed up tests to accomodate.
2013-08-23Fixed some typos. Change decode_base64 from sys_cfg to ds_cfgBen Howard
2013-08-20fix bad arguments to subp inside of apply_hostname_bounceScott Moser
This simply correctly invokes subp through util.log_time. The arguments to subp is named 'args' not 'command'. LP: #1214541
2013-08-20Updated merge proposal with current treeBen Howard
2013-08-20Fixed no_base64_decode settingsBen Howard
2013-08-15do not set 'password', but set 'passwd' to crypt'd valueScott Moser
'password' was the wrong key. It should have been setting the default user's "plain_text_password". Instead of doing that, though, we're encrypting the value and putting it in 'passwd', which will then be passed on to useradd. The key value in doing this is that the plain text password will not be stored in obj.pkl. (admittedly it is still in plain text in the ovf-env.xml file).
2013-07-30Added base64 support to SmartOS datasource.Ben Howard
Added documentation on SmartOS datasource.
2013-07-30set reading /proc/uptime to false by default.Scott Moser
reading /proc/uptime is going to be slower, and no reason to do it on most things. Better to only do it when you suspect maybe a need for it.
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-29DataSourceAzure: do not capture output of bounce commandScott Moser
As shown in comments of bug 1202758 and filing of ntp bug 1206164, waiting for the output of this command causes us to wait for ntpdate to fully finish. Ideally I think we'd disable ntpdate running on this run, but that is not trivially possible.
2013-07-26azure: fix bouncing of interfaceScott Moser
the environment that was set up to include 'interface' was not actually being passed on to 'subp', so when the command ran it wasn't available.
2013-07-25minor azure cleanupScott Moser
2013-07-25azure: support bouncing interfaces to publish new hostnameScott Moser
See the added doc/sources/azure/README.rst for why this is necessary. Essentially, we now are doing the following in the get_data() method of azure datasource to publish this NewHostname: hostname NewHostName ifdown eth0; ifup eth0 LP: #1202758
2013-07-24DataSourceSmartOS: fix issue if dmidecode is not presentScott Moser
2013-07-24add SmartOS datasource supporting Joyent cloudBen Howard
This adds a datasource designed to work on Joyent cloud (SmartOS).
2013-07-23Changed get_serial to be fully parameterized and return the serialBen Howard
initialized. Added a mapping of attributes between cloud-init and smartos.
2013-07-23on azure datasource, grab use Deployment as the instance-idScott Moser
LP: #1204190
2013-07-23Move more functionality into get_serial()Ben Howard
2013-07-23alias 'availability_zone' to availability-zone in metadata service.Scott Moser
The place this was noticed was in trying to use the 'nova.clouds.archive.ubuntu.com' mirror selection. Because the config-drive-v2 has a metadata entry of 'availability_zone', it didn't get found by the availabilty_zone property in cloudinit/sources/__init__.py LP: #1190431
2013-07-18Added SmartOS datasource and unit tests.Ben Howard
2013-07-17Azure: make /var/lib/waagent with 0700 permsScott Moser
The walinux agent expects that the files it writes with 0644 (default umask) permissions are not globally readable. Since we were creating the directory for it, and using default umaks (0755), the files inside were readable to non-priviledged users.
2013-07-17DataSourceAzure: fix inverted logic on DisablesshPasswordAuthenticationBen Howard
DisablesshPasswordAuthentication == True means that ssh_pwauth should be disabled rather than enabled. LP: #1201969
2013-07-16Use the inverse of DisableSshPasswordAuthentication for ssh_pwauth.Ben Howard
(LP: 1201969)
2013-07-11DataSourceAzure.py: allow 'customdata' to be the name for userdataScott Moser
Also, fix a comment and write a log message on how long we waited for the files to appear.
2013-07-10add waiting for files and reading of crt keysScott Moser
2013-07-09build up the 'wait_for' list including fingerprint.crt filesScott Moser
2013-07-09fill out load_azure_ovf_pubkeysScott Moser
now if there are pubkeys, the cfg['_pubkeys'] entry will have a list of dicts where each dict has 'fingerprint' and 'path' entries. The next thing to do is to block waiting for the <fingerprint>.crt files to appear in /var/lib/waagent.
2013-07-09mention using cachedScott Moser
2013-07-09search in the default storage directory for cached ovf-env.xmlScott Moser
since azure ejects the disk on reboot, we need to look there to find this datasource.
2013-07-09populate /var/lib/waagent with ovf-env.xmlScott Moser
this will copy the ovf-env.xml file that was found to the configured directory (default /var/lib/waagent)
2013-07-09better handling for user/passwordScott Moser
2013-07-09add stub for ssh keysScott Moser
The idea is that in the future, the DataSources get_data could check to see if there were ssh keys provided. if there were, it could poll and wait (or inotify) until the <fp>.crt files appeared in the /var/lib/walinux directory. Once they did, it'd populate the metadata's public keys.
2013-07-09add some unit tests, fix things found by doing soScott Moser
2013-07-08commit dev stateScott Moser
2013-06-19fix and cleanup usage of util.logexcJuerg Haefliger
2013-06-07ConfigDrive, Nocloud: Apply the "poke /dev/sr0" approach to /dev/sr1 alsoGreg Padgett
Optical drives may show up in RHEL systems as /dev/sr1; this extends a prior fix to handle that use case. It's applicable to systems with 2.6 kernels where blkid needs a little prodding. If we have to go back here with '/dev/sr2', then we should probably come up with a fix that doesn't doesn't make us come back again.
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-06-04support optical drives with dev node /dev/sr1Greg Padgett
Extend a prior fix which helped discovery of media on systems using 2.6 kernels. /dev/sr0 covers only some of the use cases, /dev/sr1 is also common.
2013-04-25re-work maas datasource and headers call backsScott Moser
Couple of things here: * do not re-try on user-data (404 means 'not here') * re-generate headers on retry requests LP: #1172742
2013-03-26compatibility fixes for Fedora and RHELGreg Padgett
This patch fixes issues in Fedora 18 (and upcoming RHEL 7) which are present due to their use of systemd: - store locale configuration in /etc/locale.conf - store hostname in /etc/hostname - use a symlink for /etc/localtime (prior code would set the timezone but corrupt data in /usr/share/zoneinfo due to presence of symlink) It also contains fixes for issues unrelated to systemd adoption: - explicitly scan /dev/sr0 with blkid in order to get the optical drive in the blkid cache. This prevents an issue on systems running 2.6 kernels (such as RHEL 6) in which config disks on some devices won't be detected unless the device has previously been queried. (For reference, see https://patchwork.kernel.org/patch/1770241/) - append a newline when rewriting sysconfig files, as this is customary text configuration file formatting and is expected by some parsers (such as the ifcfg-rh plugin for NetworkManager)
2013-03-20remove some churnScott Moser
cloudinit/sources/DataSourceCloudStack.py and cloudinit/sources/DataSourceEc2.py are reverted entirely back to trunk versions now, rather than the non-behavior change that was left in place. Also, remove inadvertantly added trailing newline from cloudinit/ec2_utils.py Overall, this just makes the diff when merged to trunk carry more focused changes.
2013-03-19Move back to using boto for now.Joshua Harlow
2013-03-19merge from trunk at revno 799Scott Moser
2013-03-07fix pep8 and pylintScott Moser
2013-03-07merge from trunkScott Moser
2013-03-06Make conf.d and the default merging use the new merging algos.Joshua Harlow
2013-03-06Continue working on merging code.Joshua Harlow