Building Openstack AARCH64 (arm64) Guests

This documentation covers the steps needed to build an Openstack guests on AARCH64 (arm64) 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 AARCH64 (arm) images.

  • CentOS 7

  • Debian 10

  • Fedora 31

  • Ubuntu 18.04

If there are any 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.

Please run the following commands on one of the AARCH64 (arm64) machines directly. Please make sure you have the AAVMF package installed which contains the UEFI firmware to boot the VMs properly.

  1. Download the DVD or net install ISO for desired distribution.

  2. Create a 3G qcow2 disk image:

export DISTRO="debian-10"
export DISTRO_ISO="debian.iso"
qemu-img create -f qcow2 $DISTRO.qcow2 3G
  1. Boot up the image using kvm manually:

$ /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
  1. Connect via VNC to the VM and complete the installation

$ vncviewer $host:99
  1. Wait for the VM to complete the install.

  2. 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