4 LIBDIR="$(dirname "$(dirname "$PWD")")"
6 source $LIBDIR/env/lib/common.sh
8 function get_kud_repo {
9 if [ -d $DOWNLOAD_PATH/multicloud-k8s ]; then
10 rm -rf $DOWNLOAD_PATH/multicloud-k8s
13 mkdir -p $DOWNLOAD_PATH
15 if [ "$1" == "v1" ] ; then
16 export KUD_ADDONS=multus
17 git clone https://github.com/onap/multicloud-k8s.git
19 git clone https://github.com/onap/multicloud-k8s.git
24 function set_ssh_key {
25 if ! [ -f ~/.ssh/id_rsa ]; then
26 echo "Generating rsa key for this host"
27 ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa <&-
30 if ! grep -qF "$(ssh-keygen -y -f ~/.ssh/id_rsa)" ~/.ssh/authorized_keys; then
31 ssh-keygen -y -f ~/.ssh/id_rsa >> ~/.ssh/authorized_keys
34 chmod og-wx ~/.ssh/authorized_keys
38 pushd $DOWNLOAD_PATH/multicloud-k8s/kud/hosting_providers/vagrant/inventory
39 HOST_IP=${HOST_IP:-$(hostname -I | cut -d ' ' -f 1)}
40 if [ "$1" == "minimal" ] ; then
43 $HOSTNAME ansible_ssh_host=${HOST_IP} ansible_ssh_port=22
54 [k8s-cluster:children]
61 $HOSTNAME ansible_ssh_host=${HOST_IP} ansible_ssh_port=22
81 [k8s-cluster:children]
89 function kud_install {
90 pushd $DOWNLOAD_PATH/multicloud-k8s/kud/hosting_providers/vagrant/
91 if [ "$1" == "all" -o "$1" == "vm" ]; then
92 sed -i -e 's/testing_enabled=${KUD_ENABLE_TESTS:-false}/testing_enabled=${KUD_ENABLE_TESTS:-true}/g' installer.sh
94 if [ "$1" == "vm" ]; then
95 sed -i -e 's/^kube_pods_subnet.*/kube_pods_subnet: 172.21.64.0\/18/g' inventory/group_vars/k8s-cluster.yml
97 ./installer.sh | tee kud_deploy.log
99 if [ "$1" == "bm" ]; then
100 for addon in ${KUD_ADDONS:-multus ovn4nfv nfd sriov qat cmk optane}; do
101 pushd $DOWNLOAD_PATH/multicloud-k8s/kud/tests/
110 pushd $DOWNLOAD_PATH/multicloud-k8s/kud/hosting_providers/vagrant/
111 local version=$(grep "kubespray_version" ../../deployment_infra/playbooks/kud-vars.yml |
112 awk -F ': ' '{print $2}')
113 ansible-playbook -i inventory/hosts.ini /opt/kubespray-${version}/reset.yml \
114 --become --become-user=root -e reset_confirmation=yes
119 APISERVER=$(kubectl config view --minify -o \
120 jsonpath='{.clusters[0].cluster.server}')
121 TOKEN=$(kubectl get secret \
122 $(kubectl get serviceaccount default -o \
123 jsonpath='{.secrets[0].name}') -o jsonpath='{.data.token}' | \
125 call_api $APISERVER/api --header "Authorization: Bearer $TOKEN" --insecure
128 if [ "$1" == "reset" ] ; then