From 1543c5820c2f8779901e1d2e8c6e61ca1f5c3705 Mon Sep 17 00:00:00 2001 From: Luan Nunes Utimura Date: Tue, 24 Jan 2023 16:05:27 -0300 Subject: [PATCH] Port stx-openstack images with WSGI to stx-debian This change enables building the following stx-openstack images with WSGI within the Debian build framework: - stx-aodh - stx-ironic - stx-horizon - stx-keystone - stx-placement - stx-gnocchi They are now based on stx-debian and following the new convention for StarlingX images. Test Plan: PASS - Build images PASS - Manually upload the built images to a system, use helm-override to change their respective containers images and reapply stx-openstack PASS - Ensure affected pods successfully start and are running PASS - Ensure affected pods liveness and readiness probes are healthy Story: 2010072 Task: 47089 Depends-On: https://review.opendev.org/c/starlingx/root/+/871314 Depends-On: https://review.opendev.org/c/starlingx/root/+/871638 Depends-On: https://review.opendev.org/c/starlingx/root/+/871705 Signed-off-by: Luan Nunes Utimura Change-Id: I18bcb51f2826fd0382370f5236db4b5954ac1b53 --- debian_stable_docker_images.inc | 6 ++++++ .../debian/stx-aodh.stable_docker_image | 14 ++++++++++++++ .../debian/stx-ironic.stable_docker_image | 16 ++++++++++++++++ .../debian/stx-gnocchi.stable_docker_image | 15 +++++++++++++++ .../debian/stx-horizon.dev_docker_image | 6 +++++- .../debian/stx-horizon.stable_docker_image | 6 +++++- .../debian/stx-keystone.stable_docker_image | 14 ++++++++++++++ .../debian/stx-placement.dev_docker_image | 3 +++ .../debian/stx-placement.stable_docker_image | 3 +++ 9 files changed, 81 insertions(+), 2 deletions(-) create mode 100644 openstack/openstack-aodh/debian/stx-aodh.stable_docker_image create mode 100644 openstack/openstack-ironic/debian/stx-ironic.stable_docker_image create mode 100644 openstack/python-gnocchi/debian/stx-gnocchi.stable_docker_image create mode 100644 openstack/python-keystone/debian/stx-keystone.stable_docker_image diff --git a/debian_stable_docker_images.inc b/debian_stable_docker_images.inc index b3e3db29..a8288ac6 100644 --- a/debian_stable_docker_images.inc +++ b/debian_stable_docker_images.inc @@ -1,7 +1,13 @@ +openstack/openstack-aodh +openstack/openstack-ironic openstack/python-barbican openstack/python-cinder openstack/python-glance +openstack/python-gnocchi openstack/python-heat/openstack-heat +openstack/python-horizon +openstack/python-keystone openstack/python-neutron openstack/python-openstackclient +openstack/python-placement openstack/python-platformclients diff --git a/openstack/openstack-aodh/debian/stx-aodh.stable_docker_image b/openstack/openstack-aodh/debian/stx-aodh.stable_docker_image new file mode 100644 index 00000000..4b341162 --- /dev/null +++ b/openstack/openstack-aodh/debian/stx-aodh.stable_docker_image @@ -0,0 +1,14 @@ +BUILDER=loci +LABEL=stx-aodh +PROJECT=aodh +PROJECT_REPO=https://opendev.org/openstack/aodh.git +PROJECT_REF=stable/ussuri +PROJECT_UID=42425 +PROJECT_GID=42425 +PIP_PACKAGES="pylint SQLAlchemy gnocchiclient aodhclient" +DIST_REPOS="OS" +PROFILES="apache" +CUSTOMIZATION="\ + ln -s /etc/apache2/mods-available/wsgi.load /etc/apache2/mods-enabled/wsgi.load && \ + ln -s /etc/apache2/mods-available/wsgi.conf /etc/apache2/mods-enabled/wsgi.conf +" diff --git a/openstack/openstack-ironic/debian/stx-ironic.stable_docker_image b/openstack/openstack-ironic/debian/stx-ironic.stable_docker_image new file mode 100644 index 00000000..46628d60 --- /dev/null +++ b/openstack/openstack-ironic/debian/stx-ironic.stable_docker_image @@ -0,0 +1,16 @@ +BUILDER=loci +LABEL=stx-ironic +PROJECT=ironic +PROJECT_REPO=https://opendev.org/openstack/ironic.git +PROJECT_REF=stable/ussuri +PROJECT_UID=42425 +PROJECT_GID=42425 +PIP_PACKAGES="pylint alembic pysnmp" +DIST_REPOS="OS" +DIST_PACKAGES="ipxe tftpd-hpa openipmi ipmitool iproute2 qemu-utils syslinux-common open-iscsi" +PROFILES="ironic apache" +CUSTOMIZATION="\ + ln -s /etc/apache2/mods-available/wsgi.load /etc/apache2/mods-enabled/wsgi.load && \ + ln -s /etc/apache2/mods-available/wsgi.conf /etc/apache2/mods-enabled/wsgi.conf +" +UPDATE_SYSTEM_ACCOUNT="yes" diff --git a/openstack/python-gnocchi/debian/stx-gnocchi.stable_docker_image b/openstack/python-gnocchi/debian/stx-gnocchi.stable_docker_image new file mode 100644 index 00000000..719f8994 --- /dev/null +++ b/openstack/python-gnocchi/debian/stx-gnocchi.stable_docker_image @@ -0,0 +1,15 @@ +BUILDER=loci +LABEL=stx-gnocchi +PROJECT=gnocchi +PROJECT_REPO=https://github.com/gnocchixyz/gnocchi.git +PROJECT_REF=4.3.2 +PROJECT_UID=42425 +PROJECT_GID=42425 +PIP_PACKAGES="pylint SQLAlchemy SQLAlchemy-Utils oslo.db keystonemiddleware gnocchiclient pymemcache psycopg2" +DIST_REPOS="OS" +DIST_PACKAGES="python3-rados" +PROFILES="gnocchi apache" +CUSTOMIZATION="\ + ln -s /etc/apache2/mods-available/wsgi.load /etc/apache2/mods-enabled/wsgi.load && \ + ln -s /etc/apache2/mods-available/wsgi.conf /etc/apache2/mods-enabled/wsgi.conf +" diff --git a/openstack/python-horizon/debian/stx-horizon.dev_docker_image b/openstack/python-horizon/debian/stx-horizon.dev_docker_image index ac08b8b4..344b1f81 100644 --- a/openstack/python-horizon/debian/stx-horizon.dev_docker_image +++ b/openstack/python-horizon/debian/stx-horizon.dev_docker_image @@ -2,13 +2,17 @@ BUILDER=loci LABEL=stx-horizon PROJECT=horizon PROJECT_REPO=https://opendev.org/openstack/horizon.git +PROJECT_UID=42425 +PROJECT_GID=42425 PIP_PACKAGES="pycryptodomex python-ceilometerclient \ coverage pyudev ldap" +DIST_REPOS="OS" PROFILES="fluent horizon apache" CUSTOMIZATION="\ ln -s /etc/apache2/mods-available/wsgi.load /etc/apache2/mods-enabled/wsgi.load && \ ln -s /etc/apache2/mods-available/wsgi.conf /etc/apache2/mods-enabled/wsgi.conf && \ ln -s /bin/true /usr/bin/a2enmod && \ sed -i -e 's/raise ImproperlyConfigured..mysqlclient 1.3.13 or newer is required.*/pass/' /var/lib/openstack/lib/python3.9/site-packages/django/db/backends/mysql/base.py && \ - sed -i -e '/query.decode.errors=.replace../s/decode/encode/' /var/lib/openstack/lib/python3.9/site-packages/django/db/backends/mysql/operations.py + sed -i -e '/query.decode.errors=.replace../s/decode/encode/' /var/lib/openstack/lib/python3.9/site-packages/django/db/backends/mysql/operations.py && \ + sed -i 's/Listen 80/# Listen 80/' /etc/apache2/ports.conf " diff --git a/openstack/python-horizon/debian/stx-horizon.stable_docker_image b/openstack/python-horizon/debian/stx-horizon.stable_docker_image index d5d7d732..9f5d0c6c 100644 --- a/openstack/python-horizon/debian/stx-horizon.stable_docker_image +++ b/openstack/python-horizon/debian/stx-horizon.stable_docker_image @@ -3,13 +3,17 @@ LABEL=stx-horizon PROJECT=horizon PROJECT_REPO=https://opendev.org/openstack/horizon.git PROJECT_REF=stable/ussuri +PROJECT_UID=42425 +PROJECT_GID=42425 PIP_PACKAGES="pycryptodomex python-ceilometerclient \ coverage pyudev ldap" +DIST_REPOS="OS" PROFILES="fluent horizon apache" CUSTOMIZATION="\ ln -s /etc/apache2/mods-available/wsgi.load /etc/apache2/mods-enabled/wsgi.load && \ ln -s /etc/apache2/mods-available/wsgi.conf /etc/apache2/mods-enabled/wsgi.conf && \ ln -s /bin/true /usr/bin/a2enmod && \ sed -i -e 's/raise ImproperlyConfigured..mysqlclient 1.3.13 or newer is required.*/pass/' /var/lib/openstack/lib/python3.9/site-packages/django/db/backends/mysql/base.py && \ - sed -i -e '/query.decode.errors=.replace../s/decode/encode/' /var/lib/openstack/lib/python3.9/site-packages/django/db/backends/mysql/operations.py + sed -i -e '/query.decode.errors=.replace../s/decode/encode/' /var/lib/openstack/lib/python3.9/site-packages/django/db/backends/mysql/operations.py && \ + sed -i 's/Listen 80/# Listen 80/' /etc/apache2/ports.conf " diff --git a/openstack/python-keystone/debian/stx-keystone.stable_docker_image b/openstack/python-keystone/debian/stx-keystone.stable_docker_image new file mode 100644 index 00000000..504a986f --- /dev/null +++ b/openstack/python-keystone/debian/stx-keystone.stable_docker_image @@ -0,0 +1,14 @@ +BUILDER=loci +LABEL=stx-keystone +PROJECT=keystone +PROJECT_REPO=https://opendev.org/openstack/keystone.git +PROJECT_REF=stable/ussuri +PIP_PACKAGES="python-openstackclient ldap ldappool python-ldap pylint" +DIST_REPOS="OS" +PROFILES="fluent apache" +CUSTOMIZATION="\ + ln -s /etc/apache2/mods-available/wsgi.load /etc/apache2/mods-enabled/wsgi.load && \ + ln -s /etc/apache2/mods-available/wsgi.conf /etc/apache2/mods-enabled/wsgi.conf && \ + sed -i \"s/getattr(base64, 'decodebytes', base64.decodestring)/getattr(base64, 'decodebytes')/g\" /var/lib/openstack/lib/python3.9/site-packages/saml2/saml.py && \ + sed -i \"s/getattr(base64, 'encodebytes', base64.encodestring)/getattr(base64, 'encodebytes')/g\" /var/lib/openstack/lib/python3.9/site-packages/saml2/saml.py +" diff --git a/openstack/python-placement/debian/stx-placement.dev_docker_image b/openstack/python-placement/debian/stx-placement.dev_docker_image index 21486531..4a24926c 100644 --- a/openstack/python-placement/debian/stx-placement.dev_docker_image +++ b/openstack/python-placement/debian/stx-placement.dev_docker_image @@ -2,7 +2,10 @@ BUILDER=loci LABEL=stx-placement PROJECT=placement PROJECT_REPO=https://opendev.org/openstack/placement.git +PROJECT_UID=42425 +PROJECT_GID=42425 PIP_PACKAGES="pycryptodomex httplib2" +DIST_REPOS="OS" PROFILES="apache" CUSTOMIZATION="\ ln -s /etc/apache2/mods-available/wsgi.load /etc/apache2/mods-enabled/wsgi.load && \ diff --git a/openstack/python-placement/debian/stx-placement.stable_docker_image b/openstack/python-placement/debian/stx-placement.stable_docker_image index c0cb73ec..5f15eec1 100644 --- a/openstack/python-placement/debian/stx-placement.stable_docker_image +++ b/openstack/python-placement/debian/stx-placement.stable_docker_image @@ -3,7 +3,10 @@ LABEL=stx-placement PROJECT=placement PROJECT_REPO=https://opendev.org/openstack/placement.git PROJECT_REF=stable/ussuri +PROJECT_UID=42425 +PROJECT_GID=42425 PIP_PACKAGES="pycryptodomex httplib2" +DIST_REPOS="OS" PROFILES="apache" CUSTOMIZATION="\ ln -s /etc/apache2/mods-available/wsgi.load /etc/apache2/mods-enabled/wsgi.load && \