[arch-general] Generating Arch OpenStack images

Sebastian Pipping sebastian at pipping.org
Sat Jun 20 23:25:18 UTC 2015


Hi!


TL;DR: Bullet-style summary at the end.


I registered for a closed beta account at CloudScale [1] a few weeks ago
and noticed that they offer a number of Linux flavors: Debian, Ubuntu,
CentOS, .. but no Arch Linux.  They use OpenStack with the official
OpenStack images [2] of Debian, Ubuntu and so on.

It seems there are no official OpenStack images for Arch.  There are the
ec2 images of Uplinklabs [3] but that's all I find on the net.

I have been working on a tool called image-bootstrap [4] for a while,
originally aimed at creating virtual machine images for Debian and
Ubuntu.  Recently, I have added Arch Linux support to image-bootstrap
(and created an Arch equivalent of Debian's debootstrap [5] called
"directory-bootstrap" in the process, same code base).  Since today,
when passing the --openstack option to image-boostrap, it does create
bootable Arch OpenStack images.  But there is something missing.


When giving birth to a new virtual machine, an OpenStack image file [6]
of say 1 GiB size is copied onto a say 50 GiB "disk", some kind of block
device passed to a hypervisor.  The original image was generated
believing that the given hard disk was say 2 GiB in size, some fixed
size, not the size that OpenStack is actually launching virtual machines
with.
To give access to the full disk space to users, OpenStack images are
prepared to do the following:

 1. During early boot (initramfs time), the one and only partition is
    enlarged to the full size of the disk.

 2. during normal boot, cloud-init is running resize2fs to enlarge
    the ext4 root file system to the new size of that partition.

It's a little crazy, but it works: the user hardly notices.

In Debian, apart from cloud-init that magic is done by packages
cloud-utils and cloud-initramfs-growroot of cloud-initramfs-tools [7].
While Arch does have cloud-init, I find cloud-utils in AUR only and no
cloud-initramfs-growroot at all.
I am looking for Arch developers to bring these to the Arch master
repository.


There is yet something else: Trust.  Anyone can make images and upload
them but who is going to trust the image if it is not signed by a person
that they trust?
There is a group of five people in the Arch master signing keys [8].
One of them created, signed and uploaded the
archlinux-bootstrap-*.tar.gz files that users rely on.  My hope is that
one of these five is willing to use image-bootstrap [4] to create, sign
and upload OpenStack images as well.


Let me summarize:

 * Arch OpenStack images are in reach

 * cloud-utils and cloud-initramfs-growroot need packaging
   for the Arch master repository.  Can you take over?

 * image-bootstrap (and directory-bootstrap) [4]
   can be of help with bootstrapping Arch Linux today.

 * I am looking for master signing key members interested
   in using image-bootstrap for OpenStack image generation.
   Please get in touch.

 * I welcome your thoughts and bug reports
   (no pull requests before discussion at the moment, please)


Thanks for your attention.  Best,



Sebastian


[1] https://www.cloudscale.ch/
[2] http://docs.openstack.org/image-guide/content/ch_obtaining_images.html
[3] https://www.uplinklabs.net/projects/arch-linux-on-ec2/
[4] https://github.com/hartwork/image-bootstrap
[5] https://wiki.debian.org/Debootstrap
[6] http://docs.openstack.org/image-guide/content/ch_openstack_images.html
[7] https://packages.debian.org/source/sid/cloud-initramfs-tools
[8] https://www.archlinux.org/master-keys/


More information about the arch-general mailing list