Currently (27 April 2022) alpine linux does not provide cloud images for Openstack. Here is how to make it.
The main thing is needed to build a simple openstack alpine image is to install cloud-init apk package! Optionally qemu-guest-agent for better integration with KVM and e2fsprogs-extra for resizing file system are installed, as well as sudo and acpi
wget https://dl-cdn.alpinelinux.org/alpine/v3.15/releases/x86_64/alpine-virt-3.15.4-x86_64.iso
qemu-img create -f qcow2 alpine-virt-3.15.4-x86_64.qcow 512M
/usr/bin/qemu-system-x86_64 -drive file=alpine-virt-3.15.4-x86_64.qcow,if=virtio,cache=writeback,discard=ignore,format=qcow2 -drive file=alpine-virt-3.15.4-x86_64.iso,media=cdrom -boot once=d -vnc 0.0.0.0:15 -name alpine -machine type=pc,accel=tcg -netdev bridge,id=user.0,br=virbr0 -m 512M -device virtio-net,netdev=user.0
setup-disk -m sys -L
setup-alpine -c answers sed -i -e 's/alpine-test/alpine/g' answers sed -i -e '/^PROXYOPTS/cPROXYOPTS="none"' answers sed -i -e '/^APKREPOSOPTS/s/-r/-1/' answers sed -i -e '/hostname/d' answers sed -i -e 's/openntpd/chrony/' answers #sed -i -e '/^DISKOPTS/cDISKOPTS="-m sys -L /dev/vda"' answers sed -i -e '/^DISKOPTS/cDISKOPTS="-m sys /dev/sda"' answers sed -i -e 's/^LBUOPTS/#LBUOPTS/' answers sed -i -e 's/^APKCACHEOPTS/#APKCACHEOPTS/' answers sed -i -e '/^DNSOPTS/cDSNOPTS="-m ${DOMAIN_NAME} 8.8.8.8"' answers setup-alpine -f answers reboot
. /etc/os-release VERSION=`echo ${VERSION_ID}|cut -f1-2 -d"."`
sed -i -e "/\/v${VERSION}\/community$/s/^#//" /etc/apk/repositories
apk upgrade --update-cache --available
apk add sudo cloud-init acpi qemu-guest-agent e2fsprogs-extra
setup-cloud-init rc-update add qemu-guest-agent
cat << EOF > /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg network: config: disabled EOF - add udhcpc staticroutes option to create a route for 169.254.169.254 Openstack datasource address
cat << EOF > /etc/network/interfaces auto lo iface lo inet loopback
auto eth0 iface eth0 inet dhcp udhcpc_opts -O staticroutes EOF
cat << EOF >> /etc/ssh/sshd_config PubkeyAuthentication yes PubkeyAcceptedAlgorithms ssh-rsa,rsa-sha2-256,rsa-sha2-512 EOF
vi /etc/cloud/cloud.cfg datasource: OpenStack: timeout: 5 retries: 3 #metadata_urls: ["http://169.254.169.254"] #max_wait: -1 #apply_network_config: True
system_info: distro: alpine default_user: lock_passwd: false passwd: $6$e.MLvnlNXAjBVtGV$LoeBb3B0c9fZ6TSAZvKnv0lLLJa61blgpJJUGyy5KIjRRdXK6xH8am7TckNEMW8bgd8IpcBC7BnebTO9PbYi00
cat << EOF >> /etc/inittab ttyS1::respawn:/sbin/getty -L 0 ttyS1 vt100 EOF
cat << EOF > /etc/motd Welcome to $PRETTY_NAME ($VERSION_ID)! Home URL: $HOME_URL EOF
poweroff
openstack image create --public --file alpine-virt-3.15.4-x86_64.qcow --property hw_scsi_model=virtio-scsi --property hw_disk_bus=scsi --property hw_qemu_guest_agent=yes --property os_require_quiesce=yes alpine-virt-3.15.4-x86_64