| | 1 | [[Include(WikiToC)]] |
| | 2 | |
| | 3 | == ONAP/ORAN Tutorial == |
| | 4 | |
| | 5 | |
| | 6 | |
| | 7 | === Description === |
| | 8 | |
| | 9 | === Prerequisites === |
| | 10 | In order to access the test bed, create a reservationand have it approved by the reservation service. Access to the resources is granted after the reservation is confirmed. Please follow the process shown on the COSMOS [wiki:GettingStarted getting started] page to get started. |
| | 11 | |
| | 12 | === Resources required === |
| | 13 | One of the servers in any of the [wiki:/Architecture/Domains COSMOS domains]. |
| | 14 | |
| | 15 | === Tutorial Setup === |
| | 16 | For this tutorial, the assumption is that the you made a reservation for sb1.cosmos-lab.org domain. Follow the steps below to gain access to the [wiki:/Architecture/Domains/cosmos_sb1 sandbox 1 console] and set up nodes with appropriate images. |
| | 17 | 1. If you don't have one already, sign up for a [https://www.cosmos-lab.org/portal-2/ COSMOS account] |
| | 18 | 1. [wiki:/GettingStarted#MakeaReservation Create a resource reservation] on sandbox 1 |
| | 19 | 1. [wiki:/GettingStarted#LogintoyourReservation Login] into sandbox 1 console (console.sb1.cosmos-lab.org) with two SSH sessions. |
| | 20 | 1. Make sure all the resources in the domain are turned off: |
| | 21 | {{{#!shell |
| | 22 | omf tell -a offh -t system:topo:allres |
| | 23 | }}} |
| | 24 | For this tutorial we will be using the SB1 servers, srv1-lg1 |
| | 25 | 1. Load ORAN image '''oran-20220427.ndz''' on srv1-lg1: |
| | 26 | {{{#!shell |
| | 27 | omf load -i oran-20220427.ndz -t srv1-lg1 -r 60 |
| | 28 | }}} |
| | 29 | This image is fairly large and will take up to 7 minutes to load. |
| | 30 | 1. Turn all the required resources on and check the status |
| | 31 | {{{#!shell |
| | 32 | omf tell -a on -t srv1-lg1 |
| | 33 | }}} |
| | 34 | {{{#!shell |
| | 35 | omf stat -t system:topo:allres |
| | 36 | }}} |
| | 37 | 1. ssh to the nodes, use option -Y for using GUI. Alos, please make sure to tunnel ports 30091 and 30205 though the console (or use VPN so you can gain subnet access from your local machine). |
| | 38 | |
| | 39 | |
| | 40 | === Tutorial Execution === |
| | 41 | |
| | 42 | Check that the services are running by executing the commad: |
| | 43 | {{{ |
| | 44 | root@srv1-lg1:~# kubectl get pods -n onap && kubectl get pods -n nonrtric |
| | 45 | }}} |
| | 46 | The output should look like: |
| | 47 | {{{ |
| | 48 | NAME READY STATUS RESTARTS AGE |
| | 49 | onap-dmaap-dr-mariadb-init-config-job--1-hlqc8 0/1 Completed 0 75m |
| | 50 | onap-policy-galera-config--1-tqwwf 0/1 Completed 0 70m |
| | 51 | onap-policy-clamp-galera-config--1-tnccf 0/1 Completed 0 70m |
| | 52 | onap-nengdb-init-config-job--1-xsbs6 0/1 Completed 0 68m |
| | 53 | onap-sdnc-dbinit-job--1-62vpb 0/1 Completed 0 68m |
| | 54 | onap-dmaap-bc-dmaap-provisioning--1-5dj7p 0/1 Completed 0 75m |
| | 55 | onap-sdnc-sdnrdb-init-job--1-rmsmb 0/1 Completed 0 68m |
| | 56 | onap-sdnrdb-master-0 1/1 Running 1 (28m ago) 68m |
| | 57 | onap-aaf-sms-quorumclient-2 1/1 Running 1 (28m ago) 76m |
| | 58 | onap-consul-7f67bc4d4f-qgghd 1/1 Running 1 (28m ago) 77m |
| | 59 | onap-consul-server-0 1/1 Running 1 (28m ago) 77m |
| | 60 | onap-dbc-pg-primary-74fd9c6b4-fs5kx 1/1 Running 1 (28m ago) 75m |
| | 61 | onap-sdnc-dmaap-listener-765d56c76d-qzkqx 0/1 Init:1/2 0 68m |
| | 62 | onap-aaf-sms-vault-0 2/2 Running 2 (28m ago) 77m |
| | 63 | onap-mariadb-galera-0 2/2 Running 2 (28m ago) 75m |
| | 64 | onap-dbc-pg-replica-6c94cf676-4pxxb 1/1 Running 1 (28m ago) 75m |
| | 65 | onap-aaf-sms-quorumclient-0 1/1 Running 1 (28m ago) 77m |
| | 66 | onap-aaf-sms-quorumclient-1 1/1 Running 1 (28m ago) 76m |
| | 67 | onap-aaf-cass-7b5ffc99ff-9m6t2 1/1 Running 1 (28m ago) 77m |
| | 68 | onap-policy-mariadb-0 2/2 Running 3 (26m ago) 70m |
| | 69 | onap-message-router-zookeeper-0 1/1 Running 1 (28m ago) 75m |
| | 70 | onap-sdnc-ansible-server-9dcfc6846-kxnp9 1/1 Running 1 (28m ago) 68m |
| | 71 | onap-dcae-healthcheck-8647b8857b-ppdn6 1/1 Running 2 (26m ago) 76m |
| | 72 | onap-aaf-service-576849df76-mrdds 1/1 Running 3 (26m ago) 77m |
| | 73 | onap-aaf-locate-6786b49d8d-4ngzg 1/1 Running 1 (28m ago) 77m |
| | 74 | onap-aaf-fs-844878ff4-vjb9j 1/1 Running 1 (28m ago) 77m |
| | 75 | onap-aaf-oauth-d47557fcb-n7lzq 1/1 Running 1 (28m ago) 77m |
| | 76 | onap-aaf-cm-84f5df554b-qcc99 1/1 Running 1 (28m ago) 77m |
| | 77 | onap-aaf-gui-5948c9d4bd-44mpf 1/1 Running 1 (28m ago) 77m |
| | 78 | onap-policy-clamp-cl-pf-ppnt-84fbbcc979-wnmhd 1/1 Running 1 (28m ago) 70m |
| | 79 | onap-dmaap-bc-78b9bd844-wzr64 0/1 Init:5/6 1 75m |
| | 80 | onap-policy-clamp-cl-http-ppnt-8587f99d74-9kqt6 1/1 Running 1 (28m ago) 70m |
| | 81 | onap-sdnrdb-coordinating-only-5f87cb6d74-tgc5p 2/2 Running 2 (28m ago) 68m |
| | 82 | onap-policy-clamp-fe-56c59bc9fc-2mr99 1/1 Running 1 (28m ago) 70m |
| | 83 | onap-policy-api-64655b4bbd-rlptb 1/1 Running 1 (28m ago) 70m |
| | 84 | onap-policy-gui-59b76dd7db-pqw5b 1/1 Running 1 (28m ago) 70m |
| | 85 | onap-policy-clamp-cl-k8s-ppnt-6ddb58cfbd-8rcj5 1/1 Running 1 (28m ago) 70m |
| | 86 | onap-policy-clamp-be-b8fcc698d-c7fdn 1/1 Running 1 (28m ago) 70m |
| | 87 | onap-policy-clamp-cl-runtime-867fd4765-9zn2s 1/1 Running 1 (28m ago) 70m |
| | 88 | onap-policy-apex-pdp-0 1/1 Running 1 (28m ago) 70m |
| | 89 | onap-aaf-sms-7885fd9f5c-v8xpq 1/1 Running 1 (28m ago) 77m |
| | 90 | onap-policy-pap-7dd48d6d69-swbcd 1/1 Running 1 (28m ago) 70m |
| | 91 | onap-sdnc-dgbuilder-8d946cb6b-jct5g 1/1 Running 1 (28m ago) 68m |
| | 92 | onap-dmaap-dr-prov-6ddbc5595-x9zs7 2/2 Running 2 (28m ago) 75m |
| | 93 | onap-a1policymanagement-0 2/2 Running 2 (28m ago) 77m |
| | 94 | onap-dmaap-dr-node-0 2/2 Running 2 (28m ago) 75m |
| | 95 | onap-sdnc-web-55b974859d-7f72m 1/1 Running 1 (28m ago) 68m |
| | 96 | onap-dcae-config-binding-service-f95cf8997-7pqj7 4/4 Running 4 (28m ago) 76m |
| | 97 | onap-dcae-ves-collector-7bb58645f6-wjmr7 2/2 Running 2 (28m ago) 76m |
| | 98 | onap-dcae-cloudify-manager-85cfdc498b-p9fq9 1/1 Running 1 (28m ago) 76m |
| | 99 | onap-sdnc-0 2/2 Running 2 (28m ago) 68m |
| | 100 | onap-network-name-gen-699cdbd4b5-f9shp 1/1 Running 13 (21m ago) 68m |
| | 101 | onap-aaf-sms-preload--1-xw2z8 0/1 Init:CreateContainerConfigError 2 77m |
| | 102 | onap-message-router-kafka-0 0/1 CrashLoopBackOff 8 (3m55s ago) 75m |
| | 103 | onap-message-router-0 0/1 CrashLoopBackOff 8 (3m28s ago) 75m |
| | 104 | NAME READY STATUS RESTARTS AGE |
| | 105 | a1-sim-std-0-7d7d6d5b69-q4tf8 1/1 Running 1 (28m ago) 67m |
| | 106 | a1-sim-std-1-6d7b644cbb-vhndk 1/1 Running 1 (28m ago) 67m |
| | 107 | a1-sim-std2-0-64cc667968-m6rp6 1/1 Running 1 (28m ago) 67m |
| | 108 | a1-sim-osc-1-5bb7478885-25rmb 1/1 Running 1 (28m ago) 67m |
| | 109 | topology-6c5cd99d6d-qnrzr 1/1 Running 1 (28m ago) 67m |
| | 110 | helmmanager-0 1/1 Running 1 (28m ago) 67m |
| | 111 | a1-sim-std2-1-b668b97df-662zs 1/1 Running 1 (28m ago) 67m |
| | 112 | rappcatalogueservice-765d8c69fd-zp57s 1/1 Running 1 (28m ago) 67m |
| | 113 | dmaapadapterservice-0 1/1 Running 1 (28m ago) 67m |
| | 114 | a1-sim-osc-0-547cc8fc84-fmddw 1/1 Running 1 (28m ago) 67m |
| | 115 | informationservice-0 1/1 Running 1 (28m ago) 67m |
| | 116 | nonrtricgateway-689d9cf595-gltwm 1/1 Running 2 (27m ago) 67m |
| | 117 | dmaapmediatorservice-0 1/1 Running 3 (26m ago) 67m |
| | 118 | oran-nonrtric-kong-594db9cb8b-pqbhg 2/2 Running 8 (26m ago) 67m |
| | 119 | controlpanel-6fb4f88778-rl5gx 1/1 Running 4 (26m ago) 67m |
| | 120 | oru-app-cd86cbb85-9wbck 1/1 Running 1 (28m ago) 67m |
| | 121 | }}} |
| | 122 | |
| | 123 | {{{ |
| | 124 | #!NewsFlash |
| | 125 | |
| | 126 | In case you want to build your own ORAN image, start with the ubuntu2004.ndz and remove snapd restriction from it with: |
| | 127 | {{{ |
| | 128 | sudo rm /etc/apt/preferences.d/snapd |
| | 129 | }}} |
| | 130 | |
| | 131 | Install snapd: |
| | 132 | {{{ |
| | 133 | sudo apt update |
| | 134 | sudo apt install snapd |
| | 135 | }}} |
| | 136 | |
| | 137 | Add to /etc/profile |
| | 138 | {{{ |
| | 139 | export LC_ALL=C.UTF-8 |
| | 140 | export LANG=C.UTF-8 |
| | 141 | }}} |
| | 142 | |
| | 143 | exit the ssh session and come back. Install a local Kubernetes with [https://ubuntu.com/tutorials/install-a-local-kubernetes-with-microk8s MicroK8s]: |
| | 144 | {{{ |
| | 145 | sudo snap install microk8s --classic |
| | 146 | }}} |
| | 147 | |
| | 148 | Grab the [https://github.com/sebdet/oran-deployment O-RAN installation scripts]: |
| | 149 | |
| | 150 | {{{ |
| | 151 | git clone --recursive https://github.com/sebdet/oran-deployment.git |
| | 152 | }}} |
| | 153 | |
| | 154 | And then install them |
| | 155 | {{{ |
| | 156 | ./oran-deployment/scripts/layer-0/0-setup-microk8s.sh |
| | 157 | ./oran-deployment/scripts/layer-0/0-setup-charts-museum.sh |
| | 158 | ./oran-deployment/scripts/layer-0/0-setup-helm3.sh |
| | 159 | ./oran-deployment/scripts/layer-1/1-build-all-charts.sh |
| | 160 | ./oran-deployment/scripts/layer-2/2-install-oran.sh |
| | 161 | }}} |
| | 162 | |
| | 163 | Check the status of the |
| | 164 | |
| | 165 | [[NewsFlashEnd]] |