From e5ad9e5bd27aaa6547f53f6b6f528963f8af10ad Mon Sep 17 00:00:00 2001 From: Sergiy Markin Date: Tue, 11 Jul 2023 16:03:49 +0000 Subject: [PATCH] Airskiff deployment updates This PS delivers the followinf changes: - 020-setup-client.sh script is now using openstack utility docker image for openstack client instead of system-wide installed python-based one; - added porthole chars build; - added promenade charts build. Change-Id: I8dc43f74fd34a6741913ddc1897d01eab72e0804 --- .../developer/000-clone-dependencies.sh | 5 +++ .../airskiff/developer/015-make-all-charts.sh | 33 ++++++++++++------- .../airskiff/developer/020-setup-client.sh | 26 +++++++++++++-- 3 files changed, 50 insertions(+), 14 deletions(-) diff --git a/tools/deployment/airskiff/developer/000-clone-dependencies.sh b/tools/deployment/airskiff/developer/000-clone-dependencies.sh index d52886b7a..1ddf67ddd 100755 --- a/tools/deployment/airskiff/developer/000-clone-dependencies.sh +++ b/tools/deployment/airskiff/developer/000-clone-dependencies.sh @@ -24,6 +24,7 @@ set -xe : "${CLONE_DECKHAND:=true}" : "${CLONE_SHIPYARD:=true}" : "${CLONE_PORTHOLE:=true}" +: "${CLONE_PROMENADE:=true}" : "${CLONE_MAAS:=true}" : "${CLONE_OSH:=true}" @@ -39,6 +40,10 @@ fi if [[ ${CLONE_SHIPYARD} = true ]] ; then git clone https://opendev.org/airship/shipyard.git fi +if [[ ${CLONE_PROMENADE} = true ]] ; then + git clone https://opendev.org/airship/promenade.git +fi + # Clone dependencies if [[ ${CLONE_MAAS} = true ]] ; then diff --git a/tools/deployment/airskiff/developer/015-make-all-charts.sh b/tools/deployment/airskiff/developer/015-make-all-charts.sh index 1272c1c18..97c19f168 100755 --- a/tools/deployment/airskiff/developer/015-make-all-charts.sh +++ b/tools/deployment/airskiff/developer/015-make-all-charts.sh @@ -27,6 +27,7 @@ CURRENT_DIR="$(pwd)" : "${MAKE_CHARTS_SHIPYARD:=true}" : "${MAKE_CHARTS_MAAS:=true}" : "${MAKE_CHARTS_PORTHOLE:=true}" +: "${MAKE_CHARTS_PROMENADE:=true}" mkdir -p "${ARTIFACTS_PATH}" @@ -87,17 +88,27 @@ if [[ ${MAKE_CHARTS_MAAS} = true ]] ; then find . -name "$i-[0-9.]*.tgz" -print -exec cp -av {} "../artifacts/$i.tgz" \; done popd + rm -rf maas +fi +if [[ ${MAKE_CHARTS_PORTHOLE} = true ]] ; then + pushd porthole + make charts + cd charts + for i in $(find . -maxdepth 1 -name "*.tgz" -print | sed -e 's/\-[0-9.]*\.tgz//'| cut -d / -f 2 | sort) + do + find . -name "$i-[0-9.]*.tgz" -print -exec cp -av {} "../../artifacts/$i.tgz" \; + done + popd +fi +if [[ ${MAKE_CHARTS_PROMENADE} = true ]] ; then + pushd promenade + make charts + cd charts + for i in $(find . -maxdepth 1 -name "*.tgz" -print | sed -e 's/\-[0-9.]*\.tgz//'| cut -d / -f 2 | sort) + do + find . -name "$i-[0-9.]*.tgz" -print -exec cp -av {} "../../artifacts/$i.tgz" \; + done + popd fi -# Disabled until porthole charts are based on helm v2.x -# if [[ ${MAKE_CHARTS_PORTHOLE} = true ]] ; then -# pushd porthole -# make charts -# cd charts -# for i in $(find . -maxdepth 1 -name "*.tgz" -print | sed -e 's/\-[0-9.]*\.tgz//'| cut -d / -f 2 | sort) -# do -# find . -name "$i-[0-9.]*.tgz" -print -exec cp -av {} "../../artifacts/$i.tgz" \; -# done -# popd -# fi cd "${CURRENT_DIR}" diff --git a/tools/deployment/airskiff/developer/020-setup-client.sh b/tools/deployment/airskiff/developer/020-setup-client.sh index 8708fdc9f..1080b6beb 100755 --- a/tools/deployment/airskiff/developer/020-setup-client.sh +++ b/tools/deployment/airskiff/developer/020-setup-client.sh @@ -18,9 +18,6 @@ set -xe # Install OpenStack client and create OpenStack client configuration file. -sudo -H -E pip3 install "cmd2<=0.8.7" -sudo -H -E pip3 install --upgrade setuptools==50.0.0 -sudo -H -E pip3 install python-openstackclient python-heatclient sudo -H mkdir -p /etc/openstack sudo -H chown -R "$(id -un)": /etc/openstack @@ -46,4 +43,27 @@ clouds: project_domain_name: 'default' user_domain_name: 'default' auth_url: 'http://keystone-api.openstack.svc.cluster.local:5000/v3' + openstack_helm: + region_name: RegionOne + identity_api_version: 3 + auth: + username: 'admin' + password: 'password' + project_name: 'admin' + project_domain_name: 'default' + user_domain_name: 'default' + auth_url: 'http://keystone.openstack.svc.cluster.local/v3' EOF + + +# Deploy docker-based openstack client +sudo tee /usr/local/bin/openstack << EOF +#!/bin/bash + +docker run \ + -v /etc/openstack/clouds.yaml:/etc/openstack/clouds.yaml \ + -e OS_CLOUD=\${OS_CLOUD} \ + quay.io/airshipit/porthole-openstack-utility:latest-ubuntu_focal \ + openstack \$@ +EOF +sudo chmod +x /usr/local/bin/openstack