OpenStack Guest Images¶
This documentation covers the steps needed to build OpenStack guests using a tool called packer. In addition, we include documentation which covers how to build the images manually in case you run into issues with packer.
Current Images¶
We are currently maintaining these images:
Image |
x86_64 |
AARCH64 |
POWER8 |
POWER9 |
---|---|---|---|---|
CentOS 6 |
x |
|||
CentOS 7 |
x |
x |
x |
x |
CentOS 8 |
x |
x |
||
Debian 8 |
x |
x |
||
Debian 9 |
x |
x |
x |
|
Debian 10 |
x |
x |
x |
x |
Fedora 29 |
x |
x |
x |
|
Fedora 30 |
x |
x |
x |
|
Fedora 31 |
x |
|||
Fedora 32 |
x |
x |
||
OpenSUSE 13 |
x |
|||
OpenSUSE Leap 15 |
x |
x |
||
OpenSUSE Leap 42 |
x |
|||
Ubuntu 14.04 |
x |
x |
||
Ubuntu 16.04 |
x |
x |
||
Ubuntu 18.04 |
x |
x |
x |
x |
Ubuntu 20.04 1 |
We are currently maintaining ppc64le Little endian (LE) images for POWER8/9 and some ppc64 Big Endian (BE) images for POWER8. See the below table:
Note
IBM is focusing their efforts primarily on LE, so BE support is mostly limited to older distributions.
Image |
POWER8 LE |
POWER8 BE |
POWER9 LE |
---|---|---|---|
CentOS 7 |
x |
x |
x |
Debian 8 |
x |
x |
|
Debian 9 |
x |
x |
|
Debian 10 |
x |
x |
|
Fedora 29 |
x |
x |
|
Fedora 30 |
x |
x |
|
OpenSUSE 13 |
x |
x |
|
OpenSUSE Leap 15 |
x |
x |
|
OpenSUSE Leap 42 |
x |
||
Ubuntu 14.04 |
x |
x |
|
Ubuntu 16.04 |
x |
||
Ubuntu 18.04 |
x |
x |
|
Ubuntu 20.04 1 |
If there are any other images you would like us to create, please let us know.
Building images with packer¶
We build all of our images using packer via our packer-templates github repo. Builds are triggered via opening a pull request with the changes that are needed. Once an image has been built, openstack_taster will test to ensure the images will work properly on our openstack cluster.
Manual Guest Installation¶
Note
This is only useful for manually testing some images and is no longer used for building images.
Note
For AARCH64, Please run the following commands on one of the machines directly. Also, make sure you have the AAVMF
package installed which contains the UEFI firmware to boot the VMs properly.
Download the DVD or net install ISO for desired distribution. For this example we are using Debian 10:
export DISTRO="debian-10"
export DISTRO_ISO="debian.iso"
Create a 3G qcow2 disk image:
qemu-img create -f qcow2 $DISTRO.qcow2 3G
Boot up the image using kvm manually:
x86 / POWER:
$ /usr/libexec/qemu-kvm -m 2048M -boot strict=on -name $DISTRO -machine type=pseries,accel=kvm \
-cdrom $DISTRO_ISO -netdev user,id=user.0,hostfwd=tcp::2222-:22 \
-device virtio-net,netdev=user.0 \
-drive file=$DISTRO.qcow2,if=virtio,cache=writeback,discard=ignore,format=qcow2 \
-vnc 0.0.0.0:99
AARCH64:
$ /usr/libexec/qemu-kvm -m 2048M -boot strict=on -name $DISTRO -machine gic-version=3,accel=kvm \
-cdrom $DISTRO_ISO -netdev user,id=user.0,hostfwd=tcp::2222-:22 \
-cpu host -monitor none \
-drive file=$DISTRO.qcow2,if=virtio,cache=writeback,discard=ignore,format=qcow2 \
-bios /usr/share/AAVMF/AAVMF_CODE.fd
-vnc 0.0.0.0:99
Connect via VNC to the VM and complete the installation:
$ vncviewer $host:99
Wait for the VM to complete the install.
Compress and import image into OpenStack:
$ qemu-img convert -O qcow2 -c $DISTRO.qcow2 $DISTRO-compressed.qcow2
$ source openrc
$ glance image-create --name $DISTRO --disk-format=qcow2 \
--container-format=bare < $DISTRO-compressed.qcow2
Footnotes
- 1(1,2)
We are currently fixing some issues with our Ubuntu 20.04 images. See this issue for updates.