Installing Non-realtime RIC
Non-realtime RAN Intelligent Controller is deployed on a kubernetes cluster with helm being the package manager. Please refer to the near-realtime RIC installation about preparing for a kubernetes cluster. A recipe file is used to configure the non-realtime RIC instance.
Non-realtime RIC Platform
After the Kubernetes cluster is ready, the next step is to install the Non-realtime RIC Platform.
Getting and Preparing Deployment Scripts
Clone the it/dep git repository that has deployment scripts and support files on the target VM. (You might have already done this in a previous step.)
% git clone https://gerrit.o-ran-sc.org/r/it/dep
Check out the appropriate branch of the repository with the release you want to deploy. For example:
git clone https://gerrit.o-ran-sc.org/r/it/dep
cd dep
git submodule update --init --recursive --remote
Modify the deployment recipe
Edit the recipe files ./RECIPE_EXAMPLE/NONRTRIC/example_recipe.yaml.
To specify which version of the non-realtime RIC platform components will be deployed, update the platform component container tags in their corresponding section.
You can specify which docker registry will be used for each component. If the docker registry requires login credential, you can add the credential in the following section. Please note that the installation suite has already included credentials for O-RAN Linux Foundation docker registries. Please do not create duplicate entries.
docker-credential:
enabled: true
credential:
SOME_KEY_NAME:
registry: ""
credential:
user: ""
password: ""
email: ""
Deploying Platform
After the recipes are edited, the Near Realtime RIC platform is ready to be deployed.
cd dep/bin
./deploy-nonrtric ../RECIPE_EXAMPLE/PLATFORM/example_recipe.yaml
Checking the Deployment Status
Now check the deployment status after a short wait. Results similar to the output shown below indicate a complete and successful deployment. Check the STATUS column from both kubectl outputs to ensure that all are either “Completed” or “Running”, and that none are “Error” or “ImagePullBackOff”.
# helm list
NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
r2-dev-nonrtric 1 Sat Dec 12 02:55:52 2020 DEPLOYED nonrtric-2.0.0 nonrtric
# kubectl get pods -n ricplt
NAME READY STATUS RESTARTS AGE
a1-sim-osc-0 1/1 Running 0 2m8s
a1-sim-std-0 1/1 Running 0 2m8s
a1controller-ff7c8979f-l7skk 1/1 Running 0 2m8s
controlpanel-859d8c6c6f-hmzrj 1/1 Running 0 2m8s
db-6b94f965dc-dsch6 1/1 Running 0 2m8s
enrichmentservice-587d7d8984-vllst 1/1 Running 0 2m8s
policymanagementservice-d648f7c9b-54mwc 1/1 Running 0 2m8s
rappcatalogueservice-7cbbc99b8d-rl2nz 1/1 Running 0 2m8s
Undeploying Platform
To undeploy all the containers, perform the following steps in a root shell within the it-dep repository.
# cd bin
# ./undeploy-nonrtric
Results similar to below indicate a complete and successful cleanup.
# ./undeploy-ric-platform
Undeploying NONRTRIC components [controlpanel a1controller a1simulator policymanagementservice enrichmentservice rappcatalogueservice]
release "r2-dev-nonrtric" deleted
configmap "nonrtric-recipe" deleted
namespace "nonrtric" deleted