fix(ovn): pin host names (#863)
diff --git a/images/Earthfile b/images/Earthfile
index 4c0e423..f5ff111 100644
--- a/images/Earthfile
+++ b/images/Earthfile
@@ -9,6 +9,17 @@
apt-get clean && \
rm -rf /var/lib/apt/lists/*
+DNF_INSTALL:
+ COMMAND
+ ARG PACKAGES
+ RUN \
+ dnf -y install \
+ ${PACKAGES} \
+ --setopt=install_weak_deps=False \
+ --setopt=tsflags=nodocs && \
+ dnf -y clean all && \
+ rm -rf /var/cache/dnf
+
CREATE_PROJECT_USER:
COMMAND
ARG PROJECT
diff --git a/images/cloud-archive-base/Earthfile b/images/cloud-archive-base/Earthfile
index ab0f46a..473d5d8 100644
--- a/images/cloud-archive-base/Earthfile
+++ b/images/cloud-archive-base/Earthfile
@@ -14,6 +14,8 @@
RUN echo "deb http://ubuntu-cloud.archive.canonical.com/ubuntu $(lsb_release -sc)-updates/antelope main" > /etc/apt/sources.list.d/cloudarchive.list
ELSE IF [ "${RELEASE}" = "2023.2" ]
RUN echo "deb http://ubuntu-cloud.archive.canonical.com/ubuntu $(lsb_release -sc)-updates/bobcat main" > /etc/apt/sources.list.d/cloudarchive.list
+ ELSE IF [ "${RELEASE}" = "master" ]
+ RUN echo "deb http://ubuntu-cloud.archive.canonical.com/ubuntu $(lsb_release -sc)-updates/caracal main" > /etc/apt/sources.list.d/cloudarchive.list
ELSE
RUN echo "${RELEASE} is not supported on $(lsb_release -sc)"
RUN exit 1
diff --git a/images/libvirtd/Earthfile b/images/libvirtd/Earthfile
new file mode 100644
index 0000000..07c358f
--- /dev/null
+++ b/images/libvirtd/Earthfile
@@ -0,0 +1,21 @@
+VERSION 0.7
+
+platform-image:
+ ARG RELEASE=zed
+ FROM ../cloud-archive-base+image --RELEASE=${RELEASE}
+ LABEL org.opencontainers.image.source=https://github.com/vexxhost/atmosphere
+ COPY keyrings/ceph.gpg /etc/apt/trusted.gpg.d/
+ IF [ "$(lsb_release -sc)" = "focal" ]
+ RUN echo "deb http://download.ceph.com/debian-quincy/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/ceph.list
+ ELSE IF [ "$(lsb_release -sc)" = "jammy" ]
+ RUN echo "deb http://download.ceph.com/debian-reef/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/ceph.list
+ ELSE
+ RUN echo "${RELEASE} is not supported on $(lsb_release -sc)"
+ RUN exit 1
+ END
+ DO ../+APT_INSTALL --PACKAGES="ceph-common cgroup-tools dmidecode ebtables iproute2 ipxe-qemu kmod libvirt-clients libvirt-daemon-system openssh-client openvswitch-switch ovmf pm-utils qemu-block-extra qemu-efi qemu-kvm seabios"
+ DO ../+CREATE_PROJECT_USER --PROJECT=nova
+ SAVE IMAGE --push ghcr.io/vexxhost/atmosphere/libvirtd:${RELEASE}
+
+image:
+ BUILD --platform linux/amd64 --platform linux/arm64 +platform-image
diff --git a/images/libvirtd/keyrings/ceph.gpg b/images/libvirtd/keyrings/ceph.gpg
new file mode 100644
index 0000000..c5d8bd3
--- /dev/null
+++ b/images/libvirtd/keyrings/ceph.gpg
Binary files differ
diff --git a/images/manila/patches/0000-fix-stop-using-batch_op-for-rename_table.patch b/images/manila/patches/0000-fix-stop-using-batch_op-for-rename_table.patch
new file mode 100644
index 0000000..a55e4e6
--- /dev/null
+++ b/images/manila/patches/0000-fix-stop-using-batch_op-for-rename_table.patch
@@ -0,0 +1,26 @@
+From eb7f03c667261557d7f809f7851bad6b3eea4646 Mon Sep 17 00:00:00 2001
+From: Mohammed Naser <mnaser@vexxhost.com>
+Date: Mon, 08 Jan 2024 14:00:37 -0500
+Subject: [PATCH] fix: Stop using batch_op for rename_table
+
+For migrations that rename tables, batch_op is not needed, which
+is also even causing issues with newer versions of Alembic.
+
+Change-Id: Ib43f5a24c497f7d97cb2d852b99489b0c3bd75fb
+---
+
+diff --git a/manila/db/migrations/alembic/versions/5077ffcc5f1c_add_share_instances.py b/manila/db/migrations/alembic/versions/5077ffcc5f1c_add_share_instances.py
+index 42d26b7..373e308 100644
+--- a/manila/db/migrations/alembic/versions/5077ffcc5f1c_add_share_instances.py
++++ b/manila/db/migrations/alembic/versions/5077ffcc5f1c_add_share_instances.py
+@@ -245,8 +245,8 @@
+ with op.batch_alter_table("share_export_locations") as batch_op:
+ batch_op.drop_constraint('sel_id_fk', type_='foreignkey')
+ batch_op.drop_column('share_id')
+- batch_op.rename_table('share_export_locations',
+- 'share_instance_export_locations')
++ op.rename_table('share_export_locations',
++ 'share_instance_export_locations')
+
+
+ def downgrade_export_locations_table(connection):
diff --git a/images/openvswitch/Earthfile b/images/openvswitch/Earthfile
new file mode 100644
index 0000000..d53786f
--- /dev/null
+++ b/images/openvswitch/Earthfile
@@ -0,0 +1,16 @@
+VERSION 0.7
+
+ARG --global SERIES=3.1
+ARG --global VERSION=3.1.0-65
+
+platform-image:
+ FROM quay.io/centos/centos:stream9
+ LABEL org.opencontainers.image.source=https://github.com/vexxhost/atmosphere
+ DO ../+DNF_INSTALL --PACKAGES "centos-release-nfv-openvswitch.noarch"
+ DO ../+DNF_INSTALL --PACKAGES "openvswitch${SERIES}-${VERSION}.el9s iptables"
+ SAVE IMAGE --push \
+ ghcr.io/vexxhost/atmosphere/openvswitch:${SERIES} \
+ ghcr.io/vexxhost/atmosphere/openvswitch:${VERSION}
+
+image:
+ BUILD --platform linux/amd64 --platform linux/arm64 +platform-image
diff --git a/images/ovn/Earthfile b/images/ovn/Earthfile
new file mode 100644
index 0000000..436535a
--- /dev/null
+++ b/images/ovn/Earthfile
@@ -0,0 +1,26 @@
+VERSION 0.7
+
+ARG --global SERIES=23.03
+ARG --global VERSION=23.03.0-69
+
+component-image:
+ FROM ../openvswitch+platform-image
+ DO ../+DNF_INSTALL --PACKAGES "firewalld-filesystem hostname ovn${SERIES}-${VERSION}.el9s procps-ng"
+ ARG --required NAME
+ DO ../+DNF_INSTALL --PACKAGES "ovn${SERIES}-${NAME}-${VERSION}.el9s"
+ IF [ "${NAME}" = "host" ]
+ COPY ../kubernetes+image/kubectl /usr/local/bin/kubectl
+ END
+ SAVE IMAGE --push \
+ ghcr.io/vexxhost/atmosphere/ovn-${NAME}:${SERIES} \
+ ghcr.io/vexxhost/atmosphere/ovn-${NAME}:${VERSION}
+
+central:
+ BUILD +component-image --NAME central
+
+host:
+ BUILD +component-image --NAME host
+
+images:
+ BUILD +central
+ BUILD --platform linux/amd64 --platform linux/arm64 +host
diff --git a/images/tempest/Earthfile b/images/tempest/Earthfile
new file mode 100644
index 0000000..062d82a
--- /dev/null
+++ b/images/tempest/Earthfile
@@ -0,0 +1,18 @@
+VERSION 0.7
+
+image:
+ ARG PROJECT=tempest
+ ARG RELEASE=master
+ ARG REF=699749ec27897efe9bd7824664237c16c3339c03
+ FROM ../openstack-service+image \
+ --PROJECT ${PROJECT} \
+ --RELEASE ${RELEASE} \
+ --PROJECT_REF ${REF} \
+ --PIP_PACKAGES "git+https://github.com/openstack/barbican-tempest-plugin.git git+https://github.com/openstack/cinder-tempest-plugin.git git+https://github.com/openstack/heat-tempest-plugin.git git+https://github.com/openstack/keystone-tempest-plugin.git git+https://github.com/openstack/neutron-tempest-plugin.git"
+ DO \
+ ../+APT_INSTALL \
+ --PACKAGES "iputils-ping"
+ DO ../+APPLY_PATCHES
+ SAVE IMAGE --push \
+ ghcr.io/vexxhost/atmosphere/${PROJECT}:${RELEASE} \
+ ghcr.io/vexxhost/atmosphere/${PROJECT}:${REF}