X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;f=deploy%2Fkud%2Fkud_bm_launch.sh;h=9ba2d403dada770c26b9a6c92f6371cd7f777898;hb=HEAD;hp=46d8e6af9c181f2f16477bdd78768b1b08a5a775;hpb=2c1416234944fe2f4437e27d1b6be6a66850a604;p=icn.git diff --git a/deploy/kud/kud_bm_launch.sh b/deploy/kud/kud_bm_launch.sh index 46d8e6a..9ba2d40 100755 --- a/deploy/kud/kud_bm_launch.sh +++ b/deploy/kud/kud_bm_launch.sh @@ -1,19 +1,16 @@ -#!/bin/bash -set +x +#!/usr/bin/env bash +set -eu -o pipefail -LIBDIR="$(dirname "$(dirname "$PWD")")" +SCRIPTDIR="$(readlink -f $(dirname ${BASH_SOURCE[0]}))" +LIBDIR="$(dirname $(dirname ${SCRIPTDIR}))/env/lib" -source $LIBDIR/env/lib/common.sh +source $LIBDIR/common.sh -function get_kud_repo { - if [ -d $DOWNLOAD_PATH/multicloud-k8s ]; then - rm -rf $DOWNLOAD_PATH/multicloud-k8s - fi +export KUBESPRAY_VERSION=2.16.0 - mkdir -p $DOWNLOAD_PATH - pushd $DOWNLOAD_PATH - git clone https://github.com/onap/multicloud-k8s.git - popd +function get_kud_repo { + clone_kud_repository + export KUD_ADDONS=multus } function set_ssh_key { @@ -30,30 +27,19 @@ function set_ssh_key { } function set_bm_kud { - pushd $DOWNLOAD_PATH/multicloud-k8s/kud/hosting_providers/vagrant/inventory + pushd ${KUDPATH}/kud/hosting_providers/vagrant/inventory HOST_IP=${HOST_IP:-$(hostname -I | cut -d ' ' -f 1)} - if [ "$1" == "minimal" ] ; then - cat < hosts.ini -[all] -$HOSTNAME ansible_ssh_host=${HOST_IP} ansible_ssh_port=22 - -[kube-master] -$HOSTNAME - -[kube-node] -$HOSTNAME - -[etcd] -$HOSTNAME - -[k8s-cluster:children] -kube-node -kube-master -EOL - else + DOCKER_OPTIONS="" + if [[ ! -z "${DOCKER_REGISTRY_MIRRORS+x}" ]]; then + OPTIONS="" + for mirror in ${DOCKER_REGISTRY_MIRRORS}; do + OPTIONS="${OPTIONS} --registry-mirror=${mirror}" + done + DOCKER_OPTIONS="docker_options=\"${OPTIONS# }\"" + fi cat < hosts.ini [all] -$HOSTNAME ansible_ssh_host=${HOST_IP} ansible_ssh_port=22 +$HOSTNAME ansible_ssh_host=${HOST_IP} ansible_ssh_port=22 ${DOCKER_OPTIONS} [kube-master] $HOSTNAME @@ -64,32 +50,28 @@ $HOSTNAME [etcd] $HOSTNAME -[ovn-central] -$HOSTNAME - -[ovn-controller] -$HOSTNAME - -[virtlet] -$HOSTNAME - [k8s-cluster:children] kube-node kube-master EOL - fi popd } function kud_install { - pushd $DOWNLOAD_PATH/multicloud-k8s/kud/hosting_providers/vagrant/ - if [ "$1" == "all" ]; then - sed -i -e 's/testing_enabled=${KUD_ENABLE_TESTS:-false}/testing_enabled=${KUD_ENABLE_TESTS:-true}/g' installer.sh - fi + pushd ${KUDPATH}/kud/hosting_providers/vagrant/ ./installer.sh | tee kud_deploy.log popd } +function kud_reset { + # Pick up the kubespray ANSIBLE_CONFIG from /etc/environment + source /etc/environment + pushd ${KUDPATH}/kud/hosting_providers/vagrant/ + ansible-playbook -i inventory/hosts.ini /opt/kubespray-${KUBESPRAY_VERSION}/reset.yml \ + --become --become-user=root -e reset_confirmation=yes + popd +} + function verifier { APISERVER=$(kubectl config view --minify -o \ jsonpath='{.clusters[0].cluster.server}') @@ -100,10 +82,15 @@ function verifier { call_api $APISERVER/api --header "Authorization: Bearer $TOKEN" --insecure } +if [ "$1" == "reset" ] ; then + kud_reset + exit 0 +fi + get_kud_repo set_ssh_key -set_bm_kud $1 -kud_install $1 +set_bm_kud +kud_install verifier exit 0