X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=docs%2Fric%2Finstallation-xapps.rst;fp=docs%2Fric%2Finstallation-xapps.rst;h=b255917414514b6e0686786529836c0f436e3ec4;hb=8326b647f5165b1697c257954bfcda874ef3cafa;hp=0000000000000000000000000000000000000000;hpb=adca874749896a2933602dbd0d6519bccc78c709;p=it%2Fdep.git diff --git a/docs/ric/installation-xapps.rst b/docs/ric/installation-xapps.rst new file mode 100644 index 00000000..b2559174 --- /dev/null +++ b/docs/ric/installation-xapps.rst @@ -0,0 +1,77 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. SPDX-License-Identifier: CC-BY-4.0 +.. ===============LICENSE_START======================================================= +.. Copyright (C) 2019-2020 AT&T Intellectual Property +.. =================================================================================== +.. This documentation file is distributed under the Creative Commons Attribution +.. 4.0 International License (the "License"); you may not use this file except in +.. compliance with the License. You may obtain a copy of the License at +.. +.. http://creativecommons.org/licenses/by/4.0 +.. +.. This file is distributed on an "AS IS" BASIS, +.. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +.. See the License for the specific language governing permissions and +.. limitations under the License. +.. ===============LICENSE_END========================================================= + +**Loading xApp Helm Charts** + +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. + +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: + +#. 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. + +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 . + + +.. code:: bash + + # load admin-xapp Helm chart to the Helm repo + curl -L --data-binary "@admin-xapp-1.0.7.tgz" http://:32080/helmrepo + + # verify the xApp Helm charts + curl -L http://:32080/helmrepo/index.yaml + + # test App Manager health check API + curl -v http://:32080/appmgr/ric/v1/health/ready + # expecting a 200 response + + # list deployed xApps + curl http://:32080/appmgr/ric/v1/xapps + # expecting a [] + + # 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://: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://: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://:32080/api/charts/admin-xapp/0.0.5 + +For more xApp deployment and usage examples, please see the documentation for the it/test repository.