Skip to content
Snippets Groups Projects
Commit f293be5e authored by Mark Beierl's avatar Mark Beierl
Browse files

Merge branch 'hackfest15_charmed_osm' into 'master'

Setup scripts for Charmed OSM Hackfest 15

See merge request !223
parents 2b24429c 9b7b3527
No related branches found
No related tags found
1 merge request!223Setup scripts for Charmed OSM Hackfest 15
Pipeline #14444 failed with stage
#!/bin/bash
echo $0 started at $(date)
. ./common-vars
. ./main_credentials.rc
for PARTICIPANT in `seq ${START} ${MAX}` ; do
VM_NAME=`expr charmedosm-${PARTICIPANT}`
IP=`openstack server list --name $VM_NAME --column Networks -f yaml | head -3 | tail -1 | grep -o '[0-9]\+[.][0-9]\+[.][0-9]\+[.][0-9]\+'`
echo $IP
scp -o StrictHostKeyChecking=no -i hackfest_rsa ./vm-install-osm.sh ubuntu@${IP}: &
scp -o StrictHostKeyChecking=no -i hackfest_rsa ./bundle.yaml ubuntu@${IP}: &
sleep 10
ssh -o StrictHostKeyChecking=no -i hackfest_rsa ubuntu@${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
#!/bin/bash
echo $0 started at $(date)
. ./common-vars
. ./main_credentials.rc
for PARTICIPANT in `seq ${START} ${MAX}` ; do
VM_NAME=`expr hackfest-k8scluster` # There is only one VM which is created by Mark in admin project
IP=`expr openstack server list --name $VM_NAME --column Networks -f yaml | head -3 | tail -1 | grep -o '[0-9]\+[.][0-9]\+[.][0-9]\+[.][0-9]\+'`
scp -o StrictHostKeyChecking=no -i hackfest_rsa ./hackfest_rsa ./hackfest_rsa.pub ubuntu@${IP}:.ssh/ &
scp -o StrictHostKeyChecking=no -i hackfest_rsa vm-microk8s-setup.sh ubuntu@${IP}: &
ssh -o StrictHostKeyChecking=no -i hackfest_rsa ubuntu@${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
echo $0 started at $(date)
. ./common-vars
. ./main_credentials.rc
for PARTICIPANT in `seq ${START} ${MAX}` ; do
VM_NAME=`expr charmedosm-${PARTICIPANT}`
IP=`openstack server list --name $VM_NAME --column Networks -f yaml | head -3 | tail -1 | grep -o '[0-9]\+[.][0-9]\+[.][0-9]\+[.][0-9]\+'`
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@${IP} ". .profile;osm version"
while [ $? -ne -0 ] ; do
ssh -o StrictHostKeyChecking=no -i hackfest_rsa ubuntu@${IP} ". .profile;osm version"
done
scp -o StrictHostKeyChecking=no -i hackfest_rsa ${OS_USERNAME}.rc ubuntu@${IP}: &
scp -o StrictHostKeyChecking=no -i hackfest_rsa hackfest-k8s.yaml ubuntu@${IP}:~/kubeconfig.yaml &
sleep 10
ssh -o StrictHostKeyChecking=no -i hackfest_rsa ubuntu@${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@${IP} ". .profile;osm k8scluster-add --creds ~/kubeconfig.yaml --vim openstack --k8s-nets '{'net1': 'osm-ext'}' --version 1.26 --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@${IP} "echo . ~/${OS_USERNAME}.rc >> .bashrc"
done
echo $0 $@ complete at $(date)
\ No newline at end of file
#!/bin/bash
echo $0 started at $(date)
. ./common-vars $@
. ./main_credentials.rc
for PARTICIPANT in `seq ${START} ${MAX}` ; do
VM_NAME=`expr charmedosm-${PARTICIPANT}`
IP=`openstack server list --name $VM_NAME --column Networks -f yaml | head -3 | tail -1 | grep -o '[0-9]\+[.][0-9]\+[.][0-9]\+[.][0-9]\+'`
echo $IP
scp -o StrictHostKeyChecking=no -i hackfest_rsa ./vm-initial-setup.sh ubuntu@${IP}: &
scp -o StrictHostKeyChecking=no -i hackfest_rsa ./hackfest15admin.pub ubuntu@${IP}: &
sleep 10
ssh -o StrictHostKeyChecking=no -i hackfest_rsa ubuntu@${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
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
# Create directory for kubeconfig
mkdir $HOME/.kube
# Add hackfest15admin public keys
cat ~/hackfest15admin.pub >> ~/.ssh/authorized_keys
# 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)
sudo reboot
#!/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 hostpath-storage
sudo usermod -a -G microk8s ubuntu
sudo chown -f -R ubuntu ~/.kube
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 --bundle ~/bundle.yaml -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
grep '^export OSM' ~/charmed_install_log.txt >> ~/.profile
while [ 1 ] ; do
. .profile;osm version
if [ $? -eq 0 ]; then break ; fi
done
. .profile; osm user-update admin --password admin
echo "export OSM_PASSWORD=admin" >> .bashrc
echo "export OSM_PASSWORD=admin" >> .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
#!/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 systemctl restart snap.microk8s.daemon-containerd.service
sudo microk8s.enable hostpath-storage
FLOATING_IP=172.21.249.42
sudo sed -i "/^IP.2 = .*/a IP.3 = ${FLOATING_IP}" /var/snap/microk8s/current/certs/csr.conf.template
METALLB_START=10.1.0.10
METALLB_END=10.1.1.254
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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment