d0683139fe
This commit integrates the Azure provider to the Airship 2.0 project. It adds the following folders: - manifest/function/capz: This folder contains all manifests required for the integration of Azure provider. - manifest/function/k8scontrol-capz: This folder contains the base manifest for the Azure Workload cluster. - manifest/site/az-test-site: This folder contains the manifests used for initializing the CAPI and CAPZ components on the management cluster invoking "airshipctl cluster init" and manifests used for deploying a Workload cluster on the Azure Cloud by invoking the command "airshipctl phase apply azure". - tools/deployment/azure: provides the script shell that are used in the zuul gates and local test. Updated files: - zuul.d/project.yaml and zuul.d/jobs.yaml have been updated to include gates for validating the Azure provider integration. Change-Id: Icbdc7f6f42c159f48dd11e35626da3bc016f5487
51 lines
1.6 KiB
Bash
Executable File
51 lines
1.6 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
|
|
|
|
#Default wait timeout is 3600 seconds
|
|
export TIMEOUT=${TIMEOUT:-3600}
|
|
export KUBECONFIG=${KUBECONFIG:-"$HOME/.kube/config"}
|
|
|
|
REMOTE_WORK_DIR=/tmp
|
|
|
|
# get kind
|
|
echo "Fetching kind from ${KIND_URL}..."
|
|
TMP=$(KIND_URL=${KIND_URL} ./tools/document/get_kind.sh)
|
|
export KIND=${TMP}/kind
|
|
|
|
$KIND delete cluster --name capi-azure
|
|
$KIND create cluster --name capi-azure
|
|
|
|
#Wait till CAPI/CAPZ Control Plane Node is ready
|
|
end=$(($(date +%s) + $TIMEOUT))
|
|
echo "Waiting $TIMEOUT seconds for Capi Docker Control Plane node to be ready."
|
|
while true; do
|
|
if (kubectl --request-timeout 20s --kubeconfig $KUBECONFIG get nodes capi-azure-control-plane -o jsonpath='{.status.conditions[?(@.type=="Ready")].status}' | grep -q True) ; then
|
|
echo -e "\nCAPI Docker Control Plane Node is ready."
|
|
kubectl --request-timeout 20s --kubeconfig $KUBECONFIG get nodes
|
|
break
|
|
else
|
|
now=$(date +%s)
|
|
if [ $now -gt $end ]; then
|
|
echo -e "\nCAPI Azure Control Plane Node was not ready before TIMEOUT."
|
|
exit 1
|
|
fi
|
|
echo -n .
|
|
sleep 15
|
|
fi
|
|
done
|
|
|