3 This project uses different helm charts from different Linux Foundation projects and integrate them into a unique SMO deployment.
4 <p>The ONAP and ORAN project helm charts are built and then configured by using "helm override" so that it represents a valid ORAN SMO installation.</p>
5 <p>It contains also provisioning scripts that can be used to bootstrap the platform and execute test usecases, network simulators, a1 simulators, cnf network simulators, etc ...</p>
8 The CNF part is still a "work in progress" so not well documented, it's a DU/RU/topology server deployment done by ONAP SO instantiation.
9 It has been created out of the ONAP vfirewall usecase.
12 * Setup a VM with 20GB Memory, 8VCPU, 60GB of diskspace.
13 * Install an ubuntu live server 20.04 LTS (https://releases.ubuntu.com/20.04/ubuntu-20.04.3-live-server-amd64.iso)
14 * Execute the following commands being logged as root:
16 ```git clone --recursive "https://gerrit.o-ran-sc.org/r/it/dep"```
18 ```./dep/smo-install/scripts/layer-0/0-setup-microk8s.sh```
20 ```./dep/smo-install/scripts/layer-0/0-setup-charts-museum.sh```
22 ```./dep/smo-install/scripts/layer-0/0-setup-helm3.sh```
24 ```./dep/smo-install/scripts/layer-1/1-build-all-charts.sh```
26 ```./dep/smo-install/scripts/layer-2/2-install-oran.sh```
30 ```kubectl get pods -n onap && kubectl get pods -n nonrtric```
32 When all pods in "onap" and "nonrtric" namespaces are well up & running:
34 ```./dep/smo-install/scripts/layer-2/2-install-simulators.sh```
36 ## Quick Installation on existing kubernetes
37 * Ensure you have at least 20GB Memory, 6VCPU, 60GB of diskspace.
38 * Execute the following commands being logged as root:
40 ```git clone --recursive "https://gerrit.o-ran-sc.org/r/it/dep"```
42 ```./oran-deployment/scripts/layer-0/0-setup-charts-museum.sh```
44 ```./oran-deployment/scripts/layer-0/0-setup-helm3.sh```
46 ```./oran-deployment/scripts/layer-1/1-build-all-charts.sh```
48 ```./oran-deployment/scripts/layer-2/2-install-oran.sh```
52 ```kubectl get pods -n onap && kubectl get pods -n nonrtric```
54 When all pods in "onap" and "nonrtric" namespaces are well up & running:
56 ```./oran-deployment/scripts/layer-2/2-install-simulators.sh```
62 The user entry point is located in the <strong>scripts</strong> folder
66 ├── cnf <-- CNF packages that can be deployed by ONAP (Work In Progress, so not yet well documented)
67 │ └── du-ru-simulators <--- The CNF package containing DU/RU/Topology server simulators
68 ├── helm-override <-- The Configuration of the different HELM charts used in SMO package
69 │ ├── network-simulators-override.yaml <--- Standard config for the network simulators
70 │ ├── network-simulators-topology-override.yaml <--- Network simulator topology example that can be changed
71 │ ├── onap-override-cnf.yaml <--- A medium ONAP config ready for CNF deployment
72 │ ├── onap-override.yaml <--- A minimal ONAP config for SMO package
73 │ └── oran-override.yaml <--- A minimal ORAN config for SMO package
75 ├── multicloud-k8s <-- Git SUBMODULE required for KUD installation
76 ├── onap_oom <-- Git SUBMODULE required for ONAP installation
77 ├── oran_oom <-- ORAN Charts
83 │ ├── dmaapadapterservice
85 │ ├── enrichmentservice
86 │ ├── Makefile <-- ORAN Makefile to build all ORAN Charts
91 │ ├── policymanagementservice
92 │ ├── rappcatalogueservice
94 │ ├── ru-du-simulators
99 ├── scripts <-- All installation scripts (USER ENTRY POINT)
100 │ ├── layer-0 <--- Scripts to setup Node
101 │ │ ├── 0-setup-charts-museum.sh <--- Setup ChartMuseum
102 │ │ └── 0-setup-kud-node.sh <--- Setup K8S node with ONAP Multicloud KUD installation
103 │ │ └── 0-setup-microk8s.sh <--- Setup K8S node with MicroK8S installation
104 │ │ └── 0-setup-helm3.sh <--- Setup HELM3
105 │ │ └── 0-setup-tests-env.sh <--- Setup Python SDK tools
106 │ ├── layer-1 <--- Scripts to prepare for the SMO installation
107 │ │ └── 1-build-all-charts.sh <--- Build all HELM charts and upload them to ChartMuseum
108 │ ├── layer-2 <--- Scripts to install SMO package
109 │ │ ├── 2-install-nonrtric-only.sh <--- Install SMO NONRTRIC k8s namespace only
110 │ │ ├── 2-install-oran-cnf.sh <--- Install SMO full with ONAP CNF features
111 │ │ ├── 2-install-oran.sh <--- Install SMO minimal
112 │ │ └── 2-install-simulators.sh <--- Install Network simulator (RU/DU/Topology Server)
113 │ │ └── 2-upgrade-simulators.sh <--- Upgrade the simulators install at runtime when changes are done on override files
114 │ ├── sub-scripts <--- Sub-Scripts used by the main layer-0, layer-1, layer-2
116 │ │ ├── install-nonrtric.sh
117 │ │ ├── install-onap.sh
118 │ │ ├── install-simulators.sh
119 │ │ ├── uninstall-nonrtric.sh
120 │ │ ├── uninstall-onap.sh
121 │ │ └── uninstall-simulators.sh
122 │ └── uninstall-all.sh <--- Uninstall ALL SMO K8S namespaces and cleanup K8S
123 └── test <-- Scripts to test the SMO installation (Work In Progress, so not yet well documented)
124 ├── a1-validation <--- Test nonrtric A1 interface (https://wiki.o-ran-sc.org/display/RICNR/Testing+End+to+End+call+in+release+D)
128 ├── apex-policy-test <--- Test apex policy (https://wiki.o-ran-sc.org/pages/viewpage.action?pageId=35881325, it requires simulators to be up)
129 │ ├── apex-policy-test.sh
131 ├── enable-sim-fault-report <--- Enable the fault reporting of the network simulators by SDNC
133 │ └── enable-network-sim-fault-reporting.sh
134 └── pythonsdk <--- Test based on ONAP Python SDK to validate O1 and A1
146 Use git clone to get it on your server:
148 ```git clone --recursive "https://gerrit.o-ran-sc.org/r/it/dep"```
151 <strong>Note:</strong> The current repository has multiple sub git submodules, therefore the <strong>--recursive</strong> flag is absolutely <strong>REQUIRED</strong>
154 * K8S node setup with Helm 3 and Kubectl properly configured (tested with <strong>K8S v1.21.5</strong> and <strong>HELM v3.5.4</strong>).
155 FOR K8S installation, multiple options are available:
156 - MicroK8S standalone deployment:
158 ```./dep/smo-install/scripts/layer-0/0-setup-microk8s.sh```
160 OR this wiki can help to setup it (<strong>Section 1, 2 and 3</strong>): https://wiki.onap.org/display/DW/Deploy+OOM+and+SDC+%28or+ONAP%29+on+a+single+VM+with+microk8s+-+Honolulu+Setup
162 - KubeSpray using ONAP multicloud KUD (https://git.onap.org/multicloud/k8s/tree/kud) installation by executing(this is required for ONAP CNF deployments):
164 ```./dep/smo-install/scripts/layer-0/0-setup-kud-node.sh```
167 - Use an existing K8S installation (Cloud, etc ...).
170 * ChartMuseum to store the HELM charts on the server, multiple options are available:
171 - Execute the install script:
173 ```./dep/smo-install/scripts/layer-0/0-setup-charts-museum.sh```
175 ```./oran-deployment/scripts/layer-0/0-setup-helm3.sh```
177 - Install chartmuseum manually on port 18080 (https://chartmuseum.com/#Instructions, https://github.com/helm/chartmuseum)
180 In the ./helm-override/ folder the helm config that are used by the SMO installation.
181 <p>Different flavors are preconfigured, and should NOT be changed unless you intentionally want to updates some configurations.
184 * Build ONAP/ORAN charts
186 ```./dep/smo-install/scripts/layer-1/1-build-all-charts.sh```
188 * Choose the installation:
189 - ONAP + ORAN "nonrtric" <strong>(RECOMMENDED ONE)</strong>:
191 ```./dep/smo-install/scripts/layer-2/2-install-oran.sh```
192 - ORAN "nonrtric" par only:
194 ```./dep/smo-install/scripts/layer-2/2-install-nonrtric-only.sh```
196 - ONAP CNF + ORAN "nonrtric" (This must still be documented properly):
198 ```./dep/smo-install/scripts/layer-2/2-install-oran-cnf.sh```
202 * Install the network simulators (DU/RU/Topo):
203 - When all pods in "onap" and "nonrtric" namespaces are well up & running:
205 ```kubectl get pods -n onap && kubectl get pods -n nonrtric```
207 - Execute the install script:
209 ```./dep/smo-install/scripts/layer-2/2-install-simulators.sh```
211 - Check the simulators status:
213 ```kubectl get pods -n network```
215 Note: The simulators topology can be customized in the file ./oran-deployment/helm-override/network-simulators-topology-override.yaml
217 ## Platform access points:
219 https://K8SServerIP:30205/odlux/index.html
220 * NONRTRIC Dashboard:
221 http://K8SServerIP:30091/
227 ```./dep/smo-install/scripts/uninstall-all.sh```