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/repositoriesapk 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
EOFcat << 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$LoeBb3B0c9fZ6TSAZvKnv0lLLJa61blgpJJUGyy5KIjRRdXK6xH8am7TckNEMW8bgd8IpcBC7BnebTO9PbYi00cat << 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