Age | Commit message (Collapse) | Author |
|
From: Juerg Haefliger <juerg.haefliger@hp.com>
argument)
|
|
From: Juerg Haefliger <juerg.haefliger@hp.com>
|
|
From: Juerg Haefliger <juerg.haefliger@hp.com>
effect)
|
|
From: Juerg Haefliger <juerg.haefliger@hp.com>
|
|
From: Juerg Haefliger <juerg.haefliger@hp.com>
|
|
From: Juerg Haefliger <juerg.haefliger@hp.com>
|
|
From: Juerg Haefliger <juerg.haefliger@hp.com>
|
|
Juerg Haefliger <juerg.haefliger@hp.com>
|
|
instead of spaces)
From: Juerg Haefliger <juerg.haefliger@hp.com>
|
|
From: Juerg Haefliger <juerg.haefliger@hp.com>
|
|
LP: #915282
|
|
|
|
on EC2, you can:
stop instance
resize root volume
start instance
Currently, the partition would get grown correctly in the initramfs, but
the root filesystem will not get automatically resized in that case as it
only runs per_instance.
This should not be harmfull in any case, as resizefs will just report
nothing to do:
$ sudo resize2fs /dev/sda5
resize2fs 1.42-WIP (16-Oct-2011)
The filesystem is already 25600278 blocks long. Nothing to do!
|
|
Previously,
* if content came into cloud-init for processing came in via a multipart
mime file, and was already base64 encoded, it would get base64 encoded
again before being handed to a part-handler.
* if it came in via a '#include'd file then it would not be encoded at
all.
This drops the internal 'parts' array, that was just converted to and then
from. Instead, we keep MIME format throughout and keep headers along
the way.
That means that a message that comes in with 'Content-Transfer-Encoding'
set to 'base64' will be decoded before being handed to a part-handler.
It also reduces the chance of failure due to content appearing to be an
actual email. Previously if content contained colon separated fields, it
might be read as headers (email.message_from_string(open("/etc/passwd","r"))
would come back as all headers, no payload)
The weak point right now is that '#include'd data cannot have mime types
associated with it (unless it is a mime formatted content). I had hoped
to read user headers and possibly set 'Content-Type' from that.
LP: #874342
|
|
|
|
Previously,
* if content came into cloud-init for processing came in via a multipart
mime file, and was already base64 encoded, it would get base64 encoded
again before being handed to a part-handler.
* if it came in via a '#include'd file then it would not be encoded at
all.
This drops the internal 'parts' array, that was just converted to and then
from. Instead, we keep MIME format throughout and keep headers along
the way.
That means that a message that comes in with 'Content-Transfer-Encoding'
set to 'base64' will be decoded before being handed to a part-handler.
It also reduces the chance of failure due to content appearing to be an
actual email. Previously if content contained colon separated fields, it
might be read as headers (email.message_from_string(open("/etc/passwd","r"))
would come back as all headers, no payload)
The weak point right now is that '#include'd data cannot have mime types
associated with it (unless it is a mime formatted content). I had hoped
to read user headers and possibly set 'Content-Type' from that.
|
|
|
|
This adds the ability to configure landscape client code from
cloud-config. The fields available are those that were populated to
/etc/landscape/client.conf when I ran landscape-config on precise
('11.07.1.1-0ubuntu2')
|
|
|
|
|
|
Currently cloud-init writes something like this to console output:
ec2: #############################################################
ec2: -----BEGIN SSH HOST KEY FINGERPRINTS-----
ec2: 2048 78:ae:f3:91:04:6f:8d:ee:ef:e1:2d:72:83:6a:d0:82 root@h (RSA)
ec2: 1024 d3:b6:32:64:22:d4:43:05:f9:25:b4:f3:65:4e:e2:51 root@h (DSA)
ec2: -----END SSH HOST KEY FINGERPRINTS-----
ec2: #############################################################
the key fingerprints are useful for humans to read, but not so useful
for machines, as you cannot populate a KnownHostsFile (~/.ssh/known_hosts)
from the data there.
This change adds output like:
-----BEGIN SSH HOST KEY KEYS-----
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdH......STI= root@h
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDYRIQe6m......tWF3 root@h
-----END SSH HOST KEY KEYS-----
Those lines can easily be grabbed and appended to a known_hosts file.
|
|
The default management of /etc/hosts in 0.6.2 (Ubuntu 11.10)
was problematic for a couple different uses, and represented a change
in what was present in previous releases.
This changes the default behavior back to the way it was in 11.04/0.6.1.
It makes 'manage_etc_hosts' in cloud-config more than just a boolean.
It can now have 3 values:
* False (default): do not update /etc/hosts ever
* "localhost": manage /etc/hosts' 127.0.1.1 entry (the way it was done
in 11.10/0.6.2)
* True (or "template"): manage /etc/hosts via template file
This addresses bugs
* LP: #890501
* LP: #871966
|
|
the cloud-init programs are never intended to run interactively.
Some programs were being run via subprocess, and would notice that their
input was attached to a terminal (/dev/console). As a result, they
they would try to prompt the user for input (apt-add-repository)
This change simply re-opens standard input as /dev/null so any
subprocesses will not end up blocking on input.
|
|
This increases the timeout for a metadata request to something that should
be easily satisfiable (50 seconds). But hopefully does so while still keeping
the case of no-metadata service in mind.
Previously, there was a small timeout and many retries (30) would be done.
Now,
- larger timeout (50 seconds) by default
- retry until a given "max_wait" is reached (120 seconds default)
The end result is that if we're hitting the timeout, there will only end up
being a couple attempts made. But if the requests are coming back quickly
then we'll still make several attempts.
There is one EC2DataSource config change, now 'retries' is not used, but rather
'max_wait' to indicate generally how long it should try to find a metadata
service.
|
|
|
|
|
|
|
|
instead of only searching ubuntu.localdomain, search
<distro>-mirror.localdomain
|
|
if apt_mirror was set to "" or False in the config,
we would have used that.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
input like:
mounts:
- [ ephemeral0, /opt , auto, "defaults,noexec" ]
- [ swap, null ]
would get interpreted as string "None" rather than "None" and
an entry for swap would be written to fstab.
LP: #898365
|
|
Thanks: Garrett Holmstrom
LP: #883367
|
|
LP: #883367
|
|
Fedora's ssh service name is named 'sshd', Ubuntu's
is 'ssh'. This makes that configurable.
TODO: document ssh_svcname.
taken from
git://pkgs.fedoraproject.org/cloud-init.git
commit 87f33190f43d2b26cced4597e7298835024466c2
Author: Garrett Holmstrom <gholms@fedoraproject.org>
Patch11: cloud-init-0.6.2-sshsvc.patch
|
|
Garret's patch cloud-init-0.6.2-sshsvc.patch did 2 separate
things. This hunk makes deletion of keys configurable, and
then makes generation of the keys only done if the key
does not exist.
TODO: document ssh_genkeytypes.
taken from
git://pkgs.fedoraproject.org/cloud-init.git
commit 87f33190f43d2b26cced4597e7298835024466c2
Author: Garrett Holmstrom <gholms@fedoraproject.org>
Patch11: cloud-init-0.6.2-sshsvc.patch
|
|
Notes:
* This also makes cc_ssh.py *not* write ssh keys to the console.
That means that if keys-to-console is configured off, nothing will
write the keys to the console.
* I removed Garret's use of xargs, replacing with a shell for loop
in write-ssh-key-fingerprints.
taken from
git://pkgs.fedoraproject.org/cloud-init.git
commit 87f33190f43d2b26cced4597e7298835024466c2
Author: Garrett Holmstrom <gholms@fedoraproject.org>
Patch8: cloud-init-0.6.2-sshkeytypes.patch
|
|
|
|
configure puppet service to start on fedora based on one of:
* presence of /etc/default/puppet (Ubuntu)
* /bin/systemctl
* /sbin/chkconfig
taken from
git://pkgs.fedoraproject.org/cloud-init.git
commit 87f33190f43d2b26cced4597e7298835024466c2
Author: Garrett Holmstrom <gholms@fedoraproject.org>
Patch7: cloud-init-0.6.2-puppetenable.patch
|
|
If the file /etc/sysconfig/clock exists, assume fedora style
timezone config and write 'ZONE="%s' to that file.
taken from
git://pkgs.fedoraproject.org/cloud-init.git
commit 87f33190f43d2b26cced4597e7298835024466c2
Author: Garrett Holmstrom <gholms@fedoraproject.org>
Patch5: cloud-init-0.6.2-tzsysconfig.patch
|
|
fedora's analog to /etc/default/locale is /etc/sysconfig/i18n .
This makes locale_configfile configurable and chooses between
/usr/sbin/locale-gen (ubuntu/debian) and
/usr/sbin/update-localeo (fedora)
based on availability to generate locales.
taken from
git://pkgs.fedoraproject.org/cloud-init.git
commit 87f33190f43d2b26cced4597e7298835024466c2
Author: Garrett Holmstrom <gholms@fedoraproject.org>
Patch4: cloud-init-0.6.2-localefile.patch
|
|
This adds a restorecon_if_possible method which uses selinux
python module, and uses that for files modified in /etc.
taken from
git://pkgs.fedoraproject.org/cloud-init.git
commit 87f33190f43d2b26cced4597e7298835024466c2
Author: Garrett Holmstrom <gholms@fedoraproject.org>
Patch3: cloud-init-0.6.2-filecontext.patch
|
|
Previously, there was a 'ruby_packages' dictionary that mapped the
ruby version (1.8, 1.9, 1.9.1) to a list of packages that would need
to be installed to get a functional gems.
This replaces that with a method that is more likely to support future
versions without requiring updates to cloud-init.
It is not identical output as before. The changes are:
* do not include 'ruby' in the case of 1.8, but rather 'ruby1.8'
This is because the default could change, and 'ruby' would depend
on a different default version.
* do not explicitly list 'libruby-<version>' as that is a dependenency
of 'ruby<version>'
* End result is for any 'version' != 1.8, you'll get the following installed
ruby<version>
ruby<version>-dev
LP: #848932
|
|
Per bug 857926, on some systems, run-parts will exit failure
if the directory is empty. On debian/ubuntu, at least of recent vintage,
it exits success. Its reasonable to just not run it.
LP: #857926
|
|
In addition to catching a url timeout, we also need to catch and
retry on a socket timeout. Apparently urllib2 doesn't catch this and
brand it as a urlerror.
LP: #869492
|
|
If the user told us to read from a seed, we should not timeout quickly
|