X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;f=deploy%2Fkud%2Fkud_bm_launch.sh;h=b7dc9b8fb44bd3a5f0f9da77d591d9d308316cdf;hb=8fcb874a6e5ec52b4a6ac80cb7f34c7baccd8c17;hp=562142e3aca9f96d8ee6ca684e3bbb97a80065c7;hpb=999c2adc3d38570cac79e63a396e8f4340492961;p=icn.git diff --git a/deploy/kud/kud_bm_launch.sh b/deploy/kud/kud_bm_launch.sh index 562142e..b7dc9b8 100755 --- a/deploy/kud/kud_bm_launch.sh +++ b/deploy/kud/kud_bm_launch.sh @@ -1,19 +1,17 @@ -#!/bin/bash -set +x +#!/usr/bin/env bash +set -eu -o pipefail LIBDIR="$(dirname "$(dirname "$PWD")")" source $LIBDIR/env/lib/common.sh +export KUBESPRAY_VERSION=2.16.0 + function get_kud_repo { - if [ -d $DOWNLOAD_PATH/multicloud-k8s ]; then - rm -rf $DOWNLOAD_PATH/multicloud-k8s + clone_kud_repository + if [ "$1" == "v1" ] ; then + export KUD_ADDONS=multus fi - - mkdir -p $DOWNLOAD_PATH - pushd $DOWNLOAD_PATH - git clone https://github.com/onap/multicloud-k8s.git - popd } function set_ssh_key { @@ -30,12 +28,20 @@ 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" == "virtlet" ] ; then - cat < hosts.ini + 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 + if [ "$1" == "minimal" ] ; then + 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 @@ -46,17 +52,14 @@ $HOSTNAME [etcd] $HOSTNAME -[virtlet] -$HOSTNAME - [k8s-cluster:children] kube-node kube-master EOL else - cat < hosts.ini + 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 @@ -67,6 +70,15 @@ $HOSTNAME [etcd] $HOSTNAME +[ovn-central] +$HOSTNAME + +[ovn-controller] +$HOSTNAME + +[virtlet] +$HOSTNAME + [k8s-cluster:children] kube-node kube-master @@ -76,8 +88,26 @@ EOL } function kud_install { - pushd $DOWNLOAD_PATH/multicloud-k8s/kud/hosting_providers/vagrant/ - ./installer.sh | tee kud_minial_deploy.log + pushd ${KUDPATH}/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 + ./installer.sh | tee kud_deploy.log + + if [ "$1" == "bm" ]; then + for addon in ${KUD_ADDONS:-multus ovn4nfv nfd sriov qat cmk optane}; do + pushd ${KUDPATH}/kud/tests/ + bash ${addon}.sh + popd + done + fi + popd +} + +function kud_reset { + 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 } @@ -91,10 +121,15 @@ function verifier { call_api $APISERVER/api --header "Authorization: Bearer $TOKEN" --insecure } -get_kud_repo +if [ "$1" == "reset" ] ; then + kud_reset + exit 0 +fi + +get_kud_repo $2 set_ssh_key set_bm_kud $1 -kud_install +kud_install $1 verifier exit 0