From f89395dc9cbb8c091d8ca698b623a4c5de64bd02 Mon Sep 17 00:00:00 2001 From: Arina Stebenkova Date: Wed, 19 Mar 2025 20:32:14 +0200 Subject: [PATCH] Refactor values_overrides for porthole charts * Switch to using the OSH plugin for processing values_overrides. * Move override files into a separate directory, aligning with the structure of the openstack-helm-infra repository. * Clean up and streamline related Bash scripts. Change-Id: Ie14cb5c4885bff0572aa57eab18b690593f6c2f3 --- Makefile | 2 +- charts/calicoctl-utility/.helmignore | 23 +++++- charts/ceph-utility/.helmignore | 23 +++++- charts/compute-utility/.helmignore | 23 +++++- charts/etcdctl-utility/.helmignore | 23 +++++- charts/mysqlclient-utility/.helmignore | 23 +++++- charts/openstack-utility/.helmignore | 23 +++++- charts/postgresql-utility/.helmignore | 23 +++++- .../images-ubuntu_bionic.yaml | 0 .../images-ubuntu_focal.yaml | 0 .../images-ubuntu_jammy.yaml | 0 .../ceph-utility}/images-ubuntu_bionic.yaml | 0 .../ceph-utility}/images-ubuntu_focal.yaml | 0 .../ceph-utility}/images-ubuntu_jammy.yaml | 0 .../images-ubuntu_bionic.yaml | 0 .../compute-utility}/images-ubuntu_focal.yaml | 0 .../compute-utility}/images-ubuntu_jammy.yaml | 0 .../images-ubuntu_bionic.yaml | 0 .../etcdctl-utility}/images-ubuntu_focal.yaml | 0 .../etcdctl-utility}/images-ubuntu_jammy.yaml | 0 .../images-ubuntu_bionic.yaml | 0 .../images-ubuntu_focal.yaml | 0 .../images-ubuntu_jammy.yaml | 0 .../images-ubuntu_bionic.yaml | 0 .../images-ubuntu_focal.yaml | 0 .../images-ubuntu_jammy.yaml | 0 .../images-ubuntu_bionic.yaml | 0 .../images-ubuntu_focal.yaml | 0 .../images-ubuntu_jammy.yaml | 0 tools/deployment/002-build-charts.sh | 2 +- tools/deployment/005-calicoctl-utility.sh | 21 +++--- tools/deployment/010-ceph-utility.sh | 72 ++++++++++++------- tools/deployment/020-compute-utility.sh | 20 +++--- tools/deployment/030-etcdctl-utility.sh | 20 +++--- tools/deployment/040-mysqlclient-utility.sh | 56 ++++++++------- tools/deployment/050-openstack-utility.sh | 21 +++--- tools/deployment/060-postgresql-utility.sh | 57 ++++++++------- .../roles/airship-run-script/tasks/main.yaml | 1 + zuul.d/base.yaml | 2 +- 39 files changed, 312 insertions(+), 123 deletions(-) rename charts/{calicoctl-utility/values_overrides => values_overrides/calicoctl-utility}/images-ubuntu_bionic.yaml (100%) rename charts/{calicoctl-utility/values_overrides => values_overrides/calicoctl-utility}/images-ubuntu_focal.yaml (100%) rename charts/{calicoctl-utility/values_overrides => values_overrides/calicoctl-utility}/images-ubuntu_jammy.yaml (100%) rename charts/{ceph-utility/values_overrides => values_overrides/ceph-utility}/images-ubuntu_bionic.yaml (100%) rename charts/{ceph-utility/values_overrides => values_overrides/ceph-utility}/images-ubuntu_focal.yaml (100%) rename charts/{ceph-utility/values_overrides => values_overrides/ceph-utility}/images-ubuntu_jammy.yaml (100%) rename charts/{compute-utility/values_overrides => values_overrides/compute-utility}/images-ubuntu_bionic.yaml (100%) rename charts/{compute-utility/values_overrides => values_overrides/compute-utility}/images-ubuntu_focal.yaml (100%) rename charts/{compute-utility/values_overrides => values_overrides/compute-utility}/images-ubuntu_jammy.yaml (100%) rename charts/{etcdctl-utility/values_overrides => values_overrides/etcdctl-utility}/images-ubuntu_bionic.yaml (100%) rename charts/{etcdctl-utility/values_overrides => values_overrides/etcdctl-utility}/images-ubuntu_focal.yaml (100%) rename charts/{etcdctl-utility/values_overrides => values_overrides/etcdctl-utility}/images-ubuntu_jammy.yaml (100%) rename charts/{mysqlclient-utility/values_overrides => values_overrides/mysqlclient-utility}/images-ubuntu_bionic.yaml (100%) rename charts/{mysqlclient-utility/values_overrides => values_overrides/mysqlclient-utility}/images-ubuntu_focal.yaml (100%) rename charts/{mysqlclient-utility/values_overrides => values_overrides/mysqlclient-utility}/images-ubuntu_jammy.yaml (100%) rename charts/{openstack-utility/values_overrides => values_overrides/openstack-utility}/images-ubuntu_bionic.yaml (100%) rename charts/{openstack-utility/values_overrides => values_overrides/openstack-utility}/images-ubuntu_focal.yaml (100%) rename charts/{openstack-utility/values_overrides => values_overrides/openstack-utility}/images-ubuntu_jammy.yaml (100%) rename charts/{postgresql-utility/values_overrides => values_overrides/postgresql-utility}/images-ubuntu_bionic.yaml (100%) rename charts/{postgresql-utility/values_overrides => values_overrides/postgresql-utility}/images-ubuntu_focal.yaml (100%) rename charts/{postgresql-utility/values_overrides => values_overrides/postgresql-utility}/images-ubuntu_jammy.yaml (100%) diff --git a/Makefile b/Makefile index fd991edd..1c17f7a2 100644 --- a/Makefile +++ b/Makefile @@ -22,7 +22,7 @@ IMAGE_NAME ?= $@ IMAGE_TAG ?= latest BUILD_DIR := $(shell mktemp -d) HELM ?= $(BUILD_DIR)/helm -CHARTS := $(filter-out deps, $(patsubst charts/%/.,%,$(wildcard charts/*/.))) +CHARTS := $(filter-out deps values_overrides, $(patsubst charts/%/.,%,$(wildcard charts/*/.))) IMAGES := $(addprefix porthole-,$(patsubst images/%/.,%,$(wildcard images/*/.))) PROXY ?= http://proxy.foo.com:8000 NO_PROXY ?= localhost,127.0.0.1,.svc.cluster.local diff --git a/charts/calicoctl-utility/.helmignore b/charts/calicoctl-utility/.helmignore index 51ccab8d..06e1663c 100644 --- a/charts/calicoctl-utility/.helmignore +++ b/charts/calicoctl-utility/.helmignore @@ -1 +1,22 @@ -values_overrides \ No newline at end of file +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj + diff --git a/charts/ceph-utility/.helmignore b/charts/ceph-utility/.helmignore index 51ccab8d..06e1663c 100644 --- a/charts/ceph-utility/.helmignore +++ b/charts/ceph-utility/.helmignore @@ -1 +1,22 @@ -values_overrides \ No newline at end of file +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj + diff --git a/charts/compute-utility/.helmignore b/charts/compute-utility/.helmignore index 51ccab8d..06e1663c 100644 --- a/charts/compute-utility/.helmignore +++ b/charts/compute-utility/.helmignore @@ -1 +1,22 @@ -values_overrides \ No newline at end of file +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj + diff --git a/charts/etcdctl-utility/.helmignore b/charts/etcdctl-utility/.helmignore index 51ccab8d..06e1663c 100644 --- a/charts/etcdctl-utility/.helmignore +++ b/charts/etcdctl-utility/.helmignore @@ -1 +1,22 @@ -values_overrides \ No newline at end of file +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj + diff --git a/charts/mysqlclient-utility/.helmignore b/charts/mysqlclient-utility/.helmignore index 51ccab8d..06e1663c 100644 --- a/charts/mysqlclient-utility/.helmignore +++ b/charts/mysqlclient-utility/.helmignore @@ -1 +1,22 @@ -values_overrides \ No newline at end of file +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj + diff --git a/charts/openstack-utility/.helmignore b/charts/openstack-utility/.helmignore index 51ccab8d..06e1663c 100644 --- a/charts/openstack-utility/.helmignore +++ b/charts/openstack-utility/.helmignore @@ -1 +1,22 @@ -values_overrides \ No newline at end of file +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj + diff --git a/charts/postgresql-utility/.helmignore b/charts/postgresql-utility/.helmignore index 51ccab8d..06e1663c 100644 --- a/charts/postgresql-utility/.helmignore +++ b/charts/postgresql-utility/.helmignore @@ -1 +1,22 @@ -values_overrides \ No newline at end of file +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj + diff --git a/charts/calicoctl-utility/values_overrides/images-ubuntu_bionic.yaml b/charts/values_overrides/calicoctl-utility/images-ubuntu_bionic.yaml similarity index 100% rename from charts/calicoctl-utility/values_overrides/images-ubuntu_bionic.yaml rename to charts/values_overrides/calicoctl-utility/images-ubuntu_bionic.yaml diff --git a/charts/calicoctl-utility/values_overrides/images-ubuntu_focal.yaml b/charts/values_overrides/calicoctl-utility/images-ubuntu_focal.yaml similarity index 100% rename from charts/calicoctl-utility/values_overrides/images-ubuntu_focal.yaml rename to charts/values_overrides/calicoctl-utility/images-ubuntu_focal.yaml diff --git a/charts/calicoctl-utility/values_overrides/images-ubuntu_jammy.yaml b/charts/values_overrides/calicoctl-utility/images-ubuntu_jammy.yaml similarity index 100% rename from charts/calicoctl-utility/values_overrides/images-ubuntu_jammy.yaml rename to charts/values_overrides/calicoctl-utility/images-ubuntu_jammy.yaml diff --git a/charts/ceph-utility/values_overrides/images-ubuntu_bionic.yaml b/charts/values_overrides/ceph-utility/images-ubuntu_bionic.yaml similarity index 100% rename from charts/ceph-utility/values_overrides/images-ubuntu_bionic.yaml rename to charts/values_overrides/ceph-utility/images-ubuntu_bionic.yaml diff --git a/charts/ceph-utility/values_overrides/images-ubuntu_focal.yaml b/charts/values_overrides/ceph-utility/images-ubuntu_focal.yaml similarity index 100% rename from charts/ceph-utility/values_overrides/images-ubuntu_focal.yaml rename to charts/values_overrides/ceph-utility/images-ubuntu_focal.yaml diff --git a/charts/ceph-utility/values_overrides/images-ubuntu_jammy.yaml b/charts/values_overrides/ceph-utility/images-ubuntu_jammy.yaml similarity index 100% rename from charts/ceph-utility/values_overrides/images-ubuntu_jammy.yaml rename to charts/values_overrides/ceph-utility/images-ubuntu_jammy.yaml diff --git a/charts/compute-utility/values_overrides/images-ubuntu_bionic.yaml b/charts/values_overrides/compute-utility/images-ubuntu_bionic.yaml similarity index 100% rename from charts/compute-utility/values_overrides/images-ubuntu_bionic.yaml rename to charts/values_overrides/compute-utility/images-ubuntu_bionic.yaml diff --git a/charts/compute-utility/values_overrides/images-ubuntu_focal.yaml b/charts/values_overrides/compute-utility/images-ubuntu_focal.yaml similarity index 100% rename from charts/compute-utility/values_overrides/images-ubuntu_focal.yaml rename to charts/values_overrides/compute-utility/images-ubuntu_focal.yaml diff --git a/charts/compute-utility/values_overrides/images-ubuntu_jammy.yaml b/charts/values_overrides/compute-utility/images-ubuntu_jammy.yaml similarity index 100% rename from charts/compute-utility/values_overrides/images-ubuntu_jammy.yaml rename to charts/values_overrides/compute-utility/images-ubuntu_jammy.yaml diff --git a/charts/etcdctl-utility/values_overrides/images-ubuntu_bionic.yaml b/charts/values_overrides/etcdctl-utility/images-ubuntu_bionic.yaml similarity index 100% rename from charts/etcdctl-utility/values_overrides/images-ubuntu_bionic.yaml rename to charts/values_overrides/etcdctl-utility/images-ubuntu_bionic.yaml diff --git a/charts/etcdctl-utility/values_overrides/images-ubuntu_focal.yaml b/charts/values_overrides/etcdctl-utility/images-ubuntu_focal.yaml similarity index 100% rename from charts/etcdctl-utility/values_overrides/images-ubuntu_focal.yaml rename to charts/values_overrides/etcdctl-utility/images-ubuntu_focal.yaml diff --git a/charts/etcdctl-utility/values_overrides/images-ubuntu_jammy.yaml b/charts/values_overrides/etcdctl-utility/images-ubuntu_jammy.yaml similarity index 100% rename from charts/etcdctl-utility/values_overrides/images-ubuntu_jammy.yaml rename to charts/values_overrides/etcdctl-utility/images-ubuntu_jammy.yaml diff --git a/charts/mysqlclient-utility/values_overrides/images-ubuntu_bionic.yaml b/charts/values_overrides/mysqlclient-utility/images-ubuntu_bionic.yaml similarity index 100% rename from charts/mysqlclient-utility/values_overrides/images-ubuntu_bionic.yaml rename to charts/values_overrides/mysqlclient-utility/images-ubuntu_bionic.yaml diff --git a/charts/mysqlclient-utility/values_overrides/images-ubuntu_focal.yaml b/charts/values_overrides/mysqlclient-utility/images-ubuntu_focal.yaml similarity index 100% rename from charts/mysqlclient-utility/values_overrides/images-ubuntu_focal.yaml rename to charts/values_overrides/mysqlclient-utility/images-ubuntu_focal.yaml diff --git a/charts/mysqlclient-utility/values_overrides/images-ubuntu_jammy.yaml b/charts/values_overrides/mysqlclient-utility/images-ubuntu_jammy.yaml similarity index 100% rename from charts/mysqlclient-utility/values_overrides/images-ubuntu_jammy.yaml rename to charts/values_overrides/mysqlclient-utility/images-ubuntu_jammy.yaml diff --git a/charts/openstack-utility/values_overrides/images-ubuntu_bionic.yaml b/charts/values_overrides/openstack-utility/images-ubuntu_bionic.yaml similarity index 100% rename from charts/openstack-utility/values_overrides/images-ubuntu_bionic.yaml rename to charts/values_overrides/openstack-utility/images-ubuntu_bionic.yaml diff --git a/charts/openstack-utility/values_overrides/images-ubuntu_focal.yaml b/charts/values_overrides/openstack-utility/images-ubuntu_focal.yaml similarity index 100% rename from charts/openstack-utility/values_overrides/images-ubuntu_focal.yaml rename to charts/values_overrides/openstack-utility/images-ubuntu_focal.yaml diff --git a/charts/openstack-utility/values_overrides/images-ubuntu_jammy.yaml b/charts/values_overrides/openstack-utility/images-ubuntu_jammy.yaml similarity index 100% rename from charts/openstack-utility/values_overrides/images-ubuntu_jammy.yaml rename to charts/values_overrides/openstack-utility/images-ubuntu_jammy.yaml diff --git a/charts/postgresql-utility/values_overrides/images-ubuntu_bionic.yaml b/charts/values_overrides/postgresql-utility/images-ubuntu_bionic.yaml similarity index 100% rename from charts/postgresql-utility/values_overrides/images-ubuntu_bionic.yaml rename to charts/values_overrides/postgresql-utility/images-ubuntu_bionic.yaml diff --git a/charts/postgresql-utility/values_overrides/images-ubuntu_focal.yaml b/charts/values_overrides/postgresql-utility/images-ubuntu_focal.yaml similarity index 100% rename from charts/postgresql-utility/values_overrides/images-ubuntu_focal.yaml rename to charts/values_overrides/postgresql-utility/images-ubuntu_focal.yaml diff --git a/charts/postgresql-utility/values_overrides/images-ubuntu_jammy.yaml b/charts/values_overrides/postgresql-utility/images-ubuntu_jammy.yaml similarity index 100% rename from charts/postgresql-utility/values_overrides/images-ubuntu_jammy.yaml rename to charts/values_overrides/postgresql-utility/images-ubuntu_jammy.yaml diff --git a/tools/deployment/002-build-charts.sh b/tools/deployment/002-build-charts.sh index 8b23b554..146384e5 100755 --- a/tools/deployment/002-build-charts.sh +++ b/tools/deployment/002-build-charts.sh @@ -7,7 +7,7 @@ cd "${PORTHOLE_PATH}" || exit mkdir -p artifacts -make all +make all || { echo "[!] Failed to build Helm charts. Aborting..."; exit 1; } cd charts || exit for i in $(find . -maxdepth 1 -name "*.tgz" -print | sed -e 's/\-[0-9.]*\.tgz//'| cut -d / -f 2 | sort) diff --git a/tools/deployment/005-calicoctl-utility.sh b/tools/deployment/005-calicoctl-utility.sh index 268146e4..907550e9 100755 --- a/tools/deployment/005-calicoctl-utility.sh +++ b/tools/deployment/005-calicoctl-utility.sh @@ -12,15 +12,18 @@ # under the License. set -xe -namespace=utility -export HELM_CHART_ROOT_PATH="${HELM_CHART_ROOT_PATH:="${PORTHOLE_PATH:="../porthole/charts"}"}" -: ${PORTHOLE_EXTRA_HELM_ARGS_CALICOCTL_UTILITY:="$(helm osh get-values-overrides -c calicoctl-utility)"} +# NOTE: Define variables +: ${HELM_CHART_ROOT_PATH:="${PORTHOLE_PATH:="../porthole/charts"}"} +: ${PORTHOLE_VALUES_OVERRIDES_PATH:="../porthole/charts/values_overrides"} +: ${PORTHOLE_EXTRA_HELM_ARGS_CALICOCTL_UTILITY:="$(helm osh get-values-overrides -p ${PORTHOLE_VALUES_OVERRIDES_PATH} -c calicoctl-utility ${FEATURES})"} +: ${NAMESPACE:=utility} -helm upgrade --install calicoctl-utility ./artifacts/calicoctl-utility.tgz --namespace=$namespace \ - ${PORTHOLE_EXTRA_HELM_ARGS_CALICOCTL_UTILITY} +# NOTE: Deploy calicoctl-utility helm chart +helm upgrade --install calicoctl-utility ./artifacts/calicoctl-utility.tgz \ + --namespace=${NAMESPACE} \ + ${PORTHOLE_EXTRA_HELM_ARGS_CALICOCTL_UTILITY} + +# NOTE: Wait for deploy +helm osh wait-for-pods ${NAMESPACE} -# Wait for Deployment -: "${OSH_INFRA_PATH:="../openstack-helm-infra"}" -cd "${OSH_INFRA_PATH}" -helm osh wait-for-pods $namespace \ No newline at end of file diff --git a/tools/deployment/010-ceph-utility.sh b/tools/deployment/010-ceph-utility.sh index 88f5979f..4baccada 100755 --- a/tools/deployment/010-ceph-utility.sh +++ b/tools/deployment/010-ceph-utility.sh @@ -1,23 +1,37 @@ #!/bin/bash -CURRENT_DIR="$(pwd)" - : "${OSH_PATH:="../openstack-helm"}" - : "${OSH_INFRA_PATH:="../openstack-helm-infra"}" +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +set -xe + +CURRENT_DIR="$(pwd)" + +# NOTE: Define variables +: ${OSH_PATH:="../openstack-helm"} +: ${OSH_INFRA_PATH:="../openstack-helm-infra"} +: ${NAMESPACE:=utility} cd "${OSH_INFRA_PATH}" || exit -# Lint and package ceph charts +# NOTE: Lint and package ceph helm charts for CHART in ceph-mon ceph-osd ceph-client ceph-provisioners; do - make "${CHART}" + make "${CHART}" SKIP_CHANGELOG=1 done ./tools/deployment/ceph/ceph.sh -namespace="utility" -: ${OSH_EXTRA_HELM_ARGS:=""} - cd "${OSH_INFRA_PATH}" -#Deploy Ceph-provisioners + tee /tmp/ceph-utility-config.yaml <