bpa_op_install \
bpa_rest_api_install
+clean_jump_server: bmh_clean_host \
+ kud_bm_reset \
+ clean_packages
+
package_prerequisite:
pushd $(BMDIR) && ./01_install_package.sh && popd
./02_verify.sh && popd
clean_all: bmh_clean \
- bmh_clean_host \
- kud_bm_reset \
- clean_packages
+ clean_jump_server
cluster_provision:
pushd $(BPA_OPERATOR) && make provision && popd
prerequisite:
pushd $(ENV) && ./cd_package_installer.sh && popd
-bm_verifer: package_prerequisite \
- kud_bm_deploy_mini \
- bmh_install \
- bmh_provision \
- bpa_op_bmh_verifier \
- bpa_rest_api_verifier \
- clean_all
+bm_verifer: jump_server \
+ pod11_cluster \
+ pod11_clean_cluster \
+ clean_jump_server
-verifier: bm_verifer
+pod11_cluster:
+ ./deploy/site/pod11/pod11.sh deploy
+ ./deploy/site/pod11/pod11.sh wait
+ ./deploy/kata/kata.sh test
+ ./deploy/addons/addons.sh test
+
+pod11_clean_cluster:
+ ./deploy/site/pod11/pod11.sh clean
+
+verifier: vm_verifer
vm_verifier: jump_server \
vm_cluster \
- vm_clean_all
+ vm_clean_cluster \
+ clean_jump_server
vm_cluster:
./deploy/site/vm/vm.sh deploy
vm_clean_cluster:
./deploy/site/vm/vm.sh clean
-vm_clean_all: vm_clean_cluster \
- bmo_clean \
- bmh_clean_host \
- kud_bm_reset \
- clean_packages
-
bm_verify_nestedk8s: prerequisite \
kud_bm_deploy_e2e \
kud_bm_reset \
BUILDDIR=${SCRIPTDIR/deploy/build}
mkdir -p ${BUILDDIR}
+function is_emco_ready {
+ local -r cluster_name=${CLUSTER_NAME:-icn}
+ local -r cluster_kubeconfig="${BUILDDIR}/${cluster_name}.conf"
+ kubectl --kubeconfig=${cluster_kubeconfig} -n emco wait pod --all --for=condition=Ready --timeout=0s >/dev/null 2>&1
+}
+
function register_emco_controllers {
+ wait_for is_emco_ready
local -r cluster_name=${CLUSTER_NAME:-icn}
local -r host=$(kubectl -n metal3 get cluster/${cluster_name} -o jsonpath='{.spec.controlPlaneEndpoint.host}')
cat <<EOF >${BUILDDIR}/${cluster_name}-config.yaml
#!/usr/bin/env bash
-set -eux -o pipefail
+set -eEux -o pipefail
SCRIPTDIR="$(readlink -f $(dirname ${BASH_SOURCE[0]}))"
LIBDIR="$(dirname $(dirname ${SCRIPTDIR}))/env/lib"
source $LIBDIR/logging.sh
source $LIBDIR/common.sh
+trap err_exit ERR
+function err_exit {
+ kubectl get all -n baremetal-operator-system
+}
+
# This may be used to update the in-place Bare Metal Operator YAML
# files from the upstream project
function build_source {
#!/usr/bin/env bash
-set -eux -o pipefail
+set -eEux -o pipefail
SCRIPTDIR="$(readlink -f $(dirname ${BASH_SOURCE[0]}))"
LIBDIR="$(dirname $(dirname ${SCRIPTDIR}))/env/lib"
# Cert-Manager version to use
CERT_MANAGER_VERSION="v1.5.3"
+trap err_exit ERR
+function err_exit {
+ kubectl get all -n cert-manager
+}
+
# This may be used to update the in-place cert-manager YAML
# files from the upstream project
function build_source {
#!/usr/bin/env bash
-set -eux -o pipefail
+set -eEux -o pipefail
SCRIPTDIR="$(readlink -f $(dirname ${BASH_SOURCE[0]}))"
LIBDIR="$(dirname $(dirname ${SCRIPTDIR}))/env/lib"
NAMEPREFIX="capm3"
+trap err_exit ERR
+function err_exit {
+ kubectl get all -n ${NAMEPREFIX}-system
+}
+
# This may be used to update the in-place Ironic YAML files from the
# upstream project. We cannot use the upstream sources directly as
# they require an envsubst step before kustomize build.
clone_kud_repository
pushd ${KUDPATH}/kud/tests
failed_kud_tests=""
- KUBECONFIG=${cluster_kubeconfig} bash kata.sh || failed_kud_tests="${failed_kud_tests} ${test}"
+ KUBECONFIG=${cluster_kubeconfig} bash kata.sh || failed_kud_tests="${failed_kud_tests} kata"
popd
clean_webhook ${cluster_name}
if [[ ! -z "$failed_kud_tests" ]]; then
sops --decrypt --in-place --config=${site_dir}/.sops.yaml ${site_yaml}
}
+function flux_site_source_name {
+ local -r url=$1
+ local -r branch=$2
+ echo $(basename ${url})-${branch}
+}
+
+function flux_site_kustomization_name {
+ local -r url=$1
+ local -r branch=$2
+ local -r path=$3
+ echo $(flux_site_source_name ${url} ${branch})-site-$(basename ${path})
+}
+
function flux_create_site {
local -r url=$1
local -r branch=$2
local -r path=$3
local -r key_name=$4
- local -r source_name="$(basename ${url})-${branch}"
- local -r kustomization_name="${source_name}-site-$(basename ${path})"
+ local -r source_name=$(flux_site_source_name ${url} ${branch})
+ local -r kustomization_name=$(flux_site_kustomization_name ${url} ${branch} ${path})
local -r key_fp=$(gpg --with-colons --list-secret-keys ${key_name} | awk -F: '/fpr/ {print $10;exit}')
local -r secret_name="${key_name}-sops-gpg"
BUILDDIR=${SCRIPTDIR/deploy/build}
mkdir -p ${BUILDDIR}
+SITE_REPO=${SITE_REPO:-"https://gerrit.akraino.org/r/icn"}
+SITE_BRANCH=${SITE_BRANCH:-"master"}
+SITE_PATH=${SITE_PATH:-"deploy/site/pod11"}
+
FLUX_SOPS_KEY_NAME=${FLUX_SOPS_KEY_NAME:-"icn-site-vm"} # TODO Replace ICN test key with real key
function build_source {
}
function deploy {
- flux_create_site https://gerrit.akraino.org/r/icn master deploy/site/pod11 ${FLUX_SOPS_KEY_NAME}
+ flux_create_site ${SITE_REPO} ${SITE_BRANCH} ${SITE_PATH} ${FLUX_SOPS_KEY_NAME}
}
function clean {
- kubectl -n flux-system delete kustomization icn-master-site-pod11
+ kubectl -n flux-system delete kustomization $(flux_site_kustomization_name ${SITE_REPO} ${SITE_BRANCH} ${SITE_PATH})
}
function is_cluster_ready {
BUILDDIR=${SCRIPTDIR/deploy/build}
mkdir -p ${BUILDDIR}
+SITE_REPO=${SITE_REPO:-"https://gerrit.akraino.org/r/icn"}
+SITE_BRANCH=${SITE_BRANCH:-"master"}
+SITE_PATH=${SITE_PATH:-"deploy/site/vm"}
+
FLUX_SOPS_KEY_NAME=${FLUX_SOPS_KEY_NAME:-"icn-site-vm"}
# !!!NOTE!!! THE KEYS USED BELOW ARE FOR TEST PURPOSES ONLY. DO NOT
function deploy {
gpg --import ${SCRIPTDIR}/sops.asc
- flux_create_site https://gerrit.akraino.org/r/icn master deploy/site/vm ${FLUX_SOPS_KEY_NAME}
+ flux_create_site ${SITE_REPO} ${SITE_BRANCH} ${SITE_PATH} ${FLUX_SOPS_KEY_NAME}
}
function clean {
- kubectl -n flux-system delete kustomization icn-master-site-vm
+ kubectl -n flux-system delete kustomization $(flux_site_kustomization_name ${SITE_REPO} ${SITE_BRANCH} ${SITE_PATH})
}
function is_cluster_ready {