Change Node-selector to openstack-control-plane for All UC's

1. Changing nodeselector to use same label and to sync
     (openstack-control-plane = enabled) which comes default
     with osh deployment.

 2. Fix Ceph Deploy script.

 3. Updated Apparmor script to remove node-selector.

 4. Remove repos cloned  not needed for Porthole Project.

Change-Id: Ibb4c98a956347c8487beff90277fe9a88bed9739
Signed-off-by: diwakar thyagaraj <diwakar.chitoor.thyagaraj@att.com>
This commit is contained in:
diwakar thyagaraj 2020-05-28 20:53:44 +00:00
parent 3daaac9f01
commit 29f8b0a363
24 changed files with 325 additions and 148 deletions

View File

@ -65,10 +65,10 @@ release_group: null
labels:
utility:
node_selector_key: openstack-helm-node-class
node_selector_key: openstack-control-plane
node_selector_value: enabled
job:
node_selector_key: openstack-helm-node-class
node_selector_key: openstack-control-plane
node_selector_value: enabled
dependencies:
@ -239,4 +239,4 @@ manifests:
configmap_etc_client: true
deployment_calicoctl_utility: true
job_image_repo_sync: false
secret_certificates: false
secret_certificates: false

View File

@ -30,8 +30,8 @@ images:
labels:
utility:
node_selector_key: openstack-helm-node-class
node_selector_value: primary
node_selector_key: openstack-control-plane
node_selector_value: enabled
pod:
security_context:
@ -196,4 +196,4 @@ manifests:
configmap_etc_client: true
configmap_etc_sudoers: true
deployment_utility: true
network_policy: false
network_policy: false

View File

@ -31,8 +31,8 @@ images:
labels:
utility:
node_selector_key: openstack-helm-node-class
node_selector_value: primary
node_selector_key: openstack-control-plane
node_selector_value: enabled
pod:
security_context:
@ -166,4 +166,4 @@ manifests:
configmap_bin: true
configmap_etc_client: true
configmap_etc_sudoers: true
deployment_utility: true
deployment_utility: true

View File

@ -31,11 +31,11 @@ images:
labels:
utility:
node_selector_key: openstack-helm-node-class
node_selector_value: primary
node_selector_key: openstack-control-plane
node_selector_value: enabled
job:
node_selector_key: openstack-helm-node-class
node_selector_value: primary
node_selector_key: openstack-control-plane
node_selector_value: enabled
pod:
security_context:
@ -201,4 +201,4 @@ manifests:
configmap_etc_sudoers: true
deployment_etcdctl_utility: true
job_image_repo_sync: false
secret_certificates: true
secret_certificates: true

View File

@ -30,8 +30,8 @@ images:
labels:
utility:
node_selector_key: openstack-helm-node-class
node_selector_value: primary
node_selector_key: openstack-control-plane
node_selector_value: enabled
pod:
security_context:
@ -164,5 +164,4 @@ manifests:
configmap_bin: true
configmap_etc_client: true
configmap_etc_sudoers: true
deployment_utility: true
deployment_utility: true

View File

@ -19,8 +19,8 @@ images:
labels:
utility:
node_selector_key: openstack-helm-node-class
node_selector_value: primary
node_selector_key: openstack-control-plane
node_selector_value: enabled
pod:
security_context:

View File

@ -30,8 +30,8 @@ images:
labels:
utility:
node_selector_key: openstack-helm-node-class
node_selector_value: primary
node_selector_key: openstack-control-plane
node_selector_value: enabled
pod:
security_context:
@ -188,4 +188,4 @@ manifests:
configmap_etc: true
secret_etc: true
secret_admin: true
deployment_utility: true
deployment_utility: true

View File

@ -4,25 +4,10 @@ set -xe
CURRENT_DIR="$(pwd)"
: "${INSTALL_PATH:="../"}"
: "${OSH_INFRA_COMMIT:="8ba46703ee9fab0115e4b7f62ea43e0798c36872"}"
: "${CLONE_ARMADA:=true}"
: "${CLONE_DECKHAND:=true}"
: "${CLONE_SHIPYARD:=true}"
cd ${INSTALL_PATH}
# Clone Airship projects
if [[ ${CLONE_ARMADA} = true ]] ; then
git clone https://opendev.org/airship/armada.git
fi
if [[ ${CLONE_DECKHAND} = true ]] ; then
git clone https://opendev.org/airship/deckhand.git
fi
if [[ ${CLONE_SHIPYARD} = true ]] ; then
git clone https://opendev.org/airship/shipyard.git
fi
# Clone dependencies
git clone https://opendev.org/openstack/openstack-helm-infra.git
cd openstack-helm-infra
git checkout "${OSH_INFRA_COMMIT}"
git checkout "${OSH_INFRA_COMMIT}"

View File

@ -4,4 +4,4 @@ CURRENT_DIR="$(pwd)"
: "${OSH_INFRA_PATH:="../openstack-helm-infra"}"
cd "${OSH_INFRA_PATH}"
bash -c "./tools/deployment/common/001-setup-apparmor-profiles.sh"
bash -c "./tools/deployment/common/001-setup-apparmor-profiles.sh"

View File

@ -4,4 +4,4 @@ CURRENT_DIR="$(pwd)"
: "${OSH_INFRA_PATH:="../openstack-helm-infra"}"
cd "${OSH_INFRA_PATH}"
bash -c "./tools/deployment/common/005-deploy-k8s.sh"
bash -c "./tools/deployment/common/005-deploy-k8s.sh"

View File

@ -13,13 +13,15 @@
set -xe
namespace=utility
kubectl label nodes --all openstack-helm-node-class=enabled --overwrite
helm dependency update charts/calicoctl-utility
cd charts
helm upgrade --install calicoctl-utility ./charts/calicoctl-utility --namespace=$namespace
helm upgrade --install calicoctl-utility ./calicoctl-utility --namespace=$namespace
sleep 180
# Wait for Deployment
: "${OSH_INFRA_PATH:="../openstack-helm-infra"}"
cd "${OSH_INFRA_PATH}"
./tools/deployment/common/wait-for-pods.sh $namespace
#Validate Apparmor
cal_pod=$(kubectl get pods --namespace=$namespace -o wide | grep calico | awk '{print $1}')
expected_profile="docker-default (enforce)"
profile=`kubectl -n $namespace exec $cal_pod -- cat /proc/1/attr/current`
@ -33,4 +35,4 @@ echo "Profile running: $profile"
echo "$profile is the WRONG PROFILE!!"
return 1
fi
fi
fi

View File

@ -200,7 +200,6 @@ done
--no-headers | awk '{ print $1; exit }')
kubectl exec -n ceph ${MON_POD} -- ceph -s
#NOTE: Deploy command
: ${OSH_EXTRA_HELM_ARGS:=""}
tee /tmp/ceph-utility-config.yaml <<EOF
@ -228,7 +227,6 @@ conf:
enabled: true
EOF
helm upgrade --install ceph-utility-config ./ceph-provisioners \
--namespace=utility \
--values=/tmp/ceph-utility-config.yaml \
@ -236,17 +234,16 @@ helm upgrade --install ceph-utility-config ./ceph-provisioners \
${OSH_EXTRA_HELM_ARGS_CEPH_NS_ACTIVATE}
#Deploy Ceph-Utility
kubectl label nodes --all openstack-helm-node-class=primary --overwrite
cd ${CURRENT_DIR}
helm dependency update charts/ceph-utility
helm upgrade --install ceph-utility ./charts/ceph-utility --namespace=$namespace
sleep 180
kubectl get pods --namespace=$namespace
# Wait for Deployment
: "${OSH_INFRA_PATH:="../openstack-helm-infra"}"
cd "${OSH_INFRA_PATH}"
./tools/deployment/common/wait-for-pods.sh $namespace
#Validate Apparmor
ceph_pod=$(kubectl get pods --namespace=$namespace -o wide | grep ceph | grep 1/1 | awk '{print $1}')
expected_profile="docker-default (enforce)"
profile=`kubectl -n $namespace exec $ceph_pod -- cat /proc/1/attr/current`

View File

@ -14,14 +14,15 @@
set -xe
namespace="utility"
kubectl label nodes --all openstack-helm-node-class=enabled --overwrite
helm dependency update charts/compute-utility
cd charts
helm upgrade --install compute-utility ./compute-utility --namespace=$namespace
sleep 180
helm upgrade --install compute-utility ./charts/compute-utility --namespace=$namespace
kubectl get pods --namespace=$namespace
# Wait for Deployment
: "${OSH_INFRA_PATH:="../openstack-helm-infra"}"
cd "${OSH_INFRA_PATH}"
./tools/deployment/common/wait-for-pods.sh $namespace
#Validate Apparmor
com_pod=$(kubectl get pods --namespace=$namespace -o wide | grep compute | awk '{print $1}')
expected_profile="docker-default (enforce)"
profile=`kubectl -n $namespace exec $com_pod -- cat /proc/1/attr/current`

View File

@ -13,13 +13,15 @@
set -xe
namespace="utility"
kubectl label nodes --all openstack-helm-node-class=primary --overwrite
helm dependency update charts/etcdctl-utility
cd charts
helm upgrade --install etcdctl-utility ./etcdctl-utility --namespace=$namespace
sleep 180
kubectl get pods --namespace=$namespace
helm upgrade --install etcdctl-utility ./charts/etcdctl-utility --namespace=$namespace
# Wait for Deployment
: "${OSH_INFRA_PATH:="../openstack-helm-infra"}"
cd "${OSH_INFRA_PATH}"
./tools/deployment/common/wait-for-pods.sh $namespace
#Validate Apparmor
etc_pod=$(kubectl get pods --namespace=$namespace -o wide | grep etcdctl | awk '{print $1}')
expected_profile="docker-default (enforce)"
profile=`kubectl -n $namespace exec $etc_pod -- cat /proc/1/attr/current`
@ -33,4 +35,4 @@ echo "Profile running: $profile"
echo "$profile is the WRONG PROFILE!!"
return 1
fi
fi
fi

View File

@ -13,13 +13,15 @@
set -xe
namespace="utility"
kubectl label nodes --all openstack-helm-node-class=primary --overwrite
helm dependency update charts/mysqlclient-utility
cd charts
helm upgrade --install mysqlclient-utility ./mysqlclient-utility --namespace=$namespace
sleep 180
kubectl get pods --namespace=$namespace
helm upgrade --install mysqlclient-utility ./charts/mysqlclient-utility --namespace=$namespace
# Wait for Deployment
: "${OSH_INFRA_PATH:="../openstack-helm-infra"}"
cd "${OSH_INFRA_PATH}"
./tools/deployment/common/wait-for-pods.sh $namespace
#Validate Apparmor
mysql_pod=$(kubectl get pods --namespace=$namespace -o wide | grep mysqlclient | awk '{print $1}')
expected_profile="docker-default (enforce)"
profile=`kubectl -n $namespace exec $mysql_pod -- cat /proc/1/attr/current`
@ -33,4 +35,4 @@ echo "Profile running: $profile"
echo "$profile is the WRONG PROFILE!!"
return 1
fi
fi
fi

View File

@ -12,27 +12,23 @@
# under the License.
set -xe
kubectl label nodes --all openstack-helm-node-class=primary --overwrite
namespace="utility"
helm dependency update charts/openstack-utility
cd charts
kubectl get pods --all-namespaces
sleep 120
helm upgrade --install openstack-utility ./charts/openstack-utility --namespace=$namespace
helm upgrade --install openstack-utility ./openstack-utility --namespace=$namespace \
# NOTE: Validate Deployment and User.
# Wait for Deployment
: "${OSH_INFRA_PATH:="../openstack-helm-infra"}"
cd "${OSH_INFRA_PATH}"
./tools/deployment/common/wait-for-pods.sh $namespace
sleep 180
kubectl get pods --namespace=$namespace | grep openstack-utility
ouc_pod=$(kubectl get pods --namespace=$namespace --selector="application=openstack" --no-headers | awk '{ print $1; exit }')
unsorted_process_file="/tmp/unsorted_proc_list"
sorted_process_file="/tmp/proc_list"
#Validate Apparmor
ouc_pod=$(kubectl get pods --namespace=$namespace -o wide | grep openstack | awk '{print $1}')
expected_profile="docker-default (enforce)"
kubectl describe pod $ouc_pod -n utility
#Below can be used for multiple Processes.Grab the processes (numbered directories) from the /proc directory,
# and then sort them. Highest proc number indicates most recent process.
#unsorted_process_file="/tmp/unsorted_proc_list"
#sorted_process_file="/tmp/proc_list"
#kubectl -n $namespace exec $ouc_pod -- ls -1 /proc | grep -e "^[0-9]*$" > $unsorted_process_file
#sort --numeric-sort $unsorted_process_file > $sorted_process_file

View File

@ -10,17 +10,17 @@
# 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
namespace="utility"
kubectl label nodes --all openstack-helm-node-class=primary --overwrite
helm dependency update charts/postgresql-utility
cd charts
helm upgrade --install postgresql-utility ./postgresql-utility --namespace=$namespace
sleep 180
kubectl get pods --namespace=$namespace
helm upgrade --install postgresql-utility ./charts/postgresql-utility --namespace=$namespace
# Wait for Deployment
: "${OSH_INFRA_PATH:="../openstack-helm-infra"}"
cd "${OSH_INFRA_PATH}"
./tools/deployment/common/wait-for-pods.sh $namespace
#Validate Apparmor
pos_pod=$(kubectl get pods --namespace=$namespace -o wide | grep postgresql | awk '{print $1}')
expected_profile="docker-default (enforce)"
profile=`kubectl -n $namespace exec $pos_pod -- cat /proc/1/attr/current`
@ -34,4 +34,4 @@ echo "Profile running: $profile"
echo "$profile is the WRONG PROFILE!!"
return 1
fi
fi
fi

View File

@ -1,12 +1,16 @@
#!/bin/bash
set -xe
kubectl label nodes --all openstack-helm-node-class=enabled --overwrite
namespace=utility
helm dependency update charts/calicoctl-utility
cd charts
helm upgrade --install calicoctl-utility ./calicoctl-utility --namespace=utility
helm upgrade --install calicoctl-utility ./charts/calicoctl-utility --namespace=$namespace
# Wait for Deployment
: "${OSH_INFRA_PATH:="../openstack-helm-infra"}"
cd "${OSH_INFRA_PATH}"
./tools/deployment/common/wait-for-pods.sh $namespace
#NOTE: Validate Deployment info
kubectl get -n utility secrets
kubectl get -n utility configmaps
kubectl get pods -n utility | grep calicoctl-utility
kubectl get -n $namespace secrets
kubectl get -n $namespace configmaps
kubectl get pods -n $namespace | grep calicoctl-utility

View File

@ -1,9 +1,204 @@
#!/bin/bash
set -xe
namespace="utility"
CURRENT_DIR="$(pwd)"
#NOTE: Lint and package chart
: ${OSH_INFRA_PATH:="../../openstack-helm-infra"}
make -C ${OSH_INFRA_PATH} ceph-provisioners
cd "${OSH_INFRA_PATH}"
for CHART in ceph-mon ceph-client ceph-provisioners; do
make "${CHART}"
done
#NOTE: Deploy command
: ${OSH_EXTRA_HELM_ARGS:=""}
[ -s /tmp/ceph-fs-uuid.txt ] || uuidgen > /tmp/ceph-fs-uuid.txt
CEPH_FS_ID="$(cat /tmp/ceph-fs-uuid.txt)"
#NOTE(portdirect): to use RBD devices with Ubuntu kernels < 4.5 this
# should be set to 'hammer'
. /etc/os-release
if [ "x${ID}" == "xubuntu" ] && \
[ "$(uname -r | awk -F "." '{ print $2 }')" -lt "5" ]; then
CRUSH_TUNABLES=hammer
else
CRUSH_TUNABLES=null
fi
tee /tmp/ceph.yaml <<EOF
endpoints:
ceph_mon:
namespace: ceph
port:
mon:
default: 6789
ceph_mgr:
namespace: ceph
port:
mgr:
default: 7000
metrics:
default: 9283
network:
public: 172.17.0.1/16
cluster: 172.17.0.1/16
port:
mon: 6789
rgw: 8088
mgr: 7000
deployment:
storage_secrets: true
ceph: true
rbd_provisioner: true
cephfs_provisioner: true
client_secrets: false
rgw_keystone_user_and_endpoints: false
bootstrap:
enabled: true
conf:
rgw_ks:
enabled: false
ceph:
global:
fsid: ${CEPH_FS_ID}
mon_addr: :6789
osd_pool_default_size: 1
osd:
osd_crush_chooseleaf_type: 0
pool:
crush:
tunables: ${CRUSH_TUNABLES}
target:
osd: 1
pg_per_osd: 100
default:
crush_rule: same_host
spec:
# RBD pool
- name: rbd
application: rbd
replication: 1
percent_total_data: 40
# CephFS pools
- name: cephfs_metadata
application: cephfs
replication: 1
percent_total_data: 5
- name: cephfs_data
application: cephfs
replication: 1
percent_total_data: 10
# RadosGW pools
- name: .rgw.root
application: rgw
replication: 1
percent_total_data: 0.1
- name: default.rgw.control
application: rgw
replication: 1
percent_total_data: 0.1
- name: default.rgw.data.root
application: rgw
replication: 1
percent_total_data: 0.1
- name: default.rgw.gc
application: rgw
replication: 1
percent_total_data: 0.1
- name: default.rgw.log
application: rgw
replication: 1
percent_total_data: 0.1
- name: default.rgw.intent-log
application: rgw
replication: 1
percent_total_data: 0.1
- name: default.rgw.meta
application: rgw
replication: 1
percent_total_data: 0.1
- name: default.rgw.usage
application: rgw
replication: 1
percent_total_data: 0.1
- name: default.rgw.users.keys
application: rgw
replication: 1
percent_total_data: 0.1
- name: default.rgw.users.email
application: rgw
replication: 1
percent_total_data: 0.1
- name: default.rgw.users.swift
application: rgw
replication: 1
percent_total_data: 0.1
- name: default.rgw.users.uid
application: rgw
replication: 1
percent_total_data: 0.1
- name: default.rgw.buckets.extra
application: rgw
replication: 1
percent_total_data: 0.1
- name: default.rgw.buckets.index
application: rgw
replication: 1
percent_total_data: 3
- name: default.rgw.buckets.data
application: rgw
replication: 1
percent_total_data: 34.8
storage:
osd:
- data:
type: directory
location: /var/lib/openstack-helm/ceph/osd/osd-one
journal:
type: directory
location: /var/lib/openstack-helm/ceph/osd/journal-one
pod:
replicas:
mds: 1
mgr: 1
rgw: 1
jobs:
ceph_defragosds:
# Execute every 15 minutes for gates
cron: "*/15 * * * *"
history:
# Number of successful job to keep
successJob: 1
# Number of failed job to keep
failJob: 1
concurrency:
# Skip new job if previous job still active
execPolicy: Forbid
startingDeadlineSecs: 60
manifests:
cronjob_defragosds: true
job_bootstrap: false
EOF
for CHART in ceph-mon ceph-client ceph-provisioners; do
helm upgrade --install ${CHART} ./${CHART} \
--namespace=ceph \
--values=/tmp/ceph.yaml \
${OSH_INFRA_EXTRA_HELM_ARGS} \
${OSH_INFRA_EXTRA_HELM_ARGS_CEPH_DEPLOY}
done
helm upgrade --install ceph-osd ./ceph-osd \
--namespace=ceph \
--values=/tmp/ceph.yaml
#NOTE: Wait for deploy
./tools/deployment/common/wait-for-pods.sh ceph
#NOTE: Validate deploy
MON_POD=$(kubectl get pods \
--namespace=ceph \
--selector="application=ceph" \
--selector="component=mon" \
--no-headers | awk '{ print $1; exit }')
kubectl exec -n ceph ${MON_POD} -- ceph -s
#NOTE: Deploy command
: ${OSH_EXTRA_HELM_ARGS:=""}
@ -31,22 +226,19 @@ conf:
rgw_ks:
enabled: true
EOF
# Deploy Ceph Dependency Pods
helm upgrade --install ceph-utility-config ${OSH_INFRA_PATH}/ceph-provisioners \
helm upgrade --install ceph-utility-config ./ceph-provisioners \
--namespace=utility \
--values=/tmp/ceph-utility-config.yaml \
${OSH_EXTRA_HELM_ARGS} \
${OSH_EXTRA_HELM_ARGS_CEPH_NS_ACTIVATE}
#NOTE: Wait for deploy
./${OSH_INFRA_PATH}/tools/deployment/common/wait-for-pods.sh utility
#Deploy Ceph-Utility
cd ${CURRENT_DIR}
helm dependency update charts/ceph-utility
cd charts
helm upgrade --install ceph-utility ./ceph-utility \
--namespace=utility
helm upgrade --install ceph-utility ./charts/ceph-utility --namespace=$namespace
#NOTE: Validate Deployment info
kubectl get -n utility jobs
kubectl get -n utility secrets
kubectl get -n utility configmaps
kubectl get -n utility pods | grep ceph-utility
# Wait for Deployment
: "${OSH_INFRA_PATH:="../openstack-helm-infra"}"
cd "${OSH_INFRA_PATH}"
./tools/deployment/common/wait-for-pods.sh $namespace

View File

@ -1,13 +1,10 @@
#!/bin/bash
set -xe
kubectl label nodes --all openstack-helm-node-class=primary --overwrite
namespace=utility
helm dependency update charts/compute-utility
cd charts
helm upgrade --install compute-utility ./compute-utility --namespace=utility
helm upgrade --install compute-utility ./charts/compute-utility --namespace=$namespace
#NOTE: Validate Deployment info
kubectl get -n utility jobs
kubectl get -n utility configmaps
kubectl get -n utility pods | grep compute-utility
# Wait for Deployment
: "${OSH_INFRA_PATH:="../openstack-helm-infra"}"
cd "${OSH_INFRA_PATH}"
./tools/deployment/common/wait-for-pods.sh $namespace

View File

@ -1,12 +1,10 @@
#!/bin/bash
set -xe
kubectl label nodes --all openstack-helm-node-class=primary --overwrite
namespace=utility
helm dependency update charts/etcdctl-utility
cd charts
helm upgrade --install etcdctl-utility ./etcdctl-utility --namespace=utility
helm upgrade --install etcdctl-utility ./charts/etcdctl-utility --namespace=$namespace
#NOTE: Validate Deployment info
kubectl get -n utility secrets
kubectl get -n utility configmaps
kubectl get pods -n utility | grep etcdctl-utility
# Wait for Deployment
: "${OSH_INFRA_PATH:="../openstack-helm-infra"}"
cd "${OSH_INFRA_PATH}"
./tools/deployment/common/wait-for-pods.sh $namespace

View File

@ -1,9 +1,10 @@
#!/bin/bash
set -xe
kubectl label nodes --all openstack-helm-node-class=primary --overwrite
namespace=utility
helm dependency update charts/mysqlclient-utility
cd charts
helm upgrade --install mysqlclient-utility ./mysqlclient-utility --namespace=utility
helm upgrade --install mysqlclient-utility ./charts/mysqlclient-utility --namespace=$namespace
#NOTE: Validate Deployment info
kubectl get pods -n utility | grep mysqlclient-utility
# Wait for Deployment
: "${OSH_INFRA_PATH:="../openstack-helm-infra"}"
cd "${OSH_INFRA_PATH}"
./tools/deployment/common/wait-for-pods.sh $namespace

View File

@ -1,14 +1,16 @@
#!/bin/bash
set -xe
kubectl label nodes --all openstack-helm-node-class=primary --overwrite
namespace=utility
helm dependency update charts/openstack-utility
cd charts
helm upgrade --install openstack-utility ./openstack-utility --namespace=utility
helm upgrade --install openstack-utility ./charts/openstack-utility --namespace=$namespace
# Wait for Deployment
: "${OSH_INFRA_PATH:="../openstack-helm-infra"}"
cd "${OSH_INFRA_PATH}"
./tools/deployment/common/wait-for-pods.sh $namespace
#NOTE: Validate Deployment info
kubectl get pods -n utility | grep openstack-utility
helm status openstack-utility
export OS_CLOUD=openstack_helm
sleep 30 #NOTE(portdirect): Wait for ingress controller to update rules and restart Nginx
openstack endpoint list
openstack endpoint list

View File

@ -1,11 +1,10 @@
#!/bin/bash
set -xe
kubectl label nodes --all openstack-helm-node-class=primary --overwrite
namespace=utility
helm dependency update charts/postgresql-utility
cd charts
helm upgrade --install postgresql-utility ./postgresql-utility --namespace=utility
sleep 60
helm upgrade --install postgresql-utility ./charts/postgresql-utility --namespace=$namespace
#NOTE: Validate Deployment info
kubectl get pods -n utility | grep postgresql-utility
# Wait for Deployment
: "${OSH_INFRA_PATH:="../openstack-helm-infra"}"
cd "${OSH_INFRA_PATH}"
./tools/deployment/common/wait-for-pods.sh $namespace