Age | Commit message (Collapse) | Author |
|
These changes update the .ssh/authorized_keys rather than simply appending
This is preferable as ssh daemon picks the first key that is present.
This fixes 2 issues where something had edited a .ssh/authorized_keys
prior to cloud-init getting at it.
a.) LP: #434076 a user prior to re-bundling
b.) LP: #833499 the hypervisor
If you want to enable ssh access for root user, the proper way to do it is
with 'disable_root: False' in cloud-config.
LP: #434076, #833499
|
|
Fix issue where 'isatty' would return true for apt-add-repository.
It would get stdin which was attached to a terminal (/dev/console) and would
thus hang when running during boot.
This was done by changing all users of util.subp to have None input unless
input was given. In that case, the input will be the string passed in.
LP: #831505
|
|
|
|
add-apt-repository (LP #831505)
|
|
|
|
For better or worse, 'manage_etc_hosts' means
"write /etc/hosts from the template"
The default setting is 'False', which was not to update
/etc/hosts at all. Now, we're updating /etc/hosts, claiming
the 127.0.1.1 entry as owned by cloud-init if manage_etc_hosts is
false.
|
|
|
|
This adds a method 'get_hostname_fqdn' to cloudinit.util, and then
uses this method for getting the hostname and fqdn in places that get
hostname.
The single place for getting it right will help.
|
|
This fixes a couple issues with the updating of /etc/hosts
by the update-etc-hosts cloud-config module.
* if hostname changed in the life of the instance, an additional
"header" line would be added.
* any comment lines like '#mycomment' would be deleted because
they did not have 2 fields
|
|
consume_userdata should really run always, rather than once per instance.
The documentation says that boothooks were on their own for per-instance
but since this routine was only being called once, they would only get
called once.
This modifies the behavior to be:
user_script: per_always
cloud_config : per_always
upstart_job : per_instance
cloud_boothook: per_always
In order to not break part handlers that are existing, and expect to only be
called once per instance, this adds a 'handler_version' item in a handler
that can indicate the version (currently 1 or 2). If it is 2, then the
hander will be passed the frequency (per-instance or per-always) that this
is being run. That way the handler can differenciate between them.
This also makes 'bootcmd' run every boot. That should be changable in
cloud-config though, so users who dont like the behavior can modify it.
LP: #819507
|
|
|
|
|
|
|
|
|
|
Thanks to Adam Gandalman and Marc Cluet for this fix.
LP: #812539
|
|
it is expected / understood that mknod would fail inside an lxc container.
So, if thats the case, just log a debug message saying so.
LP: #800856
|
|
|
|
- Added new functionality to sanitise /etc/hosts
|
|
LP: #785542
|
|
The primary motivation for this is so that 'nobootwait' is not hard
coded to appear in the fs_opts field.
LP: #785542
|
|
This makes the prefix for entries added to root's authorized keys
configurable. Previously, the value was:
command="echo 'Please login as the user \"ubuntu\" rather than the user \"root\".\';echo;sleep 10\""
Now, at is configurable in cloud.cfg or user data by setting
'root_disabled_opts'.
Additionally, the default has been changed to include
'no-port-forwarding,no-agent-forwarding,no-X11-forwarding'
See LP: #798505 for more information on that.
Note, that 'no-pty' was *not* added to this list as adding it means the
user who simply does 'ssh root@host' gets a "cannot allocate pty" message
rather than seeing warning about using root.
LP: #798505
|
|
LP: #797336
|
|
|
|
|
|
|
|
|
|
|
|
With newer ubuntu kernels the xen block devices are named xvd[a-z][0-9]
Ie, instead of /dev/sda1 the root device is /dev/xvda1.
LP: #752361
|
|
|
|
instead of using blkid on /dev/root, create a device node ourselves with
the correct device number of '/', then use blkid and resize2fs on that.
I believe the problem was that /dev/root was occasionally not being present
due to race.
LP: #726938
|
|
|
|
LP: #728167
|
|
|
|
|
|
|
|
|
|
previously, cloud-init-cfg would call CloudConfig with no cloud
specified. Then, CloudConfig would get a new cloudinit instance
and specify no ds_deps (which means network and local).
If no cache was found, it would wait again for the Ec2 metadata
service (even if it wasn't supposed to).
Now, we get the cloud instance in the main program and attempt to
get the data source, but only from [], which will get only cached.
Then, if its not found, exit silently.
|
|
|
|
|
|
Modified puppet module to try to replace values on the existing file instead of adding new values to the end.
Also added initial mcollective module
|
|
LP: #720440
|
|
|
|
|
|
Adding the apt helper routines to CloudConfig.
Then, make use of the following from cc_puppet and cc_apt_update_upgrade
update_package_sources():
install_packages(pkglist):
I'm not really terribly happy with this location for them. Their presence
here is really only because of apt-update's use of
'run-once-per-instance'.
|
|
This method aloows the caller to run easily run something
"once per instance". Its location in CloudConfig rather than
'util' is really only because it needs access to cloudinit.get_ipath_cur
to get the 'data' path.
|
|
|
|
passing '-c /dev/null' (no cache file) seems to work fine.
|
|
|
|
LP: #709946
|
|
|