Age | Commit message (Collapse) | Author |
|
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
|
|
Now, in addition to running instance specific scripts (in runcmd or
user-data scripts), cloud-run-user-script will run other directories
also. All under /var/lib/cloud, and in the following order:
scripts/per-once [once ever]
scripts/per-boot [every boot]
scripts/per-instance [once per instance]
instance/scripts [once per instance]
At the moment, the marker is on the entire directory, so changes to that
directory. Changes to the contents of the directory will not be noticed.
|
|
Previously, if you ran an instance with either runcmd data or user-data
scripts, it would run again after rebundle or create-image.
This puts the files created by runcmd or user-data scripts into instance-id
specific paths, and then runs them by that instance-id specific path.
LP: #675711
|
|
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
|
|
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.
|
|
cloud-config-misc is adding a script to the directory
where user-scripts go, so run-user-script has to wait on it.
|
|
cloud-run-user-script was never running because it depended on
'stopped cloudinit', rather than
'stopped cloud-init'.
|
|
|
|
At this point, the following should be functional:
cloud-init-cfg apt-update-upgrade
|
|
1. arguments to run-parts came before run-parts
2. explicitly state that we dont want this script to run
until cloud-config is done
|
|
run-parts didn't like scripts ending in .sh apparently.
the man page says:
If neither the --lsbsysinit option nor the --regex option is given
then the names must consist entirely of upper and lower case letters,
digits, under‐ scores, and hyphens.
We dont want to have such a restriction. so run with
--regex '.*'
Second change is making this run once-per-instance .
|
|
supports user data as mime-multipart and handling types of
text/x-shellscript - execute at rc.local
text/cloud-config - feed to cloud config
text/upstart-job - add to /etc/init as upstart job
text/x-include-url - include urls as if they were in-line
|
|
|
|
|