summaryrefslogtreecommitdiff
path: root/cloudinit/util.py
AgeCommit message (Collapse)Author
2011-01-25fix bad variable name in readurlScott Moser
2011-01-25add missing urllib import in utilScott Moser
2011-01-25add support for reading rightscale style userdataScott Moser
LP: #668400
2011-01-24move cloud-run-user-script.conf to cloud-final, use cloud-cfg for invokingScott Moser
This moves what was done as cloud-run-user-script.conf to 'cloud-final' and makes that re-use the cloud-init-cfg code, but simply with a different set of default configs. Also, adds keys_to_console and final_message cloud-config modules LP: #653271
2011-01-20add caching of parsed configs to util.get_base_cfgScott Moser
add caching of the parsed config, this will allow re-use in cloudinit so that we don't have to load the default config more than once in a program.
2011-01-19initial /var/lib rework still lots to do. includes a fix for LP: #704509Scott Moser
LP: #704509
2011-01-19support $MIRROR and $RELEASE in apt-source cloud-config lines (LP: #693292)Scott Moser
sources can use $MIRROR and $RELEASE and they will be replaced with the local mirror for this cloud, and the running release this: - source: deb $MIRROR $RELEASE multiverse would possibly be turned into: - source: deb http://us-east-1.ec2.archive.ubuntu.com/ubuntu natty multiverse LP: #693292
2011-01-19remove debug print statementScott Moser
2011-01-18support reading cloud_config from kernel command lineScott Moser
This allows the user to specify portions of the cloud-config system config on the kernel command line. values found on the kernel command line have preference over those in system config. The format is: cc:[ ]<yaml content here> [end_cc] Where: 'cc:' indicates the beginning of cloud config syntax [ ] optionally followed by whitespace (which will be trimmed) <yaml content here> : this content is passed untouched to yaml end_cc: this is optional. If no 'end_cc' tag is found, all data from the begin tag to the end of the command line is consumed Multiple occurences of the cc:<data>end_cc will be joined with carriage return before passing to yaml. Any litteral '\n' (backslash followed by lower case 'n') are converted to a carriage return. The following are examples: cc: ssh_import_id: [smoser, kirkland] cc: ssh_import_id: [smoser, bob]\\nruncmd: [ [ ls, -l ], echo hi ] end_cc cc:ssh_import_id: [smoser] end_cc cc:runcmd: [ [ ls, -l ] ] end_cc
2011-01-18remove 'biultin' config, separate cloud.cfgScott Moser
This set of changes makes '/etc/cloud/cloud.cfg' support "#include" and "#opt_include". The idea is to then provide a base configuration and allow distro or local changes that would override that.
2010-08-31append to apt_sources filenames rather than truncating.Scott Moser
Previously, apt_sources: - source: source1 - source: source2 resulted in source1 being written to /etc/apt/sources.list.d/cloud_config_sources.list , and then that being overwritten by source2. This definitely is not expected. Instead, in all cases now, (including 'filename:' cases), just append. LP: #627597
2010-08-17fix syntax error in util.pyScott Moser
2010-08-13add support for '%s' in base of seed.Scott Moser
if 'base' input to reed_seeded contains a "%s", then substitute 'user-data' and 'meta-data' at that location rather than at the end. Ie: - base="http://foo.bar/" userdata_url = http://foo.bar/user-data metadata_url = http://foo.bar/meta-data - base="http://foo.bar/%s?user=smoser" userdata_url = http://foo.bar/user-data&user=smoser" metadata_url = http://foo.bar/meta-data&user=smoser"
2010-08-12util: add read_optional_seed functionScott Moser
read_optional_seed should return true or false based on whether or not the seed existed. It is useful to easily say read this if its there, but it might not be.
2010-08-12initial dump of "sans-cloud" code (DataSourceNoCloud)Scott Moser
The new classes 'DataSourceNoCloud' and 'DataSourceNoCloudNet' implement a way to get data from the filesystem, or (very minimal) data from the kernel command line. This allows the user to seed data to these sources. There are now 2 "cloud-init" jobs, cloud-init-local that runs on mounted MOUNTPOINT=/ and 'cloud-init' that runs on start on (mounted MOUNTPOINT=/ and net-device-up IFACE=eth0 and stopped cloud-init-local ) The idea is that cloud-init-local can actually function without network. The last thing in this commit is "uncloud-init". This tool can be invoked as 'init=/usr/lib/cloud-init/uncloud-init' It will "uncloudify" things in the image, generally making it easier to use for a simpler environment, and then it will exec /sbin/init.
2010-06-18add util.get_cfg_option_list_or_strScott Moser
This is useful for getting a config option that is either string or a list as a list
2010-06-17remove use of cloudinit constants from util.py in get_base_cfg Scott Moser
use get_base_cfg from CloudInit:read_cfg
2010-06-17add initial logging supportScott Moser
This logging infrastructure in cloudinit: - uses python logging - allows user supplied config of logging.config.fileConfig format to be supplied in /etc/cloud/cloud.cfg or in cloud_config by user data. - by default, tries to use syslog, if that is not available, writes directly to /var/log/cloud-init.log (syslog will not be available yet when cloud-init runs) - when using syslog, the doc/21-cloudinit.conf file provides a rsyslogd file to be placed in /etc/rsyslog.d/ that will file [CLOUDINIT] messages to /var/log/cloud-init.log
2010-06-15add vi modelines to python filesScott Moser
2010-03-29util.py: allow for case-insensitive "true" values in get_cfg_option_bool. Scott Moser
LP: 507709 LP: #507709
2010-02-04add copyright informationScott Moser
2010-02-03globally remove ec2init and rename to cloudinitScott Moser