1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
|
0.6.3:
- add sample systemd config files [Garrett Holmstrom]
- add Fedora support [Garrent Holstrom] (LP: #883286)
- fix bug in netinfo.debug_info if no net devices available (LP: #883367)
- use python module hashlib rather than md5 to avoid deprecation warnings.
- support configuration of mirror based on dns name ubuntu-mirror in
local domain.
- support setting of Acquire::HTTP::Proxy via 'apt_proxy'
- DataSourceEc2: more resilliant to slow metadata service
- config change: 'retries' dropped, 'max_wait' added, timeout increased
- close stdin in all cloud-init programs that are launched at boot (LP: #903993)
- revert management of /etc/hosts to 0.6.1 style (LP: #890501, LP: #871966)
- write full ssh keys to console for easy machine consumption (LP: #893400)
- put INSTANCE_ID environment variable in bootcmd scripts
- add 'cloud-init-per' script for easily running things with a given frequency
- replace cloud-init-run-module with cloud-init-per
- support configuration of landscape-client via cloud-config (LP: #857366)
0.6.2:
- fix bug where update was not done unless update was explicitly set.
It would not be run if 'upgrade' or packages were set to be installed
- fix bug in part-handler code, that prevented working part-handlers
(LP: #739694)
- fix bug in resizefs cloud-config that would cause trace based on
failure of 'blkid /dev/root' (LP: #726938)
- convert dos formated files to unix for user-scripts, boothooks,
and upstart jobs (LP: #744965)
- fix bug in seeding of grub dpkg configuration (LP: #752361) due
to renamed devices in newer (natty) kernels (/dev/sda1 -> /dev/xvda1)
- make metadata urls configurable, to support eucalyptus in
STATIC or SYSTEM modes (LP: #761847)
- support disabling byobu in cloud-config
- run cc_ssh as a cloud-init module so it is guaranteed to run before
ssh starts (LP: #781101)
- make prefix for keys added to /root/.ssh/authorized_keys configurable
and add 'no-port-forwarding,no-agent-forwarding,no-X11-forwarding'
to the default (LP: #798505)
- make 'cloud-config ready' command configurable (LP: #785551)
- make fstab fields used to 'fill in' shorthand entries configurable
This means you do not have to have 'nobootwait' in the values
(LP: #785542)
- read /etc/ssh/sshd_config for AuthorizedKeysFile rather than
assuming ~/.ssh/authorized_keys (LP: #731849)
- fix cloud-init in ubuntu lxc containers (LP: #800824)
- sanitize hosts file for system's hostname to 127.0.1.1 (LP: #802637)
- add chef support (cloudinit/CloudConfig/cc_chef.py) (LP: ##798844)
- do not give trace on failure to resize in lxc container (LP: #800856)
- increase the timeout on url gets for "seedfrom" values (LP: #812646)
- do not write entries for ephemeral0 on t1.micro (LP: #744019)
- support 'include-once' so that expiring or one-time use urls can
be used for '#include' to provide sensitive data.
- support for passing public and private keys to mcollective via cloud-config
- support multiple staticly configured network devices, as long as
all of them come up early (LP: #810044)
- Changes to handling user data mean that:
* boothooks will now run more than once as they were intended (and as bootcmd
commands do)
* cloud-config and user-scripts will be updated from user data every boot
- Fix issue where 'isatty' would return true for apt-add-repository.
apt-add-repository would get stdin which was attached to a terminal
(/dev/console) and would thus hang when running during boot. (LP: 831505)
This was done by changing all users of util.subp to have None input unless specified
- Add some debug info to the console when cloud-init runs.
This is useful if debugging, IP and route information is printed to the console.
- change the mechanism for handling .ssh/authorized_keys, to update entries
rather than appending. This ensures that the authorized_keys that are being
inserted actually do something (LP: #434076, LP: #833499)
- log warning on failure to set hostname (LP: #832175)
- upstart/cloud-init-nonet.conf: wait for all network interfaces to be up
allow for the possibility of /var/run != /run.
- DataSourceNoCloud, DataSourceOVF : do not provide a default hostname.
This way the configured hostname of the system will be used if not provided
by metadata (LP: #838280)
- DataSourceOVF: change the default instance id to 'iid-dsovf' from 'nocloud'
- Improve the OVF documentation, and provide a simple command line
tool for creating a useful ISO file.
0.6.1:
- fix bug in fixing permission on /var/log/cloud-init.log (LP: #704509)
- improve comment strings in rsyslog file tools/21-cloudinit.conf
- add previous-instance-id and previous-datasource files to datadir
- add 'datasource' file to instance dir
- add setting of passwords and enabling/disabling of PasswordAuthentication
for sshd. By default no changes are done to sshd.
- fix for puppet configuration options (LP: #709946) [Ryan Lane]
- fix pickling of DataSource, which broke seeding.
- turn resize_rootfs default to True
- avoid mounts in DataSourceOVF if 'read' on device fails
'mount /dev/sr0' for an empty virtual cdrom device was taking 18 seconds
- add 'manual_cache_clean' option to select manual cleaning of
the /var/lib/cloud/instance/ link, for a data source that might
not be present on every boot
- make DataSourceEc2 retries and timeout configurable
- add helper routines for apt-get update and install
- add 'bootcmd' like 'runcmd' to cloud-config syntax for running things early
- move from '#opt_include' in config file format to conf_d.
ie, now files in /etc/cloud.cfg.d/ is read rather than reading
'#opt_include <filename>' or '#include <filename>' in cloud.cfg
- allow /etc/hosts to be written from hosts.tmpl. which allows
getting local-hostname into /etc/hosts (LP: #720440)
- better handle startup if there is no eth0 (LP: #714807)
- update rather than append in puppet config [Marc Cluet]
- add cloud-config for mcollective [Marc Cluet]
0.6.0:
- change permissions of /var/log/cloud-init.log to accomodate
syslog writing to it (LP: #704509)
- rework of /var/lib/cloud layout
- remove updates-check (LP: #653220)
- support resizing / on first boot (enabled by default)
- added support for running CloudConfig modules at cloud-init time
rather than cloud-config time, and the new 'cloud_init_modules'
entry in cloud.cfg to indicate which should run then.
The driving force behind this was to have the rsyslog module
able to run before rsyslog even runs so that a restart would
not be needed (rsyslog on ubuntu runs on 'filesystem')
- moved setting and updating of hostname to cloud_init_modules
this allows the user to easily disable these from running.
This also means:
- the semaphore name for 'set_hostname' and 'update_hostname'
changes to 'config_set_hostname' and 'config_update_hostname'
- added cloud-config option 'hostname' for setting hostname
- moved upstart/cloud-run-user-script.conf to upstart/cloud-final.conf
- cloud-final.conf now runs runs cloud-config modules similar
to cloud-config and cloud-init.
- LP: #653271
- added writing of "boot-finished" to /var/lib/cloud/instance/boot-finished
this is the last thing done, indicating cloud-init is finished booting
- writes message to console with timestamp and uptime
- write ssh keys to console as one of the last things done
this is to ensure they don't get run off the 'get-console-ouptut' buffer
- user_scripts run via cloud-final and thus semaphore renamed from
user_scripts to config_user_scripts
- add support for redirecting output of cloud-init, cloud-config, cloud-final
via the config file, or user data config file
- add support for posting data about the instance to a url (phone_home)
- add minimal OVF transport (iso) support
- make DataSources that are attempted dynamic and configurable from
system config. changen "cloud_type: auto" as configuration for this
to 'datasource_list: [ "Ec2" ]'. Each of the items in that list
must be modules that can be loaded by "DataSource<item>"
- add 'timezone' option to cloud-config (LP: #645458)
- Added an additional archive format, that can be used for multi-part
input to cloud-init. This may be more user friendly then mime-multipart
See example in doc/examples/cloud-config-archive.txt (LP: #641504)
- add support for reading Rightscale style user data (LP: #668400)
and acting on it in cloud-config (cc_rightscale_userdata.py)
- make the message on 'disable_root' more clear (LP: #672417)
- do not require public key if private is given in ssh cloud-config
(LP: #648905)
|