From fedb5dec763f9f88b51124f7df7f380232cf8833 Mon Sep 17 00:00:00 2001 From: Gulsum Atici <gulsum.atici@canonical.com> Date: Fri, 14 Oct 2022 17:12:58 +0300 Subject: [PATCH] Adding magma org onboarding scripts --- .../OSM-13/magma_orc_onboarding/README.md | 48 +++++++++---------- .../magma-orc-scripts/1-onboard-packages.sh | 13 +++++ .../2-download-admin-operator-cert.sh | 9 ++++ .../3-get-admin-operator-credential.sh | 8 ++++ .../4-get-magma-orc-gui-credential.sh | 9 ++++ .../5-get-loadbalancer-services.sh | 19 ++++++++ .../6-access-magma-orch-gui.sh | 7 +++ 7 files changed, 87 insertions(+), 26 deletions(-) create mode 100644 Hackfest_Demos/OSM-MR13/magma-orc-scripts/1-onboard-packages.sh create mode 100644 Hackfest_Demos/OSM-MR13/magma-orc-scripts/2-download-admin-operator-cert.sh create mode 100644 Hackfest_Demos/OSM-MR13/magma-orc-scripts/3-get-admin-operator-credential.sh create mode 100644 Hackfest_Demos/OSM-MR13/magma-orc-scripts/4-get-magma-orc-gui-credential.sh create mode 100644 Hackfest_Demos/OSM-MR13/magma-orc-scripts/5-get-loadbalancer-services.sh create mode 100644 Hackfest_Demos/OSM-MR13/magma-orc-scripts/6-access-magma-orch-gui.sh diff --git a/Hackfest_Demos/OSM-13/magma_orc_onboarding/README.md b/Hackfest_Demos/OSM-13/magma_orc_onboarding/README.md index c09893bd..75d484e0 100644 --- a/Hackfest_Demos/OSM-13/magma_orc_onboarding/README.md +++ b/Hackfest_Demos/OSM-13/magma_orc_onboarding/README.md @@ -8,15 +8,14 @@ For more information about Magma, see the official documentation [here](https:// ## Download Packages ```bash -git clone https://osm.etsi.org/gitlab/vnf-onboarding/osm-packages.git -cd osm-packages/Hackfest_Demos/OSM-13/ +git clone --recurse-submodules -j8 https://osm.etsi.org/gitlab/vnf-onboarding/osm-packages.git ``` ## Create the VIM Account ```bash # This is dummy vim account -export VIM_ACCOUNT=k8s-vim +export VIM_ACCOUNT=openstack osm vim-create --name $VIM_ACCOUNT \ --account_type dummy \ --user dummy \ @@ -32,16 +31,16 @@ osm vim-show $VIM_ACCOUNT ```bash # kubeconfig.yaml exists in the HOME directory -export k8s_net=<K8s cluster network> # osm-ext -export k8s_cls_name=k8s-cluster +export K8S_NET=osm-ext +export k8S_CLS_NAME=hackfest osm k8scluster-add --creds ~/kubeconfig.yaml \ --vim k8s-vim \ - --k8s-nets "{k8s_net: $k8s_net}" \ - --version 1.24 \ - $k8s_cls_name + --k8s-nets "{k8s_net: $K8S_NET}" \ + --version 1.24 \ + $K8S_CLS_NAME # Check K8s cluster availability osm k8scluster-list -osm k8scluster-show $k8s_cls_name +osm k8scluster-show $K8S_K8S_CLS_NAME ``` @@ -49,22 +48,24 @@ osm k8scluster-show $k8s_cls_name ```bash # Define the NS name -export NS_NAME=<ns name> +export MAGMA_NS_NAME=<ns name> ``` ```bash osm nfpkg-create magma_orc_cnf -osm nspkg-create magma_orc_cnf -osm ns-create --ns_name $NS_NAME --nsd_name magma_orc_cnf_ns --vim_account $VIM_ACCOUNT --config "{vld: [ {name: mgmtnet, vim-network-name: $k8s_net}]}" +osm nspkg-create magma_orc_ns +osm ns-create --ns_name $MAGMA_NS_NAME --nsd_name magma_orc_cnf_ns --vim_account $VIM_ACCOUNT --config "{vld: [ {name: mgmtnet, vim-network-name: $K8S_NET}]}" # Check NS status -osm ns list +osm ns-list ``` ## Download the Admin Operator Https Certificate ```bash -juju scp --container="magma-orc8r-certifier" orc8r-certifier/0:/var/opt/magma/certs/admin_operator.pfx admin_operator.pfx +export orc_model=juju models | grep -i magma-orc | awk -F " " '{print $1}' | tr -d \* +juju switch $orch_model # admin_operator.pfx file should appear in the local path +juju scp --container="magma-orc8r-certifier" orc8r-certifier/0:/var/opt/magma/certs/admin_operator.pfx admin_operator.pfx ``` ## Run Day2 actions @@ -72,24 +73,22 @@ juju scp --container="magma-orc8r-certifier" orc8r-certifier/0:/var/opt/magma/ce ### Get the Admin Operator Https Certificate credentials ```bash -OP_ID=`osm ns-action $NS_NAME --vnf_name magma_orc_cnf --kdu_name magma-orc-kdu --action_name get-pfx-package-password` -osm ns-op-show $OP_ID +osm ns-action $MAGMA_NS_NAME --vnf_name magma_orc_cnf --kdu_name magma-orc-kdu --action_name get-master-admin-credentials --wait # pfx_package pass appears in the operation output, please save it ``` ### Get the Magma Orchestrator GUI credentials ```bash -OP_ID=`osm ns-action $NS_NAME --vnf_name magma_orc_cnf --kdu_name magma-orc-kdu --action_name get-master-admin-credentials` -osm ns-op-show $OP_ID +osm ns-action $MAGMA_NS_NAME --vnf_name magma_orc_cnf --kdu_name magma-orc-kdu --action_name get-master-admin-credentials --wait # admin-password and admin-username appear in the operation output, please save it ``` ### Get Load Balancer Services ```bash -OP_ID=`osm ns-action $NS_NAME --vnf_name magma_orc_cnf --kdu_name magma-orc-kdu --action_name get-load-balancer-services` -osm ns-op-show $OP_ID +LOAD_BALANCER_OP_ID=`osm ns-action $NS_NAME --vnf_name magma_orc_cnf --kdu_name magma-orc-kdu --action_name get-load-balancer-services` +osm ns-op-show $LOAD_BALANCER_OP_ID # Load Balancer service names and External IP's are visible in the action output. 'nginx-proxy': <nginx-proxy External IP> -> master.nms.osm.magma.com 'orc8r-bootstrap-nginx': <orc8r-bootstrap-nginx External IP> -> bootstrapper-controller.osm.magma.com @@ -107,14 +106,11 @@ DOMAIN=api. IP=<orc8r-nginx-proxy External IP> # Test your records availability # DNS_IP is your DNS server ip which is available as an environment variable. -dig @${DNS_IP} +tcp api.osm.magma.com +dig @${DNS_IP} api.osm.magma.com +# Resolve the domain name directly from your machine. +dig api.osm.magma.com ``` -## Change the DNS Server in your machine - -```bash -echo "nameserver ${DNS_IP}" | tee -a /etc/resolv.conf -``` ## Access to Magma Orchestrator GUI diff --git a/Hackfest_Demos/OSM-MR13/magma-orc-scripts/1-onboard-packages.sh b/Hackfest_Demos/OSM-MR13/magma-orc-scripts/1-onboard-packages.sh new file mode 100644 index 00000000..13fea286 --- /dev/null +++ b/Hackfest_Demos/OSM-MR13/magma-orc-scripts/1-onboard-packages.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +echo "========================================================================" +echo "Upload VNFD" +echo "========================================================================" +pushd osm-packages/Hackfest_Demos/OSM-13/ +osm nfpkg-create magma_orc_cnf + +echo "========================================================================" +echo "Upload NSD" +echo "========================================================================" +osm nspkg-create magma_orc_ns +popd diff --git a/Hackfest_Demos/OSM-MR13/magma-orc-scripts/2-download-admin-operator-cert.sh b/Hackfest_Demos/OSM-MR13/magma-orc-scripts/2-download-admin-operator-cert.sh new file mode 100644 index 00000000..d94acee2 --- /dev/null +++ b/Hackfest_Demos/OSM-MR13/magma-orc-scripts/2-download-admin-operator-cert.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +export orc_model=juju models | grep -i magma-orc | awk -F " " '{print $1}' | tr -d \* +juju switch $orch_model +echo "========================================================================" +echo "Dowloading admin_operator.pfx file to your current working directory" +echo "========================================================================" +juju scp --container="magma-orc8r-certifier" orc8r-certifier/0:/var/opt/magma/certs/admin_operator.pfx admin_operator.pfx + diff --git a/Hackfest_Demos/OSM-MR13/magma-orc-scripts/3-get-admin-operator-credential.sh b/Hackfest_Demos/OSM-MR13/magma-orc-scripts/3-get-admin-operator-credential.sh new file mode 100644 index 00000000..87e48aa4 --- /dev/null +++ b/Hackfest_Demos/OSM-MR13/magma-orc-scripts/3-get-admin-operator-credential.sh @@ -0,0 +1,8 @@ +#!/bin/bash +echo "========================================================================" +echo "Getting admin operator credentials" +echo "========================================================================" +osm ns-action $MAGMA_NS_NAME --vnf_name magma_orc_cnf --kdu_name magma-orc-kdu --action_name get-master-admin-credentials --wait +echo "========================================================================" +echo "pfx_package pass appears in the operation output, please save it" +echo "========================================================================" \ No newline at end of file diff --git a/Hackfest_Demos/OSM-MR13/magma-orc-scripts/4-get-magma-orc-gui-credential.sh b/Hackfest_Demos/OSM-MR13/magma-orc-scripts/4-get-magma-orc-gui-credential.sh new file mode 100644 index 00000000..3b324318 --- /dev/null +++ b/Hackfest_Demos/OSM-MR13/magma-orc-scripts/4-get-magma-orc-gui-credential.sh @@ -0,0 +1,9 @@ +#!/bin/bash +echo "========================================================================" +echo "Getting Magma orchestrator GUI credentials" +echo "========================================================================" +osm ns-action $MAGMA_NS_NAME --vnf_name magma_orc_cnf --kdu_name magma-orc-kdu --action_name get-master-admin-credentials --wait + +echo "========================================================================" +echo "admin-password and admin-username appear in the operation output, please save it" +echo "========================================================================" diff --git a/Hackfest_Demos/OSM-MR13/magma-orc-scripts/5-get-loadbalancer-services.sh b/Hackfest_Demos/OSM-MR13/magma-orc-scripts/5-get-loadbalancer-services.sh new file mode 100644 index 00000000..05de4c6e --- /dev/null +++ b/Hackfest_Demos/OSM-MR13/magma-orc-scripts/5-get-loadbalancer-services.sh @@ -0,0 +1,19 @@ +echo "========================================================================" +echo "Getting Loadbalancer services" +echo "========================================================================" +osm ns-action $NS_NAME --vnf_name magma_orc_cnf --kdu_name magma-orc-kdu --action_name get-load-balancer-services --wait + +echo "========================================================================" +echo "Load Balancer service names and External IP's are visible in the action output." +echo "'nginx-proxy': <nginx-proxy External IP> -> master.nms.osm.magma.com" +echo "'orc8r-bootstrap-nginx': <orc8r-bootstrap-nginx External IP> -> bootstrapper-controller.osm.magma.com" +echo "'orc8r-clientcert-nginx': <orc8r-clientcert-nginx External IP> -> controller.osm.magma.com" +echo "'orc8r-nginx-proxy': <orc8r-nginx-proxy External IP> -> api.osm.magma.com" +echo "========================================================================" +echo "========================================================================" +echo "Register the domains in PowerDNS server by running day2 actions" +echo "ZONE=osm.magma.com." +echo "# Sample registration for api.osm.magma.com" +echo "DOMAIN=api." +echo "IP=<orc8r-nginx-proxy External IP> " +echo "========================================================================" \ No newline at end of file diff --git a/Hackfest_Demos/OSM-MR13/magma-orc-scripts/6-access-magma-orch-gui.sh b/Hackfest_Demos/OSM-MR13/magma-orc-scripts/6-access-magma-orch-gui.sh new file mode 100644 index 00000000..7db78ec3 --- /dev/null +++ b/Hackfest_Demos/OSM-MR13/magma-orc-scripts/6-access-magma-orch-gui.sh @@ -0,0 +1,7 @@ +#!/bin/bash +echo "========================================================================" +echo "Open the browser and import the admin_operator.pfx using certificate import." +echo "When it asks you a password, please enter pfx_package pass." +echo "Try to reach following URL using your browser: https://master.nms.osm.magma.com." +echo "Use the admin-username and admin-password to login" +echo "========================================================================" \ No newline at end of file -- GitLab