openstack-helm/tools/deployment/common/deploy-docker-registry.sh
Vladimir Kozhukalov 536dccaf5b Improvements for tests
This is to align test scripts and playbooks with the recent
merger with the osh-infra repo.

* Get rid of OSH_INFRA_* env variables and
  use OSH_* variables wherever necessary
* Update linter job so that playbook runs
  the linting commands directly not involving tox
  and additional shell script
* Move tools/gate/playbooks/* to playbooks/*
* Cleanup unused playbooks
* Cleanup unused shell scripts

Change-Id: I1913ed613025457d97cf1a4eeca6c2fbda0b72f6
2025-03-27 15:11:24 -05:00

70 lines
2.2 KiB
Bash
Executable File

#!/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
: ${OSH_HELM_REPO:="../openstack-helm"}
for NAMESPACE in docker-nfs docker-registry; do
tee /tmp/${NAMESPACE}-ns.yaml << EOF
apiVersion: v1
kind: Namespace
metadata:
labels:
kubernetes.io/metadata.name: ${NAMESPACE}
name: ${NAMESPACE}
name: ${NAMESPACE}
EOF
kubectl apply -f /tmp/${NAMESPACE}-ns.yaml
done
#NOTE: Deploy nfs for the docker registry
tee /tmp/docker-registry-nfs-provisioner.yaml << EOF
labels:
node_selector_key: openstack-helm-node-class
node_selector_value: primary
storageclass:
name: openstack-helm-bootstrap
EOF
helm upgrade --install docker-registry-nfs-provisioner \
${OSH_HELM_REPO}/nfs-provisioner --namespace=docker-nfs \
--values=/tmp/docker-registry-nfs-provisioner.yaml
#NOTE: Deploy redis for the docker registry
helm upgrade --install docker-registry-redis ${OSH_HELM_REPO}/redis \
--namespace=docker-registry \
--set labels.node_selector_key=openstack-helm-node-class \
--set labels.node_selector_value=primary
#NOTE: Deploy the docker registry
tee /tmp/docker-registry.yaml << EOF
labels:
node_selector_key: openstack-helm-node-class
node_selector_value: primary
volume:
class_name: openstack-helm-bootstrap
EOF
helm upgrade --install docker-registry ${OSH_HELM_REPO}/registry \
--namespace=docker-registry \
--values=/tmp/docker-registry.yaml
#NOTE: Wait for deployments
helm osh wait-for-pods docker-registry
# Delete the test pod if it still exists
kubectl delete pods -l application=redis,release_group=docker-registry-redis,component=test --namespace=docker-registry --ignore-not-found
#NOTE: Run helm tests
helm test docker-registry-redis --namespace docker-registry