Commit 67cbc2a4 authored by Mark Beierl's avatar Mark Beierl
Browse files

Updates



Added logging, creation of subnets, improved cleanup
Signed-off-by: Mark Beierl's avatarMark Beierl <mark.beierl@canonical.com>
parent f68153bd
Pipeline #7497 failed with stage
in 1 minute and 49 seconds
...@@ -14,20 +14,13 @@ FLAVOR: the flavour of the new VM to launch. Must have at least 4 CPUs, 8 GB RA ...@@ -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 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 SUBNET: the first three octets of the subnet to use. IP addresses will be allocated from this subnet, starting with .101 - .199
### Creating ports ### Creating Openstack Tenants
This script will create the ports in Openstack on the subnet specified 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-ports.sh
```
### Launching VM
This script will launch all the OSM VMs in a loop
``` ```
./create-osm-vm-servers.sh ./run-create-openstack-user-and-project.sh
``` ```
### Initial Configuration ### Initial Configuration
This script updates apt, upgrades the system to the latest 20.04 and installs remote desktop software 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 ...@@ -35,6 +28,14 @@ This script updates apt, upgrades the system to the latest 20.04 and installs re
./run-vm-setup.sh ./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 ### Install OSM
This script downloads the installer and runs it. It also sets the OSM admin password to `hackfest`. 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 ...@@ -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 ./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
```
if [ ! -z ${DEBUG} ]; then
set -x
fi
START=1 START=1
MAX=1 MAX=1
...@@ -5,13 +9,19 @@ if [ ! -z $2 ] ; then ...@@ -5,13 +9,19 @@ if [ ! -z $2 ] ; then
START=$1 START=$1
MAX=$2 MAX=$2
elif [ ! -z $1 ] ; then elif [ ! -z $1 ] ; then
START=$1
MAX=$1 MAX=$1
fi fi
# ETSI VIM ADMIN_DOMAIN=default, Partner Cloud=admin_domain # ETSI VIM ADMIN_DOMAIN=default, Partner Cloud=admin_domain
ADMIN_DOMAIN=default ADMIN_DOMAIN=default
APT_PROXY=http://172.21.1.1:3142 APT_PROXY=http://172.21.1.1:3142
FLAVOR=m1.xlarge FLAVOR=osm.sanity
KEY_NAME=mbeierl KEY_NAME=hackfest
NETWORK=osm-ext NETWORK=osm-ext
SUBNET=172.21.248 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
#!/bin/bash #!/bin/bash
echo $0 started at $(date)
. ./common-vars . ./common-vars
. ./admin-credentials.rc . ./admin-credentials.rc
for PARTICIPANT in `seq ${START} ${MAX}` ; do PARTICIPANT=${1}
OPENSTACK_USER=hackfest-${PARTICIPANT} OPENSTACK_USER=hackfest-${PARTICIPANT}
PROJECT=hackfest-${PARTICIPANT} PROJECT=hackfest-${PARTICIPANT}
PASSWORD=hackfest PASSWORD=hackfest
echo "Creating OpenStack project: $PROJECT" echo "Creating OpenStack project: $PROJECT"
openstack project create --domain ${ADMIN_DOMAIN} $PROJECT openstack project create --domain ${ADMIN_DOMAIN} $PROJECT
PROJECT_ID=`openstack project list | grep $PROJECT | awk '{print $2}'` PROJECT_ID=`openstack project list | grep "${PROJECT} " | awk '{print $2}'`
openstack quota set --cores 64 --ram 131072 $PROJECT_ID openstack quota set --cores 64 --ram 131072 --instances 12 $PROJECT_ID &
echo "Creating OpenStack User" echo "Creating OpenStack User"
openstack user create --domain ${ADMIN_DOMAIN} --password $PASSWORD $OPENSTACK_USER openstack user create --domain ${ADMIN_DOMAIN} --password $PASSWORD $OPENSTACK_USER
openstack role add --user $OPENSTACK_USER --project $PROJECT member openstack role add --user $OPENSTACK_USER --project $PROJECT member &
echo "Creating OpenStack Network RBAC policy access_as_external, for network $NETWORK and project $PROJECT" echo "Creating OpenStack Network RBAC policy access_as_external, for network $NETWORK and project $PROJECT"
openstack network rbac create \ openstack network rbac create \
--target-project $PROJECT \ --target-project $PROJECT \
--type network \ --type network \
--action access_as_external \ --action access_as_external \
$NETWORK $NETWORK &
echo "Creating OpenStack Network RBAC policy access_as_shared, for network $NETWORK and project $PROJECT" echo "Creating OpenStack Network RBAC policy access_as_shared, for network $NETWORK and project $PROJECT"
openstack network rbac create \ openstack network rbac create \
--target-project $PROJECT \ --target-project $PROJECT \
--type network \ --type network \
--action access_as_shared \ --action access_as_shared \
$NETWORK $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 echo "Adding security groups"
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 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 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 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 tcp --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 &
done 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 wait
\ No newline at end of file
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
#!/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
#!/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
#!/bin/bash #!/bin/bash
echo $0 started at $(date)
. ./common-vars . ./common-vars
. ./admin-credentials.rc . ./admin-credentials.rc
for PARTICIPANT in `seq ${START} ${MAX}` ; do PARTICIPANT=${1}
OPENSTACK_USER=hackfest-$1 OPENSTACK_USER=hackfest-$1
PROJECT=$OPENSTACK_USER 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}'` PROJECT_ID=`openstack project list | grep "${PROJECT} " | awk '{print $2}'`
if [ "${PROJECT_ID}" != "" ]; then if [ "${PROJECT_ID}" != "" ]; then
for RBAC in `openstack network rbac list -f value -c ID`; do echo "Removing Router Ports"
openstack network rbac show $RBAC -f value | grep $PROJECT_ID 2> /dev/null for ROUTER in $(openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID router list -f value -c ID); do
if [ $? -eq 0 ] ; then openstack --os-username=$OPENSTACK_USER --os-password=$PASSWORD --os-project-id=$PROJECT_ID router unset --external-gateway ${ROUTER}
echo "Deleting RBAC policy $RBAC" 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)
openstack network rbac delete $RBAC while [ "${PORT}" != "null" ] ; do
fi 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 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" 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" echo "Deleting OpenStack User: $OPENSTACK_USER"
openstack user delete --domain ${ADMIN_DOMAIN} $OPENSTACK_USER openstack user delete --domain ${ADMIN_DOMAIN} ${OPENSTACK_USER}
done
\ No newline at end of file echo $0 $@ complete at $(date)
\ No newline at end of file
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABlwAAAAdzc2gtcn
NhAAAAAwEAAQAAAYEAnJa7ao5DB7kCWoPYkdP0f/w5rW7t7YzsTYCHdKV8M/mktewb+N3E
bFxcxs7Caut5M9M+gpZpJyY0d/M7tzvhlAbWvdicwkjLgU6ujKZwwuxfPyc7UJrxw0dwNl
ubtaFbWa/tXygKlk+5/ICFFYY4d6dXkqfYjO/CUfpSXOw+hL7qS9ZkbnXFoLiLwnz0Zm5w
ATIUdyDtH9dzrWCRwFa0QKEmuakRxJoY5BLra9Hfork8VZqFmwBtA4rsRHBu820LYwRyVq
k4OXYKjSfWXSJWPoysOtOt9lJeaA/S+DitAQwCwUTSuE6iXGLAfnQbi4G5cnjMj1+3A6xj
p0iwM//3kl3HsJGX6GVlD5hWzASjzQoGi4wyHmM3S3OFwQl06Ljv4bRjNInUFE/23m2zQg
1h3ieQlPMkbxLHnSdMW+JBFMH9a6zyarLmNX2hsx4DviwDxqCSA+Bh9gcNR/pWDf4bLcBq
wmCjBBQ28ySdwpv/hkPn9zoyaRBrFIrfJkbz7MInAAAFiDW+R9o1vkfaAAAAB3NzaC1yc2
EAAAGBAJyWu2qOQwe5AlqD2JHT9H/8Oa1u7e2M7E2Ah3SlfDP5pLXsG/jdxGxcXMbOwmrr
eTPTPoKWaScmNHfzO7c74ZQG1r3YnMJIy4FOroymcMLsXz8nO1Ca8cNHcDZbm7WhW1mv7V
8oCpZPufyAhRWGOHenV5Kn2IzvwlH6UlzsPoS+6kvWZG51xaC4i8J89GZucAEyFHcg7R/X
c61gkcBWtEChJrmpEcSaGOQS62vR36K5PFWahZsAbQOK7ERwbvNtC2MEclapODl2Co0n1l
0iVj6MrDrTrfZSXmgP0vg4rQEMAsFE0rhOolxiwH50G4uBuXJ4zI9ftwOsY6dIsDP/95Jd
x7CRl+hlZQ+YVswEo80KBouMMh5jN0tzhcEJdOi47+G0YzSJ1BRP9t5ts0INYd4nkJTzJG
8Sx50nTFviQRTB/Wus8mqy5jV9obMeA74sA8agkgPgYfYHDUf6Vg3+Gy3AasJgowQUNvMk
ncKb/4ZD5/c6MmkQaxSK3yZG8+zCJwAAAAMBAAEAAAGARFFbKW0x/3+PcFBPv6f654/y1i
Esu1SdkF7AOnssyjxjyV9fAOA4n5JYhACXQDDGK39BqZXYANWhVKgRaKs+iufE7wU/t2At
MZhTfVfsoI6iK5qBPXSsgCd95KlpMQBaK7Ie3UJKBDR6j5i+95ocrs+a3IhQaYT9gei14I
bN6/qjnDzIiozlkW6Sw2Li+oG6ajsgRK1f52GHvaABVyo88GmezKff8afNrkw23E6vxH4O
vcZx/iNcbIxC8sUfEyOCgoFyiJJcg1Jk3klI7huqYGFRerosN4LrDlaA6nlD9dO1sQslAE
zRAr3BohwW1XHVN7Il0A/x5Tq92zPKmRQ2IypZ3waqAsXuhUOPedxhEBl45tfo7FSyc8K8
j4qyHuhbQfMWpLzcM/i2by359Oex0qC9hjAySm946hJMFleLpOnIzwn1T4Qb+TEHzESPFP
gUyZmqLRcdeTL29DkSqozu61Jf3kuOhUo0/UAB+R8x3fRDYG/76zxVSvUVZSFMpzDhAAAA
wQCdYZyt0TbMCSFova3Rqf+eRLAU0ahqiSdaFccVAIVX3a+EDOoiY+serJy0S0rQ4+foNg
dCE6/+q/Nljemn8o6F0SlmXLgHxwMu4x2nYFIdpLqxp1Y8H2eRhUdsSZWUBmQ4cFO8bKZC
Dn//EL1O4sukrP8ulNw0t/il+hM7+lnPRwGoUg77xztL6jt2xCnJ5zWxmRCZZ9rtV1GW3T
uVwu2kyPMDzFZQq0v/v07e1Hk1SQq4UNLNrLqgPd+PGucBvSsAAADBAMIcGKmgcGFoqFot
a0vNrUFeK1ajxJm/GElUqxTFYloIAiCIUcVmwdF06MyKzib8dMPn2jLusls2D87Ks752yi
2nt3Q8XPUFr7FFhL3lEViHhFMQ4wfWQzQwHTgXJKZQkObrxRZc9waBlgROYzPdgw/MjefM
yeFcnVTth+VgMT/1LXyMGCr8Ay9wa6EHcz24o3+14KmsMZYnNNOsMxmeIYMHRW+m7QLoP+
BdMqtkL68JHWXTogtsxRqF2XEVAmFT9wAAAMEAzoQL+sIhPrFsU/8SbVZ7c9CYHZt+hDgS
NPT7hn8GgirD7Vd74JkYQz4YltkiHesWanAOkiUqrk/azGGthQI9uIJXGOHbxhkL/42AnN
twSQcvzaBeVVM+KndhB5Z7r6jp13XEnAIvFcQvl5932oeox4Kb+XFgqbgtL+OL2tUYJQtK
WnPxxhS0FEBcdaCH4AQgE4DSnaer+J8oMLCq/lWhS86q7SWpbTjNNDOSS7fjWTh4LIoGRy
oTlqvM03EemhdRAAAAEW1hcmtAbWFyay1HNS01MDkwAQ==
-----END OPENSSH PRIVATE KEY-----
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
#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
#!/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
#!/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
#!/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
#!/bin/bash #!/bin/bash
echo $0 started at $(date)
. ./common-vars $@ . ./common-vars $@
for PARTICIPANT in `seq ${START} ${MAX}` ; do for PARTICIPANT in `seq ${START} ${MAX}` ; do
IP=`expr ${PARTICIPANT} + 100` 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 done
wait wait
for PARTICIPANT in `seq ${START} ${MAX}` ; do for PARTICIPANT in `seq ${START} ${MAX}` ; do
IP=`expr ${PARTICIPANT} + 100` 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 done
wait
echo $0 $@ complete at $(date)
\ No newline at end of file
#!/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
#!/bin/bash -x #!/bin/bash
. ./common-vars $@ echo $0 started at $(date)
. ./common-vars $@
. ./hackfest-credentials.rc . ./hackfest-credentials.rc
for PARTICIPANT in `seq ${START} ${MAX}` ; do for PARTICIPANT in `seq ${START} ${MAX}` ; do
...@@ -23,9 +24,15 @@ export OS_INTERFACE=public ...@@ -23,9 +24,15 @@ export OS_INTERFACE=public
export OS_IDENTITY_API_VERSION=3 export OS_IDENTITY_API_VERSION=3
EOF EOF
scp ${OS_USERNAME}.rc ubuntu@${SUBNET}.${IP}: ssh -o StrictHostKeyChecking=no -i hackfest_rsa ubuntu@${SUBNET}.${IP} ". .profile;osm version"
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} }\"" while [ $? -ne -0 ] ; do
scp whitemist.yaml ubuntu@${SUBNET}.${IP}: ssh -o StrictHostKeyChecking=no -i hackfest_rsa ubuntu@${SUBNET}.${IP} ". .profile;osm version"
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' 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 done
echo $0 $@ complete at $(date)
\ No newline at end of file
#!/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
#!/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
#!/bin/bash #!/bin/bash
echo $0 started at $(date)
sudo sed -i "s/127.0.0.1 /127.0.0.1 $HOSTNAME /" /etc/hosts sudo sed -i "s/127.0.0.1 /127.0.0.1 $HOSTNAME /" /etc/hosts
echo 'ubuntu:hackfest'| sudo chpasswd echo 'ubuntu:hackfest'| sudo chpasswd
...@@ -27,4 +28,6 @@ Action=org.freedesktop.color-manager.create-device;org.freedesktop.color-manager ...@@ -27,4 +28,6 @@ Action=org.freedesktop.color-manager.create-device;org.freedesktop.color-manager
ResultAny=yes ResultAny=yes
ResultInactive=yes ResultInactive=yes
ResultActive=yes ResultActive=yes
EOF EOF
\ No newline at end of file
echo $0 $@ complete at $(date)
\ No newline at end of file
#!/bin/bash #!/bin/bash
echo $0 started at $(date)
sudo snap install microk8s --classic --channel=1.23/stable sudo snap install microk8s --classic --channel=1.23/stable
...@@ -18,6 +19,7 @@ sudo microk8s.enable storage ...@@ -18,6 +19,7 @@ sudo microk8s.enable storage
sudo snap alias microk8s.kubectl kubectl sudo snap alias microk8s.kubectl kubectl
wget https://osm-download.etsi.org/ftp/osm-12.0-twelve/install_osm.sh wget https://osm-download.etsi.org/ftp/osm-12.0-twelve/install_osm.sh
chmod +x ./install_osm.sh chmod +x ./install_osm.sh
./install_osm.sh -y --charmed --tag testing-daily 2>&1 | tee install_osm.log ./install_osm.sh -y --charmed --tag testing-daily 2>&1 | tee install_osm.log
...@@ -26,6 +28,11 @@ chmod +x ./install_osm.sh ...@@ -26,6 +28,11 @@ chmod +x ./install_osm.sh
$(grep "export OSM_PASSWORD" install_osm.log|head -1) $(grep "export OSM_PASSWORD" install_osm.log|head -1)
$(grep "export OSM_HOSTNAME" 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 # Change the password
osm user-update admin --password hackfest 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 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 ...@@ -39,3 +46,9 @@ echo "export OSM_HOSTNAME=nbi.osm:443" >> .bashrc
echo "export OSM_HOSTNAME=nbi.osm:443" >> .profile echo "export OSM_HOSTNAME=nbi.osm:443" >> .profile
echo "export OSM_PASSWORD=hackfest" >> .bashrc echo "export OSM_PASSWORD=hackfest" >> .bashrc
echo "export OSM_PASSWORD=hackfest" >> .profile 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
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment