Commit 38dd8a1b authored by Mark Beierl's avatar Mark Beierl
Browse files

Merge branch 'helm_ee' into 'master'

Scripts from MR#10 Hackfest

See merge request !198
parents 537efb33 11cfe1c4
Pipeline #6173 failed with stage
in 1 minute and 51 seconds
#!/bin/bash
git clone --recurse-submodules -j8 https://osm.etsi.org/gitlab/vnf-onboarding/osm-packages.git
#!/bin/bash
if [ ! -d hackfest_basic_ns ] ; then
echo "It does not look like we are in the osm-packages directory, exiting"
exit 1
fi
echo "========================================================================"
echo "Cleaning out any prior versions of the descriptors from OSM"
echo "========================================================================"
osm nsd-delete hackfest_basic-ns
osm vnfd-delete hackfest_basic-vnf
echo "========================================================================"
echo "Building packages"
echo "========================================================================"
osm package-build hackfest_basic_vnf
osm package-build hackfest_basic_ns
echo "========================================================================"
echo "Uploading packages"
echo "========================================================================"
osm upload-package hackfest_basic_vnf.tar.gz
osm upload-package hackfest_basic_ns.tar.gz
echo "========================================================================"
echo "Done"
echo "========================================================================"
#!/bin/bash
echo "========================================================================"
echo "Deleting network service"
echo "========================================================================"
osm ns-delete basic-vnf
echo "========================================================================"
echo "Done"
echo "========================================================================"
#!/bin/bash
VIMID=`osm vim-list | grep osm_ | awk '{ print $4 }'`
echo "========================================================================"
echo "Launching network service with VIMID ${VIMID}"
echo "========================================================================"
osm ns-create --ns_name basic-vnf \
--nsd_name hackfest_basic-ns \
--vim_account ${VIMID} \
--ssh_keys ~/.ssh/id_rsa.pub \
--config \
'{vld: [ {name: mgmtnet, vim-network-name: osm-ext} ] }'
echo "========================================================================"
echo "Done"
echo "========================================================================"
#!/bin/bash
echo "========================================================================"
echo "Here are some of the actions you can run"
echo "========================================================================"
cat << 'EOF'
DESKTOP_IP=`osm ns-show virtual-desktop --literal | yq e '.vcaStatus.*.machines.0.network_interfaces.ens3.ip_addresses.0' -`
osm ns-action firewall --vnf_name VYOS-PNF --action_name add-port-forward --params "{ruleNumber: '10', sourcePort: '3389', destinationAddress: \"${DESKTOP_IP}\", destinationPort: '3389'}"
osm ns-action firewall --vnf_name VYOS-PNF --action_name remove-port-forward --params '{ruleNumber: "10"}'
EOF 
#!/bin/bash
if [ ! -d hackfest_firewall_pnf ] ; then
echo "It does not look like we are in the osm-packages directory, exiting"
exit 1
fi
echo "========================================================================"
echo "Building operator charms"
echo "========================================================================"
cd hackfest_firewall_pnf/charms/vyos-config-src
#virtualenv -p python3 venv
#source venv/bin/activate
#pip install -r requirements-dev.txt
#pip install charmcraft
#./venv/bin/charmcraft build
rm -rf venv
charmcraft build
cd -
cd hackfest_firewall_pnf/charms
mkdir -p vyos-config/
rm -rf vyos-config/*
cp -r vyos-config-src/build/* vyos-config/
cd -
echo "========================================================================"
echo "Cleaning out any prior versions of the descriptors from OSM"
echo "========================================================================"
osm nsd-delete hackfest_firewall_pnf_ns
osm vnfd-delete hackfest_firewall_pnf
osm pdu-delete router01
rm -v hackfest_firewall_pnf*.tar.gz
echo "========================================================================"
echo "Building packages"
echo "========================================================================"
osm package-build hackfest_firewall_pnf
osm package-build hackfest_firewall_pnf_ns
echo "========================================================================"
echo "Uploading packages"
echo "========================================================================"
osm upload-package hackfest_firewall_pnf.tar.gz
osm upload-package hackfest_firewall_pnf_ns.tar.gz
VIMID=`osm vim-list | grep osm_ | awk '{ print $4 }'`
echo "========================================================================"
echo "Registering PDU 172.21.19.${HFID} with $VIMID"
echo "========================================================================"
cat << EOF > firewall-pdu.yaml
name: router01
description: VyOS Router
type: gateway
shared: false
interfaces:
- name: gateway_public
ip-address: 172.21.19.${HFID}
mgmt: true
vim-network-name: osm-ext
- name: vnf_internal
ip-address: 192.168.239.250
mgmt: false
vim-network-name: private
EOF
osm pdu-create --descriptor_file firewall-pdu.yaml \
--vim_account $VIMID
echo "========================================================================"
echo "Done"
echo "========================================================================"
#!/bin/bash
VIMID=`osm vim-list | grep osm_ | awk '{ print $4 }'`
echo "========================================================================"
echo "Launching network service with VIMID ${VIMID}"
echo "========================================================================"
osm ns-create --ns_name firewall \
--nsd_name hackfest_firewall_pnf_ns \
--vim_account $VIMID
echo "========================================================================"
echo "Done"
echo "========================================================================"
#!/bin/bash
watch -- 'osm ns-show firewall | grep -i status'
#!/bin/bash
echo "========================================================================"
echo "Here are some of the actions you can run"
echo "========================================================================"
cat << 'EOF'
osm ns-action virtual-desktop --vnf_name 1 --action_name update-system
osm ns-action virtual-desktop --vnf_name 1 --action_name add-package --params '{package: "ubuntu-mate-wallpapers-disco,ubuntu-mate-wallpapers-eoan"}'
osm ns-action virtual-desktop --vnf_name 1 --action_name remove-package --params '{package: "ubuntu-mate-wallpapers-disco"}'
osm ns-action virtual-desktop --vnf_name 1 --action_name add-snap --params '{package: "code --classic"}'
osm ns-action virtual-desktop --vnf_name 1 --action_name remove-snap --params '{package: "code"}'
osm ns-action virtual-desktop --vnf_name 1 --action_name reboot
osm ns-action virtual-desktop --vnf_name 1 --action_name announce --params '{message: "Hello from the Hackfest!"}'
EOF
#!/bin/bash
if [ ! -d hackfest_virtual-pc_vnfd ] ; then
echo "It does not look like we are in the osm-packages directory, exiting"
exit 1
fi
cd hackfest_virtual-pc_vnfd/charms/virtual-pc-src
echo "========================================================================"
echo "Building operator charms"
echo "========================================================================"
rm -rf venv
charmcraft build
cd -
cd hackfest_virtual-pc_vnfd/charms
cp -r virtual-pc-src/build/* virtual-pc/
cd -
echo "========================================================================"
echo "Cleaning out any prior versions of the descriptors from OSM"
echo "========================================================================"
osm nsd-delete hackfest_virtual-pc_ns
osm vnfd-delete hackfest_virtual-pc_vnf
echo "========================================================================"
echo "Building packages"
echo "========================================================================"
osm package-build hackfest_virtual-pc_vnfd
osm package-build hackfest_virtual-pc_ns
echo "========================================================================"
echo "Uploading packages"
echo "========================================================================"
osm upload-package hackfest_virtual-pc_vnfd.tar.gz
osm upload-package hackfest_virtual-pc_ns.tar.gz
echo "========================================================================"
echo "Done"
echo "========================================================================"
#!/bin/bash
VIMID=`osm vim-list | grep osm_ | awk '{ print $4 }'`
echo "========================================================================"
echo "Launching network service with VIMID ${VIMID}"
echo "========================================================================"
osm ns-create --ns_name virtual-desktop \
--nsd_name hackfest_virtual-pc_ns \
--vim_account ${VIMID} \
--config \
'{vld: [ {name: mgmtnet, vim-network-name: osm-ext},
{name: private, vim-network-name: private} ] }'
echo "========================================================================"
echo "Done"
echo "========================================================================"
#!/bin/bash
watch -- 'osm ns-show virtual-desktop | grep -i status'
#!/bin/bash
OSM_PACKAGE_DIR=$HOME/osm-packages
WIKI_VNFD_PACKAGE_NAME=wiki_webserver_autoscale_vnfd
WIKI_NSD_PACKAGE_NAME=wiki_webserver_autoscale_nsd
WIKI_VNF_PACKAGE_DIR=$OSM_PACKAGE_DIR/$WIKI_VNFD_PACKAGE_NAME
WIKI_NS_PACKAGE_DIR=$OSM_PACKAGE_DIR/$WIKI_NSD_PACKAGE_NAME
WIKI_VNFD_NAME=wiki_webserver_autoscale_vnf
WIKI_NSD_NAME=wiki_webserver_autoscale_ns
USER_ID=$OSM_USER
echo "========================================================================"
echo "Downloading and modifying the wiki package"
echo "========================================================================"
# clone from git
rm -rf $OSM_PACKAGE_DIR
git clone https://osm.etsi.org/gitlab/vnf-onboarding/osm-packages.git
# Append user id to NSD and VNFD names
sed -i "s/${WIKI_VNFD_NAME}.*/${WIKI_VNFD_NAME}_${USER_ID}/" $WIKI_VNF_PACKAGE_DIR/wiki_webserver_autoscale_vnfd.yaml
sed -i "s/${WIKI_VNFD_NAME}.*/${WIKI_VNFD_NAME}_${USER_ID}/" $WIKI_NS_PACKAGE_DIR/wiki_webserver_autoscale_nsd.yaml
sed -i "s/${WIKI_NSD_NAME}.*/${WIKI_NSD_NAME}_${USER_ID}/" $WIKI_NS_PACKAGE_DIR/wiki_webserver_autoscale_nsd.yaml
# Add 'runcmd' in cloud-init to modify configuration and restart haproxy service
echo 'runcmd:' >> $WIKI_VNF_PACKAGE_DIR/cloud_init/cloud_init_haproxy
echo ' - ip=$(ifconfig | grep -A 1 "ens4" | tail -1 | cut -d ":" -f 2 | cut -d " " -f 1)' >> $WIKI_VNF_PACKAGE_DIR/cloud_init/cloud_init_haproxy
echo ' - sudo -S sed -i "s/ipv4@\(.*:9999\)/ipv4@${ip}\:9999/" /etc/haproxy/haproxy.cfg' >> $WIKI_VNF_PACKAGE_DIR/cloud_init/cloud_init_haproxy
echo ' - sleep 60' >> $WIKI_VNF_PACKAGE_DIR/cloud_init/cloud_init_haproxy
echo ' - echo "osm2021" | sudo service haproxy restart' >> $WIKI_VNF_PACKAGE_DIR/cloud_init/cloud_init_haproxy
echo "========================================================================"
echo "Cleaning out any prior versions of the descriptors from OSM"
echo "========================================================================"
osm nsd-delete $WIKI_NSD_NAME"_"$USER_ID
osm vnfd-delete $WIKI_VNFD_NAME"_"$USER_ID
echo "========================================================================"
echo "Building packages"
echo "========================================================================"
cd $OSM_PACKAGE_DIR
osm package-build $WIKI_VNFD_PACKAGE_NAME
osm package-build $WIKI_NSD_PACKAGE_NAME
echo "========================================================================"
echo "Uploading packages"
echo "========================================================================"
osm upload-package $WIKI_VNFD_PACKAGE_NAME.tar.gz
osm upload-package $WIKI_NSD_PACKAGE_NAME.tar.gz
echo "========================================================================"
echo "Done"
echo "========================================================================"
#!/bin/bash
VIMID=`osm vim-list | grep osm_ | awk '{ print $4 }'`
USER_ID=$OSM_USER
NSD_NAME=wiki_webserver_autoscale_ns_$USER_ID
echo "========================================================================"
echo "Launching network service with VIMID ${VIMID}"
echo "========================================================================"
osm ns-create --ns_name wiki \
--nsd_name wiki_webserver_autoscale_ns_$USER_ID \
--vim_account ${VIMID}
echo "========================================================================"
echo "Done"
echo "========================================================================"
#!/bin/bash
if [ ! -d openldap_knf ] ; then
echo "It does not look like we are in the osm-packages directory, exiting"
exit 1
fi
echo "========================================================================"
echo "Cleaning out any prior versions of the descriptors from OSM"
echo "========================================================================"
osm nspkg-delete openldap_ns
osm nfpkg-delete openldap_knf
echo "========================================================================"
echo "Validating packages"
echo "========================================================================"
osm package-validate --no-recursive openldap_knf
osm package-validate --no-recursive openldap_ns
echo "========================================================================"
echo "Building packages"
echo "========================================================================"
osm package-build openldap_knf
osm package-build openldap_ns
echo "========================================================================"
echo "Uploading packages"
echo "========================================================================"
osm nfpkg-create openldap_knf.tar.gz
osm nspkg-create openldap_ns.tar.gz
echo "========================================================================"
echo "Done"
echo "========================================================================"
#!/bin/bash
PROJECT_ID=`osm project-list | grep $OSM_PROJECT | awk '{ print $4 }'`
kubectl -n ${PROJECT_ID} get all
echo "========================================================================"
echo "Done"
echo "========================================================================"
#!/bin/bash
VIMID=`osm vim-list | grep $OSM_PROJECT | awk '{ print $4 }'`
echo "========================================================================"
echo "Launching network service in VIM with ID ${VIMID}"
echo "========================================================================"
osm ns-create --ns_name ldap \
--nsd_name openldap_ns \
--vim_account ${VIMID} \
--config_file $HOME/openldap-params.yaml
echo "========================================================================"
echo "Done"
echo "========================================================================"
vld:
- name: mgmtnet
vim-network-name: osm-ext
additionalParamsForVnf:
- member-vnf-index: openldap
additionalParamsForKdu:
- kdu_name: ldap
additionalParams:
# replicaCount: 2
service:
type: LoadBalancer
loadBalancerIP: '172.21.251.X' # MetalLB IP Address
adminPassword: osm4u
configPassword: osm4u
env:
LDAP_ORGANISATION: "Example Inc."
LDAP_DOMAIN: "example.org"
LDAP_BACKEND: "hdb"
LDAP_TLS: "true"
LDAP_TLS_ENFORCE: "false"
LDAP_REMOVE_CONFIG_AFTER_SETUP: "true"
#!/bin/bash
echo "========================================================================"
echo "Listing VIM"
echo "========================================================================"
osm vim-list
echo "========================================================================"
echo "Getting details of VIM $OSM_PROJECT"
echo "========================================================================"
osm vim-show $OSM_PROJECT
echo "========================================================================"
echo "Listing K8s clusters"
echo "========================================================================"
osm k8scluster-list
echo "========================================================================"
echo "Getting details of K8s cluster $OSM_PROJECT"
echo "========================================================================"
osm k8scluster-show $OSM_PROJECT
echo "========================================================================"
echo "Done"
echo "========================================================================"
#!/bin/bash
echo "========================================================================"
echo "Getting IP address of the LDAP server"
echo "========================================================================"
VNF_ID=`osm vnf-list --ns ldap|grep openldap |awk '{print $2}'`
IP_ADDR1=`osm vnf-show ${VNF_ID} --literal | yq e '.kdur[0].services[0].external_ip[0]' -`
PROJECT_ID=`osm project-list | grep $OSM_PROJECT | awk '{ print $4 }'`
IP_ADDR2=`kubectl -n ${PROJECT_ID} get svc|grep stable-openldap |awk '{print $4}'`
LB_IP=${IP_ADDR1}
[ "${LB_IP}" == "null" ] && LB_IP=""
[ -n "${LB_IP}" ] || LB_IP=${IP_ADDR2}
echo $LB_IP
echo "========================================================================"
echo "Testing LDAP server"
echo "========================================================================"
ldapsearch -x -H ldap://${LB_IP}:389 -b dc=example,dc=org -D "cn=admin,dc=example,dc=org" -w osm4u
echo "========================================================================"
echo "Done"
echo "========================================================================"
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