[Openstack-devel] New version of cloud-init & OpenStack cloud image

Thomas Goirand zigo at debian.org
Wed May 29 13:45:58 UTC 2013


Hi Charles (and everyone else),

As you suggested (privately), I worked a bit on cloud-init, and uploaded
version 0.7.2-1 into Sid today. Here's the debian/changelog entries I added:

* Made the "make test" respect DEB_BUILD_OPTIONS=nocheck.
* Added X-Start-Before: sshd in debian/cloud-init.init, since cloud-init
must fix the sshd host keys before it starts.
* Added a patch of the test suite to use /sbin/blkid and not just blkid,
as otherwise, the unit test fails.
* Adds internationalization of the debconf messages (eg: po folder, etc.).
* Adds a patch to disable a RHEL test (set hostname) which fails (of
course, we don't really care about such test in Debian).
* Added missing dependency: python-requests.
* Added myself as uploader.

I have tested the new version with OpenStack, and it worked well (this
is what made me discover the missing python-requests dependency). I
would welcome everyone to also test it (as I am not a user of AWS, Azure
or GCE).

My current plan is to wait until this package and cloud-initramfs
migrates to testing, then upload both to backports.

I have also the OpenStack image ready, though it needs the above 2
packages, so before making it official and thinking about building it
together with the Debian CDs, I must wait until cloud-init{,ramfs} are
in backports. I will (probably today) upload the script that builds the
image as a new Debian package (so it carries the needed dependencies). A
copy of the script is here:

http://archive.gplhost.com/misc/build-img

I'm not sure how it compares to other scripts for building a cloud
image. I didn't have a look into them, as my goal was to make an image
specifically for OpenStack.

To use the script, you will need cloud-init, cloud-initramfs and
cloud-utils .deb files in your current directory, so that they can be
copied and installed in the chroot of the image at build time.
Dependencies have been manually resolved when building the chroot
system. It's not nice to do that, but that's temporary until these
packages are in backports.

and a copy of the resulting image is here:
http://archive.gplhost.com/misc/debian-wheezy-7.0.0-2-amd64.qcow2

This image includes initramfs-growroot and cloudinit, so the root
partition will be re-sized by default at boot time.

Clouds who don't use the Ec2 metadata API might have a problem, since
cloud-init is configured to use Ec2 metadata server by default. I have
no idea how this image would work on anything but OpenStack, so I would
welcome everyone to test this image, especially in AWS, which also uses
Ec2 (does Azure and GCE uses the same metadata API?). I'm not sure, for
example, how extlinux (instead of grub) will work in these clouds,
though I like the fact that extlinux is very light.

If you use this image, you will need to know that the root password is
"password" (that is useful if you use a console, like the SPICE console
of Horizon), though of course, sshd is configured to refuse login as
root with password. There's a "debian" user by default, which is added
with --disable-password, and who will receive the ssh key from the
metadata server. This user has "sudo su -" to root, without any password.

Again, thoughts and comments are welcome from anyone,

Cheers,

Thomas Goirand (zigo)



More information about the Openstack-devel mailing list