Age | Commit message (Collapse) | Author |
|
|
|
The previous syntax was either
cloud-init-cfg all
or
cloud-init-cfg <name> args
Ie, you could not specify the frequency if you gave a name. Now, you can.
Something like:
sudo cloud-init-cfg ssh always
|
|
to be debug (with traceback). The exception is still raised, but
no reason for the whole traceback to be on error
|
|
This is useful for getting a config option that is either string or a
list as a list
|
|
568139 was fixed because the test for "always" was using "is"
instead of "=="
LP: #568139
|
|
|
|
Previously, most of the config semaphores were prefixed with 'config-'.
Ie, a sem/ list would look like:
apt-update-upgrade.i-7c908817
config-misc.i-7c908817
config-mounts.i-7c908817
config-puppet.i-7c908817
config-ssh.i-7c908817
consume_userdata.i-7c908817
disable-ec2-metadata.always
set_defaults.i-7c908817
set_hostname.i-7c908817
With the last release (0.5.11), those config- would have been removed.
I'll handle this correctly yuckyness in the ubuntu package upgrade
(avoiding re-running scripts that were already ran)
|
|
|
|
|
|
|
|
passing the instance-id of this instance to a boothook will give it
the unique id that is needed to implement run-once-per-instance.
|
|
if user data is of type text/cloud-boothook, or begins with
#cloud-boothook, then assume it to be code to be executed.
Boothooks are a very simple format. Basically, its a one line header
('#cloud-config\n') and then executable payload.
The executable payload is written to a file, then that file is executed
at the time it is read. The file is left in
/var/lib/cloud/data/boothooks
There is no "first-time-only" protection. If running only once is
desired, the boothook must handle that itself.
|
|
|
|
|
|
The list of cloud-config modules is now kept in cloud config itself.
There is a builtin list in cloudinit, which is overrideable by
/etc/cloud/cloud.cfg or user data cloud-config.
This should make the modules more easily added or removed (as no code
needs to be edited now)
Basic summary of changes:
- move CloudConfig.py -> cloudinit/CloudConfig/__init__.py
- split cloud-config modules into their own files named
cloudinit/CloudConfig/cc_<name>.py
- remove all the upstart/cloud-config-* scripts, replacing them with
upstart/cloud-config.conf
|
|
remove the section, these should be covered in 'builtin'. The content was
correct, just not needed.
Added an example to doc/examples/cloud-config.txt on how the user can
configure this from either cloud-config user data or from
/etc/cloud/cloud.cfg
|
|
|
|
use get_base_cfg from CloudInit:read_cfg
|
|
|
|
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
|
|
|
|
This is replaced by ec2metadata, per LP: #547019
LP: #547019
|
|
Also
- adds some debugging information when its waiting
- add 'uptime' printout on initial cloud-init invocation
|
|
LP: 507709
LP: #507709
|
|
|
|
cloud-config. Doing so means the collision that was occuring with
upstart/mountall will not occur. However, it also means any mounts
configured will not be mounted until later. LP: #527825
LP: #527825
|
|
|
|
|
|
|
|
|
|
On first boot of an instance, cloud-config replaces
/etc/apt/sources.list with references to a local mirror. This will also
rename the old list files in /var/lib/apt/lists .
LP: #513060
|
|
This marks the comment option of fs_mntops in fstab (man fstab) with
cloudconfig for each of the mount options added by cloudconfig. It will
search through existing lines, any entry written by cloudconfig will
be deleted.
LP: #524562
|
|
In instance store I was used to block-device-mapping:
{'ami': 'sda1',
'ephemeral0': 'sda2',
'root': '/dev/sda1',
'swap': 'sda3'},
in ebs, image registered with
'--block-device-mapping /dev/sda2=ephemeral0',
metadata is showing block-device-mapping:
{'ami': '/dev/sda1',
'ephemeral0': '/dev/sda2',
'root': '/dev/sda1',
'swap': 'sda3'},
Without this change, 'ephemeral0' would not get translated and would
show up in /etc/fstab.
|
|
would not be converted to 'ephemeral0'
|
|
|
|
|
|
Some changes were rushed in prior to lucid beta that didn't get pulled
back into the upstream release. I'm pulling those in here.
|
|
|
|
The cache file location is not instance specific. As such, if it is
not cleaned from the image, a re-bundle would get the old data. To avoid
that, clear the cache in cloud-init.
|
|
|
|
on object cache stored there.
|
|
|
|
|
|
cloud-config-misc is adding a script to the directory
where user-scripts go, so run-user-script has to wait on it.
|
|
|
|
runcmd allows simple running of commands at rc.local like time frame
see doc/examples/cloud-config.txt for more info.
|
|
|
|
if the BUILD_FILE file had more than 4 fields in it, 'serial' would get
all additional fields and would then look wrong in the message.
protect from that case by adding a var to 'read'.
|
|
LP: #523625
|
|
LP: #523832
|