From 03c6516e6628b979dd6c5c92f373661100b2e1d5 Mon Sep 17 00:00:00 2001 From: Hugo Brito Date: Wed, 9 Nov 2022 16:25:48 -0300 Subject: [PATCH] Port stx-keystone-api-proxy image to debian This commit enables the creation of stx-keystone-api-proxy image by both distros: CentOS and Debian. Test Plan: PASS - Build python3 wheels tarball on Debian and build stx-keystone-api-proxy image on Debian. Story: 2009831 Task: 46771 Depends-On: https://review.opendev.org/c/starlingx/update/+/864231 Depends-On: https://review.opendev.org/c/starlingx/config/+/864242 Signed-off-by: Hugo Brito Change-Id: I2b383782ac9fa7c104f54d729f8dbbdbc5cb9823 --- debian_dev_docker_images.inc | 1 + debian_dev_wheels.inc | 1 + debian_stable_docker_images.inc | 1 + debian_stable_wheels.inc | 1 + .../distributedcloud-wheels.install | 1 - distributedcloud/debian/deb_folder/rules | 35 ++++++++----------- .../stx-keystone-api-proxy.dev_docker_image | 27 ++++++++++++++ ...stx-keystone-api-proxy.stable_docker_image | 28 +++++++++++++++ 8 files changed, 74 insertions(+), 21 deletions(-) create mode 100644 debian_dev_docker_images.inc create mode 100644 debian_dev_wheels.inc create mode 100644 debian_stable_docker_images.inc create mode 100644 debian_stable_wheels.inc delete mode 100644 distributedcloud/debian/deb_folder/distributedcloud-wheels.install create mode 100644 distributedcloud/debian/stx-keystone-api-proxy.dev_docker_image create mode 100644 distributedcloud/debian/stx-keystone-api-proxy.stable_docker_image diff --git a/debian_dev_docker_images.inc b/debian_dev_docker_images.inc new file mode 100644 index 000000000..3211ad056 --- /dev/null +++ b/debian_dev_docker_images.inc @@ -0,0 +1 @@ +distributedcloud diff --git a/debian_dev_wheels.inc b/debian_dev_wheels.inc new file mode 100644 index 000000000..1a90927e5 --- /dev/null +++ b/debian_dev_wheels.inc @@ -0,0 +1 @@ +distributedcloud-wheels diff --git a/debian_stable_docker_images.inc b/debian_stable_docker_images.inc new file mode 100644 index 000000000..3211ad056 --- /dev/null +++ b/debian_stable_docker_images.inc @@ -0,0 +1 @@ +distributedcloud diff --git a/debian_stable_wheels.inc b/debian_stable_wheels.inc new file mode 100644 index 000000000..1a90927e5 --- /dev/null +++ b/debian_stable_wheels.inc @@ -0,0 +1 @@ +distributedcloud-wheels diff --git a/distributedcloud/debian/deb_folder/distributedcloud-wheels.install b/distributedcloud/debian/deb_folder/distributedcloud-wheels.install deleted file mode 100644 index 0ed0387d0..000000000 --- a/distributedcloud/debian/deb_folder/distributedcloud-wheels.install +++ /dev/null @@ -1 +0,0 @@ -wheels/* diff --git a/distributedcloud/debian/deb_folder/rules b/distributedcloud/debian/deb_folder/rules index 3bdd173a9..d2acaa5a0 100755 --- a/distributedcloud/debian/deb_folder/rules +++ b/distributedcloud/debian/deb_folder/rules @@ -1,8 +1,8 @@ #!/usr/bin/make -f #export DH_VERBOSE = 1 -export PBR_VERSION = 1.0.0 export PYBUILD_NAME = distributedcloud +export PBR_VERSION = 1.0.0 ROOT = $(CURDIR)/debian/tmp SYSTEMD_DIR = $(ROOT)/usr/lib/systemd/system @@ -15,7 +15,13 @@ BIN_DIR = $(ROOT)/usr/bin dh $@ --with python3 --buildsystem=pybuild override_dh_install: - # install systemd unit files + python3 setup.py install -f --install-layout=deb \ + --root=$(CURDIR)/debian/tmp + python3 setup.py bdist_wheel \ + --universal\ + -d $(CURDIR)/debian/distributedcloud-wheels/usr/share/python-wheels + + # install systemd unit files install -p -D -m 644 files/dcmanager-api.service $(SYSTEMD_DIR)/dcmanager-api.service install -p -D -m 644 files/dcmanager-manager.service $(SYSTEMD_DIR)/dcmanager-manager.service install -p -D -m 644 files/dcmanager-audit.service $(SYSTEMD_DIR)/dcmanager-audit.service @@ -32,30 +38,30 @@ override_dh_install: install -p -D -m 644 files/dcorch.conf $(TMP_DIR)/dcorch.conf install -p -D -m 644 files/dcmanager.conf $(TMP_DIR)/dcmanager.conf - # install systemd unit files for optional second instance + # install systemd unit files for optional second instance install -p -D -m 644 files/dcdbsync-openstack-api.service $(SYSTEMD_DIR)/dcdbsync-openstack-api.service install -p -D -m 644 files/dcdbsync.conf $(TMP_DIR)/dcdbsync.conf install -p -D -m 644 files/distcloud-syslog.conf $(SYS_CONF_DIR)/syslog-ng/conf.d/distcloud.conf install -p -D -m 644 files/distcloud-logrotate.conf $(SYS_CONF_DIR)/logrotate.d/distcloud.conf - # install ocf scripts + # install ocf scripts install -d -m 755 $(OCF_DIR) install -p -D -m 755 ocf/* $(OCF_DIR)/ - # install dcorch cleaner + # install dcorch cleaner install -m 755 -D -p files/clean-dcorch $(BIN_DIR)/clean-dcorch - # install ansible overrides dir + # install ansible overrides dir install -d -m 600 $(ROOT)/var/opt/dc/ansible - # Generate sample config and add the current directory to PYTHONPATH so - # oslo-config-generator doesn't skip heat's entry points. + # Generate sample config and add the current directory to PYTHONPATH so + # oslo-config-generator doesn't skip heat's entry points. PYTHONPATH=. oslo-config-generator --config-file=./dcmanager/config-generator.conf PYTHONPATH=. oslo-config-generator --config-file=./dcorch/config-generator.conf PYTHONPATH=. oslo-config-generator --config-file=./dcdbsync/config-generator.conf - # install default config files + # install default config files oslo-config-generator \ --config-file ./dcmanager/config-generator.conf \ --output-file ./dcmanager/dcmanager.conf.sample @@ -71,22 +77,11 @@ override_dh_install: --output-file ./dcdbsync/dcdbsync.conf.sample install -p -D -m 640 ./dcdbsync/dcdbsync.conf.sample $(SYS_CONF_DIR)/dcdbsync/dcdbsync.conf - python3 setup.py install \ - --root=$(ROOT) \ - --prefix=/usr \ - --install-data=/usr/share \ - --install-layout=deb \ - --single-version-externally-managed - rm -rf $(ROOT)/usr/lib/python3/dist-packages/dcmanagerclient/tests rm -rf $(ROOT)/usr/lib/python3/dist-packages/dccommon/tests rm -rf $(ROOT)/usr/lib/python3/dist-packages/dcmanager/tests rm -rf $(ROOT)/usr/lib/python3/dist-packages/dcorch/tests - python3 setup.py bdist_wheel \ - --universal \ - -d $(ROOT)/wheels - dh_install override_dh_auto_test: diff --git a/distributedcloud/debian/stx-keystone-api-proxy.dev_docker_image b/distributedcloud/debian/stx-keystone-api-proxy.dev_docker_image new file mode 100644 index 000000000..6cb92fcf4 --- /dev/null +++ b/distributedcloud/debian/stx-keystone-api-proxy.dev_docker_image @@ -0,0 +1,27 @@ +BUILDER=loci +DIST_REPOS="OS" +LABEL=stx-keystone-api-proxy +PROJECT=infra +PROJECT_REPO=nil +PIP_PACKAGES=" + distributedcloud \ + cgcs-patch \ + tsconfig \ + eventlet \ + pecan \ + SQLAlchemy \ + pycrypto \ + psycopg2 \ + fmclient \ + python-barbicanclient \ + oslo.concurrency \ + oslo.config \ + oslo.db \ + oslo.log \ + oslo.messaging \ + oslo.middleware \ + oslo.policy \ + oslo.service \ + oslo.versionedobjects \ + keystonemiddleware \ + " diff --git a/distributedcloud/debian/stx-keystone-api-proxy.stable_docker_image b/distributedcloud/debian/stx-keystone-api-proxy.stable_docker_image new file mode 100644 index 000000000..d020e3c34 --- /dev/null +++ b/distributedcloud/debian/stx-keystone-api-proxy.stable_docker_image @@ -0,0 +1,28 @@ +BUILDER=loci +DIST_REPOS="OS" +LABEL=stx-keystone-api-proxy +PROJECT=infra +PROJECT_REPO=nil +PIP_PACKAGES=" + distributedcloud \ + cgcs-patch \ + tsconfig \ + eventlet \ + pecan \ + SQLAlchemy \ + cryptography \ + cgtsclient \ + psycopg2 \ + fmclient \ + python-barbicanclient \ + oslo.concurrency \ + oslo.config \ + oslo.db \ + oslo.log \ + oslo.messaging \ + oslo.middleware \ + oslo.policy \ + oslo.service \ + oslo.versionedobjects \ + keystonemiddleware \ + "