Age | Commit message (Collapse) | Author |
|
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
|
|
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
|
|
|
|
Also
- adds some debugging information when its waiting
- add 'uptime' printout on initial cloud-init invocation
|
|
LP: 507709
LP: #507709
|
|
|
|
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'
|
|
|
|
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.
|
|
|
|
|
|
runcmd allows simple running of commands at rc.local like time frame
see doc/examples/cloud-config.txt for more info.
|
|
LP: #523832
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|