diff --git a/Hackfest_Demos/OSM-15/setup_scripts/README.md b/Hackfest_Demos/OSM-15/setup_scripts/README.md new file mode 100644 index 0000000000000000000000000000000000000000..8e0dd10b5cafd386ac3147a1a48fd1be1217bacc --- /dev/null +++ b/Hackfest_Demos/OSM-15/setup_scripts/README.md @@ -0,0 +1,55 @@ +## Setting up Participant VMs + +First, check the common-vars for the following: + +``` +APT_PROXY=http://172.21.1.1:3142 +FLAVOR=m1.xlarge +PROJECT=f15ab4f845dc4052811fce96a3676ac8 +SUBNET=172.21.248 +``` + +APT_PROXY: the address of a caching web proxy for installing packages +FLAVOR: the flavour of the new VM to launch. Must have at least 4 CPUs, 8 GB RAM and 60 GB Disk. +PROJECT: The project ID in which to launch the new VM +SUBNET: the first three octets of the subnet to use. IP addresses will be allocated from this subnet, starting with .101 - .199 + + +### Initial Configuration +This script updates apt, upgrades the system to the latest 20.04 and installs remote desktop software + +``` +./run-vm-initial-setup.sh +``` + +### Install Microk8s + +This script will configure the Microk8s VM launched by the create-openstack-user-and-project script. +``` +./run-microk8s-setup.sh +``` + + +### Install OSM + +This script downloads the installer and runs it. It also sets the OSM admin password to `hackfest`. +``` +./run-install-osm.sh +``` + +### Add VIM and K8s Cluster + +``` +./run-osm-vim-k8scluster-add.sh +``` + +## Full Flow + +``` +./run-create-openstack-user-and-project.sh 1 1 +./run-vm-setup.sh 1 1 +./run-microk8s-setup.sh 1 1 +./run-install-osm.sh 1 1 +./run-osm-vim-k8scluster-add.sh 1 1 +``` + diff --git a/Hackfest_Demos/OSM-15/setup_scripts/common-vars b/Hackfest_Demos/OSM-15/setup_scripts/common-vars new file mode 100644 index 0000000000000000000000000000000000000000..7f30e84ea8c876e46554665e027cc0943ba6c105 --- /dev/null +++ b/Hackfest_Demos/OSM-15/setup_scripts/common-vars @@ -0,0 +1,38 @@ +cleanup() { + # kill all processes whose parent is this process + pkill -P $$ +} + +for sig in INT QUIT HUP TERM; do + trap " + cleanup + trap - $sig EXIT + kill -s $sig "'"$$"' "$sig" +done +trap cleanup EXIT + +if [ ! -z ${DEBUG} ]; then + set -x +fi + +START=5 +MAX=10 + +if [ ! -z $2 ] ; then + START=$1 + MAX=$2 +elif [ ! -z $1 ] ; then + START=$1 + MAX=$1 +fi + +# ETSI VIM ADMIN_DOMAIN=default +APT_PROXY=http://172.21.1.1.3142 +FLAVOR=osm.sanity +KEY_NAME=hackfest +NETWORK=osm-ext +SUBNET=172.21.19 +ZONE=hackfest + +MANAGEMENT_SUBNET=10.1.0 +PRIVATE_SUBNET=192.168.239 diff --git a/Hackfest_Demos/OSM-15/setup_scripts/hackfest_rsa b/Hackfest_Demos/OSM-15/setup_scripts/hackfest_rsa new file mode 100644 index 0000000000000000000000000000000000000000..2193387315fd1ff6752a4bf0420d538fdd6f5e93 --- /dev/null +++ b/Hackfest_Demos/OSM-15/setup_scripts/hackfest_rsa @@ -0,0 +1,38 @@ +-----BEGIN OPENSSH PRIVATE KEY----- +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 +-----END OPENSSH PRIVATE KEY----- diff --git a/Hackfest_Demos/OSM-15/setup_scripts/hackfest_rsa.pub b/Hackfest_Demos/OSM-15/setup_scripts/hackfest_rsa.pub new file mode 100644 index 0000000000000000000000000000000000000000..5efe445d0d1346b25fac553efe68db8b93eda62c --- /dev/null +++ b/Hackfest_Demos/OSM-15/setup_scripts/hackfest_rsa.pub @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCclrtqjkMHuQJag9iR0/R//Dmtbu3tjOxNgId0pXwz+aS17Bv43cRsXFzGzsJq63kz0z6ClmknJjR38zu3O+GUBta92JzCSMuBTq6MpnDC7F8/JztQmvHDR3A2W5u1oVtZr+1fKAqWT7n8gIUVhjh3p1eSp9iM78JR+lJc7D6EvupL1mRudcWguIvCfPRmbnABMhR3IO0f13OtYJHAVrRAoSa5qRHEmhjkEutr0d+iuTxVmoWbAG0DiuxEcG7zbQtjBHJWqTg5dgqNJ9ZdIlY+jKw60632Ul5oD9L4OK0BDALBRNK4TqJcYsB+dBuLgblyeMyPX7cDrGOnSLAz//eSXcewkZfoZWUPmFbMBKPNCgaLjDIeYzdLc4XBCXTouO/htGM0idQUT/bebbNCDWHeJ5CU8yRvEsedJ0xb4kEUwf1rrPJqsuY1faGzHgO+LAPGoJID4GH2Bw1H+lYN/hstwGrCYKMEFDbzJJ3Cm/+GQ+f3OjJpEGsUit8mRvPswic= mark@mark-G5-5090 diff --git a/Hackfest_Demos/OSM-15/setup_scripts/logs/.gitkeep b/Hackfest_Demos/OSM-15/setup_scripts/logs/.gitkeep new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/Hackfest_Demos/OSM-15/setup_scripts/openstack_credentials.rc b/Hackfest_Demos/OSM-15/setup_scripts/openstack_credentials.rc new file mode 100644 index 0000000000000000000000000000000000000000..aebdce37ae8932d22453be30d77c6b7c1a314c3b --- /dev/null +++ b/Hackfest_Demos/OSM-15/setup_scripts/openstack_credentials.rc @@ -0,0 +1,11 @@ +#OpenStack Credentials +PARTICIPANT=$1 +export OS_AUTH_URL=http://172.21.247.1:5000/v3 +export OS_PROJECT_NAME=hackfest15group${PARTICIPANT} +export OS_USER_DOMAIN_NAME='Default' +export OS_PROJECT_DOMAIN_ID='default' +export OS_USERNAME=hackfest15group${PARTICIPANT} +export OS_PASSWORD=hackfest15group-${PARTICIPANT}! +export OS_REGION_NAME='RegionOne' +export OS_INTERFACE=public +export OS_IDENTITY_API_VERSION=3 diff --git a/Hackfest_Demos/OSM-15/setup_scripts/osm-cloud-init.yaml b/Hackfest_Demos/OSM-15/setup_scripts/osm-cloud-init.yaml new file mode 100644 index 0000000000000000000000000000000000000000..7384a54159517871cf09d02d62c09ab5a93ab1d9 --- /dev/null +++ b/Hackfest_Demos/OSM-15/setup_scripts/osm-cloud-init.yaml @@ -0,0 +1,17 @@ +#cloud-config +password: hackfest +chpasswd: { expire: False } +ssh_pwauth: True + +write_files: +- path: /etc/netplan/99-default-route.yaml + owner: root:root + content: | + network: + version: 2 + ethernets: + ens4: + dhcp4-overrides: + use-routes: false +runcmd: +- reboot \ No newline at end of file diff --git a/Hackfest_Demos/OSM-15/setup_scripts/run-full-setup.sh b/Hackfest_Demos/OSM-15/setup_scripts/run-full-setup.sh new file mode 100755 index 0000000000000000000000000000000000000000..ab57d1aafb3f742c9060b2d2877d4a98b659e659 --- /dev/null +++ b/Hackfest_Demos/OSM-15/setup_scripts/run-full-setup.sh @@ -0,0 +1,12 @@ +#!/bin/bash +echo $0 started at $(date) + +. common-vars + +./run-vm-initial-setup.sh $@ +./run-microk8s-setup.sh $@ & +./run-install-osm.sh $@ +wait +./run-osm-vim-k8scluster-add.sh $@ + +echo $0 $@ complete at $(date) \ No newline at end of file diff --git a/Hackfest_Demos/OSM-15/setup_scripts/run-install-osm.sh b/Hackfest_Demos/OSM-15/setup_scripts/run-install-osm.sh new file mode 100755 index 0000000000000000000000000000000000000000..426dcb85b25a4479c92c44ba21ee2872a87b620f --- /dev/null +++ b/Hackfest_Demos/OSM-15/setup_scripts/run-install-osm.sh @@ -0,0 +1,20 @@ +#!/bin/bash +echo $0 started at $(date) + +. ./common-vars $@ + +for PARTICIPANT in `seq ${START} ${MAX}` ; do + IP=`expr ${PARTICIPANT} + 0` + source ./openstack_credentials.rc PARTICIPANT + scp -o StrictHostKeyChecking=no -i hackfest_rsa ./vm-install-osm.sh ubuntu@${SUBNET}.${IP}: & +done +wait + +for PARTICIPANT in `seq ${START} ${MAX}` ; do + source ./openstack_credentials.rc PARTICIPANT + IP=`expr ${PARTICIPANT} + 0` + ssh -o StrictHostKeyChecking=no -i hackfest_rsa ubuntu@${SUBNET}.${IP} ./vm-install-osm.sh 2>&1 | tee -a logs/vm-install-osm-${PARTICIPANT}.log& +done +wait + +echo $0 $@ complete at $(date) \ No newline at end of file diff --git a/Hackfest_Demos/OSM-15/setup_scripts/run-microk8s-setup.sh b/Hackfest_Demos/OSM-15/setup_scripts/run-microk8s-setup.sh new file mode 100755 index 0000000000000000000000000000000000000000..b9c59f21a9c6dc408dc2d425c1bfb80d7a8ab723 --- /dev/null +++ b/Hackfest_Demos/OSM-15/setup_scripts/run-microk8s-setup.sh @@ -0,0 +1,21 @@ +#!/bin/bash +echo $0 started at $(date) + +. ./common-vars $@ + +for PARTICIPANT in `seq ${START} ${MAX}` ; do + source ./openstack_credentials.rc PARTICIPANT + IP=`expr ${PARTICIPANT} + 0` + scp -o StrictHostKeyChecking=no -i hackfest_rsa ./hackfest_rsa ./hackfest_rsa.pub ubuntu@${SUBNET}.${IP}:.ssh/ & + scp -o StrictHostKeyChecking=no -i hackfest_rsa vm-microk8s-setup.sh ubuntu@${SUBNET}.${IP}: & +done +wait + +for PARTICIPANT in `seq ${START} ${MAX}` ; do + source ./openstack_credentials.rc PARTICIPANT + IP=`expr ${PARTICIPANT} + 0` + ssh -o StrictHostKeyChecking=no -i hackfest_rsa ubuntu@${SUBNET}.${IP} "scp -o StrictHostKeyChecking=no -i .ssh/hackfest_rsa vm-microk8s-setup.sh 10.0.0.11:; ssh -o StrictHostKeyChecking=no -i .ssh/hackfest_rsa 10.0.0.11 ./vm-microk8s-setup.sh" 2>&1 | tee -a logs/vm-microk8s-setup-${PARTICIPANT}.log& +done +wait + +echo $0 $@ complete at $(date) \ No newline at end of file diff --git a/Hackfest_Demos/OSM-15/setup_scripts/run-osm-vim-k8scluster-add.sh b/Hackfest_Demos/OSM-15/setup_scripts/run-osm-vim-k8scluster-add.sh new file mode 100755 index 0000000000000000000000000000000000000000..a60b110bc5b8fb09ad5a543bff3c1c2bf253c0bf --- /dev/null +++ b/Hackfest_Demos/OSM-15/setup_scripts/run-osm-vim-k8scluster-add.sh @@ -0,0 +1,50 @@ +#!/bin/bash +echo $0 started at $(date) + +. ./common-vars $@ + +for PARTICIPANT in `seq ${START} ${MAX}` ; do + export OS_AUTH_URL=http://172.21.247.1:5000/v3 + export OS_PROJECT_NAME=hackfest15group${PARTICIPANT} + export OS_USER_DOMAIN_NAME='Default' + export OS_PROJECT_DOMAIN_ID='default' + export OS_USERNAME=hackfest15group${PARTICIPANT} + export OS_PASSWORD=hackfest15group-${PARTICIPANT}! + export OS_REGION_NAME='RegionOne' + export OS_INTERFACE=public + export OS_IDENTITY_API_VERSION=3 + IP=`expr ${PARTICIPANT} + 0` + + OS_USERNAME=hackfest15group${PARTICIPANT} + OS_PASSWORD=hackfest15group-${PARTICIPANT}! + OS_PROJECT_NAME=hackfest15group${PARTICIPANT} + + cat << EOF > ${OS_USERNAME}.rc +export OS_AUTH_TYPE=password +export OS_AUTH_URL=${OS_AUTH_URL} +export OS_DOMAIN_NAME=${OS_DOMAIN_NAME} +export OS_IDENTITY_API_VERSION=3 +export OS_INTERFACE=public +export OS_PASSWORD=${OS_PASSWORD} +export OS_PROJECT_DOMAIN_NAME=${OS_DOMAIN_NAME} +export OS_PROJECT_NAME=${OS_PROJECT_NAME} +export OS_REGION_NAME=${OS_REGION_NAME} +export OS_TENANT_NAME=${OS_USERNAME} +export OS_USERNAME=${OS_USERNAME} +export OS_USER_DOMAIN_NAME=${OS_DOMAIN_NAME} +EOF + + ssh -o StrictHostKeyChecking=no -i hackfest_rsa ubuntu@${SUBNET}.${IP} ". .profile;osm version" + while [ $? -ne -0 ] ; do + ssh -o StrictHostKeyChecking=no -i hackfest_rsa ubuntu@${SUBNET}.${IP} ". .profile;osm version" + done + scp -o StrictHostKeyChecking=no -i hackfest_rsa ${OS_USERNAME}.rc ubuntu@${SUBNET}.${IP}: + scp -o StrictHostKeyChecking=no -i hackfest_rsa pc-cacert.pem ubuntu@${SUBNET}.${IP}: + + ssh -o StrictHostKeyChecking=no -i hackfest_rsa ubuntu@${SUBNET}.${IP} ". .profile;osm vim-create --name openstack --user ${OS_USERNAME} --password ${OS_PASSWORD} --auth_url ${OS_AUTH_URL} --tenant ${OS_PROJECT_NAME} --account_type openstack --config=\"{ management_network_name: osm-ext, security_groups: default, insecure: true, project_domain_name: ${OS_PROJECT_DOMAIN_NAME}, user_domain_name: ${OS_USER_DOMAIN_NAME} }\"" 2>&1 | tee -a logs/osm-vim-k8scluster-add-${PARTICIPANT}.log + ssh -o StrictHostKeyChecking=no -i hackfest_rsa ubuntu@${SUBNET}.${IP} "scp -o StrictHostKeyChecking=no -i .ssh/hackfest_rsa ${MANAGEMENT_SUBNET}.11:kubeconfig.yaml ." 2>&1 | tee -a logs/osm-vim-k8scluster-add-${PARTICIPANT}.log + ssh -o StrictHostKeyChecking=no -i hackfest_rsa ubuntu@${SUBNET}.${IP} '. .profile;osm k8scluster-add --creds kubeconfig.yaml --vim openstack --k8s-nets "{"net1": "osm-ext"}" --version 1.23 --namespace hackfest --description "Microk8s cluster" hackfest' 2>&1 | tee -a logs/osm-vim-k8scluster-add-${PARTICIPANT}.log + ssh -o StrictHostKeyChecking=no -i hackfest_rsa ubuntu@${SUBNET}.${IP} "echo . ~/${OS_USERNAME}.rc >> .bashrc" +done + +echo $0 $@ complete at $(date) \ No newline at end of file diff --git a/Hackfest_Demos/OSM-15/setup_scripts/run-vm-initial-setup.sh b/Hackfest_Demos/OSM-15/setup_scripts/run-vm-initial-setup.sh new file mode 100755 index 0000000000000000000000000000000000000000..bc82bb2e115135f92b297a5cd17cc98d367764c8 --- /dev/null +++ b/Hackfest_Demos/OSM-15/setup_scripts/run-vm-initial-setup.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +echo $0 started at $(date) +. ./common-vars $@ + +for PARTICIPANT in `seq ${START} ${MAX}` ; do + IP=`expr ${PARTICIPANT} + 0` + source ./openstack_credentials.rc PARTICIPANT + scp -o StrictHostKeyChecking=no -i hackfest_rsa vm-initial-setup.sh ubuntu@${SUBNET}.${IP}: & + scp -o StrictHostKeyChecking=no -i hackfest_rsa ./hackfest_rsa ubuntu@${SUBNET}.${IP}:.ssh/id_rsa & + scp -o StrictHostKeyChecking=no -i hackfest_rsa ./hackfest_rsa.pub ubuntu@${SUBNET}.${IP}:.ssh/id_rsa.pub & + scp -o StrictHostKeyChecking=no -i hackfest_rsa ./hackfest_rsa ./hackfest_rsa.pub ubuntu@${SUBNET}.${IP}:.ssh/ & + scp -o StrictHostKeyChecking=no -i hackfest_rsa vm-microk8s-setup.sh ubuntu@${SUBNET}.${IP}: & +done +wait + +for PARTICIPANT in `seq ${START} ${MAX}` ; do + IP=`expr ${PARTICIPANT} + 0` + source ./openstack_credentials.rc PARTICIPANT + ssh -o StrictHostKeyChecking=no -i hackfest_rsa ubuntu@${SUBNET}.${IP} "./vm-initial-setup.sh" 2>&1 | tee -a logs/vm-initial-setup-${PARTICIPANT}.log & +done +wait + +echo $0 $@ complete at $(date) \ No newline at end of file diff --git a/Hackfest_Demos/OSM-15/setup_scripts/vm-initial-setup.sh b/Hackfest_Demos/OSM-15/setup_scripts/vm-initial-setup.sh new file mode 100755 index 0000000000000000000000000000000000000000..26fe2e03e802235a96ab5bd6e81bfb44e74a9894 --- /dev/null +++ b/Hackfest_Demos/OSM-15/setup_scripts/vm-initial-setup.sh @@ -0,0 +1,53 @@ +#!/bin/bash +echo $0 started at $(date) + +sudo sed -i "s/127.0.0.1 /127.0.0.1 $HOSTNAME /" /etc/hosts +echo 'ubuntu:hackfest'| sudo chpasswd +sudo sed -i "s/^PasswordAuthentication.*/PasswordAuthentication yes/" /etc/ssh/sshd_config +sudo service ssh restart +echo "Acquire::http::Proxy \"http://172.21.1.1:3142\";" | sudo tee /etc/apt/apt.conf.d/proxy.conf +echo "Acquire::https::Proxy \"http://172.21.1.1:3142\";" | sudo tee -a /etc/apt/apt.conf.d/proxy.conf + +sudo apt update +sudo apt full-upgrade -y + +sudo snap install code --classic +sudo snap install openstackclients yq jq + +echo net.ipv4.ip_forward=1 | sudo tee -a /etc/sysctl.conf +sudo sysctl net.ipv4.ip_forward=1 +sudo iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE +cat << EOF | sudo tee /etc/rc.local +#!/bin/sh -e +echo iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE +EOF +sudo chmod +x /etc/rc.local + +git clone --recurse-submodules -j8 https://osm.etsi.org/gitlab/vnf-onboarding/osm-packages.git + +# Clone OSM code +mkdir $HOME/OSM/ +pushd $HOME/OSM +BRANCH=master +for MDG in common devops IM LCM MON N2VC NBI NG-SA NG-UI osmclient PLA POL RO tests; do + git clone https://osm.etsi.org/gerrit/osm/${MDG} + git -C ${MDG} checkout ${BRANCH} +done +popd + +# Export Module paths +cat << 'EOF' > $HOME/osm-vars.sh +export GIT_PATH=$HOME/OSM +export COMMON_LOCAL_PATH="$GIT_PATH/common" +export LCM_LOCAL_PATH="$GIT_PATH/LCM" +export MON_LOCAL_PATH="$GIT_PATH/MON" +export N2VC_LOCAL_PATH="$GIT_PATH/N2VC" +export NBI_LOCAL_PATH="$GIT_PATH/NBI" +export POL_LOCAL_PATH="$GIT_PATH/POL" +export RO_LOCAL_PATH="$GIT_PATH/RO" +EOF + +echo ". $HOME/osm-vars.sh" >> $HOME/.bashrc +. $HOME/osm-vars.sh + +echo $0 $@ complete at $(date) diff --git a/Hackfest_Demos/OSM-15/setup_scripts/vm-install-osm.sh b/Hackfest_Demos/OSM-15/setup_scripts/vm-install-osm.sh new file mode 100755 index 0000000000000000000000000000000000000000..eba4e370b5df1c6c42ea15810edecb5eff04ae72 --- /dev/null +++ b/Hackfest_Demos/OSM-15/setup_scripts/vm-install-osm.sh @@ -0,0 +1,52 @@ +#!/bin/bash +echo $0 started at $(date) + +sudo snap install microk8s --classic --channel=1.26/stable +sudo snap install jq + +sudo mkdir -p /var/snap/microk8s/current/args/certs.d/docker.io +cat << EOF | sudo tee /var/snap/microk8s/current/args/certs.d/docker.io/hosts.toml +server = "http://172.21.1.1:5000" + +[host."http://172.21.1.1:5000"] +capabilities = ["pull", "resolve"] +skip_verify = true +plain-http = true +EOF + +sudo systemctl restart snap.microk8s.daemon-containerd.service +sudo microk8s.enable storage + +sudo snap alias microk8s.kubectl kubectl + +wget https://osm-download.etsi.org/ftp/osm-13.0-thirteen/install_osm.sh +chmod +x ./install_osm.sh +./install_osm.sh --charmed -R testing-daily -t testing-daily -r testing -y 2>&1 | tee charmed_install_log.txt + +# Set our environment to talk to the new OSM +grep '^export OSM' ~/charmed_install_log.txt >> ~/.bashrc + +while [ 1 ] ; do + osm version + if [ $? -eq 0 ]; then break ; fi +done + + +# Expose our services +sudo sed -i "s/127.0.0.1 /127.0.0.1 nbi.osm ui.osm grafana.osm prometheus.osm /" /etc/hosts + +juju config -m osm grafana site_url=https://grafana.osm +juju config -m osm prometheus site_url=https://prometheus.osm +juju config -m osm nbi external-hostname=nbi.osm +juju config -m osm ng-ui external-hostname=ui.osm + +echo "export OSM_HOSTNAME=nbi.osm:443" >> .bashrc +echo "export OSM_HOSTNAME=nbi.osm:443" >> .profile +echo "export OSM_PASSWORD=hackfest" >> .bashrc +echo "export OSM_PASSWORD=hackfest" >> .profile + +# Set some sane defaults for LXD +lxc profile set default limits.memory 1GB +lxc profile set default limits.cpu 2 + +echo $0 $@ complete at $(date) \ No newline at end of file diff --git a/Hackfest_Demos/OSM-15/setup_scripts/vm-microk8s-setup.sh b/Hackfest_Demos/OSM-15/setup_scripts/vm-microk8s-setup.sh new file mode 100755 index 0000000000000000000000000000000000000000..25a311f33621c06c940308c83f3adc50eca4858e --- /dev/null +++ b/Hackfest_Demos/OSM-15/setup_scripts/vm-microk8s-setup.sh @@ -0,0 +1,44 @@ +#!/bin/bash +echo $0 started at $(date) + +sudo sed -i "s/127.0.0.1 /127.0.0.1 $HOSTNAME /" /etc/hosts +echo 'ubuntu:hackfest'| sudo chpasswd +sudo sed -i "s/^PasswordAuthentication.*/PasswordAuthentication yes/" /etc/ssh/sshd_config +sudo service ssh restart +echo "Acquire::http::Proxy \"http://172.21.1.1:3142\";" | sudo tee /etc/apt/apt.conf.d/proxy.conf +echo "Acquire::https::Proxy \"http://172.21.1.1:3142\";" | sudo tee -a /etc/apt/apt.conf.d/proxy.conf + +sudo apt update +sudo apt full-upgrade -y + +sudo snap install microk8s --classic --channel=1.26/stable +sudo mkdir -p /var/snap/microk8s/current/args/certs.d/docker.io +cat << EOF | sudo tee /var/snap/microk8s/current/args/certs.d/docker.io/hosts.toml +server = "http://172.21.1.1:5000" + +[host."http://172.21.1.1:5000"] +capabilities = ["pull", "resolve"] +skip_verify = true +plain-http = true +EOF + +sudo microk8s stop +sudo microk8s start +sudo microk8s.enable storage + +HOST_IP=10.0.0.11 +METALLB_START=10.0.0.201 +METALLB_END=10.0.0.250 +sudo cat /var/snap/microk8s/current/args/kube-apiserver | grep advertise-address || ( echo "--advertise-address ${HOST_IP}" | sudo tee -a /var/snap/microk8s/current/args/kube-apiserver; sudo microk8s.stop; sudo microk8s.start; ) + +sudo microk8s.enable metallb:${METALLB_START}-${METALLB_END} +sudo microk8s.enable ingress storage dns +sudo microk8s status --wait-ready +KUBECONFIG=~/kubeconfig.yaml +sudo microk8s config | tee ${KUBECONFIG} + +sudo usermod -a -G microk8s ubuntu +sudo chown -f -R ubuntu ~/.kube +sudo snap alias microk8s.kubectl kubectl + +echo $0 $@ complete at $(date) \ No newline at end of file diff --git a/Hackfest_Demos/OSM-15/setup_scripts/whitemist.yaml b/Hackfest_Demos/OSM-15/setup_scripts/whitemist.yaml new file mode 100644 index 0000000000000000000000000000000000000000..5809d6ccdedcaec6f7b3867fea1ec708ed61162a --- /dev/null +++ b/Hackfest_Demos/OSM-15/setup_scripts/whitemist.yaml @@ -0,0 +1,19 @@ + apiVersion: v1 + clusters: + - cluster: + certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUMvakNDQWVhZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJeU1EY3dOekl5TlRrMU9Gb1hEVE15TURjd05ESXlOVGsxT0Zvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTFVDCjdXUkFZTU90SmJ1U1loQ2FrVDZ3VUdKZEtZdUdRb29xd3F5WStnRW8yU1RnZEhPZEdpZzVJMjF3cG9tdFV1V2sKREhmZUJHMHIvRGkvUHdML3VEb0tqUFVvdU5JdTBYc1FTYXIrOGNMTkdWSDczSnBJcWRaZDVEREthdWFacU9ONQovdlJjdVBiWHdLNldkRmdldDB3RWQycVlKQytmNk9Dcm5oUnlSOGJvWVdxZ2kvNzhNSHFwMERNQ0I4TDFHRHVmCjdJVEFodUtBaUM1a2llQ1NzY1cwT0NVdTZPazdCVTZVc3dhd2phRVlWbUVkS0Flb0o2UWNGTHBnWkFvdDA2aFIKYlRqTmNkLzdLRDNCZVJWc3QycGZqL2lQdlVXaDBiR1VWREZDRXV1UC9VTUNRdHZ6SWVIUEhZamtjNkZYSldWSwpyZGk5bGNuV1FRSlVJVENLcFlzQ0F3RUFBYU5aTUZjd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0hRWURWUjBPQkJZRUZQMGRZVzdhVVlMZ0dpNk53aW1iV3llUWh0bjZNQlVHQTFVZEVRUU8KTUF5Q0NtdDFZbVZ5Ym1WMFpYTXdEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBQVBoNGhOUGlPUlZVZXQzRXgwTgpHekNUM1Q1OUtzMHFaa0JUMnpkM29qc0tsUS9LTS85TzJEa2YzdElnbkV6ZWlIdlMzUExTaTZkaDhISzE3MlNQCnMyUy95bW5nTWZMMlkyYU85ZTA2L3B1NEFvUG56c2ZSOFhzNnVXc2N5UkdVbXNMcjR5eVBFaythL0F4OXcxS2MKeHFQZDB2bXo4OVZMVHFHb2hjZVJKcmVkMU1RcnNnMnMzR1pzRDU4MVRpVlI0bGQ3VlpNSnpGM01Wa3hOazNnagp6dm5SQU01MHhPdmx1ek9ZVHo5aEthRjk0QTVta2pzck02ZStmdHN0dEpzQWduWnpIVHlaUFFkYW9TTE9YeWx6CnY2VGhrYjZvLzFXWjVTQjMrcCttRlJYYmN4UC9tS04zNktiem5UOWJpVlJTRkVXcWswTmdHdUZiNDBvNkJLM3gKckFRPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== + server: https://172.21.248.125:6443 + name: cluster.local + contexts: + - context: + cluster: cluster.local + user: kubernetes-admin + name: kubernetes-admin@cluster.local + current-context: kubernetes-admin@cluster.local + kind: Config + preferences: {} + users: + - name: kubernetes-admin + user: + client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURJVENDQWdtZ0F3SUJBZ0lJSkFwcnBoNU9PUjB3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TWpBM01EY3lNalU1TlRoYUZ3MHlNekEzTURjeU16QXdNREJhTURReApGekFWQmdOVkJBb1REbk41YzNSbGJUcHRZWE4wWlhKek1Sa3dGd1lEVlFRREV4QnJkV0psY201bGRHVnpMV0ZrCmJXbHVNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXhqWW0wUUlYL1NsbENlVjgKb042Yy9YWmJjZ3crNENTYk9UTU9qYjNQeGJsRmVGbDlxeTZGQVVheVlxb3BjTjc0d2h1WlEvMlZ2OTAvcWs5VAo0aFVWdytFdjNmWkhsc3E0cnJWZDVBK0FINTBscVYvVm10VDV5dWJYMURjSFhVdDU5c3dtc1c2aWxRVDNvbG1uClJuaEpOS2ZvajRqUEw2Z1JrL01FL3Q5VHVpamtPdHBIaWd2VW1aTWpWQkMwb2NRajlQekRJcnZSUUpkSnNIdzAKZ1lJNUZldXlkY3BoeENSc3NQdE00MnBDMjZjQkZIdWpzTzUwZE1ETDRIZUV4ZGhTYUxOZDJRbWxSQy84NGNnegpvbk43b1ZmR0VqL0FVSFFCa3RtZ2RiSU9sd0JaZjVXUzVZeThGcCtGNEZQZG1EYlpmZ3dZeUNZZnNNOEZTb2xwClA0TU84d0lEQVFBQm8xWXdWREFPQmdOVkhROEJBZjhFQkFNQ0JhQXdFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUgKQXdJd0RBWURWUjBUQVFIL0JBSXdBREFmQmdOVkhTTUVHREFXZ0JUOUhXRnUybEdDNEJvdWpjSXBtMXNua0liWgorakFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBbVRURk5mK0prbG4wRHZRVW9ZYTlsUFZTRCs4VkI2WkJ6bVd0Ci9ialEyZ3hmTHErc0o3aHNabm04b2s4UGRGVWwwa1RsQlRiWldxTmhuZkVmUWcyZUZxNHYvNmhXMWNnbUxBOVQKV0hmU2Vwclg4VDBDVmRSUFA2MHo1L2ZJYWlGeXBwR2pXZWVUSDBWZkQ2RmRsSzNkVSs1VjFpVThnbVU0SXB6RQpLL0ExNEEzSGRROVM4bTgwQzBCek14ZTEyQWtWZlNDWkNVcHJjVU1QalZlcDRYY2tZcHkzTXN3cjFpaU9aZ1lHCm5RL3NIZTN6T2hURFppSEZBSFREL3k2RW8xbzk5bHJTcmNSWFEvK1I1YVQ1aG9xYkt0ZitiMjd2c1lMRTlPd1AKZ3BZT3ZFeXhtL05GNjR4WDFqZVoyeGdMZDBzV1BmdVM0cHdXbDczY250TlNveE5iSHc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== + client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBeGpZbTBRSVgvU2xsQ2VWOG9ONmMvWFpiY2d3KzRDU2JPVE1PamIzUHhibEZlRmw5CnF5NkZBVWF5WXFvcGNONzR3aHVaUS8yVnY5MC9xazlUNGhVVncrRXYzZlpIbHNxNHJyVmQ1QStBSDUwbHFWL1YKbXRUNXl1YlgxRGNIWFV0NTlzd21zVzZpbFFUM29sbW5SbmhKTktmb2o0alBMNmdSay9NRS90OVR1aWprT3RwSAppZ3ZVbVpNalZCQzBvY1FqOVB6RElydlJRSmRKc0h3MGdZSTVGZXV5ZGNwaHhDUnNzUHRNNDJwQzI2Y0JGSHVqCnNPNTBkTURMNEhlRXhkaFNhTE5kMlFtbFJDLzg0Y2d6b25ON29WZkdFai9BVUhRQmt0bWdkYklPbHdCWmY1V1MKNVl5OEZwK0Y0RlBkbURiWmZnd1l5Q1lmc004RlNvbHBQNE1POHdJREFRQUJBb0lCQVFDSXY4MlIvNjdMUStibwpxQUtPL21jelc1Z0ZuRHM0NnlpSWt4Z2taR05YbDlZOURRanR0RitoSE1SdjI5UlJnaFAvMzRpalp1NE0vRGt6CmFCMklhbUdremRUM2Z6V3U3RmYwZVQ2NDNKVFp1dExFQTFGY3pEazJhb05YYjB2T2F3ZFBaVlFBc0VMTkt5c3EKUUU1dkNRZ0FveU9JKzZ0dHhyZXg2a1YxRG1FMm1rM1BOZkNtQ3FybVhoSGorZHJQZlhGZElnM0VLVFFwWW43bApSQ1VzM09lZXowZkt5T1lsYmw3U3ZBeHNvN1J2UVFHYmcvQTNFZzkwb1hSY0Rxd3NxK3p4VkF6WlRJcWtIREYxCmkrbnVqTEFHV1lLQ0huK2xyUW8xUnFRcmJYS1hQdFBPTVlUOWVzeWNmMkhYaEQ1aCtSMEZXRHdPVUJkVndyUnEKU0ZmZllCSXBBb0dCQU05Wkc3SW5iVmpCeWxqNWVGczZrZzRwMTVjOS92bmZtZjhydEVkY3JVQk42MVAyc3pHVwpLeUpOM0hNQXI5ZUxvU1ZhbldMaXZEQmVxQ1VDOVE1ZTByME5JRGlEOXpsSjIwcm1vOWh1aFpRSEZ0a1c5aGZDCmlYblNQSEtHTUk1SGpiQ2xzaTlabklwMmlKR0IvSXVpQit2OFE3eUQyZUNiUm1SdUE1RjUyUzNYQW9HQkFQUzQKTzdqbTdGRS9xdnd0aEZwUzlBRUFBSE1JaFVrWlpiMDB5bEFwNlA2M2F5R0krbGR1Wlp5RjIwc004cUtaeFlCQQpIT2lZRG1tSG9NTXdSTDNURnJma3U1d253NE5hRmJROTE0NXZKMy9UbG9pVG9BYUJnMGdiRzZVNEFnTjFEU3U4ClY4b2ZSWlJhMUJTbkkvazQ4ZVNucUs0Zlh0ajVSUU9CK0FCcUZXeEZBb0dBUUhBUjRtRE1ZNnYrQlg2cC83Z0oKRWV2QSsxaWg5K2VjaFNlQTVEaVNBd3owR0dqdnNYWll1MVYxTUN4RGVYb0VQNGFVcU5tTDRJQmFRdjVUUi84QwpBUXltT2NvUk43V1RPQWpMWElTa2NLZHZXMUgrY3MzYlNZZWpqM2ZTZVRVVmZKTlI5OU1paWdsaVVjNFN2UlpDCjNmek0xRFlwck5xMG1wdHg4bkRxcElzQ2dZQmZLcDRmQTc1MndqbXVJODFLaXVQVTE3bFZBc1ZDYmh3QWZsMEcKMjZWK0dMb1Nxb0FnTEJCYjFEbzViMm1VRGhTZUVWQ3NxeVUvcUx5OTZ6RndXSHlIT3U0eWhjd2tjbzNxTC9wNQpxNFJDMDNmQTJSZnNMOFZyN3c3TEs0S3M4WUlUdGdTMTEzOXBlQUR0bnlvQUswTDJWclRrTWRMaXNkMUN4Zkk1Cnh3ZFp1UUtCZ1FES1dNS1lwcVBHUjlVY2ZiSDVMdHpzcVBHQW1GeDZZVHV1RW94RHFZTDcvVkZ2ZDB3WkFrNlUKUDQ2UzVBUHFMckF0Z1lRcEo1a3NlZjJGSy9QMDhKMUlRYW4rN2tIdnNSMHpBSEtSYW9NdUVPbDdVVTlpQWcwbwp2a1FUd1RjVFNjV2hMdDlta21SOFByWHVLNEtZZ2lnSEg1aXlrUTRwN2dRZ0llVUkxeG50aXc9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=