Gate: Simpler multiple distro/over-ride support

This PS indroduces a simpler way to incorp over-rides into gate
runs, and also ensures that they are scoped to a single chart, rather
than all of the charts deployed within a gate run.

Depends-On: https://review.opendev.org/666957

Change-Id: I49edf52cc1fc5ec60ee9754c28880c9c0c54492e
Signed-off-by: Pete Birley <pete@port.direct>
This commit is contained in:
Pete Birley 2019-06-22 07:45:01 -05:00 committed by Pete Birley
parent 585f0adcda
commit cede6c0d48
20 changed files with 309 additions and 202 deletions

View File

@ -0,0 +1,71 @@
#!/bin/bash
# Copyright 2017 The Openstack-Helm Authors.
#
# 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.
# This script will generate a matrix of values-override file args to apply to
# charts, in the gate and development environments. It will 1st produce a
# consistenly ordered list of all permuations of filenames to try, and then
# if a file matching this name exists in the `values_overrides` directory within
# each chart, apply it upon install/upgrade.
set -e
HELM_CHART="$1"
: "${HELM_CHART_ROOT_PATH:="../openstack-helm"}"
: "${OPENSTACK_RELEASE:="ocata"}"
: "${CONTAINER_DISTRO_NAME:="ubuntu"}"
: "${CONTAINER_DISTRO_VERSION:="xenial"}"
: "${FEATURE_GATES:=""}"
OSH_FEATURE_MIX="${FEATURE_GATES},${OPENSTACK_RELEASE},${CONTAINER_DISTRO_NAME}_${CONTAINER_DISTRO_VERSION},${CONTAINER_DISTRO_NAME}"
function echoerr () {
echo "$@" 1>&2;
}
function generate_awk_exp_from_mask () {
local POSITION=1
for VALUE in $@; do
[ "${VALUE}" -eq 1 ] && echo -n "print \$${POSITION};"
POSITION=$((POSITION+1))
done
echo -e "\n"
}
function combination () {
POWER=$((2**$#))
BITS="$(awk "BEGIN { while (c++ < $#) printf \"0\" }")"
while [ "${POWER}" -gt 1 ];do
POWER=$((POWER-1))
BIN="$(bc <<< "obase=2; ${POWER}")"
MASK="$(echo "${BITS}" | sed -e "s/0\{${#BIN}\}$/$BIN/" | grep -o .)"
#NOTE: This line is odd, but written to support both BSD and GNU utils
awk -v ORS="-" "{$(generate_awk_exp_from_mask "$MASK")}" <<< "$@" | awk 1 | sed 's/-$//'
done
}
function override_file_args () {
OVERRIDE_ARGS=""
echoerr "We will attempt to use values-override files with the following paths:"
for FILE in $(combination ${1//,/ } | uniq | tac); do
FILE_PATH="${HELM_CHART_ROOT_PATH}/${HELM_CHART}/values_overrides/${FILE}.yaml"
if [ -f "${FILE_PATH}" ]; then
OVERRIDE_ARGS+=" --values=${FILE_PATH} "
fi
echoerr "${FILE_PATH}"
done
echo "${OVERRIDE_ARGS}"
}
echoerr "We are going to deploy the service ${HELM_CHART} for the OpenStack ${OPENSTACK_RELEASE} release, using ${CONTAINER_DISTRO_NAME} (${CONTAINER_DISTRO_VERSION}) distribution containers."
override_file_args "${OSH_FEATURE_MIX}"

View File

@ -24,4 +24,5 @@ sudo apt-get install --no-install-recommends -y \
jq \ jq \
nmap \ nmap \
curl \ curl \
uuid-runtime uuid-runtime \
bc

View File

@ -16,12 +16,14 @@
set -xe set -xe
#NOTE: Get the over-rides to use
export HELM_CHART_ROOT_PATH="${HELM_CHART_ROOT_PATH:="${OSH_INFRA_PATH:="../openstack-helm-infra"}"}"
: ${OSH_EXTRA_HELM_ARGS_CEPH_NS_ACTIVATE:="$(./tools/deployment/common/get-values-overrides.sh ceph-provisioners)"}
#NOTE: Lint and package chart #NOTE: Lint and package chart
: ${OSH_INFRA_PATH:="../openstack-helm-infra"} make -C ${HELM_CHART_ROOT_PATH} ceph-provisioners
make -C ${OSH_INFRA_PATH} ceph-provisioners
#NOTE: Deploy command #NOTE: Deploy command
: ${OSH_EXTRA_HELM_ARGS:=""}
tee /tmp/ceph-openstack-config.yaml <<EOF tee /tmp/ceph-openstack-config.yaml <<EOF
endpoints: endpoints:
identity: identity:
@ -46,10 +48,10 @@ conf:
rgw_ks: rgw_ks:
enabled: true enabled: true
EOF EOF
helm upgrade --install ceph-openstack-config ${OSH_INFRA_PATH}/ceph-provisioners \ helm upgrade --install ceph-openstack-config ${HELM_CHART_ROOT_PATH}/ceph-provisioners \
--namespace=openstack \ --namespace=openstack \
--values=/tmp/ceph-openstack-config.yaml \ --values=/tmp/ceph-openstack-config.yaml \
${OSH_EXTRA_HELM_ARGS} \ ${OSH_EXTRA_HELM_ARGS:=} \
${OSH_EXTRA_HELM_ARGS_CEPH_NS_ACTIVATE} ${OSH_EXTRA_HELM_ARGS_CEPH_NS_ACTIVATE}
#NOTE: Wait for deploy #NOTE: Wait for deploy

View File

@ -17,14 +17,12 @@
set -xe set -xe
#NOTE: Lint and package chart #NOTE: Lint and package chart
: ${OSH_INFRA_PATH:="../openstack-helm-infra"} export HELM_CHART_ROOT_PATH="${HELM_CHART_ROOT_PATH:="${OSH_INFRA_PATH:="../openstack-helm-infra"}"}"
for CHART in ceph-mon ceph-osd ceph-client ceph-provisioners; do for CHART in ceph-mon ceph-osd ceph-client ceph-provisioners; do
make -C ${OSH_INFRA_PATH} "${CHART}" make -C ${HELM_CHART_ROOT_PATH} "${CHART}"
done done
#NOTE: Deploy command #NOTE: Deploy command
: ${OSH_EXTRA_HELM_ARGS:=""}
[ -s /tmp/ceph-fs-uuid.txt ] || uuidgen > /tmp/ceph-fs-uuid.txt [ -s /tmp/ceph-fs-uuid.txt ] || uuidgen > /tmp/ceph-fs-uuid.txt
CEPH_FS_ID="$(cat /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 #NOTE(portdirect): to use RBD devices with Ubuntu kernels < 4.5 this
@ -188,11 +186,14 @@ manifests:
EOF EOF
for CHART in ceph-mon ceph-osd ceph-client ceph-provisioners; do for CHART in ceph-mon ceph-osd ceph-client ceph-provisioners; do
helm upgrade --install ${CHART} ${OSH_INFRA_PATH}/${CHART} \ #NOTE: Get the over-rides to use
: ${OSH_EXTRA_HELM_ARGS_CEPH:="$(./tools/deployment/common/get-values-overrides.sh ${CHART})"}
helm upgrade --install ${CHART} ${HELM_CHART_ROOT_PATH}/${CHART} \
--namespace=ceph \ --namespace=ceph \
--values=/tmp/ceph.yaml \ --values=/tmp/ceph.yaml \
${OSH_EXTRA_HELM_ARGS} \ ${OSH_EXTRA_HELM_ARGS:=} \
${OSH_EXTRA_HELM_ARGS_CEPH_DEPLOY} ${OSH_EXTRA_HELM_ARGS_CEPH}
#NOTE: Wait for deploy #NOTE: Wait for deploy
./tools/deployment/common/wait-for-pods.sh ceph ./tools/deployment/common/wait-for-pods.sh ceph

View File

@ -15,11 +15,13 @@
# under the License. # under the License.
set -xe set -xe
#NOTE: Get the over-rides to use
: ${OSH_EXTRA_HELM_ARGS_CINDER:="$(./tools/deployment/common/get-values-overrides.sh cinder)"}
#NOTE: Lint and package chart #NOTE: Lint and package chart
make cinder make cinder
#NOTE: Deploy command #NOTE: Deploy command
: ${OSH_EXTRA_HELM_ARGS:=""}
tee /tmp/cinder.yaml <<EOF tee /tmp/cinder.yaml <<EOF
conf: conf:
ceph: ceph:
@ -36,8 +38,7 @@ EOF
helm upgrade --install cinder ./cinder \ helm upgrade --install cinder ./cinder \
--namespace=openstack \ --namespace=openstack \
--values=/tmp/cinder.yaml \ --values=/tmp/cinder.yaml \
${OSH_EXTRA_HELM_ARGS} \ ${OSH_EXTRA_HELM_ARGS:=} \
${OSH_VALUES_OVERRIDES_HELM_ARGS:=} \
${OSH_EXTRA_HELM_ARGS_CINDER} ${OSH_EXTRA_HELM_ARGS_CINDER}
#NOTE: Wait for deploy #NOTE: Wait for deploy

View File

@ -16,10 +16,12 @@
set -xe set -xe
#NOTE: Get the over-rides to use
export HELM_CHART_ROOT_PATH="${HELM_CHART_ROOT_PATH:="${OSH_INFRA_PATH:="../openstack-helm-infra"}"}"
: ${OSH_EXTRA_HELM_ARGS_INGRESS:="$(./tools/deployment/common/get-values-overrides.sh ingress)"}
#NOTE: Lint and package chart #NOTE: Lint and package chart
: ${OSH_INFRA_PATH:="../openstack-helm-infra"} make -C ${HELM_CHART_ROOT_PATH} ingress
: ${OSH_EXTRA_HELM_ARGS:=""}
make -C ${OSH_INFRA_PATH} ingress
#NOTE: Deploy command #NOTE: Deploy command
tee /tmp/ingress-kube-system.yaml << EOF tee /tmp/ingress-kube-system.yaml << EOF
@ -29,11 +31,11 @@ deployment:
network: network:
host_namespace: true host_namespace: true
EOF EOF
helm upgrade --install ingress-kube-system ${OSH_INFRA_PATH}/ingress \ helm upgrade --install ingress-kube-system ${HELM_CHART_ROOT_PATH}/ingress \
--namespace=kube-system \ --namespace=kube-system \
--values=/tmp/ingress-kube-system.yaml \ --values=/tmp/ingress-kube-system.yaml \
${OSH_EXTRA_HELM_ARGS} \ ${OSH_EXTRA_HELM_ARGS:=} \
${OSH_VALUES_OVERRIDES_HELM_ARGS:=} \ ${OSH_EXTRA_HELM_ARGS_INGRESS} \
${OSH_EXTRA_HELM_ARGS_INGRESS_KUBE_SYSTEM} ${OSH_EXTRA_HELM_ARGS_INGRESS_KUBE_SYSTEM}
#NOTE: Wait for deploy #NOTE: Wait for deploy
@ -45,8 +47,8 @@ helm status ingress-kube-system
#NOTE: Deploy namespace ingress #NOTE: Deploy namespace ingress
helm upgrade --install ingress-openstack ${OSH_INFRA_PATH}/ingress \ helm upgrade --install ingress-openstack ${OSH_INFRA_PATH}/ingress \
--namespace=openstack \ --namespace=openstack \
${OSH_EXTRA_HELM_ARGS} \ ${OSH_EXTRA_HELM_ARGS:=} \
${OSH_VALUES_OVERRIDES_HELM_ARGS:=} \ ${OSH_EXTRA_HELM_ARGS_INGRESS} \
${OSH_EXTRA_HELM_ARGS_INGRESS_OPENSTACK} ${OSH_EXTRA_HELM_ARGS_INGRESS_OPENSTACK}
#NOTE: Wait for deploy #NOTE: Wait for deploy

View File

@ -0,0 +1,44 @@
#!/bin/bash
# Copyright 2017 The Openstack-Helm Authors.
#
# 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
#NOTE: Get the over-rides to use
export HELM_CHART_ROOT_PATH="${HELM_CHART_ROOT_PATH:="${OSH_INFRA_PATH:="../openstack-helm-infra"}"}"
: ${OSH_EXTRA_HELM_ARGS_LDAP:="$(./tools/deployment/common/get-values-overrides.sh ldap)"}
#NOTE: Lint and package chart
make -C ${HELM_CHART_ROOT_PATH} ldap
#NOTE: Deploy command
tee /tmp/ldap.yaml <<EOF
pod:
replicas:
server: 1
bootstrap:
enabled: true
storage:
pvc:
enabled: false
EOF
helm upgrade --install ldap ${HELM_CHART_ROOT_PATH}/ldap \
--namespace=openstack \
--values=/tmp/ldap.yaml \
${OSH_EXTRA_HELM_ARGS:=} \
${OSH_EXTRA_HELM_ARGS_LDAP}
#NOTE: Wait for deploy
./tools/deployment/common/wait-for-pods.sh openstack

View File

@ -16,18 +16,21 @@
set -xe set -xe
#NOTE: Get the over-rides to use
export HELM_CHART_ROOT_PATH="${HELM_CHART_ROOT_PATH:="${OSH_INFRA_PATH:="../openstack-helm-infra"}"}"
: ${OSH_EXTRA_HELM_ARGS_MARIADB:="$(./tools/deployment/common/get-values-overrides.sh mariadb)"}
#NOTE: Lint and package chart #NOTE: Lint and package chart
: ${OSH_INFRA_PATH:="../openstack-helm-infra"} make -C ${HELM_CHART_ROOT_PATH} mariadb
make -C ${OSH_INFRA_PATH} mariadb
#NOTE: Deploy command #NOTE: Deploy command
: ${OSH_EXTRA_HELM_ARGS:=""} : ${OSH_EXTRA_HELM_ARGS:=""}
helm upgrade --install mariadb ${OSH_INFRA_PATH}/mariadb \ helm upgrade --install mariadb ${HELM_CHART_ROOT_PATH}/mariadb \
--namespace=openstack \ --namespace=openstack \
--set volume.use_local_path_for_single_pod_cluster.enabled=true \ --set volume.use_local_path_for_single_pod_cluster.enabled=true \
--set volume.enabled=false \ --set volume.enabled=false \
--set pod.replicas.server=1 \ --set pod.replicas.server=1 \
${OSH_EXTRA_HELM_ARGS} \ ${OSH_EXTRA_HELM_ARGS:=} \
${OSH_EXTRA_HELM_ARGS_MARIADB} ${OSH_EXTRA_HELM_ARGS_MARIADB}
#NOTE: Wait for deploy #NOTE: Wait for deploy

View File

@ -16,15 +16,18 @@
set -xe set -xe
#NOTE: Get the over-rides to use
export HELM_CHART_ROOT_PATH="${HELM_CHART_ROOT_PATH:="${OSH_INFRA_PATH:="../openstack-helm-infra"}"}"
: ${OSH_EXTRA_HELM_ARGS_MARIADB:="$(./tools/deployment/common/get-values-overrides.sh memcached)"}
#NOTE: Lint and package chart #NOTE: Lint and package chart
: ${OSH_INFRA_PATH:="../openstack-helm-infra"} make -C ${HELM_CHART_ROOT_PATH} memcached
make -C ${OSH_INFRA_PATH} memcached
#NOTE: Deploy command #NOTE: Deploy command
: ${OSH_EXTRA_HELM_ARGS:=""} : ${OSH_EXTRA_HELM_ARGS:=""}
helm upgrade --install memcached ${OSH_INFRA_PATH}/memcached \ helm upgrade --install memcached ${HELM_CHART_ROOT_PATH}/memcached \
--namespace=openstack \ --namespace=openstack \
${OSH_EXTRA_HELM_ARGS} \ ${OSH_EXTRA_HELM_ARGS:=} \
${OSH_EXTRA_HELM_ARGS_MEMCACHED} ${OSH_EXTRA_HELM_ARGS_MEMCACHED}
#NOTE: Wait for deploy #NOTE: Wait for deploy

View File

@ -16,17 +16,19 @@
set -xe set -xe
#NOTE: Get the over-rides to use
export HELM_CHART_ROOT_PATH="${HELM_CHART_ROOT_PATH:="${OSH_INFRA_PATH:="../openstack-helm-infra"}"}"
: ${OSH_EXTRA_HELM_ARGS_RABBITMQ:="$(./tools/deployment/common/get-values-overrides.sh rabbitmq)"}
#NOTE: Lint and package chart #NOTE: Lint and package chart
: ${OSH_INFRA_PATH:="../openstack-helm-infra"} make -C ${HELM_CHART_ROOT_PATH} rabbitmq
make -C ${OSH_INFRA_PATH} rabbitmq
#NOTE: Deploy command #NOTE: Deploy command
: ${OSH_EXTRA_HELM_ARGS:=""} helm upgrade --install rabbitmq ${HELM_CHART_ROOT_PATH}/rabbitmq \
helm upgrade --install rabbitmq ${OSH_INFRA_PATH}/rabbitmq \
--namespace=openstack \ --namespace=openstack \
--set volume.enabled=false \ --set volume.enabled=false \
--set pod.replicas.server=1 \ --set pod.replicas.server=1 \
${OSH_EXTRA_HELM_ARGS} \ ${OSH_EXTRA_HELM_ARGS:=} \
${OSH_EXTRA_HELM_ARGS_RABBITMQ} ${OSH_EXTRA_HELM_ARGS_RABBITMQ}
#NOTE: Wait for deploy #NOTE: Wait for deploy

View File

@ -15,9 +15,11 @@
# under the License. # under the License.
set -xe set -xe
#NOTE: Get the over-rides to use
: ${OSH_EXTRA_HELM_ARGS_NOVA:="$(./tools/deployment/common/get-values-overrides.sh nova)"}
#NOTE: Lint and package chart #NOTE: Lint and package chart
make nova make nova
make neutron
#NOTE: Deploy nova #NOTE: Deploy nova
: ${OSH_EXTRA_HELM_ARGS:=""} : ${OSH_EXTRA_HELM_ARGS:=""}
@ -26,8 +28,7 @@ if [ "x$(systemd-detect-virt)" == "xnone" ]; then
helm upgrade --install nova ./nova \ helm upgrade --install nova ./nova \
--namespace=openstack \ --namespace=openstack \
--set conf.ceph.enabled=false \ --set conf.ceph.enabled=false \
${OSH_EXTRA_HELM_ARGS} \ ${OSH_EXTRA_HELM_ARGS:=} \
${OSH_VALUES_OVERRIDES_HELM_ARGS:=} \
${OSH_EXTRA_HELM_ARGS_NOVA} ${OSH_EXTRA_HELM_ARGS_NOVA}
else else
echo 'OSH is being deployed in virtualized environment, using qemu for nova' echo 'OSH is being deployed in virtualized environment, using qemu for nova'
@ -36,11 +37,16 @@ else
--set conf.ceph.enabled=false \ --set conf.ceph.enabled=false \
--set conf.nova.libvirt.virt_type=qemu \ --set conf.nova.libvirt.virt_type=qemu \
--set conf.nova.libvirt.cpu_mode=none \ --set conf.nova.libvirt.cpu_mode=none \
${OSH_EXTRA_HELM_ARGS} \ ${OSH_EXTRA_HELM_ARGS:=} \
${OSH_VALUES_OVERRIDES_HELM_ARGS:=} \
${OSH_EXTRA_HELM_ARGS_NOVA} ${OSH_EXTRA_HELM_ARGS_NOVA}
fi fi
#NOTE: Get the over-rides to use
: ${OSH_EXTRA_HELM_ARGS_NEUTRON:="$(./tools/deployment/common/get-values-overrides.sh neutron)"}
#NOTE: Lint and package chart
make neutron
#NOTE: Deploy neutron #NOTE: Deploy neutron
tee /tmp/neutron.yaml << EOF tee /tmp/neutron.yaml << EOF
network: network:
@ -69,7 +75,7 @@ EOF
helm upgrade --install neutron ./neutron \ helm upgrade --install neutron ./neutron \
--namespace=openstack \ --namespace=openstack \
--values=/tmp/neutron.yaml \ --values=/tmp/neutron.yaml \
${OSH_EXTRA_HELM_ARGS} \ ${OSH_EXTRA_HELM_ARGS:=} \
${OSH_VALUES_OVERRIDES_HELM_ARGS:=} \ ${OSH_VALUES_OVERRIDES_HELM_ARGS:=} \
${OSH_EXTRA_HELM_ARGS_NEUTRON} ${OSH_EXTRA_HELM_ARGS_NEUTRON}

View File

@ -15,17 +15,19 @@
# under the License. # under the License.
set -xe set -xe
#NOTE: Get the over-rides to use
export HELM_CHART_ROOT_PATH="${HELM_CHART_ROOT_PATH:="${OSH_INFRA_PATH:="../openstack-helm-infra"}"}"
: ${OSH_EXTRA_HELM_ARGS_LIBVIRT:="$(./tools/deployment/common/get-values-overrides.sh rabbitmq)"}
#NOTE: Lint and package chart #NOTE: Lint and package chart
: ${OSH_INFRA_PATH:="../openstack-helm-infra"} make -C ${HELM_CHART_ROOT_PATH} libvirt
make -C ${OSH_INFRA_PATH} libvirt
#NOTE: Deploy command #NOTE: Deploy command
: ${OSH_EXTRA_HELM_ARGS:=""} : ${OSH_EXTRA_HELM_ARGS:=""}
helm upgrade --install libvirt ${OSH_INFRA_PATH}/libvirt \ helm upgrade --install libvirt ${HELM_CHART_ROOT_PATH}/libvirt \
--namespace=openstack \ --namespace=openstack \
--set conf.ceph.enabled=false \ --set conf.ceph.enabled=false \
${OSH_EXTRA_HELM_ARGS} \ ${OSH_EXTRA_HELM_ARGS:=} \
${OSH_VALUES_OVERRIDES_HELM_ARGS:=} \
${OSH_EXTRA_HELM_ARGS_LIBVIRT} ${OSH_EXTRA_HELM_ARGS_LIBVIRT}
#NOTE(portdirect): We don't wait for libvirt pods to come up, as they depend #NOTE(portdirect): We don't wait for libvirt pods to come up, as they depend

View File

@ -15,16 +15,17 @@
# under the License. # under the License.
set -xe set -xe
#NOTE: Get the over-rides to use
export HELM_CHART_ROOT_PATH="${HELM_CHART_ROOT_PATH:="${OSH_INFRA_PATH:="../openstack-helm-infra"}"}"
: ${OSH_EXTRA_HELM_ARGS_LIBVIRT:="$(./tools/deployment/common/get-values-overrides.sh openvswitch)"}
#NOTE: Lint and package chart #NOTE: Lint and package chart
: ${OSH_INFRA_PATH:="../openstack-helm-infra"} make -C ${HELM_CHART_ROOT_PATH} openvswitch
make -C ${OSH_INFRA_PATH} openvswitch
#NOTE: Deploy command #NOTE: Deploy command
: ${OSH_EXTRA_HELM_ARGS:=""} helm upgrade --install openvswitch ${HELM_CHART_ROOT_PATH}/openvswitch \
helm upgrade --install openvswitch ${OSH_INFRA_PATH}/openvswitch \
--namespace=openstack \ --namespace=openstack \
${OSH_EXTRA_HELM_ARGS} \ ${OSH_EXTRA_HELM_ARGS:=} \
${OSH_VALUES_OVERRIDES_HELM_ARGS:=} \
${OSH_EXTRA_HELM_ARGS_OPENVSWITCH} ${OSH_EXTRA_HELM_ARGS_OPENVSWITCH}
#NOTE: Wait for deploy #NOTE: Wait for deploy

View File

@ -16,6 +16,9 @@
set -xe set -xe
#NOTE: Get the over-rides to use
: ${OSH_EXTRA_HELM_ARGS_GLANCE:="$(./tools/deployment/common/get-values-overrides.sh glance)"}
#NOTE: Lint and package chart #NOTE: Lint and package chart
make glance make glance
@ -45,8 +48,7 @@ fi
helm upgrade --install glance ./glance \ helm upgrade --install glance ./glance \
--namespace=openstack \ --namespace=openstack \
--values=/tmp/glance.yaml \ --values=/tmp/glance.yaml \
${OSH_EXTRA_HELM_ARGS} \ ${OSH_EXTRA_HELM_ARGS:=} \
${OSH_VALUES_OVERRIDES_HELM_ARGS:=} \
${OSH_EXTRA_HELM_ARGS_GLANCE} ${OSH_EXTRA_HELM_ARGS_GLANCE}
#NOTE: Wait for deploy #NOTE: Wait for deploy

View File

@ -15,6 +15,9 @@
# under the License. # under the License.
set -xe set -xe
#NOTE: Get the over-rides to use
: ${OSH_EXTRA_HELM_ARGS_HEAT:="$(./tools/deployment/common/get-values-overrides.sh heat)"}
#NOTE: Lint and package chart #NOTE: Lint and package chart
make heat make heat
@ -22,8 +25,7 @@ make heat
: ${OSH_EXTRA_HELM_ARGS:=""} : ${OSH_EXTRA_HELM_ARGS:=""}
helm upgrade --install heat ./heat \ helm upgrade --install heat ./heat \
--namespace=openstack \ --namespace=openstack \
${OSH_EXTRA_HELM_ARGS} \ ${OSH_EXTRA_HELM_ARGS:=} \
${OSH_VALUES_OVERRIDES_HELM_ARGS:=} \
${OSH_EXTRA_HELM_ARGS_HEAT} ${OSH_EXTRA_HELM_ARGS_HEAT}
#NOTE: Wait for deploy #NOTE: Wait for deploy

View File

@ -16,14 +16,16 @@
set -xe set -xe
#NOTE: Get the over-rides to use
: ${OSH_EXTRA_HELM_ARGS_HORIZON:="$(./tools/deployment/common/get-values-overrides.sh horizon)"}
#NOTE: Lint and package chart #NOTE: Lint and package chart
make horizon make horizon
#NOTE: Deploy command #NOTE: Deploy command
: ${OSH_EXTRA_HELM_ARGS:=""}
helm upgrade --install horizon ./horizon \ helm upgrade --install horizon ./horizon \
--namespace=openstack \ --namespace=openstack \
${OSH_EXTRA_HELM_ARGS} \ ${OSH_EXTRA_HELM_ARGS:=} \
${OSH_EXTRA_HELM_ARGS_HORIZON} ${OSH_EXTRA_HELM_ARGS_HORIZON}
#NOTE: Wait for deploy #NOTE: Wait for deploy

View File

@ -1,82 +0,0 @@
#!/bin/bash
# Copyright 2017 The Openstack-Helm Authors.
#
# 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
#NOTE: Deploy command
: ${OSH_INFRA_PATH:="../openstack-helm-infra"}
: ${OSH_EXTRA_HELM_ARGS:=""}
tee /tmp/ldap.yaml <<EOF
pod:
replicas:
server: 1
bootstrap:
enabled: true
storage:
pvc:
enabled: false
EOF
helm upgrade --install ldap ${OSH_INFRA_PATH}/ldap \
--namespace=openstack \
--values=/tmp/ldap.yaml \
${OSH_EXTRA_HELM_ARGS} \
${OSH_EXTRA_HELM_ARGS_LDAP}
#NOTE: Wait for deploy
./tools/deployment/common/wait-for-pods.sh openstack
#NOTE: Validate Deployment info
helm status ldap
#NOTE: Deploy command
: ${OSH_EXTRA_HELM_ARGS:=""}
helm upgrade --install keystone ./keystone \
--namespace=openstack \
--values=./tools/overrides/keystone/ldap_domain_config.yaml \
${OSH_EXTRA_HELM_ARGS} \
${OSH_EXTRA_HELM_ARGS_KEYSTONE}
#NOTE: Wait for deploy
./tools/deployment/common/wait-for-pods.sh openstack
#NOTE: Validate Deployment info
helm status keystone
export OS_CLOUD=openstack_helm
sleep 30 #NOTE(portdirect): Wait for ingress controller to update rules and restart Nginx
openstack endpoint list
#NOTE: Do some additional queries here for LDAP
openstack domain list
openstack user list
openstack user list --domain ldapdomain
openstack role add --user bob --project admin --user-domain ldapdomain --project-domain default admin
domain="ldapdomain"
domainId=$(openstack domain show ${domain} -f value -c id)
token=$(openstack token issue -f value -c id)
#NOTE: Testing we can auth against the LDAP user
unset OS_CLOUD
openstack --os-auth-url http://keystone.openstack.svc.cluster.local/v3 --os-username bob --os-password password --os-user-domain-name ${domain} --os-identity-api-version 3 token issue
#NOTE: Test the domain specific thing works
curl --verbose -X GET \
-H "Content-Type: application/json" \
-H "X-Auth-Token: $token" \
http://keystone.openstack.svc.cluster.local/v3/domains/${domainId}/config

View File

@ -16,16 +16,17 @@
set -xe set -xe
#NOTE: Get the over-rides to use
: ${OSH_EXTRA_HELM_ARGS_KEYSTONE:="$(./tools/deployment/common/get-values-overrides.sh keystone)"}
#NOTE: Lint and package chart #NOTE: Lint and package chart
make keystone make keystone
#NOTE: Deploy command #NOTE: Deploy command
: ${OSH_EXTRA_HELM_ARGS:=""}
helm upgrade --install keystone ./keystone \ helm upgrade --install keystone ./keystone \
--namespace=openstack \ --namespace=openstack \
${OSH_EXTRA_HELM_ARGS} \ ${OSH_EXTRA_HELM_ARGS:=} \
${OSH_VALUES_OVERRIDES_HELM_ARGS:=} \ ${OSH_EXTRA_HELM_ARGS_KEYSTONE:=}
${OSH_EXTRA_HELM_ARGS_KEYSTONE}
#NOTE: Wait for deploy #NOTE: Wait for deploy
./tools/deployment/common/wait-for-pods.sh openstack ./tools/deployment/common/wait-for-pods.sh openstack
@ -35,3 +36,27 @@ helm status keystone
export OS_CLOUD=openstack_helm export OS_CLOUD=openstack_helm
sleep 30 #NOTE(portdirect): Wait for ingress controller to update rules and restart Nginx sleep 30 #NOTE(portdirect): Wait for ingress controller to update rules and restart Nginx
openstack endpoint list openstack endpoint list
#NOTE: Validate feature gate options if required
FEATURE_GATE="ldap"; if [[ ${FEATURE_GATES//,/ } =~ (^|[[:space:]])${FEATURE_GATE}($|[[:space:]]) ]]; then
#NOTE: Do some additional queries here for LDAP
openstack domain list
openstack user list
openstack user list --domain ldapdomain
openstack role add --user bob --project admin --user-domain ldapdomain --project-domain default admin
domain="ldapdomain"
domainId=$(openstack domain show ${domain} -f value -c id)
token=$(openstack token issue -f value -c id)
#NOTE: Testing we can auth against the LDAP user
unset OS_CLOUD
openstack --os-auth-url http://keystone.openstack.svc.cluster.local/v3 --os-username bob --os-password password --os-user-domain-name ${domain} --os-identity-api-version 3 token issue
#NOTE: Test the domain specific thing works
curl --verbose -X GET \
-H "Content-Type: application/json" \
-H "X-Auth-Token: $token" \
http://keystone.openstack.svc.cluster.local/v3/domains/${domainId}/config
fi

View File

@ -57,6 +57,10 @@
parent: openstack-helm-chart-deploy parent: openstack-helm-chart-deploy
run: tools/gate/playbooks/osh-gate-runner.yaml run: tools/gate/playbooks/osh-gate-runner.yaml
vars: vars:
osh_params:
openstack_release: newton
container_distro_name: ubuntu
container_distro_version: xenial
gate_scripts: gate_scripts:
- ./tools/deployment/common/install-packages.sh - ./tools/deployment/common/install-packages.sh
- ./tools/deployment/common/deploy-k8s.sh - ./tools/deployment/common/deploy-k8s.sh
@ -70,23 +74,29 @@
name: openstack-helm-keystone-pike-ubuntu_xenial name: openstack-helm-keystone-pike-ubuntu_xenial
parent: openstack-helm-keystone parent: openstack-helm-keystone
vars: vars:
values_overrides: osh_params:
# - ../openstack-helm-infra/ingress/values_overrides/pike-ubuntu_xenial.yaml openstack_release: pike
- ./keystone/values_overrides/pike-ubuntu_xenial.yaml container_distro_name: ubuntu
container_distro_version: xenial
- job: - job:
name: openstack-helm-keystone-rocky-opensuse_15 name: openstack-helm-keystone-rocky-opensuse_15
parent: openstack-helm-keystone parent: openstack-helm-keystone
vars: vars:
values_overrides: osh_params:
- ../openstack-helm-infra/ingress/values_overrides/rocky-opensuse_15.yaml openstack_release: rocky
- ./keystone/values_overrides/opensuse_15.yaml container_distro_name: opensuse
- ./keystone/values_overrides/rocky-opensuse_15.yaml container_distro_version: '15'
- job: - job:
name: openstack-helm-keystone-ldap name: openstack-helm-keystone-ldap
parent: openstack-helm-chart-deploy parent: openstack-helm-chart-deploy
run: tools/gate/playbooks/osh-gate-runner.yaml run: tools/gate/playbooks/osh-gate-runner.yaml
vars: vars:
osh_params:
openstack_release: newton
container_distro_name: ubuntu
container_distro_version: xenial
feature_gates: ldap
gate_scripts: gate_scripts:
- ./tools/deployment/common/install-packages.sh - ./tools/deployment/common/install-packages.sh
- ./tools/deployment/common/deploy-k8s.sh - ./tools/deployment/common/deploy-k8s.sh
@ -95,13 +105,18 @@
- ./tools/deployment/component/common/mariadb.sh - ./tools/deployment/component/common/mariadb.sh
- ./tools/deployment/component/common/memcached.sh - ./tools/deployment/component/common/memcached.sh
- ./tools/deployment/component/common/rabbitmq.sh - ./tools/deployment/component/common/rabbitmq.sh
- ./tools/deployment/component/keystone/keystone-ldap.sh - ./tools/deployment/component/common/ldap.sh
- ./tools/deployment/component/keystone/keystone.sh
- job: - job:
name: openstack-helm-glance name: openstack-helm-glance
parent: openstack-helm-chart-deploy parent: openstack-helm-chart-deploy
run: tools/gate/playbooks/osh-gate-runner.yaml run: tools/gate/playbooks/osh-gate-runner.yaml
vars: vars:
osh_params:
openstack_release: newton
container_distro_name: ubuntu
container_distro_version: xenial
gate_scripts: gate_scripts:
- ./tools/deployment/common/install-packages.sh - ./tools/deployment/common/install-packages.sh
- ./tools/deployment/common/deploy-k8s.sh - ./tools/deployment/common/deploy-k8s.sh
@ -117,25 +132,28 @@
name: openstack-helm-glance-pike-ubuntu_xenial name: openstack-helm-glance-pike-ubuntu_xenial
parent: openstack-helm-glance parent: openstack-helm-glance
vars: vars:
values_overrides: osh_params:
# - ../openstack-helm-infra/ingress/values_overrides/pike-ubuntu_xenial.yaml openstack_release: pike
- ./keystone/values_overrides/pike-ubuntu_xenial.yaml container_distro_name: ubuntu
- ./glance/values_overrides/pike-ubuntu_xenial.yaml container_distro_version: xenial
- job: - job:
name: openstack-helm-glance-rocky-opensuse_15 name: openstack-helm-glance-rocky-opensuse_15
parent: openstack-helm-glance parent: openstack-helm-glance
vars: vars:
values_overrides: osh_params:
- ../openstack-helm-infra/ingress/values_overrides/rocky-opensuse_15.yaml openstack_release: rocky
- ./keystone/values_overrides/opensuse_15.yaml container_distro_name: opensuse
- ./keystone/values_overrides/rocky-opensuse_15.yaml container_distro_version: '15'
- ./glance/values_overrides/rocky-opensuse_15.yaml
- job: - job:
name: openstack-helm-heat name: openstack-helm-heat
parent: openstack-helm-chart-deploy parent: openstack-helm-chart-deploy
run: tools/gate/playbooks/osh-gate-runner.yaml run: tools/gate/playbooks/osh-gate-runner.yaml
vars: vars:
osh_params:
openstack_release: newton
container_distro_name: ubuntu
container_distro_version: xenial
gate_scripts: gate_scripts:
- ./tools/deployment/common/install-packages.sh - ./tools/deployment/common/install-packages.sh
- ./tools/deployment/common/deploy-k8s.sh - ./tools/deployment/common/deploy-k8s.sh
@ -150,25 +168,28 @@
name: openstack-helm-heat-pike-ubuntu_xenial name: openstack-helm-heat-pike-ubuntu_xenial
parent: openstack-helm-heat parent: openstack-helm-heat
vars: vars:
values_overrides: osh_params:
# - ../openstack-helm-infra/ingress/values_overrides/pike-ubuntu_xenial.yaml openstack_release: pike
- ./keystone/values_overrides/pike-ubuntu_xenial.yaml container_distro_name: ubuntu
- ./heat/values_overrides/pike-ubuntu_xenial.yaml container_distro_version: xenial
- job: - job:
name: openstack-helm-heat-rocky-opensuse_15 name: openstack-helm-heat-rocky-opensuse_15
parent: openstack-helm-heat parent: openstack-helm-heat
vars: vars:
values_overrides: osh_params:
- ../openstack-helm-infra/ingress/values_overrides/rocky-opensuse_15.yaml openstack_release: rocky
- ./keystone/values_overrides/opensuse_15.yaml container_distro_name: opensuse
- ./keystone/values_overrides/rocky-opensuse_15.yaml container_distro_version: '15'
- ./heat/values_overrides/rocky-opensuse_15.yaml
- job: - job:
name: openstack-helm-cinder name: openstack-helm-cinder
parent: openstack-helm-chart-deploy parent: openstack-helm-chart-deploy
run: tools/gate/playbooks/osh-gate-runner.yaml run: tools/gate/playbooks/osh-gate-runner.yaml
vars: vars:
osh_params:
openstack_release: newton
container_distro_name: ubuntu
container_distro_version: xenial
gate_scripts: gate_scripts:
- ./tools/deployment/common/install-packages.sh - ./tools/deployment/common/install-packages.sh
- ./tools/deployment/common/deploy-k8s.sh - ./tools/deployment/common/deploy-k8s.sh
@ -185,25 +206,28 @@
name: openstack-helm-cinder-pike-ubuntu_xenial name: openstack-helm-cinder-pike-ubuntu_xenial
parent: openstack-helm-cinder parent: openstack-helm-cinder
vars: vars:
values_overrides: osh_params:
# - ../openstack-helm-infra/ingress/values_overrides/pike-ubuntu_xenial.yaml openstack_release: pike
- ./keystone/values_overrides/pike-ubuntu_xenial.yaml container_distro_name: ubuntu
- ./cinder/values_overrides/pike-ubuntu_xenial.yaml container_distro_version: xenial
- job: - job:
name: openstack-helm-cinder-rocky-opensuse_15 name: openstack-helm-cinder-rocky-opensuse_15
parent: openstack-helm-cinder parent: openstack-helm-cinder
vars: vars:
values_overrides: osh_params:
- ../openstack-helm-infra/ingress/values_overrides/rocky-opensuse_15.yaml openstack_release: rocky
- ./keystone/values_overrides/opensuse_15.yaml container_distro_name: opensuse
- ./keystone/values_overrides/rocky-opensuse_15.yaml container_distro_version: '15'
- ./cinder/values_overrides/rocky-opensuse_15.yaml
- job: - job:
name: openstack-helm-compute-kit name: openstack-helm-compute-kit
parent: openstack-helm-chart-deploy parent: openstack-helm-chart-deploy
run: tools/gate/playbooks/osh-gate-runner.yaml run: tools/gate/playbooks/osh-gate-runner.yaml
vars: vars:
osh_params:
openstack_release: newton
container_distro_name: ubuntu
container_distro_version: xenial
gate_scripts: gate_scripts:
- ./tools/deployment/common/install-packages.sh - ./tools/deployment/common/install-packages.sh
- ./tools/deployment/common/deploy-k8s.sh - ./tools/deployment/common/deploy-k8s.sh
@ -225,37 +249,28 @@
name: openstack-helm-compute-kit-pike-ubuntu_xenial name: openstack-helm-compute-kit-pike-ubuntu_xenial
parent: openstack-helm-compute-kit parent: openstack-helm-compute-kit
vars: vars:
values_overrides: osh_params:
# - ../openstack-helm-infra/ingress/values_overrides/pike-ubuntu_xenial.yaml openstack_release: pike
- ./keystone/values_overrides/pike-ubuntu_xenial.yaml container_distro_name: ubuntu
- ./heat/values_overrides/pike-ubuntu_xenial.yaml container_distro_version: xenial
- ./glance/values_overrides/pike-ubuntu_xenial.yaml
# - ../openstack-helm-infra/openvswitch/values_overrides/pike-ubuntu_xenial.yaml
# - ../openstack-helm-infra/libvirt/values_overrides/pike-ubuntu_xenial.yaml
- ./neutron/values_overrides/pike-ubuntu_xenial.yaml
- ./nova/values_overrides/pike-ubuntu_xenial.yaml
- job: - job:
name: openstack-helm-compute-kit-rocky-opensuse_15 name: openstack-helm-compute-kit-rocky-opensuse_15
parent: openstack-helm-compute-kit parent: openstack-helm-compute-kit
vars: vars:
values_overrides: osh_params:
- ../openstack-helm-infra/ingress/values_overrides/rocky-opensuse_15.yaml openstack_release: rocky
- ./keystone/values_overrides/opensuse_15.yaml container_distro_name: opensuse
- ./keystone/values_overrides/rocky-opensuse_15.yaml container_distro_version: '15'
- ./heat/values_overrides/rocky-opensuse_15.yaml
- ./glance/values_overrides/rocky-opensuse_15.yaml
- ../openstack-helm-infra/openvswitch/values_overrides/rocky-opensuse_15.yaml
- ../openstack-helm-infra/libvirt/values_overrides/rocky-opensuse_15.yaml
- ./neutron/values_overrides/rocky.yaml
- ./neutron/values_overrides/rocky-opensuse_15.yaml
- ./nova/values_overrides/opensuse_15.yaml
- ./nova/values_overrides/rocky-opensuse_15.yaml
- job: - job:
name: openstack-helm-horizon name: openstack-helm-horizon
parent: openstack-helm-chart-deploy parent: openstack-helm-chart-deploy
run: tools/gate/playbooks/osh-gate-runner.yaml run: tools/gate/playbooks/osh-gate-runner.yaml
vars: vars:
osh_params:
openstack_release: newton
container_distro_name: ubuntu
container_distro_version: xenial
gate_scripts: gate_scripts:
- ./tools/deployment/common/install-packages.sh - ./tools/deployment/common/install-packages.sh
- ./tools/deployment/common/deploy-k8s.sh - ./tools/deployment/common/deploy-k8s.sh
@ -272,6 +287,10 @@
parent: openstack-helm-chart-deploy parent: openstack-helm-chart-deploy
run: tools/gate/playbooks/osh-gate-runner.yaml run: tools/gate/playbooks/osh-gate-runner.yaml
vars: vars:
osh_params:
openstack_release: newton
container_distro_name: ubuntu
container_distro_version: xenial
gate_scripts: gate_scripts:
- ./tools/deployment/common/install-packages.sh - ./tools/deployment/common/install-packages.sh
- ./tools/deployment/common/deploy-k8s.sh - ./tools/deployment/common/deploy-k8s.sh