X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=docs%2Finstallation-xapps.rst;h=3d94fe9b23765ec50b7ead381d253eea6dc6016b;hb=2fcd391f36ba041a675a4e3012067eb673294857;hp=d5af024a89da87cf5ce8c7911d300443a7044bb6;hpb=c22d1ce8663b9e6c04e9683ab223a38a7a06c913;p=it%2Fdep.git diff --git a/docs/installation-xapps.rst b/docs/installation-xapps.rst index d5af024a..3d94fe9b 100644 --- a/docs/installation-xapps.rst +++ b/docs/installation-xapps.rst @@ -18,64 +18,61 @@ Loading xApp Helm Charts ------------------------ -The RIC Platform App Manager deploys RIC applications (a.k.a. xApps) using Helm charts stored in a private Helm repo. -In the dev testing deployment described in this documentation, this private Helm repo is the Chart Museum pod that is deployed within the ric infrastructure group into the RIC cluster. +The RIC Platform App Manager deploys RIC applications (a.k.a. xApps) using Helm charts stored in a private local Helm repo. +The Helm local repo is deployed as a sidecar of the App Manager pod, and its APIs are exposed using an ingress controller with TLS enabled. +You can use both HTTP and HTTPS to access it. -The Helm repo location and credential for access the repo are specified in both the infrastructure and platform recipe files. +Before any xApp can be deployed, its Helm chart must be loaded into this private Helm repo. +The example below shows the command sequences that upload and delete the xApp Helm charts: -Before any xApp can be deployed, its Helm chart must be loaded into this private Helm repo before the App manager can deploy them. -The example below show a command sequence that completes: - -#. Add the Helm repo at the Helm client running on the RIC cluster host VM (via Kong Ingress Controller); -#. Load the xApp Helm chart into the Helm repo; -#. Update the local cache for the Helm repo and check the Helm chart is loaded; -#. Calling App Manager to deploy the xApp; -#. Calling App Manager to delete the xApp; +#. Load the xApp Helm charts into the Helm repo; +#. Verify the xApp Helm charts; +#. Call App Manager to deploy the xApp; +#. Call App Manager to delete the xApp; #. Delete the xApp helm chart from the private Helm repo. -.. code:: bash +In the following example, the is the IP address that the RIC cluster ingress controller is listening to. +If you are using a VM, it is the IP address of the main interface. +If you are using REC clusters, it is the DANM network IP address you assigned in the recipe. +If the commands are executed inside the host machine, you can use "localhost" as the . - # add the Chart Museum as repo cm - helm repo add cm http://10.0.2.100:32080/helm - # load admin-xapp Helm chart to the Chart Museum - curl -L -u helm:helm --data-binary "@admin-xapp-1.0.7.tgz" \ - http://10.0.2.100:32080/helm/api/charts +.. code:: bash + + # load admin-xapp Helm chart to the Helm repo + curl -L --data-binary "@admin-xapp-1.0.7.tgz" http://:32080/helmrepo - # check the local cache of repo cm - helm repo update cm - # verify that the Helm chart is loaded and accessible - helm search cm/ - # the new admin-app chart should show up here. + # verify the xApp Helm charts + curl -L http://:32080/helmrepo/index.yaml # test App Manager health check API - curl -v http://10.0.2.100:32080/appmgr/ric/v1/health/ready + curl -v http://:32080/appmgr/ric/v1/health/ready # expecting a 200 response # list deployed xApps - curl http://10.0.2.100:32080/appmgr/ric/v1/xapps + curl http://:32080/appmgr/ric/v1/xapps # expecting a [] - - # deploy xApp - curl -X POST http://10.0.2.100:32080/appmgr/ric/v1/xapps -d '{"name": "admin-xapp"}' + + # deploy xApp, the xApp name has to be the same as the xApp Helm chart name + curl -X POST http:///appmgr/ric/v1/xapps -d '{"name": "admin-xapp"}' # expecting: {"name":"admin-app","status":"deployed","version":"1.0","instances":null} - + # check again deployed xApp - curl http://10.0.2.10:32080/appmgr/ric/v1/xapps + curl http://:32080/appmgr/ric/v1/xapps # expecting a JSON array with an entry for admin-app - + # check pods using kubectl kubectl get pods --all-namespaces # expecting the admin-xapp pod showing up - + # underlay the xapp - curl -X DELETE http://10.0.2.100:32080/appmgr/ric/v1/xapps/admin-xapp + curl -X DELETE http://:32080/appmgr/ric/v1/xapps/admin-xapp # check pods using kubectl kubectl get pods --all-namespaces # expecting the admin-xapp pod gone or shown as terminating # to delete a chart - curl -L -X DELETE -u helm:helm http://10.0.2.100:32080/api/charts/admin-xapp/0.0.5 + curl -L -X DELETE -u helm:helm http://:32080/api/charts/admin-xapp/0.0.5 For more xApp deployment and usage examples, please see the documentation for the it/test repository.