X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=smo-install%2FREADME.md;fp=smo-install%2FREADME.md;h=391a25505be3743797cd0deb956c30610d6f1024;hb=a2c2df5014145ee3126146987d9039e397b12407;hp=0000000000000000000000000000000000000000;hpb=2482dc9de60c39de16d4e85d3fa11d02ec645957;p=it%2Fdep.git diff --git a/smo-install/README.md b/smo-install/README.md new file mode 100644 index 00000000..391a2550 --- /dev/null +++ b/smo-install/README.md @@ -0,0 +1,192 @@ +# ORAN SMO Package + +This project uses different helm charts from different Linux Foundation projects and integrate them into a unique SMO deployment. +
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.
+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 ...
+ +Note: +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. +It has been created out of the ONAP vfirewall usecase. + +## Quick Installation +* Setup a VM with 20GB Memory, 8VCPU, 60GB of diskspace. +* Install an ubuntu live server 20.04 LTS (https://releases.ubuntu.com/20.04/ubuntu-20.04.3-live-server-amd64.iso) +* Execute the following commands being logged as root: + + ```git clone --recursive "https://gerrit.o-ran-sc.org/r/it/dep"``` + + ```./dep/smo-install/scripts/layer-0/0-setup-microk8s.sh``` + + ```./dep/smo-install/scripts/layer-0/0-setup-charts-museum.sh``` + + ```./dep/smo-install/scripts/layer-0/0-setup-helm3.sh``` + + ```./dep/smo-install/scripts/layer-1/1-build-all-charts.sh``` + + ```./dep/smo-install/scripts/layer-2/2-install-oran.sh``` + + Verify pods: + + ```kubectl get pods -n onap && kubectl get pods -n nonrtric``` + + When all pods in "onap" and "nonrtric" namespaces are well up & running: + + ```./dep/smo-install/scripts/layer-2/2-install-simulators.sh``` + +## Structure +The user entry point is located in the scripts folder + +``` +. +âââ cnf <-- CNF packages that can be deployed by ONAP (Work In Progress, so not yet well documented) +â  âââ du-ru-simulators <--- The CNF package containing DU/RU/Topology server simulators +âââ helm-override <-- The Configuration of the different HELM charts used in SMO package +â  âââ network-simulators-override.yaml <--- Standard config for the network simulators +â  âââ network-simulators-topology-override.yaml <--- Network simulator topology example that can be changed +â  âââ onap-override-cnf.yaml <--- A medium ONAP config ready for CNF deployment +â  âââ onap-override.yaml <--- A minimal ONAP config for SMO package +â  âââ oran-override.yaml <--- A minimal ORAN config for SMO package +âââ LICENSE +âââ multicloud-k8s <-- Git SUBMODULE required for KUD installation +âââ onap_oom <-- Git SUBMODULE required for ONAP installation +âââ oran_oom <-- ORAN Charts +â  âââ a1controller +â  âââ a1simulator +â  âââ aux-common +â  âââ controlpanel +â  âââ dist +â  âââ dmaapadapterservice +â  âââ du-simulator +â  âââ enrichmentservice +â  âââ Makefile <-- ORAN Makefile to build all ORAN Charts +â  âââ nonrtric +â  âââ nonrtric-common +â  âââ nonrtricgateway +â  âââ oru-app +â  âââ policymanagementservice +â  âââ rappcatalogueservice +â  âââ ric-common +â  âââ ru-du-simulators +â  âââ ru-simulator +â  âââ topology +â  âââ topology-server +âââ README.md +âââ scripts <-- All installation scripts (USER ENTRY POINT) +â  âââ layer-0 <--- Scripts to setup Node +â  â  âââ 0-setup-charts-museum.sh <--- Setup ChartMuseum +â  â  âââ 0-setup-kud-node.sh <--- Setup K8S node with ONAP Multicloud KUD installation +â  â  âââ 0-setup-microk8s.sh <--- Setup K8S node with MicroK8S installation +â  â  âââ 0-setup-helm3.sh <--- Setup HELM3 +â  âââ layer-1 <--- Scripts to prepare for the SMO installation +â  â  âââ 1-build-all-charts.sh <--- Build all HELM charts and upload them to ChartMuseum +â  âââ layer-2 <--- Scripts to install SMO package +â  â  âââ 2-install-nonrtric-only.sh <--- Install SMO NONRTRIC k8s namespace only +â  â  âââ 2-install-oran-cnf.sh <--- Install SMO full with ONAP CNF features +â  â  âââ 2-install-oran.sh <--- Install SMO minimal +â  â  âââ 2-install-simulators.sh <--- Install Network simulator (RU/DU/Topology Server) +â  âââ sub-scripts <--- Sub-Scripts used by the main layer-0, layer-1, layer-2 +â  â  âââ clean-up.sh +â  â  âââ install-nonrtric.sh +â  â  âââ install-onap.sh +â  â  âââ install-simulators.sh +â  â  âââ uninstall-nonrtric.sh +â  â  âââ uninstall-onap.sh +â  â  âââ uninstall-simulators.sh +â  âââ uninstall-all.sh <--- Uninstall ALL SMO K8S namespaces and cleanup K8S +âââ test <-- Scripts to test the SMO installation (Work In Progress, so not yet well documented) + âââ a1-validation <--- Test nonrtric A1 interface (https://wiki.o-ran-sc.org/display/RICNR/Testing+End+to+End+call+in+release+D) + â  âââ data + â  âââ subscripts + â  âââ validate-a1.sh + âââ apex-policy-test <--- Test apex policy (https://wiki.o-ran-sc.org/pages/viewpage.action?pageId=35881325, it requires simulators to be up) + â  âââ apex-policy-test.sh + â  âââ data + âââ enable-sim-fault-report <--- Enable the fault reporting of the network simulators by SDNC + âââ data + âââ enable-network-sim-fault-reporting.sh + +``` +## Download: +Use git clone to get it on your server: + +```git clone --recursive "https://gerrit.o-ran-sc.org/r/it/dep"``` + + +Note: The current repository has multiple sub git submodules, therefore the --recursive flag is absolutely REQUIRED + +## Requirements: +* K8S node setup with Helm 3 and Kubectl properly configured (tested with K8S v1.21.5 and HELM v3.5.4). + FOR K8S installation, multiple options are available: + - MicroK8S standalone deployment: + + ```./dep/smo-install/scripts/layer-0/0-setup-microk8s.sh``` + + OR this wiki can help to setup it (Section 1, 2 and 3): https://wiki.onap.org/display/DW/Deploy+OOM+and+SDC+%28or+ONAP%29+on+a+single+VM+with+microk8s+-+Honolulu+Setup + + - KubeSpray using ONAP multicloud KUD (https://git.onap.org/multicloud/k8s/tree/kud) installation by executing(this is required for ONAP CNF deployments): + + ```./dep/smo-install/scripts/layer-0/0-setup-kud-node.sh``` + + + - Use an existing K8S installation (Cloud, etc ...). + - .... + +* ChartMuseum to store the HELM charts on the server, multiple options are available: + - Execute the install script: + + ```./dep/smo-install/scripts/layer-0/0-setup-charts-museum.sh``` + + ```./oran-deployment/scripts/layer-0/0-setup-helm3.sh``` + + - Install chartmuseum manually on port 18080 (https://chartmuseum.com/#Instructions, https://github.com/helm/chartmuseum) + +## Configuration: +In the ./helm-override/ folder the helm config that are used by the SMO installation. +Different flavors are preconfigured, and should NOT be changed EXCEPT for the simulators (due to current DNS limitations in the simulators) +in ./helm-override/simulators-override.yaml, the "sdnControllerIp" and "vesEndpointIp" must be set to the server external IP
+ +## Installation: +* Build ONAP/ORAN charts + + ```./dep/smo-install/scripts/layer-1/1-build-all-charts.sh``` + +* Choose the installation: + - ONAP + ORAN "nonrtric" (RECOMMENDED ONE): + + ```./dep/smo-install/scripts/layer-2/2-install-oran.sh``` + - ORAN "nonrtric" par only: + + ```./dep/smo-install/scripts/layer-2/2-install-nonrtric-only.sh``` + + - ONAP CNF + ORAN "nonrtric" (This must still be documented properly): + + ```./dep/smo-install/scripts/layer-2/2-install-oran-cnf.sh``` + + + +* Install the network simulators (DU/RU/Topo): + - When all pods in "onap" and "nonrtric" namespaces are well up & running: + + ```kubectl get pods -n onap && kubectl get pods -n nonrtric``` + + - Execute the install script: + + ```./dep/smo-install/scripts/layer-2/2-install-simulators.sh``` + + - Check the simulators status: + + ```kubectl get pods -n network``` + + Note: The simulators topology can be customized in the file ./oran-deployment/helm-override/network-simulators-topology-override.yaml + +## Platform access points: +* SDNR WEB: + https://