4 This project uses different helm charts from different Linux Foundation projects and integrate them into a unique SMO deployment.
5 <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>
6 <p>It contains also provisioning scripts that can be used to bootstrap the platform and execute test use cases, network simulators, a1 simulators, cnf network simulators, etc ... </p>
9 1. [Pre-requisites](#pre-requisites)
10 2. [Installation Flavours](#installation-flavours-and-configurations)
11 3. [Installation Modes](#installation-modes)
12 - [Release/Snapshot Mode](#releasesnapshot-mode-installation)
13 - [Dev Mode](#dev-mode-installation)
14 4. [Uninstallation](#uninstallation)
15 5. [Manual Image Pulling](#manual-image-pulling)
16 6. [Troubleshooting](#troubleshooting)
21 - VM: 64GB Memory, 20VCPU, 100GB disk
22 - Helm 3.12.0+ (< 4.0.0)
24 - Helm deploy/undeploy plugin
31 ## Installation Flavours and Configurations
33 - Flavours are directories under `smo-install/helm-override/`.
34 - The default flavour is `default` (`smo-install/helm-override/default`).
35 - The default flavour is considered as a baseline configuration for all the installations.
36 - Flavour config files:
37 - `onap-override.yaml`: ONAP components
38 - `oran-override.yaml`: O-RAN components
39 - To create a new flavour, add a directory with `onap-flavour-config.yaml` and `oran-flavour-config.yaml`.
40 - These flavour configuration files doesn't needs to have entire configuration as same as in default flavour, Instead it should contain only the configuration that needs to be overridden from the default flavour.
41 - Only override necessary config values from the default flavour.
44 > Each flavour may require its own prerequisites or additional configuration (for example: different cluster resources, storage classes, or external services). Please check the `README.md` file inside the flavour directory under `smo-install/helm-override/<FLAVOUR>/README.md` for flavour-specific prerequisites and configuration details before installing.
46 **Example:** To disable NONRTRIC rAppmanager in your flavour:
49 installrAppmanager: false
56 ### Release/Snapshot Mode Installation
57 - Uses pre-built charts from Nexus repositories.
58 - No chart building required.
61 - SMO Release: https://nexus3.o-ran-sc.org/repository/helm.release/
62 - SMO Snapshot: https://nexus3.o-ran-sc.org/repository/helm.snapshot/
63 - Strimzi: strimzi.io/charts/
66 1. Clone the repository:
68 git clone --recursive "https://gerrit.o-ran-sc.org/r/it/dep"
70 2. Setup Helm and plugins:
72 ./dep/smo-install/scripts/layer-0/0-setup-helm3.sh
74 3. To speed up installation, the required images can be pulled manually before starting the installation. Refer to [Manual Image Pulling](#manual-image-pulling) section for details.
76 - Default flavour, release mode:
78 ./dep/smo-install/scripts/layer-2/2-install-oran.sh
80 - Default flavour, snapshot mode:
82 ./dep/smo-install/scripts/layer-2/2-install-oran.sh default snapshot
84 - Specific flavour, release mode:
86 ./dep/smo-install/scripts/layer-2/2-install-oran.sh <FLAVOUR>
88 - Specific flavour, snapshot mode:
90 ./dep/smo-install/scripts/layer-2/2-install-oran.sh <FLAVOUR> snapshot
94 kubectl get pods -n onap && kubectl get pods -n nonrtric && kubectl get pods -n smo
97 ### Dev Mode Installation
98 - Builds charts from source.
101 1. Clone the repository:
103 git clone --recursive "https://gerrit.o-ran-sc.org/r/it/dep"
105 2. Setup chartmuseum and Helm:
107 ./dep/smo-install/scripts/layer-0/0-setup-charts-museum.sh
110 ./dep/smo-install/scripts/layer-0/0-setup-helm3.sh
114 ./dep/smo-install/scripts/layer-1/1-build-all-charts.sh
116 4. To speed up installation, the required images can be pulled manually before starting the installation. Refer to [Manual Image Pulling](#manual-image-pulling) section for details.
120 ./dep/smo-install/scripts/layer-2/2-install-oran.sh default dev
124 ./dep/smo-install/scripts/layer-2/2-install-oran.sh <FLAVOUR> dev
128 kubectl get pods -n onap && kubectl get pods -n nonrtric && kubectl get pods -n smo
134 To remove all components:
136 ./dep/smo-install/scripts/uninstall-all.sh
140 ## Manual Image Pulling
141 At times, the installation may be slower due to slow image pulls. To mitigate this, you can manually pull the required images before starting the installation.
143 To generate the list of required images, run:
145 ./dep/smo-install/scripts/sub-scripts/generate-image-list.sh <HELM_REPO>
147 Where `<HELM_REPO>` is either `oran-snapshot` or `oran-release` or `local` (depends on the helm repo configuration). The default is `oran-release`.
149 Command to pull the image depends on your container runtime.
151 For example, if you are using `docker`, you can run:
153 docker pull <IMAGE_NAME>
155 Where `<IMAGE_NAME>` is the image uri from the generated list.
157 If you are using `containerd`, and `crictl` is available, you can run:
159 crictl pull <IMAGE_NAME>
162 Similarly, for other container runtimes, use the appropriate command to pull the images.
165 > If you are using multi node cluster, you need to pull the images on all the nodes.
171 > **ONAP mariadb pod may fail to start due to slow image pulls.**
172 > - Try re-installation.
173 > - Manually pull required images before installation if issues persist. Refer to [Manual Image Pulling](#manual-image-pulling) section for details.