From 67cbc2a4e4037d7ea446aa724ee8b7a67e5362ba Mon Sep 17 00:00:00 2001 From: Mark Beierl Date: Sat, 8 Oct 2022 06:10:00 -0400 Subject: [PATCH] Updates Added logging, creation of subnets, improved cleanup Signed-off-by: Mark Beierl --- .../OSM-MR13/Setup Scripts/README.md | 32 +++-- .../OSM-MR13/Setup Scripts/common-vars | 14 +- .../create-openstack-user-and-project.sh | 135 +++++++++++++----- .../Setup Scripts/create-osm-vm-ports.sh | 10 -- .../Setup Scripts/create-osm-vm-servers.sh | 9 -- .../delete-openstack-user-and-project.sh | 57 +++++--- .../OSM-MR13/Setup Scripts/hackfest_rsa | 38 +++++ .../OSM-MR13/Setup Scripts/hackfest_rsa.pub | 1 + .../OSM-MR13/Setup Scripts/logs/.gitkeep | 0 .../Setup Scripts/osm-cloud-init.yaml | 17 +++ .../run-create-openstack-user-and-project.sh | 13 ++ .../run-delete-openstack-user-and-project.sh | 13 ++ .../OSM-MR13/Setup Scripts/run-full-setup.sh | 13 ++ .../OSM-MR13/Setup Scripts/run-install-osm.sh | 9 +- .../Setup Scripts/run-microk8s-setup.sh | 19 +++ .../run-osm-vim-k8scluster-add.sh | 19 ++- .../Setup Scripts/run-vm-initial-setup.sh | 21 +++ .../OSM-MR13/Setup Scripts/run-vm-setup.sh | 14 -- .../Setup Scripts/vm-initial-setup.sh | 5 +- .../OSM-MR13/Setup Scripts/vm-install-osm.sh | 13 ++ .../Setup Scripts/vm-microk8s-setup.sh | 43 ++++++ .../OSM-MR13/Setup Scripts/vyos-userdata.vsh | 25 ++++ 22 files changed, 412 insertions(+), 108 deletions(-) delete mode 100755 Hackfest_Demos/OSM-MR13/Setup Scripts/create-osm-vm-ports.sh delete mode 100755 Hackfest_Demos/OSM-MR13/Setup Scripts/create-osm-vm-servers.sh create mode 100644 Hackfest_Demos/OSM-MR13/Setup Scripts/hackfest_rsa create mode 100644 Hackfest_Demos/OSM-MR13/Setup Scripts/hackfest_rsa.pub create mode 100644 Hackfest_Demos/OSM-MR13/Setup Scripts/logs/.gitkeep create mode 100644 Hackfest_Demos/OSM-MR13/Setup Scripts/osm-cloud-init.yaml create mode 100755 Hackfest_Demos/OSM-MR13/Setup Scripts/run-create-openstack-user-and-project.sh create mode 100755 Hackfest_Demos/OSM-MR13/Setup Scripts/run-delete-openstack-user-and-project.sh create mode 100755 Hackfest_Demos/OSM-MR13/Setup Scripts/run-full-setup.sh create mode 100755 Hackfest_Demos/OSM-MR13/Setup Scripts/run-microk8s-setup.sh create mode 100755 Hackfest_Demos/OSM-MR13/Setup Scripts/run-vm-initial-setup.sh delete mode 100755 Hackfest_Demos/OSM-MR13/Setup Scripts/run-vm-setup.sh create mode 100755 Hackfest_Demos/OSM-MR13/Setup Scripts/vm-microk8s-setup.sh create mode 100644 Hackfest_Demos/OSM-MR13/Setup Scripts/vyos-userdata.vsh diff --git a/Hackfest_Demos/OSM-MR13/Setup Scripts/README.md b/Hackfest_Demos/OSM-MR13/Setup Scripts/README.md index 45d124ba..80e2b8ec 100644 --- a/Hackfest_Demos/OSM-MR13/Setup Scripts/README.md +++ b/Hackfest_Demos/OSM-MR13/Setup Scripts/README.md @@ -14,20 +14,13 @@ FLAVOR: the flavour of the new VM to launch. Must have at least 4 CPUs, 8 GB RA 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 -### Creating ports -This script will create the ports in Openstack on the subnet specified -``` -./create-osm-vm-ports.sh -``` - -### Launching VM -This script will launch all the OSM VMs in a loop +### Creating Openstack Tenants +This script will create users and projects in Openstack for hackfest-1, -2, -3, etc. These projects are for deploying workloads to, OSM itself will be installed under the admin tenant. It also creates SGi, S1, Private and Management networks, and launches OSM, VyOS and Microk8s VMs in the tenant. ``` -./create-osm-vm-servers.sh +./run-create-openstack-user-and-project.sh ``` - ### Initial Configuration This script updates apt, upgrades the system to the latest 20.04 and installs remote desktop software @@ -35,6 +28,14 @@ This script updates apt, upgrades the system to the latest 20.04 and installs re ./run-vm-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`. @@ -47,3 +48,14 @@ This script downloads the installer and runs it. It also sets the OSM admin pas ``` ./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-MR13/Setup Scripts/common-vars b/Hackfest_Demos/OSM-MR13/Setup Scripts/common-vars index 73c9c8f3..1d088dac 100644 --- a/Hackfest_Demos/OSM-MR13/Setup Scripts/common-vars +++ b/Hackfest_Demos/OSM-MR13/Setup Scripts/common-vars @@ -1,3 +1,7 @@ +if [ ! -z ${DEBUG} ]; then + set -x +fi + START=1 MAX=1 @@ -5,13 +9,19 @@ if [ ! -z $2 ] ; then START=$1 MAX=$2 elif [ ! -z $1 ] ; then + START=$1 MAX=$1 fi # ETSI VIM ADMIN_DOMAIN=default, Partner Cloud=admin_domain ADMIN_DOMAIN=default APT_PROXY=http://172.21.1.1:3142 -FLAVOR=m1.xlarge -KEY_NAME=mbeierl +FLAVOR=osm.sanity +KEY_NAME=hackfest NETWORK=osm-ext SUBNET=172.21.248 + +MANAGEMENT_SUBNET=10.0.0 +SGi_SUBNET=192.168.2 +S1_SUBNET=192.168.0 +PRIVATE_SUBNET=192.168.239 \ No newline at end of file diff --git a/Hackfest_Demos/OSM-MR13/Setup Scripts/create-openstack-user-and-project.sh b/Hackfest_Demos/OSM-MR13/Setup Scripts/create-openstack-user-and-project.sh index 08b96359..db0c3454 100755 --- a/Hackfest_Demos/OSM-MR13/Setup Scripts/create-openstack-user-and-project.sh +++ b/Hackfest_Demos/OSM-MR13/Setup Scripts/create-openstack-user-and-project.sh @@ -1,42 +1,103 @@ #!/bin/bash +echo $0 started at $(date) . ./common-vars . ./admin-credentials.rc -for PARTICIPANT in `seq ${START} ${MAX}` ; do - - OPENSTACK_USER=hackfest-${PARTICIPANT} - PROJECT=hackfest-${PARTICIPANT} - PASSWORD=hackfest - - echo "Creating OpenStack project: $PROJECT" - openstack project create --domain ${ADMIN_DOMAIN} $PROJECT - PROJECT_ID=`openstack project list | grep $PROJECT | awk '{print $2}'` - openstack quota set --cores 64 --ram 131072 $PROJECT_ID - - echo "Creating OpenStack User" - openstack user create --domain ${ADMIN_DOMAIN} --password $PASSWORD $OPENSTACK_USER - openstack role add --user $OPENSTACK_USER --project $PROJECT member - - echo "Creating OpenStack Network RBAC policy access_as_external, for network $NETWORK and project $PROJECT" - openstack network rbac create \ - --target-project $PROJECT \ - --type network \ - --action access_as_external \ - $NETWORK - - echo "Creating OpenStack Network RBAC policy access_as_shared, for network $NETWORK and project $PROJECT" - openstack network rbac create \ - --target-project $PROJECT \ - --type network \ - --action access_as_shared \ - $NETWORK - - echo "Adding security groups" - for i in $(openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID security group list | awk '/default/{ print $2 }'); do - openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID security group rule create $i --protocol icmp --remote-ip 0.0.0.0/0 - openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID security group rule create $i --protocol udp --remote-ip 0.0.0.0/0 - openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID security group rule create $i --protocol tcp --remote-ip 0.0.0.0/0 - done - -done \ No newline at end of file +PARTICIPANT=${1} + +OPENSTACK_USER=hackfest-${PARTICIPANT} +PROJECT=hackfest-${PARTICIPANT} +PASSWORD=hackfest + +echo "Creating OpenStack project: $PROJECT" +openstack project create --domain ${ADMIN_DOMAIN} $PROJECT +PROJECT_ID=`openstack project list | grep "${PROJECT} " | awk '{print $2}'` +openstack quota set --cores 64 --ram 131072 --instances 12 $PROJECT_ID & + +echo "Creating OpenStack User" +openstack user create --domain ${ADMIN_DOMAIN} --password $PASSWORD $OPENSTACK_USER +openstack role add --user $OPENSTACK_USER --project $PROJECT member & + +echo "Creating OpenStack Network RBAC policy access_as_external, for network $NETWORK and project $PROJECT" +openstack network rbac create \ + --target-project $PROJECT \ + --type network \ + --action access_as_external \ + $NETWORK & + +echo "Creating OpenStack Network RBAC policy access_as_shared, for network $NETWORK and project $PROJECT" +openstack network rbac create \ + --target-project $PROJECT \ + --type network \ + --action access_as_shared \ + $NETWORK & +wait + +echo "Adding security groups" +for i in $(openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID security group list | awk '/default/{ print $2 }'); do + openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID security group rule create $i --protocol icmp --remote-ip 0.0.0.0/0 & + openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID security group rule create $i --protocol udp --remote-ip 0.0.0.0/0 & + openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID security group rule create $i --protocol tcp --remote-ip 0.0.0.0/0 & +done +wait + +echo "Creating networks" +NETWORK=management +echo "Creating ${NETWORK} network" +openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID network create ${NETWORK} --enable --no-share +openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID subnet create ${NETWORK}-subnet --network=${NETWORK} --subnet-range=${MANAGEMENT_SUBNET}.0/24 +openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID router create ${NETWORK}-router +openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID router add subnet ${NETWORK}-router ${NETWORK}-subnet +openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID router set --external-gateway osm-ext ${NETWORK}-router + +NETWORK=SGi +echo "Creating ${NETWORK} network" +openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID network create ${NETWORK} --enable --no-share +openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID subnet create ${NETWORK}-subnet --network=${NETWORK} --subnet-range=${SGi_SUBNET}.0/24 +openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID router create ${NETWORK}-router +openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID router add subnet ${NETWORK}-router ${NETWORK}-subnet +openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID router set --external-gateway osm-ext ${NETWORK}-router + +NETWORK=S1 +echo "Creating ${NETWORK} network" +openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID network create ${NETWORK} --enable --no-share +openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID subnet create ${NETWORK}-subnet --network=${NETWORK} --subnet-range=${S1_SUBNET}.0/24 +openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID router create ${NETWORK}-router +openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID router add subnet ${NETWORK}-router ${NETWORK}-subnet +openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID router set --external-gateway osm-ext ${NETWORK}-router + +echo "Creating Private network" +openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID network create private --enable --no-share +openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID subnet create private-subnet --network=private --subnet-range=${PRIVATE_SUBNET}.0/24 + +echo "Creating ports" +# This port gets created as the admin +IP=`expr ${PARTICIPANT} + 100` +openstack port create --fixed-ip ip-address=${SUBNET}.${IP} --project=${PROJECT} --enable --network osm-ext hackfest-osm-${PARTICIPANT} & +# Create as the project user +openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID port create --fixed-ip ip-address=192.168.239.250 --enable --disable-port-security --network private VyOS-private & +openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID port create --fixed-ip ip-address=10.0.0.10 --enable --network management OSM-management & +openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID port create --fixed-ip ip-address=10.0.0.11 --enable --network management MK8s-management & +openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID port create --fixed-ip ip-address=10.0.0.250 --enable --network management VyOS-management & + +echo "Creating Keypair" +openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID keypair create --public-key ./hackfest_rsa.pub ${KEY_NAME} & +wait + +echo "Launching OSM VM" +openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID server create --key-name ${KEY_NAME} --flavor ${FLAVOR} --image ubuntu20.04 --nic port-id=hackfest-osm-${PARTICIPANT} --nic port-id=OSM-management --user-data ./osm-cloud-init.yaml osm-${PARTICIPANT} +echo "Launching Microk8s VM" +openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID server create --key-name ${KEY_NAME} --flavor ${FLAVOR} --image ubuntu22.04 --nic port-id=MK8s-management microk8s +echo "Launching VyOS Router" +openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID server create --flavor m1.small --image vyos-1.1.7 --nic port-id=VyOS-management --nic port-id=VyOS-private --config-drive True --user-data "`pwd`/vyos-userdata.vsh" vyos-pnf-router + +echo "Waiting for OSM VM to be ready" + +while [ 1 ] ; do + sleep 5 + ALIVE=$(ssh -T -o ConnectTimeout=1 -o StrictHostKeyChecking=no -i hackfest_rsa ubuntu@${SUBNET}.${IP} 'cloud-init status --wait | tail -1' 2> /dev/null) + if [ "${ALIVE}" == "status: done" ] ; then break ; fi +done + +echo $0 $@ complete at $(date) \ No newline at end of file diff --git a/Hackfest_Demos/OSM-MR13/Setup Scripts/create-osm-vm-ports.sh b/Hackfest_Demos/OSM-MR13/Setup Scripts/create-osm-vm-ports.sh deleted file mode 100755 index 78ee2851..00000000 --- a/Hackfest_Demos/OSM-MR13/Setup Scripts/create-osm-vm-ports.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash -. ./common-vars $@ - -. ./admin-credentials.rc - -for PARTICIPANT in `seq ${START} ${MAX}` ; do - IP=`expr ${PARTICIPANT} + 100` - PROJECT="hackfest-${PARTICIPANT}" - openstack port create --fixed-ip ip-address=${SUBNET}.${IP} --project=${PROJECT} --enable --network osm-ext hackfest-osm-${PARTICIPANT} -done diff --git a/Hackfest_Demos/OSM-MR13/Setup Scripts/create-osm-vm-servers.sh b/Hackfest_Demos/OSM-MR13/Setup Scripts/create-osm-vm-servers.sh deleted file mode 100755 index b3048b5f..00000000 --- a/Hackfest_Demos/OSM-MR13/Setup Scripts/create-osm-vm-servers.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash -. ./common-vars $@ - -. ./admin-credentials.rc - -for PARTICIPANT in `seq ${START} ${MAX}` ; do - openstack server create --key-name ${KEY_NAME} --flavor ${FLAVOR} --image ubuntu20.04 --nic port-id=hackfest-osm-${PARTICIPANT} osm-${PARTICIPANT} -done - diff --git a/Hackfest_Demos/OSM-MR13/Setup Scripts/delete-openstack-user-and-project.sh b/Hackfest_Demos/OSM-MR13/Setup Scripts/delete-openstack-user-and-project.sh index ca3685ba..98a83c30 100755 --- a/Hackfest_Demos/OSM-MR13/Setup Scripts/delete-openstack-user-and-project.sh +++ b/Hackfest_Demos/OSM-MR13/Setup Scripts/delete-openstack-user-and-project.sh @@ -1,30 +1,53 @@ #!/bin/bash +echo $0 started at $(date) . ./common-vars . ./admin-credentials.rc -for PARTICIPANT in `seq ${START} ${MAX}` ; do +PARTICIPANT=${1} - OPENSTACK_USER=hackfest-$1 - PROJECT=$OPENSTACK_USER +OPENSTACK_USER=hackfest-$1 +PROJECT=$OPENSTACK_USER +PASSWORD=hackfest - echo Cleaning up ${OPENSTACK_USER} +echo Cleaning up ${OPENSTACK_USER} - PROJECT_ID=`openstack project list | grep $PROJECT | awk '{print $2}'` - if [ "${PROJECT_ID}" != "" ]; then +PROJECT_ID=`openstack project list | grep "${PROJECT} " | awk '{print $2}'` +if [ "${PROJECT_ID}" != "" ]; then - for RBAC in `openstack network rbac list -f value -c ID`; do - openstack network rbac show $RBAC -f value | grep $PROJECT_ID 2> /dev/null - if [ $? -eq 0 ] ; then - echo "Deleting RBAC policy $RBAC" - openstack network rbac delete $RBAC - fi + echo "Removing Router Ports" + for ROUTER in $(openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID router list -f value -c ID); do + openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID router unset --external-gateway ${ROUTER} + PORT=$(openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID router show ${ROUTER} -f json -c interfaces_info | jq .interfaces_info[0].port_id -r) + while [ "${PORT}" != "null" ] ; do + openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID router remove port ${ROUTER} ${PORT} + PORT=$(openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID router show ${ROUTER} -f json -c interfaces_info | jq .interfaces_info[0].port_id -r) done - fi + done + + echo "Removing VMs" + openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID server list -f value -c ID | xargs openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID server delete + echo "Removing Routers" + openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID router list -f value -c ID | xargs openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID router delete + echo "Removing Ports" + openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID port list -f value -c ID | xargs openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID port delete + echo "Removing Networks" + openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID network list -f value -c ID| xargs openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID network delete + + for RBAC in `openstack network rbac list -f value -c ID`; do + openstack network rbac show $RBAC -f value | grep $PROJECT_ID 2> /dev/null + if [ $? -eq 0 ] ; then + echo "Deleting RBAC policy $RBAC" + openstack network rbac delete $RBAC & + fi + done + wait echo "Deleting OpenStack project: $PROJECT" - openstack project delete --domain ${ADMIN_DOMAIN} $PROJECT + openstack project purge --project ${PROJECT_ID} +fi - echo "Deleting OpenStack User: $OPENSTACK_USER" - openstack user delete --domain ${ADMIN_DOMAIN} $OPENSTACK_USER -done \ No newline at end of file +echo "Deleting OpenStack User: $OPENSTACK_USER" +openstack user delete --domain ${ADMIN_DOMAIN} ${OPENSTACK_USER} + +echo $0 $@ complete at $(date) \ No newline at end of file diff --git a/Hackfest_Demos/OSM-MR13/Setup Scripts/hackfest_rsa b/Hackfest_Demos/OSM-MR13/Setup Scripts/hackfest_rsa new file mode 100644 index 00000000..21933873 --- /dev/null +++ b/Hackfest_Demos/OSM-MR13/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-MR13/Setup Scripts/hackfest_rsa.pub b/Hackfest_Demos/OSM-MR13/Setup Scripts/hackfest_rsa.pub new file mode 100644 index 00000000..5efe445d --- /dev/null +++ b/Hackfest_Demos/OSM-MR13/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-MR13/Setup Scripts/logs/.gitkeep b/Hackfest_Demos/OSM-MR13/Setup Scripts/logs/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/Hackfest_Demos/OSM-MR13/Setup Scripts/osm-cloud-init.yaml b/Hackfest_Demos/OSM-MR13/Setup Scripts/osm-cloud-init.yaml new file mode 100644 index 00000000..7384a541 --- /dev/null +++ b/Hackfest_Demos/OSM-MR13/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-MR13/Setup Scripts/run-create-openstack-user-and-project.sh b/Hackfest_Demos/OSM-MR13/Setup Scripts/run-create-openstack-user-and-project.sh new file mode 100755 index 00000000..121f7376 --- /dev/null +++ b/Hackfest_Demos/OSM-MR13/Setup Scripts/run-create-openstack-user-and-project.sh @@ -0,0 +1,13 @@ +#!/bin/bash +echo $0 started at $(date) + +. ./common-vars +. ./admin-credentials.rc +mkdir -p logs/ + +for PARTICIPANT in `seq ${START} ${MAX}` ; do + ./create-openstack-user-and-project.sh ${PARTICIPANT} 2>&1 | tee -a logs/create-openstack-user-and-project-${PARTICIPANT}.log & +done +wait + +echo $0 $@ complete at $(date) \ No newline at end of file diff --git a/Hackfest_Demos/OSM-MR13/Setup Scripts/run-delete-openstack-user-and-project.sh b/Hackfest_Demos/OSM-MR13/Setup Scripts/run-delete-openstack-user-and-project.sh new file mode 100755 index 00000000..b52f3636 --- /dev/null +++ b/Hackfest_Demos/OSM-MR13/Setup Scripts/run-delete-openstack-user-and-project.sh @@ -0,0 +1,13 @@ +#!/bin/bash +echo $0 started at $(date) + +. ./common-vars +. ./admin-credentials.rc +mkdir -p logs/ + +for PARTICIPANT in `seq ${START} ${MAX}` ; do + ./delete-openstack-user-and-project.sh ${PARTICIPANT} 2>&1 | tee -a logs/delete-openstack-user-and-project-${PARTICIPANT}.log & +done +wait + +echo $0 $@ complete at $(date) \ No newline at end of file diff --git a/Hackfest_Demos/OSM-MR13/Setup Scripts/run-full-setup.sh b/Hackfest_Demos/OSM-MR13/Setup Scripts/run-full-setup.sh new file mode 100755 index 00000000..a5cead4d --- /dev/null +++ b/Hackfest_Demos/OSM-MR13/Setup Scripts/run-full-setup.sh @@ -0,0 +1,13 @@ +#!/bin/bash +echo $0 started at $(date) + +. common-vars + +./run-create-openstack-user-and-project.sh $@ +./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-MR13/Setup Scripts/run-install-osm.sh b/Hackfest_Demos/OSM-MR13/Setup Scripts/run-install-osm.sh index 801bda49..e51f9157 100755 --- a/Hackfest_Demos/OSM-MR13/Setup Scripts/run-install-osm.sh +++ b/Hackfest_Demos/OSM-MR13/Setup Scripts/run-install-osm.sh @@ -1,13 +1,18 @@ #!/bin/bash +echo $0 started at $(date) + . ./common-vars $@ for PARTICIPANT in `seq ${START} ${MAX}` ; do IP=`expr ${PARTICIPANT} + 100` - scp ./vm-install-osm.sh ubuntu@${SUBNET}.${IP}: & + scp -o StrictHostKeyChecking=no -i hackfest_rsa ./vm-install-osm.sh ubuntu@${SUBNET}.${IP}: & done wait for PARTICIPANT in `seq ${START} ${MAX}` ; do IP=`expr ${PARTICIPANT} + 100` - xterm -hold -e ssh ubuntu@${SUBNET}.${IP} ./vm-install-osm.sh & + 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-MR13/Setup Scripts/run-microk8s-setup.sh b/Hackfest_Demos/OSM-MR13/Setup Scripts/run-microk8s-setup.sh new file mode 100755 index 00000000..c72e9f5d --- /dev/null +++ b/Hackfest_Demos/OSM-MR13/Setup Scripts/run-microk8s-setup.sh @@ -0,0 +1,19 @@ +#!/bin/bash +echo $0 started at $(date) + +. ./common-vars $@ + +for PARTICIPANT in `seq ${START} ${MAX}` ; do + IP=`expr ${PARTICIPANT} + 100` + 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} + 100` + 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-MR13/Setup Scripts/run-osm-vim-k8scluster-add.sh b/Hackfest_Demos/OSM-MR13/Setup Scripts/run-osm-vim-k8scluster-add.sh index f4e5fa71..9fcf25b2 100755 --- a/Hackfest_Demos/OSM-MR13/Setup Scripts/run-osm-vim-k8scluster-add.sh +++ b/Hackfest_Demos/OSM-MR13/Setup Scripts/run-osm-vim-k8scluster-add.sh @@ -1,6 +1,7 @@ -#!/bin/bash -x -. ./common-vars $@ +#!/bin/bash +echo $0 started at $(date) +. ./common-vars $@ . ./hackfest-credentials.rc for PARTICIPANT in `seq ${START} ${MAX}` ; do @@ -23,9 +24,15 @@ export OS_INTERFACE=public export OS_IDENTITY_API_VERSION=3 EOF - scp ${OS_USERNAME}.rc ubuntu@${SUBNET}.${IP}: - ssh ubuntu@${SUBNET}.${IP} ". .profile;echo 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_ID}, user_domain_name: ${OS_USER_DOMAIN_NAME} }\"" - scp whitemist.yaml ubuntu@${SUBNET}.${IP}: - ssh ubuntu@${SUBNET}.${IP} '. .profile;osm k8scluster-add --creds whitemist.yaml --vim openstack --k8s-nets "{"net1": "osm-ext"}" --version 1.20 --namespace test --description "k8s cluster" whitemist' + 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}: + 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_ID}, 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-MR13/Setup Scripts/run-vm-initial-setup.sh b/Hackfest_Demos/OSM-MR13/Setup Scripts/run-vm-initial-setup.sh new file mode 100755 index 00000000..c6702214 --- /dev/null +++ b/Hackfest_Demos/OSM-MR13/Setup Scripts/run-vm-initial-setup.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +echo $0 started at $(date) +. ./common-vars $@ + +for PARTICIPANT in `seq ${START} ${MAX}` ; do + IP=`expr ${PARTICIPANT} + 100` + + scp -o StrictHostKeyChecking=no -i hackfest_rsa vm-initial-setup.sh ubuntu@${SUBNET}.${IP}: & + 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} + 100` + 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-MR13/Setup Scripts/run-vm-setup.sh b/Hackfest_Demos/OSM-MR13/Setup Scripts/run-vm-setup.sh deleted file mode 100755 index f39fd099..00000000 --- a/Hackfest_Demos/OSM-MR13/Setup Scripts/run-vm-setup.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash -. ./common-vars $@ - -for PARTICIPANT in `seq ${START} ${MAX}` ; do - IP=`expr ${PARTICIPANT} + 100` - scp vm-initial-setup.sh ubuntu@${SUBNET}.${IP}: & -done -wait - -for PARTICIPANT in `seq ${START} ${MAX}` ; do - IP=`expr ${PARTICIPANT} + 100` - ssh ubuntu@${SUBNET}.${IP} ./vm-initial-setup.sh & -done -wait \ No newline at end of file diff --git a/Hackfest_Demos/OSM-MR13/Setup Scripts/vm-initial-setup.sh b/Hackfest_Demos/OSM-MR13/Setup Scripts/vm-initial-setup.sh index 2fcb883a..f6d1b55a 100755 --- a/Hackfest_Demos/OSM-MR13/Setup Scripts/vm-initial-setup.sh +++ b/Hackfest_Demos/OSM-MR13/Setup Scripts/vm-initial-setup.sh @@ -1,4 +1,5 @@ #!/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 @@ -27,4 +28,6 @@ Action=org.freedesktop.color-manager.create-device;org.freedesktop.color-manager ResultAny=yes ResultInactive=yes ResultActive=yes -EOF \ No newline at end of file +EOF + +echo $0 $@ complete at $(date) \ No newline at end of file diff --git a/Hackfest_Demos/OSM-MR13/Setup Scripts/vm-install-osm.sh b/Hackfest_Demos/OSM-MR13/Setup Scripts/vm-install-osm.sh index 57bd215c..80f214b8 100755 --- a/Hackfest_Demos/OSM-MR13/Setup Scripts/vm-install-osm.sh +++ b/Hackfest_Demos/OSM-MR13/Setup Scripts/vm-install-osm.sh @@ -1,4 +1,5 @@ #!/bin/bash +echo $0 started at $(date) sudo snap install microk8s --classic --channel=1.23/stable @@ -18,6 +19,7 @@ sudo microk8s.enable storage sudo snap alias microk8s.kubectl kubectl + wget https://osm-download.etsi.org/ftp/osm-12.0-twelve/install_osm.sh chmod +x ./install_osm.sh ./install_osm.sh -y --charmed --tag testing-daily 2>&1 | tee install_osm.log @@ -26,6 +28,11 @@ chmod +x ./install_osm.sh $(grep "export OSM_PASSWORD" install_osm.log|head -1) $(grep "export OSM_HOSTNAME" install_osm.log|head -1) +while [ 1 ] ; do + osm version + if [ $? -eq 0 ]; then break ; fi +done + # Change the password osm user-update admin --password hackfest sudo sed -i "s/127.0.0.1 /127.0.0.1 nbi.osm ui.osm grafana.osm prometheus.osm /" /etc/hosts @@ -39,3 +46,9 @@ 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-MR13/Setup Scripts/vm-microk8s-setup.sh b/Hackfest_Demos/OSM-MR13/Setup Scripts/vm-microk8s-setup.sh new file mode 100755 index 00000000..b7cf75cc --- /dev/null +++ b/Hackfest_Demos/OSM-MR13/Setup Scripts/vm-microk8s-setup.sh @@ -0,0 +1,43 @@ +#!/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.23/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 systemctl restart snap.microk8s.daemon-containerd.service +sudo microk8s.enable storage + +HOST_IP=10.0.0.11 +METALLB_START=10.0.0.200 +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-MR13/Setup Scripts/vyos-userdata.vsh b/Hackfest_Demos/OSM-MR13/Setup Scripts/vyos-userdata.vsh new file mode 100644 index 00000000..4b17c45b --- /dev/null +++ b/Hackfest_Demos/OSM-MR13/Setup Scripts/vyos-userdata.vsh @@ -0,0 +1,25 @@ +#!/bin/vbash +source /opt/vyatta/etc/functions/script-template +# Interface Config eth0 +set interfaces ethernet eth0 address dhcp +set interfaces ethernet eth0 description VyOS-public +# Interface Config eth1 +set interfaces ethernet eth1 address dhcp +set interfaces ethernet eth1 description VyOS-private +# System config +set system gateway-address 10.0.0.1 +set system host-name vyos-firewall +set service ssh listen-address 0.0.0.0 +set service ssh port 22 +set system login user osm authentication plaintext-password osm2021 +# Enable masquerading +set nat source rule 100 outbound-interface 'eth0' +set nat source rule 100 source address '192.168.239.0/24' +set nat source rule 100 translation address masquerade +# SNMP +set service snmp community public authorization ro +set service snmp location "OSM Labs" +set service snmp contact "osmsupport@etsi.org" +# Save +commit +save \ No newline at end of file -- GitLab