Merge "Add release notes"
[it/dep.git] / docs / installation-xapps.rst
index c42dc78..3d94fe9 100644 (file)
@@ -1,10 +1,10 @@
 .. 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 AT&T Intellectual Property 
+.. 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 
+.. 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
 .. limitations under the License.
 .. ===============LICENSE_END=========================================================
 
-Running the Near Realtime RIC
-==================================================================
-
 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:
-1. Add the Helm repo at the Helm client running on the RIC cluster host VM (via Kong Ingress Controller);
-2. Load the xApp Helm chart into the Helm repo;
-3. Update the local cache for the Helm repo and check the Helm chart is loaded;
-4. Calling App Manager to deploy the xApp;
-5. Calling App Manager to delete the xApp;
-6. Delete the xApp helm chart from the private Helm repo.
+#. 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 <INGRESS_CONTROLLER_IP> 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 <INGRESS_CONTROLLER_IP>.
 
-   # 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
 
-   # 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.
+   # load admin-xapp Helm chart to the Helm repo
+   curl -L --data-binary "@admin-xapp-1.0.7.tgz" http://<INGRESS_CONTROLLER_IP>:32080/helmrepo
+
+   # verify the xApp Helm charts
+   curl -L http://<INGRESS_CONTROLLER_IP>: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://<INGRESS_CONTROLLER_IP>: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://<INGRESS_CONTROLLER_IP>: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://<INGRESS_CONTROLLER_IP>/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://<INGRESS_CONTROLLER_IP>: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://<INGRESS_CONTROLLER_IP>: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
-
-For more xApp deployment and usage examples, please see documentations for the it/test repositooory.
-
+   curl -L -X DELETE -u helm:helm http://<INGRESS_CONTROLLER_IP>:32080/api/charts/admin-xapp/0.0.5
 
+For more xApp deployment and usage examples, please see the documentation for the it/test repository.