[Gate] Update gate
The OSH-addons jobs have been outdated for quite some time in comparison to OSH and OSH-Infra jobs. This patch set updates the jobs to be inline with the jobs in the other repositories. Change-Id: I5a75806ab88d18caecff19ae09d094d82e6eafb2 Signed-off-by: Tin Lam <tin@irrational.io>
This commit is contained in:
parent
01956f79b8
commit
54c8764732
82
.zuul.yaml
82
.zuul.yaml
|
@ -1,82 +0,0 @@
|
||||||
# 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.
|
|
||||||
|
|
||||||
- project:
|
|
||||||
check:
|
|
||||||
jobs:
|
|
||||||
- openstack-helm-addons-linter
|
|
||||||
- openstack-helm-addons-ubuntu:
|
|
||||||
irrelevant-files:
|
|
||||||
- ^.*\.rst$
|
|
||||||
- ^doc/.*$
|
|
||||||
- ^releasenotes/.*$
|
|
||||||
- openstack-helm-addons-sonobuoy:
|
|
||||||
files:
|
|
||||||
- ^sonobuoy/.*$
|
|
||||||
gate:
|
|
||||||
jobs:
|
|
||||||
- openstack-helm-addons-linter
|
|
||||||
- openstack-helm-addons-ubuntu:
|
|
||||||
irrelevant-files:
|
|
||||||
- ^.*\.rst$
|
|
||||||
- ^doc/.*$
|
|
||||||
- ^releasenotes/.*$
|
|
||||||
- openstack-helm-addons-sonobuoy:
|
|
||||||
files:
|
|
||||||
- ^sonobuoy/.*$
|
|
||||||
|
|
||||||
- job:
|
|
||||||
name: openstack-helm-addons-linter
|
|
||||||
run: tools/gate/playbooks/zuul-linter.yaml
|
|
||||||
nodeset: openstack-helm-single-node
|
|
||||||
|
|
||||||
- job:
|
|
||||||
name: openstack-helm-addons-ubuntu
|
|
||||||
roles:
|
|
||||||
- zuul: openstack/openstack-helm-infra
|
|
||||||
vars:
|
|
||||||
osh_openstack_release: newton
|
|
||||||
zuul_osh_infra_relative_path: ../openstack-helm-infra/
|
|
||||||
zuul_osh_relative_path: ../openstack-helm/
|
|
||||||
timeout: 7200
|
|
||||||
pre-run:
|
|
||||||
- tools/gate/playbooks/osh-infra-upgrade-host.yaml
|
|
||||||
- tools/gate/playbooks/osh-infra-deploy-docker.yaml
|
|
||||||
- tools/gate/playbooks/osh-infra-build.yaml
|
|
||||||
- tools/gate/playbooks/osh-infra-deploy-k8s.yaml
|
|
||||||
run: tools/gate/playbooks/osh-addons-check.yaml
|
|
||||||
post-run: tools/gate/playbooks/osh-infra-collect-logs.yaml
|
|
||||||
required-projects:
|
|
||||||
- openstack/openstack-helm-infra
|
|
||||||
- openstack/openstack-helm
|
|
||||||
nodeset: openstack-helm-ubuntu
|
|
||||||
|
|
||||||
- job:
|
|
||||||
name: openstack-helm-addons-sonobuoy
|
|
||||||
required-projects:
|
|
||||||
- openstack/openstack-helm-infra
|
|
||||||
- openstack/openstack-helm
|
|
||||||
roles:
|
|
||||||
- zuul: openstack/openstack-helm-infra
|
|
||||||
timeout: 7200
|
|
||||||
vars:
|
|
||||||
osh_openstack_release: newton
|
|
||||||
zuul_osh_infra_relative_path: ../openstack-helm-infra/
|
|
||||||
zuul_osh_relative_path: ../openstack-helm/
|
|
||||||
nodeset: openstack-helm-ubuntu
|
|
||||||
pre-run:
|
|
||||||
- tools/gate/playbooks/osh-infra-upgrade-host.yaml
|
|
||||||
- tools/gate/playbooks/osh-infra-deploy-docker.yaml
|
|
||||||
- tools/gate/playbooks/osh-infra-build.yaml
|
|
||||||
- tools/gate/playbooks/osh-infra-deploy-k8s.yaml
|
|
||||||
run: tools/gate/playbooks/osh-addons-sonobuoy.yaml
|
|
||||||
post-run: tools/gate/playbooks/osh-infra-collect-logs.yaml
|
|
2
Makefile
2
Makefile
|
@ -20,7 +20,7 @@ TASK := build
|
||||||
|
|
||||||
EXCLUDES := helm-toolkit doc tests tools logs tmp influxdb kafka \
|
EXCLUDES := helm-toolkit doc tests tools logs tmp influxdb kafka \
|
||||||
keystone-init monasca-agent monasca-alarms monasca mysql-users-init storm \
|
keystone-init monasca-agent monasca-alarms monasca mysql-users-init storm \
|
||||||
zookeeper
|
zookeeper zuul.d
|
||||||
CHARTS := helm-toolkit $(filter-out $(EXCLUDES), $(patsubst %/.,%,$(wildcard */.)))
|
CHARTS := helm-toolkit $(filter-out $(EXCLUDES), $(patsubst %/.,%,$(wildcard */.)))
|
||||||
|
|
||||||
.PHONY: $(EXCLUDES) $(CHARTS)
|
.PHONY: $(EXCLUDES) $(CHARTS)
|
||||||
|
|
|
@ -16,19 +16,8 @@
|
||||||
|
|
||||||
set -xe
|
set -xe
|
||||||
|
|
||||||
#NOTE: Lint and package chart
|
CURRENT_DIR="$(pwd)"
|
||||||
: ${OSH_INFRA_PATH:="../openstack-helm-infra"}
|
: ${OSH_INFRA_PATH:="../openstack-helm-infra"}
|
||||||
make -C ${OSH_INFRA_PATH} memcached
|
cd ${OSH_INFRA_PATH}
|
||||||
|
./tools/deployment/common/005-deploy-k8s.sh
|
||||||
#NOTE: Deploy command
|
cd ${CURRENT_DIR}
|
||||||
: ${OSH_EXTRA_HELM_ARGS:=""}
|
|
||||||
helm upgrade --install memcached ${OSH_INFRA_PATH}/memcached \
|
|
||||||
--namespace=openstack \
|
|
||||||
${OSH_EXTRA_HELM_ARGS} \
|
|
||||||
${OSH_EXTRA_HELM_ARGS_MEMCACHED}
|
|
||||||
|
|
||||||
#NOTE: Wait for deploy
|
|
||||||
./tools/gate/scripts/wait-for-pods.sh openstack
|
|
||||||
|
|
||||||
#NOTE: Validate Deployment info
|
|
||||||
helm status memcached
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
export API_ADDR=$(kubectl get endpoints kubernetes -o json | jq -r '.subsets[0].addresses[0].ip')
|
||||||
|
export API_PORT=$(kubectl get endpoints kubernetes -o json | jq -r '.subsets[0].ports[0].port')
|
|
@ -0,0 +1,77 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# 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-addons"}"
|
||||||
|
: "${CONTAINER_DISTRO_NAME:="ubuntu"}"
|
||||||
|
: "${CONTAINER_DISTRO_VERSION:="xenial"}"
|
||||||
|
: "${FEATURE_GATES:=""}"
|
||||||
|
OSH_FEATURE_MIX="${FEATURE_GATES},${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 replace_variables() {
|
||||||
|
for key in $(env); do
|
||||||
|
local arr=( $(echo $key | awk -F'=' '{ print $1, $2 }') )
|
||||||
|
sed -i "s#%%%REPLACE_${arr[0]}%%%#${arr[1]}#g" $@
|
||||||
|
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
|
||||||
|
replace_variables ${FILE_PATH}
|
||||||
|
OVERRIDE_ARGS+=" --values=${FILE_PATH} "
|
||||||
|
fi
|
||||||
|
echoerr "${FILE_PATH}"
|
||||||
|
done
|
||||||
|
echo "${OVERRIDE_ARGS}"
|
||||||
|
}
|
||||||
|
|
||||||
|
echoerr "We are going to deploy the service ${HELM_CHART}, using ${CONTAINER_DISTRO_NAME} (${CONTAINER_DISTRO_VERSION}) distribution containers."
|
||||||
|
source ${HELM_CHART_ROOT_PATH}/tools/deployment/common/env-variables.sh
|
||||||
|
override_file_args "${OSH_FEATURE_MIX}"
|
|
@ -0,0 +1,22 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# 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.
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install --no-install-recommends -y \
|
||||||
|
ca-certificates \
|
||||||
|
git \
|
||||||
|
make \
|
||||||
|
jq \
|
||||||
|
nmap \
|
||||||
|
curl \
|
||||||
|
uuid-runtime \
|
||||||
|
bc
|
|
@ -0,0 +1,38 @@
|
||||||
|
# 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
|
||||||
|
|
||||||
|
sudo -H -E pip install "cmd2<=0.8.7"
|
||||||
|
sudo -H -E pip install \
|
||||||
|
-c${UPPER_CONSTRAINTS_FILE:=https://releases.openstack.org/constraints/upper/master} \
|
||||||
|
python-openstackclient python-heatclient --ignore-installed
|
||||||
|
|
||||||
|
sudo -H mkdir -p /etc/openstack
|
||||||
|
sudo -H chown -R $(id -un): /etc/openstack
|
||||||
|
tee /etc/openstack/clouds.yaml << EOF
|
||||||
|
clouds:
|
||||||
|
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
|
||||||
|
|
||||||
|
#NOTE: Build charts
|
||||||
|
make all
|
|
@ -16,28 +16,36 @@
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
# From Kolla-Kubernetes, orginal authors Kevin Fox & Serguei Bezverkhi
|
# From Kolla-Kubernetes, orginal authors Kevin Fox & Serguei Bezverkhi
|
||||||
# Default wait timeout is 600 seconds
|
# Default wait timeout is 900 seconds
|
||||||
end=$(date +%s)
|
end=$(date +%s)
|
||||||
if ! [ -z $2 ]; then
|
timeout=${2:-900}
|
||||||
end=$((end + $2))
|
end=$((end + timeout))
|
||||||
else
|
|
||||||
end=$((end + 900))
|
|
||||||
fi
|
|
||||||
while true; do
|
while true; do
|
||||||
kubectl get pods --namespace=$1 -o json | jq -r \
|
kubectl get pods --namespace=$1 -o json | jq -r \
|
||||||
'.items[].status.phase' | grep Pending > /dev/null && \
|
'.items[].status.phase' | grep Pending > /dev/null && \
|
||||||
PENDING=True || PENDING=False
|
PENDING="True" || PENDING="False"
|
||||||
query='.items[]|select(.status.phase=="Running")'
|
query='.items[]|select(.status.phase=="Running")'
|
||||||
query="$query|.status.containerStatuses[].ready"
|
query="$query|.status.containerStatuses[].ready"
|
||||||
kubectl get pods --namespace=$1 -o json | jq -r "$query" | \
|
kubectl get pods --namespace=$1 -o json | jq -r "$query" | \
|
||||||
grep false > /dev/null && READY="False" || READY="True"
|
grep false > /dev/null && READY="False" || READY="True"
|
||||||
kubectl get jobs -o json --namespace=$1 | jq -r \
|
kubectl get jobs --namespace=$1 -o json | jq -r \
|
||||||
'.items[] | .spec.completions == .status.succeeded' | \
|
'.items[] | .spec.completions == .status.succeeded' | \
|
||||||
grep false > /dev/null && JOBR="False" || JOBR="True"
|
grep false > /dev/null && JOBR="False" || JOBR="True"
|
||||||
[ $PENDING == "False" -a $READY == "True" -a $JOBR == "True" ] && \
|
[ $PENDING == "False" -a $READY == "True" -a $JOBR == "True" ] && \
|
||||||
break || true
|
break || true
|
||||||
sleep 5
|
sleep 5
|
||||||
now=$(date +%s)
|
now=$(date +%s)
|
||||||
[ $now -gt $end ] && echo containers failed to start. && \
|
if [ $now -gt $end ] ; then
|
||||||
kubectl get pods --namespace $1 -o wide && exit -1
|
echo "Containers failed to start after $timeout seconds"
|
||||||
|
echo
|
||||||
|
kubectl get pods --namespace $1 -o wide
|
||||||
|
echo
|
||||||
|
if [ $PENDING == "True" ] ; then
|
||||||
|
echo "Some pods are in pending state:"
|
||||||
|
kubectl get pods --field-selector=status.phase=Pending -n $1 -o wide
|
||||||
|
fi
|
||||||
|
[ $READY == "False" ] && echo "Some pods are not ready"
|
||||||
|
[ $JOBR == "False" ] && echo "Some jobs have not succeeded"
|
||||||
|
exit -1
|
||||||
|
fi
|
||||||
done
|
done
|
|
@ -0,0 +1,61 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# 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_CEPH_NS_ACTIVATE:="$(./tools/deployment/common/get-values-overrides.sh ceph-provisioners)"}
|
||||||
|
|
||||||
|
#NOTE: Lint and package chart
|
||||||
|
make -C ${HELM_CHART_ROOT_PATH} ceph-provisioners
|
||||||
|
|
||||||
|
#NOTE: Deploy command
|
||||||
|
tee /tmp/ceph-openstack-config.yaml <<EOF
|
||||||
|
endpoints:
|
||||||
|
identity:
|
||||||
|
namespace: openstack
|
||||||
|
object_store:
|
||||||
|
namespace: ceph
|
||||||
|
ceph_mon:
|
||||||
|
namespace: ceph
|
||||||
|
network:
|
||||||
|
public: 172.17.0.1/16
|
||||||
|
cluster: 172.17.0.1/16
|
||||||
|
deployment:
|
||||||
|
storage_secrets: false
|
||||||
|
ceph: false
|
||||||
|
rbd_provisioner: false
|
||||||
|
cephfs_provisioner: false
|
||||||
|
client_secrets: true
|
||||||
|
rgw_keystone_user_and_endpoints: false
|
||||||
|
bootstrap:
|
||||||
|
enabled: false
|
||||||
|
conf:
|
||||||
|
rgw_ks:
|
||||||
|
enabled: true
|
||||||
|
EOF
|
||||||
|
helm upgrade --install ceph-openstack-config ${HELM_CHART_ROOT_PATH}/ceph-provisioners \
|
||||||
|
--namespace=openstack \
|
||||||
|
--values=/tmp/ceph-openstack-config.yaml \
|
||||||
|
${OSH_EXTRA_HELM_ARGS} \
|
||||||
|
${OSH_EXTRA_HELM_ARGS_CEPH_NS_ACTIVATE}
|
||||||
|
|
||||||
|
#NOTE: Wait for deploy
|
||||||
|
./tools/deployment/common/wait-for-pods.sh openstack
|
||||||
|
|
||||||
|
#NOTE: Validate Deployment info
|
||||||
|
kubectl get -n openstack jobs
|
||||||
|
kubectl get -n openstack secrets
|
||||||
|
kubectl get -n openstack configmaps
|
|
@ -0,0 +1,191 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# 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: Lint and package chart
|
||||||
|
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
|
||||||
|
make -C ${HELM_CHART_ROOT_PATH} "${CHART}"
|
||||||
|
done
|
||||||
|
|
||||||
|
#NOTE: Deploy command
|
||||||
|
[ -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:
|
||||||
|
identity:
|
||||||
|
namespace: openstack
|
||||||
|
object_store:
|
||||||
|
namespace: ceph
|
||||||
|
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
|
||||||
|
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: true
|
||||||
|
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
|
||||||
|
EOF
|
||||||
|
|
||||||
|
for CHART in ceph-mon ceph-osd ceph-client ceph-provisioners; do
|
||||||
|
|
||||||
|
helm upgrade --install ${CHART} ${HELM_CHART_ROOT_PATH}/${CHART} \
|
||||||
|
--namespace=ceph \
|
||||||
|
--values=/tmp/ceph.yaml \
|
||||||
|
${OSH_EXTRA_HELM_ARGS} \
|
||||||
|
${OSH_EXTRA_HELM_ARGS_CEPH:-$(./tools/deployment/common/get-values-overrides.sh ${CHART})}
|
||||||
|
|
||||||
|
#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
|
||||||
|
done
|
|
@ -0,0 +1,62 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# 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: Lint and package chart
|
||||||
|
: ${OSH_INFRA_PATH:="../openstack-helm-infra"}
|
||||||
|
make -C ${OSH_INFRA_PATH} ceph-rgw
|
||||||
|
|
||||||
|
#NOTE: Deploy command
|
||||||
|
: ${OSH_EXTRA_HELM_ARGS:=""}
|
||||||
|
tee /tmp/radosgw-openstack.yaml <<EOF
|
||||||
|
endpoints:
|
||||||
|
identity:
|
||||||
|
namespace: openstack
|
||||||
|
object_store:
|
||||||
|
namespace: openstack
|
||||||
|
ceph_mon:
|
||||||
|
namespace: ceph
|
||||||
|
network:
|
||||||
|
public: 172.17.0.1/16
|
||||||
|
cluster: 172.17.0.1/16
|
||||||
|
deployment:
|
||||||
|
ceph: true
|
||||||
|
rgw_keystone_user_and_endpoints: true
|
||||||
|
storage_secrets: false
|
||||||
|
rbd_provisioner: false
|
||||||
|
client_secrets: false
|
||||||
|
bootstrap:
|
||||||
|
enabled: false
|
||||||
|
conf:
|
||||||
|
rgw_ks:
|
||||||
|
enabled: true
|
||||||
|
pod:
|
||||||
|
replicas:
|
||||||
|
rgw: 1
|
||||||
|
EOF
|
||||||
|
helm upgrade --install radosgw-openstack ${OSH_INFRA_PATH}/ceph-rgw \
|
||||||
|
--namespace=openstack \
|
||||||
|
--values=/tmp/radosgw-openstack.yaml \
|
||||||
|
${OSH_EXTRA_HELM_ARGS} \
|
||||||
|
${OSH_EXTRA_HELM_ARGS_CEPH_RGW}
|
||||||
|
|
||||||
|
#NOTE: Wait for deploy
|
||||||
|
./tools/deployment/common/wait-for-pods.sh openstack
|
||||||
|
|
||||||
|
#NOTE: Validate Deployment info
|
||||||
|
helm status radosgw-openstack
|
||||||
|
sleep 30
|
||||||
|
export OS_CLOUD=openstack_helm
|
||||||
|
openstack service list
|
|
@ -0,0 +1,89 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# 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_INGRESS:="$(./tools/deployment/common/get-values-overrides.sh ingress)"}
|
||||||
|
|
||||||
|
#NOTE: Lint and package chart
|
||||||
|
make -C ${HELM_CHART_ROOT_PATH} ingress
|
||||||
|
|
||||||
|
#NOTE: Deploy command
|
||||||
|
: ${OSH_EXTRA_HELM_ARGS:=""}
|
||||||
|
tee /tmp/ingress-kube-system.yaml << EOF
|
||||||
|
deployment:
|
||||||
|
mode: cluster
|
||||||
|
type: DaemonSet
|
||||||
|
network:
|
||||||
|
host_namespace: true
|
||||||
|
EOF
|
||||||
|
|
||||||
|
touch /tmp/ingress-component.yaml
|
||||||
|
|
||||||
|
if [ -n "${OSH_DEPLOY_MULTINODE}" ]; then
|
||||||
|
tee --append /tmp/ingress-kube-system.yaml << EOF
|
||||||
|
pod:
|
||||||
|
replicas:
|
||||||
|
error_page: 2
|
||||||
|
EOF
|
||||||
|
|
||||||
|
tee /tmp/ingress-component.yaml << EOF
|
||||||
|
pod:
|
||||||
|
replicas:
|
||||||
|
ingress: 2
|
||||||
|
error_page: 2
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
|
|
||||||
|
helm upgrade --install ingress-kube-system ${HELM_CHART_ROOT_PATH}/ingress \
|
||||||
|
--namespace=kube-system \
|
||||||
|
--values=/tmp/ingress-kube-system.yaml \
|
||||||
|
${OSH_EXTRA_HELM_ARGS} \
|
||||||
|
${OSH_EXTRA_HELM_ARGS_INGRESS} \
|
||||||
|
${OSH_EXTRA_HELM_ARGS_INGRESS_KUBE_SYSTEM}
|
||||||
|
|
||||||
|
#NOTE: Wait for deploy
|
||||||
|
./tools/deployment/common/wait-for-pods.sh kube-system
|
||||||
|
|
||||||
|
#NOTE: Display info
|
||||||
|
helm status ingress-kube-system
|
||||||
|
|
||||||
|
#NOTE: Deploy namespace ingress
|
||||||
|
helm upgrade --install ingress-openstack ${HELM_CHART_ROOT_PATH}/ingress \
|
||||||
|
--namespace=openstack \
|
||||||
|
--values=/tmp/ingress-component.yaml \
|
||||||
|
${OSH_EXTRA_HELM_ARGS} \
|
||||||
|
${OSH_EXTRA_HELM_ARGS_INGRESS} \
|
||||||
|
${OSH_EXTRA_HELM_ARGS_INGRESS_OPENSTACK}
|
||||||
|
|
||||||
|
#NOTE: Wait for deploy
|
||||||
|
./tools/deployment/common/wait-for-pods.sh openstack
|
||||||
|
|
||||||
|
#NOTE: Display info
|
||||||
|
helm status ingress-openstack
|
||||||
|
|
||||||
|
helm upgrade --install ingress-ceph ${HELM_CHART_ROOT_PATH}/ingress \
|
||||||
|
--namespace=ceph \
|
||||||
|
--values=/tmp/ingress-component.yaml \
|
||||||
|
${OSH_EXTRA_HELM_ARGS} \
|
||||||
|
${OSH_EXTRA_HELM_ARGS_INGRESS} \
|
||||||
|
${OSH_EXTRA_HELM_ARGS_INGRESS_CEPH}
|
||||||
|
|
||||||
|
#NOTE: Wait for deploy
|
||||||
|
./tools/deployment/common/wait-for-pods.sh ceph
|
||||||
|
|
||||||
|
#NOTE: Display info
|
||||||
|
helm status ingress-ceph
|
|
@ -0,0 +1,37 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# 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_MARIADB:="$(./tools/deployment/common/get-values-overrides.sh mariadb)"}
|
||||||
|
|
||||||
|
#NOTE: Lint and package chart
|
||||||
|
make -C ${HELM_CHART_ROOT_PATH} mariadb
|
||||||
|
|
||||||
|
#NOTE: Deploy command
|
||||||
|
: ${OSH_EXTRA_HELM_ARGS:=""}
|
||||||
|
helm upgrade --install mariadb ${HELM_CHART_ROOT_PATH}/mariadb \
|
||||||
|
--namespace=openstack \
|
||||||
|
--set volume.use_local_path_for_single_pod_cluster.enabled=true \
|
||||||
|
--set volume.enabled=false \
|
||||||
|
--set pod.replicas.server=1 \
|
||||||
|
${OSH_EXTRA_HELM_ARGS} \
|
||||||
|
${OSH_EXTRA_HELM_ARGS_MARIADB}
|
||||||
|
|
||||||
|
#NOTE: Wait for deploy
|
||||||
|
./tools/deployment/common/wait-for-pods.sh openstack
|
||||||
|
|
||||||
|
#NOTE: Validate Deployment info
|
||||||
|
helm status mariadb
|
|
@ -0,0 +1,34 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# 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_MEMCACHED:="$(./tools/deployment/common/get-values-overrides.sh memcached)"}
|
||||||
|
|
||||||
|
#NOTE: Lint and package chart
|
||||||
|
make -C ${HELM_CHART_ROOT_PATH} memcached
|
||||||
|
|
||||||
|
#NOTE: Deploy command
|
||||||
|
: ${OSH_EXTRA_HELM_ARGS:=""}
|
||||||
|
helm upgrade --install memcached ${HELM_CHART_ROOT_PATH}/memcached \
|
||||||
|
--namespace=openstack \
|
||||||
|
${OSH_EXTRA_HELM_ARGS} \
|
||||||
|
${OSH_EXTRA_HELM_ARGS_MEMCACHED}
|
||||||
|
|
||||||
|
#NOTE: Wait for deploy
|
||||||
|
./tools/deployment/common/wait-for-pods.sh openstack
|
||||||
|
|
||||||
|
#NOTE: Validate Deployment info
|
||||||
|
helm status memcached
|
|
@ -0,0 +1,34 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# 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_RABBITMQ:="$(./tools/deployment/common/get-values-overrides.sh rabbitmq)"}
|
||||||
|
|
||||||
|
#NOTE: Lint and package chart
|
||||||
|
make -C ${HELM_CHART_ROOT_PATH} rabbitmq
|
||||||
|
|
||||||
|
#NOTE: Deploy command
|
||||||
|
helm upgrade --install rabbitmq ${HELM_CHART_ROOT_PATH}/rabbitmq \
|
||||||
|
--namespace=openstack \
|
||||||
|
--set volume.enabled=false \
|
||||||
|
--set pod.replicas.server=1 \
|
||||||
|
${OSH_EXTRA_HELM_ARGS} \
|
||||||
|
${OSH_EXTRA_HELM_ARGS_RABBITMQ}
|
||||||
|
|
||||||
|
#NOTE: Wait for deploy
|
||||||
|
./tools/deployment/common/wait-for-pods.sh openstack
|
||||||
|
|
||||||
|
#NOTE: Validate Deployment info
|
||||||
|
helm status rabbitmq
|
|
@ -0,0 +1,38 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# 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_PATH:="../openstack-helm"}"}"
|
||||||
|
: ${OSH_EXTRA_HELM_ARGS_KEYSTONE:="$(./tools/deployment/common/get-values-overrides.sh keystone)"}
|
||||||
|
|
||||||
|
#NOTE: Lint and package chart
|
||||||
|
make -C ${HELM_CHART_ROOT_PATH} keystone
|
||||||
|
|
||||||
|
#NOTE: Deploy command
|
||||||
|
: ${OSH_EXTRA_HELM_ARGS:=""}
|
||||||
|
helm upgrade --install keystone ${HELM_CHART_ROOT_PATH}/keystone \
|
||||||
|
--namespace=openstack \
|
||||||
|
${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
|
|
@ -1,3 +1,16 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# 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
|
set -xe
|
||||||
|
|
||||||
#NOTE: Deploy command
|
#NOTE: Deploy command
|
||||||
|
@ -76,4 +89,4 @@ helm upgrade --install ranger-agent ./ranger-agent \
|
||||||
--values=/tmp/ranger-agent.yaml
|
--values=/tmp/ranger-agent.yaml
|
||||||
|
|
||||||
#NOTE: Wait for deploy
|
#NOTE: Wait for deploy
|
||||||
./tools/gate/scripts/wait-for-pods.sh openstack
|
./tools/deployment/common/wait-for-pods.sh openstack
|
|
@ -0,0 +1,37 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
#NOTE: override file
|
||||||
|
tee /tmp/ranger.yaml << EOF
|
||||||
|
conf:
|
||||||
|
ranger:
|
||||||
|
DEFAULT:
|
||||||
|
ranger_agent_https_enable: true
|
||||||
|
ranger_agent_client_cert_path: '/home/ranger/ord.cert'
|
||||||
|
ssh:
|
||||||
|
ssh_key: null
|
||||||
|
ssh_config: null
|
||||||
|
cert:
|
||||||
|
ranger_agent_client_cert: null
|
||||||
|
EOF
|
||||||
|
|
||||||
|
helm upgrade --install ranger ./ranger \
|
||||||
|
--namespace=openstack \
|
||||||
|
--values=/tmp/ranger.yaml
|
||||||
|
|
||||||
|
#NOTE: Wait for deploy
|
||||||
|
./tools/deployment/common/wait-for-pods.sh openstack
|
|
@ -0,0 +1,20 @@
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
- hosts: primary
|
||||||
|
tasks:
|
||||||
|
- name: Run gate scripts
|
||||||
|
include_role:
|
||||||
|
name: osh-run-script
|
||||||
|
vars:
|
||||||
|
gate_script_path: "{{ item }}"
|
||||||
|
with_items: "{{ gate_scripts }}"
|
|
@ -0,0 +1,23 @@
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
- hosts: all
|
||||||
|
vars_files:
|
||||||
|
- vars.yaml
|
||||||
|
vars:
|
||||||
|
work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}"
|
||||||
|
gather_facts: True
|
||||||
|
become: yes
|
||||||
|
roles:
|
||||||
|
- setup-firewall
|
||||||
|
tags:
|
||||||
|
- setup-firewall
|
|
@ -1,39 +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
|
|
||||||
|
|
||||||
sudo -H -E pip install "cmd2<=0.8.7"
|
|
||||||
sudo -H -E pip install python-openstackclient python-heatclient --ignore-installed
|
|
||||||
|
|
||||||
sudo -H mkdir -p /etc/openstack
|
|
||||||
sudo -H chown -R $(id -un): /etc/openstack
|
|
||||||
tee /etc/openstack/clouds.yaml << EOF
|
|
||||||
clouds:
|
|
||||||
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
|
|
||||||
|
|
||||||
#NOTE: Build charts
|
|
||||||
make all
|
|
|
@ -1,36 +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: Lint and package chart
|
|
||||||
: ${OSH_INFRA_PATH:="../openstack-helm-infra"}
|
|
||||||
make -C ${OSH_INFRA_PATH} mariadb
|
|
||||||
|
|
||||||
#NOTE: Deploy command
|
|
||||||
: ${OSH_EXTRA_HELM_ARGS:=""}
|
|
||||||
helm upgrade --install mariadb ${OSH_INFRA_PATH}/mariadb \
|
|
||||||
--namespace=openstack \
|
|
||||||
--set pod.replicas.server=1 \
|
|
||||||
--set volume.enabled=false \
|
|
||||||
${OSH_EXTRA_HELM_ARGS} \
|
|
||||||
${OSH_EXTRA_HELM_ARGS_MARIADB}
|
|
||||||
|
|
||||||
#NOTE: Wait for deploy
|
|
||||||
./tools/gate/scripts/wait-for-pods.sh openstack
|
|
||||||
|
|
||||||
#NOTE: Validate Deployment info
|
|
||||||
helm status mariadb
|
|
|
@ -1,36 +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: Lint and package chart
|
|
||||||
: ${OSH_INFRA_PATH:="../openstack-helm-infra"}
|
|
||||||
make -C ${OSH_INFRA_PATH} rabbitmq
|
|
||||||
|
|
||||||
#NOTE: Deploy command
|
|
||||||
: ${OSH_EXTRA_HELM_ARGS:=""}
|
|
||||||
helm upgrade --install rabbitmq ${OSH_INFRA_PATH}/rabbitmq \
|
|
||||||
--namespace=openstack \
|
|
||||||
--set pod.replicas.server=1 \
|
|
||||||
--set volume.enabled=false \
|
|
||||||
${OSH_EXTRA_HELM_ARGS} \
|
|
||||||
${OSH_EXTRA_HELM_ARGS_RABBITMQ}
|
|
||||||
|
|
||||||
#NOTE: Wait for deploy
|
|
||||||
./tools/gate/scripts/wait-for-pods.sh openstack
|
|
||||||
|
|
||||||
#NOTE: Validate Deployment info
|
|
||||||
helm status rabbitmq
|
|
|
@ -1,34 +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: Lint and package chart
|
|
||||||
: ${OSH_PATH:="../openstack-helm"}
|
|
||||||
make -C ${OSH_PATH} keystone
|
|
||||||
|
|
||||||
#NOTE: Deploy command
|
|
||||||
: ${OSH_EXTRA_HELM_ARGS:=""}
|
|
||||||
helm upgrade --install keystone ${OSH_PATH}/keystone \
|
|
||||||
--namespace=openstack \
|
|
||||||
${OSH_EXTRA_HELM_ARGS} \
|
|
||||||
${OSH_EXTRA_HELM_ARGS_KEYSTONE}
|
|
||||||
|
|
||||||
#NOTE: Wait for deploy
|
|
||||||
./tools/gate/scripts/wait-for-pods.sh openstack
|
|
||||||
|
|
||||||
#NOTE: Validate Deployment info
|
|
||||||
helm status keystone
|
|
|
@ -1,24 +0,0 @@
|
||||||
set -xe
|
|
||||||
|
|
||||||
#NOTE: Deploy command
|
|
||||||
|
|
||||||
#NOTE: override file
|
|
||||||
tee /tmp/ranger.yaml << EOF
|
|
||||||
conf:
|
|
||||||
ranger:
|
|
||||||
DEFAULT:
|
|
||||||
ranger_agent_https_enable: true
|
|
||||||
ranger_agent_client_cert_path: '/home/ranger/ord.cert'
|
|
||||||
ssh:
|
|
||||||
ssh_key: null
|
|
||||||
ssh_config: null
|
|
||||||
cert:
|
|
||||||
ranger_agent_client_cert: null
|
|
||||||
EOF
|
|
||||||
|
|
||||||
helm upgrade --install ranger ./ranger \
|
|
||||||
--namespace=openstack \
|
|
||||||
--values=/tmp/ranger.yaml
|
|
||||||
|
|
||||||
#NOTE: Wait for deploy
|
|
||||||
./tools/gate/scripts/wait-for-pods.sh openstack
|
|
|
@ -1,101 +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: Lint and package chart
|
|
||||||
: ${OSH_INFRA_PATH:="../openstack-helm-infra"}
|
|
||||||
for CHART in ceph-mon ceph-osd ceph-client ceph-provisioners; do
|
|
||||||
make -C ${OSH_INFRA_PATH} "${CHART}"
|
|
||||||
done
|
|
||||||
|
|
||||||
#NOTE: Deploy command
|
|
||||||
|
|
||||||
: ${OSH_EXTRA_HELM_ARGS:=""}
|
|
||||||
CEPH_PUBLIC_NETWORK="$($OSH_INFRA_PATH/tools/deployment/multinode/kube-node-subnet.sh)"
|
|
||||||
CEPH_CLUSTER_NETWORK="$($OSH_INFRA_PATH/tools/deployment/multinode/kube-node-subnet.sh)"
|
|
||||||
[ -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:
|
|
||||||
identity:
|
|
||||||
namespace: openstack
|
|
||||||
object_store:
|
|
||||||
namespace: ceph
|
|
||||||
ceph_mon:
|
|
||||||
namespace: ceph
|
|
||||||
network:
|
|
||||||
public: ${CEPH_PUBLIC_NETWORK}
|
|
||||||
cluster: ${CEPH_CLUSTER_NETWORK}
|
|
||||||
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:
|
|
||||||
ceph:
|
|
||||||
global:
|
|
||||||
fsid: ${CEPH_FS_ID}
|
|
||||||
rgw_ks:
|
|
||||||
enabled: true
|
|
||||||
pool:
|
|
||||||
crush:
|
|
||||||
tunables: ${CRUSH_TUNABLES}
|
|
||||||
target:
|
|
||||||
# NOTE(portdirect): 5 nodes, with one osd per node
|
|
||||||
osd: 5
|
|
||||||
pg_per_osd: 100
|
|
||||||
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
|
|
||||||
EOF
|
|
||||||
|
|
||||||
for CHART in ceph-mon ceph-osd ceph-client ceph-provisioners; do
|
|
||||||
helm upgrade --install ${CHART} ${OSH_INFRA_PATH}/${CHART} \
|
|
||||||
--namespace=ceph \
|
|
||||||
--values=/tmp/ceph.yaml \
|
|
||||||
${OSH_EXTRA_HELM_ARGS} \
|
|
||||||
${OSH_EXTRA_HELM_ARGS_CEPH_DEPLOY}
|
|
||||||
|
|
||||||
#NOTE: Wait for deploy
|
|
||||||
./tools/gate/scripts/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
|
|
||||||
done
|
|
|
@ -1,63 +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: Lint and package chart
|
|
||||||
: ${OSH_INFRA_PATH:="../openstack-helm-infra"}
|
|
||||||
make -C ${OSH_INFRA_PATH} ceph-provisioners
|
|
||||||
|
|
||||||
#NOTE: Deploy command
|
|
||||||
: ${OSH_EXTRA_HELM_ARGS:=""}
|
|
||||||
CEPH_PUBLIC_NETWORK="$($OSH_INFRA_PATH/tools/deployment/multinode/kube-node-subnet.sh)"
|
|
||||||
CEPH_CLUSTER_NETWORK="$($OSH_INFRA_PATH/tools/deployment/multinode/kube-node-subnet.sh)"
|
|
||||||
tee /tmp/ceph-openstack-config.yaml <<EOF
|
|
||||||
endpoints:
|
|
||||||
identity:
|
|
||||||
namespace: openstack
|
|
||||||
object_store:
|
|
||||||
namespace: ceph
|
|
||||||
ceph_mon:
|
|
||||||
namespace: ceph
|
|
||||||
network:
|
|
||||||
public: ${CEPH_PUBLIC_NETWORK}
|
|
||||||
cluster: ${CEPH_CLUSTER_NETWORK}
|
|
||||||
deployment:
|
|
||||||
storage_secrets: false
|
|
||||||
ceph: false
|
|
||||||
rbd_provisioner: false
|
|
||||||
cephfs_provisioner: false
|
|
||||||
client_secrets: true
|
|
||||||
rgw_keystone_user_and_endpoints: false
|
|
||||||
bootstrap:
|
|
||||||
enabled: false
|
|
||||||
conf:
|
|
||||||
rgw_ks:
|
|
||||||
enabled: true
|
|
||||||
EOF
|
|
||||||
helm upgrade --install ceph-openstack-config ${OSH_INFRA_PATH}/ceph-provisioners \
|
|
||||||
--namespace=openstack \
|
|
||||||
--values=/tmp/ceph-openstack-config.yaml \
|
|
||||||
${OSH_EXTRA_HELM_ARGS} \
|
|
||||||
${OSH_EXTRA_HELM_ARGS_CEPH_NS_ACTIVATE}
|
|
||||||
|
|
||||||
#NOTE: Wait for deploy
|
|
||||||
./tools/gate/scripts/wait-for-pods.sh openstack
|
|
||||||
|
|
||||||
#NOTE: Validate Deployment info
|
|
||||||
kubectl get -n openstack jobs
|
|
||||||
kubectl get -n openstack secrets
|
|
||||||
kubectl get -n openstack configmaps
|
|
|
@ -1,64 +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: Lint and package chart
|
|
||||||
: ${OSH_INFRA_PATH:="../openstack-helm-infra"}
|
|
||||||
make -C ${OSH_INFRA_PATH} ceph-rgw
|
|
||||||
|
|
||||||
#NOTE: Deploy command
|
|
||||||
: ${OSH_EXTRA_HELM_ARGS:=""}
|
|
||||||
CEPH_PUBLIC_NETWORK="$($OSH_INFRA_PATH/tools/deployment/multinode/kube-node-subnet.sh)"
|
|
||||||
CEPH_CLUSTER_NETWORK="$($OSH_INFRA_PATH/tools/deployment/multinode/kube-node-subnet.sh)"
|
|
||||||
tee /tmp/radosgw-openstack.yaml <<EOF
|
|
||||||
endpoints:
|
|
||||||
identity:
|
|
||||||
namespace: openstack
|
|
||||||
object_store:
|
|
||||||
namespace: openstack
|
|
||||||
ceph_mon:
|
|
||||||
namespace: ceph
|
|
||||||
network:
|
|
||||||
public: ${CEPH_PUBLIC_NETWORK}
|
|
||||||
cluster: ${CEPH_CLUSTER_NETWORK}
|
|
||||||
deployment:
|
|
||||||
storage_secrets: false
|
|
||||||
ceph: true
|
|
||||||
rbd_provisioner: false
|
|
||||||
cephfs_provisioner: false
|
|
||||||
client_secrets: false
|
|
||||||
rgw_keystone_user_and_endpoints: true
|
|
||||||
bootstrap:
|
|
||||||
enabled: false
|
|
||||||
conf:
|
|
||||||
rgw_ks:
|
|
||||||
enabled: true
|
|
||||||
pod:
|
|
||||||
replicas:
|
|
||||||
rgw: 1
|
|
||||||
EOF
|
|
||||||
helm upgrade --install radosgw-openstack ${OSH_INFRA_PATH}/ceph-rgw \
|
|
||||||
--namespace=openstack \
|
|
||||||
--values=/tmp/radosgw-openstack.yaml \
|
|
||||||
${OSH_EXTRA_HELM_ARGS} \
|
|
||||||
${OSH_EXTRA_HELM_ARGS_CEPH_RGW}
|
|
||||||
|
|
||||||
#NOTE: Wait for deploy
|
|
||||||
./tools/gate/scripts/wait-for-pods.sh openstack
|
|
||||||
|
|
||||||
#NOTE: Validate Deployment info
|
|
||||||
helm status radosgw-openstack
|
|
|
@ -1,61 +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 global ingress
|
|
||||||
: ${OSH_INFRA_PATH:="../openstack-helm-infra"}
|
|
||||||
tee /tmp/ingress-kube-system.yaml << EOF
|
|
||||||
pod:
|
|
||||||
replicas:
|
|
||||||
error_page: 2
|
|
||||||
deployment:
|
|
||||||
mode: cluster
|
|
||||||
type: DaemonSet
|
|
||||||
network:
|
|
||||||
host_namespace: true
|
|
||||||
EOF
|
|
||||||
helm upgrade --install ingress-kube-system ${OSH_INFRA_PATH}/ingress \
|
|
||||||
--namespace=kube-system \
|
|
||||||
--values=/tmp/ingress-kube-system.yaml \
|
|
||||||
${OSH_EXTRA_HELM_ARGS} \
|
|
||||||
${OSH_EXTRA_HELM_ARGS_INGRESS_KUBE_SYSTEM}
|
|
||||||
|
|
||||||
#NOTE: Wait for deploy
|
|
||||||
./tools/gate/scripts/wait-for-pods.sh kube-system
|
|
||||||
|
|
||||||
#NOTE: Display info
|
|
||||||
helm status ingress-kube-system
|
|
||||||
|
|
||||||
#NOTE: Deploy namespaced ingress controllers
|
|
||||||
for NAMESPACE in openstack ceph; do
|
|
||||||
#NOTE: Deploy namespace ingress
|
|
||||||
tee /tmp/ingress-${NAMESPACE}.yaml << EOF
|
|
||||||
pod:
|
|
||||||
replicas:
|
|
||||||
ingress: 2
|
|
||||||
error_page: 2
|
|
||||||
EOF
|
|
||||||
helm upgrade --install ingress-${NAMESPACE} ${OSH_INFRA_PATH}/ingress \
|
|
||||||
--namespace=${NAMESPACE} \
|
|
||||||
--values=/tmp/ingress-${NAMESPACE}.yaml
|
|
||||||
|
|
||||||
#NOTE: Wait for deploy
|
|
||||||
./tools/gate/scripts/wait-for-pods.sh ${NAMESPACE}
|
|
||||||
|
|
||||||
#NOTE: Display info
|
|
||||||
helm status ingress-${NAMESPACE}
|
|
||||||
done
|
|
|
@ -0,0 +1,80 @@
|
||||||
|
---
|
||||||
|
# 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.
|
||||||
|
- job:
|
||||||
|
name: osh-addons-parent
|
||||||
|
irrelevant-files:
|
||||||
|
- ^.*\.rst$
|
||||||
|
- ^doc/.*$
|
||||||
|
- ^releasenotes/.*$
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: osh-addons-base
|
||||||
|
parent: osh-addons-parent
|
||||||
|
roles:
|
||||||
|
- zuul: openstack/openstack-helm-infra
|
||||||
|
timeout: 7200
|
||||||
|
vars:
|
||||||
|
zuul_osh_infra_relative_path: ../openstack-helm-infra/
|
||||||
|
zuul_osh_relative_path: ../openstack-helm/
|
||||||
|
pre-run:
|
||||||
|
- ./tools/gate/playbooks/osh-infra-upgrade-host.yaml
|
||||||
|
- ./tools/gate/playbooks/osh-infra-setup-firewall.yaml
|
||||||
|
post-run: ./tools/gate/playbooks/osh-infra-collect-logs.yaml
|
||||||
|
required-projects:
|
||||||
|
- openstack/openstack-helm-infra
|
||||||
|
- openstack/openstack-helm
|
||||||
|
nodeset: openstack-helm-single-node
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: osh-addons-sonobuoy
|
||||||
|
parent: osh-addons-base
|
||||||
|
run: tools/gate/playbooks/osh-gate-runner.yaml
|
||||||
|
vars:
|
||||||
|
osh_params:
|
||||||
|
openstack_release: ocata
|
||||||
|
container_distro_name: ubuntu
|
||||||
|
container_distro_version: xenial
|
||||||
|
gate_scripts:
|
||||||
|
- ./tools/deployment/common/install-packages.sh
|
||||||
|
- ./tools/deployment/common/deploy-k8s.sh
|
||||||
|
- ./tools/deployment/common/setup-client.sh
|
||||||
|
- ./tools/deployment/component/common/ingress.sh
|
||||||
|
- ./tools/deployment/component/common/mariadb.sh
|
||||||
|
- ./tools/deployment/component/common/rabbitmq.sh
|
||||||
|
- ./tools/deployment/component/common/memcached.sh
|
||||||
|
- ./tools/deployment/component/ceph/ceph.sh
|
||||||
|
- ./tools/deployment/component/ceph/ceph-ns-activate.sh
|
||||||
|
- ./tools/deployment/component/keystone/keystone.sh
|
||||||
|
- ./tools/deployment/component/ceph/radosgateway.sh
|
||||||
|
- ./tools/deployment/component/sonobuoy/sonobuoy.sh
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: osh-addons-ranger
|
||||||
|
parent: osh-addons-base
|
||||||
|
run: tools/gate/playbooks/osh-gate-runner.yaml
|
||||||
|
vars:
|
||||||
|
osh_params:
|
||||||
|
openstack_release: ocata
|
||||||
|
container_distro_name: ubuntu
|
||||||
|
container_distro_version: xenial
|
||||||
|
gate_scripts:
|
||||||
|
- ./tools/deployment/common/install-packages.sh
|
||||||
|
- ./tools/deployment/common/deploy-k8s.sh
|
||||||
|
- ./tools/deployment/common/setup-client.sh
|
||||||
|
- ./tools/deployment/component/common/ingress.sh
|
||||||
|
- ./tools/deployment/component/common/mariadb.sh
|
||||||
|
- ./tools/deployment/component/common/rabbitmq.sh
|
||||||
|
- ./tools/deployment/component/common/memcached.sh
|
||||||
|
- ./tools/deployment/component/keystone/keystone.sh
|
||||||
|
- ./tools/deployment/component/ranger/ranger.sh
|
||||||
|
- ./tools/deployment/component/ranger/ranger-agent.sh
|
|
@ -0,0 +1,24 @@
|
||||||
|
---
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
- project:
|
||||||
|
check:
|
||||||
|
jobs:
|
||||||
|
- openstack-helm-lint
|
||||||
|
- osh-addons-sonobuoy
|
||||||
|
- osh-addons-ranger
|
||||||
|
gate:
|
||||||
|
jobs:
|
||||||
|
- openstack-helm-lint
|
||||||
|
- osh-addons-sonobuoy
|
||||||
|
- osh-addons-ranger
|
Loading…
Reference in New Issue