Update it/dep document to include cherry release details 37/5337/2
authorZhe <zhehuang@research.att.com>
Sat, 12 Dec 2020 03:31:17 +0000 (22:31 -0500)
committerZhe <zhehuang@research.att.com>
Mon, 14 Dec 2020 23:14:02 +0000 (18:14 -0500)
Signed-off-by: Zhe <zhehuang@research.att.com>
Change-Id: Ief61efcdedd1d63757500db98b241e7f802670e5

15 files changed:
.gitignore
docs/installation-guides.rst
docs/installation-nonrtric.rst [new file with mode: 0644]
docs/installation-ric.rst
docs/nrtric/installation-nrtric.rst [new file with mode: 0644]
docs/overview.rst
docs/release-notes.rst
docs/ric/installation-aux.rst [moved from docs/installation-aux.rst with 95% similarity]
docs/ric/installation-k8s1node.rst [moved from docs/installation-k8s1node.rst with 94% similarity]
docs/ric/installation-ricplt.rst [new file with mode: 0644]
docs/ric/installation-virtualbox.rst [moved from docs/installation-virtualbox.rst with 94% similarity]
docs/ric/installation-xapps.rst [moved from docs/installation-xapps.rst with 98% similarity]
tools/onap/README.md [new file with mode: 0644]
tools/onap/install [moved from smo/bin/install with 71% similarity]
tools/onap/uninstall [moved from smo/bin/uninstall with 95% similarity]

index 7de0f2d..a14e5c2 100644 (file)
@@ -5,4 +5,5 @@
 *.swp
 *.lock
 .tox
+.DS_Store
 docs/_build/
index f871754..dee4e95 100644 (file)
@@ -39,84 +39,10 @@ Version history
 | 2020-01-23         | 0.2.0              |Zhe Huang           | Bronze RC          |
 |                    |                    |                    |                    |
 +--------------------+--------------------+--------------------+--------------------+
+| 2020-01-23         | 0.3.0              |Zhe Huang           | Cherry             |
+|                    |                    |                    |                    |
++--------------------+--------------------+--------------------+--------------------+
 
 
-
-Overview
-========
-
-The installation of Near Realtime RAN Intelligent Controller is spread onto two separate
-Kubernetes clusters.  The first cluster is used for deploying the Near Realtime RIC (platform and
-applications), and the other is for deploying other auxiliary functions.  They are referred to as
-RIC cluster and AUX cluster respectively.
-
-The following diagram depicts the installation architecture.
-
-.. image:: images/nrtric-amber.png
-   :width: 600
-
-Within the RIC cluster, Kubernetes resources are deployed using three name spaces: ricinfra, ricplt,
-and ricxapp by default.  Similarly, within the AUX cluster, Kubernetes resources are deployed using two name spaces:
-ricinfra, and ricaux.
-
-For each cluster, there is a Kong ingress controller that proxies incoming API calls into the cluster.
-With Kong, service APIs provided by Kubernetes resources can be accessed at the cluster node IP and
-port via a URL path.  For cross-cluster communication, in addition to Kong, each Kubernetes namespace
-has a special Kubernetes service defined with an endpoint pointing to the other cluster's Kong. This
-way any pod can access services exposed at the other cluster via the internal service hostname and port of
-this special service.  The figure below illustrates the details of how Kong and external services work
-together to realize cross-cluster communication.
-
-.. image:: images/kong-extservice.png
-   :width: 600
-
-
-
-Prerequisites
-=============
-
-Both RIC and AUX clusters need to fulfill the following prerequisites.
-
-- Kubernetes v.1.16.0 or above
-- helm v2.12.3 or above
-- Read-write access to directory /mnt
-
-The following two sections show two example methods to create an environment for installing RIC.
-
-VirtualBox VMs as Installation Hosts
-------------------------------------
-
-The deployment of Near Realtime RIC can be done on a wide range of hosts, including
-bare metal servers, OpenStack VMs, and VirtualBox VMs.  This section provides detailed instructions
-for setting up Oracle VirtualBox VMs to be used as installation hosts.
-
-.. include:: ./installation-virtualbox.rst
-
-
-One-Node Kubernetes Cluster
----------------------------
-
-This section describes how to set up a one-node Kubernetes cluster onto a VM installation host.
-
-.. include:: ./installation-k8s1node.rst
-
-
-Installing Near Realtime RIC in RIC Cluster
-===========================================
-
-After the Kubernetes cluster is installed, the next step is to install the (Near Realtime) RIC Platform.
-
 .. include:: ./installation-ric.rst
-
-
-Installing Auxiliary Functions in AUX Cluster
-=============================================
-
-.. include:: ./installation-aux.rst
-
-
-Installing RIC Applications
-===========================
-
-.. include:: ./installation-xapps.rst
-
+.. include:: ./installation-nonrtric.rst
diff --git a/docs/installation-nonrtric.rst b/docs/installation-nonrtric.rst
new file mode 100644 (file)
index 0000000..1877a69
--- /dev/null
@@ -0,0 +1,35 @@
+.. 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---------------------------------------------------------
+
+
+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.
+
+.. include:: ./nrtric/installation-nrtric.rst
+
+
index 2ad9515..d7df204 100644 (file)
@@ -1,8 +1,8 @@
 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
 .. SPDX-License-Identifier: CC-BY-4.0
-.. ===============LICENSE_START=======================================================
+.. ---------------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
 .. 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=========================================================
+.. ---------------LICENSE_END---------------------------------------------------------
 
 
-Getting and Preparing Deployment Scripts
-----------------------------------------
+Installing Near-realtime RIC
+============================
 
-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.)
+The installation of Near Realtime RAN Intelligent Controller is spread onto two separate
+Kubernetes clusters.  The first cluster is used for deploying the Near Realtime RIC (platform and
+applications), and the other is for deploying other auxiliary functions.  They are referred to as
+RIC cluster and AUX cluster respectively.
 
-::
+The following diagram depicts the installation architecture.
 
-  % git clone https://gerrit.o-ran-sc.org/r/it/dep
+.. image:: images/nrtric-amber.png
+   :width: 600
 
-Check out the appropriate branch of the repository with the release you want to deploy.
-For example:
+Within the RIC cluster, Kubernetes resources are deployed using three name spaces: ricinfra, ricplt,
+and ricxapp by default.  Similarly, within the AUX cluster, Kubernetes resources are deployed using two name spaces:
+ricinfra, and ricaux.
 
-.. code:: bash
+For each cluster, there is a Kong ingress controller that proxies incoming API calls into the cluster.
+With Kong, service APIs provided by Kubernetes resources can be accessed at the cluster node IP and
+port via a URL path.  For cross-cluster communication, in addition to Kong, each Kubernetes namespace
+has a special Kubernetes service defined with an endpoint pointing to the other cluster's Kong. This
+way any pod can access services exposed at the other cluster via the internal service hostname and port of
+this special service.  The figure below illustrates the details of how Kong and external services work
+together to realize cross-cluster communication.
 
-  git clone https://gerrit.o-ran-sc.org/r/it/dep
-  cd dep
-  git submodule update --init --recursive --remote
+.. image:: images/kong-extservice.png
+   :width: 600
 
-Modify the deployment recipe
-----------------------------
 
-Edit the recipe files ./RECIPE_EXAMPLE/PLATFORM/example_recipe.yaml.
 
-- Specify the IP addresses used by the RIC and AUX cluster ingress controller (e.g., the main interface IP) in the following section. If you do not plan to set up an AUX cluster, you can put down any private IPs (e.g., 10.0.2.1 and 10.0.2.2).
+Prerequisites
+-------------
 
-.. code:: bash
+Both RIC and AUX clusters need to fulfill the following prerequisites.
 
-  extsvcplt:
-    ricip: ""
-    auxip: ""
+- Kubernetes v.1.16.0 or above
+- helm v2.12.3 or above
+- Read-write access to directory /mnt
 
-- To specify which version of the RIC platform components will be deployed, update the RIC 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.
+The following two sections show two example methods to create an environment for installing RIC.
 
-.. code:: bash
+VirtualBox VMs as Installation Hosts
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-  docker-credential:
-    enabled: true
-    credential:
-      SOME_KEY_NAME:
-        registry: ""
-        credential:
-          user: ""
-          password: ""
-          email: ""
+The deployment of Near Realtime RIC can be done on a wide range of hosts, including
+bare metal servers, OpenStack VMs, and VirtualBox VMs.  This section provides detailed instructions
+for setting up Oracle VirtualBox VMs to be used as installation hosts.
 
-For more advanced recipe configuration options, please refer to the recipe configuration guideline.
+.. include:: ./ric/installation-virtualbox.rst
 
 
-Deploying the Infrastructure and Platform Groups
-------------------------------------------------
+One-Node Kubernetes Cluster
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-After the recipes are edited, the Near Realtime RIC platform is ready to be deployed.
 
-.. code:: bash
+This section describes how to set up a one-node Kubernetes cluster onto a VM installation host.
 
-  cd dep/bin
-  ./deploy-ric-platform ../RECIPE_EXAMPLE/PLATFORM/example_recipe.yaml
+.. include:: ./ric/installation-k8s1node.rst
 
 
-Checking the Deployment Status
-------------------------------
+RIC Platform
+-------------------------------------------
 
-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".
+After the Kubernetes cluster is installed, the next step is to install the (Near Realtime) RIC Platform.
 
-.. code::
+.. include:: ./ric/installation-ricplt.rst
 
-  # helm list
-  NAME                  REVISION        UPDATED                         STATUS          CHART                   APP VERSION     NAMESPACE
-  r3-a1mediator         1               Thu Jan 23 14:29:12 2020        DEPLOYED        a1mediator-3.0.0        1.0             ricplt
-  r3-appmgr             1               Thu Jan 23 14:28:14 2020        DEPLOYED        appmgr-3.0.0            1.0             ricplt
-  r3-dbaas1             1               Thu Jan 23 14:28:40 2020        DEPLOYED        dbaas1-3.0.0            1.0             ricplt
-  r3-e2mgr              1               Thu Jan 23 14:28:52 2020        DEPLOYED        e2mgr-3.0.0             1.0             ricplt
-  r3-e2term             1               Thu Jan 23 14:29:04 2020        DEPLOYED        e2term-3.0.0            1.0             ricplt
-  r3-infrastructure     1               Thu Jan 23 14:28:02 2020        DEPLOYED        infrastructure-3.0.0    1.0             ricplt
-  r3-jaegeradapter      1               Thu Jan 23 14:29:47 2020        DEPLOYED        jaegeradapter-3.0.0     1.0             ricplt
-  r3-rsm                1               Thu Jan 23 14:29:39 2020        DEPLOYED        rsm-3.0.0               1.0             ricplt
-  r3-rtmgr              1               Thu Jan 23 14:28:27 2020        DEPLOYED        rtmgr-3.0.0             1.0             ricplt
-  r3-submgr             1               Thu Jan 23 14:29:23 2020        DEPLOYED        submgr-3.0.0            1.0             ricplt
-  r3-vespamgr           1               Thu Jan 23 14:29:31 2020        DEPLOYED        vespamgr-3.0.0          1.0             ricplt
 
-  # kubectl get pods -n ricplt
-  NAME                                               READY   STATUS             RESTARTS   AGE
-  deployment-ricplt-a1mediator-69f6d68fb4-7trcl      1/1     Running            0          159m
-  deployment-ricplt-appmgr-845d85c989-qxd98          2/2     Running            0          160m
-  deployment-ricplt-dbaas-7c44fb4697-flplq           1/1     Running            0          159m
-  deployment-ricplt-e2mgr-569fb7588b-wrxrd           1/1     Running            0          159m
-  deployment-ricplt-e2term-alpha-db949d978-rnd2r     1/1     Running            0          159m
-  deployment-ricplt-jaegeradapter-585b4f8d69-tmx7c   1/1     Running            0          158m
-  deployment-ricplt-rsm-755f7c5c85-j7fgf             1/1     Running            0          158m
-  deployment-ricplt-rtmgr-c7cdb5b58-2tk4z            1/1     Running            0          160m
-  deployment-ricplt-submgr-5b4864dcd7-zwknw          1/1     Running            0          159m
-  deployment-ricplt-vespamgr-864f95c9c9-5wth4        1/1     Running            0          158m
-  r3-infrastructure-kong-68f5fd46dd-lpwvd            2/2     Running            3          160m
+AUX Functionalities (Optional)
+---------------------------------------------
 
-  # kubectl get pods -n ricinfra
-  NAME                                        READY   STATUS      RESTARTS   AGE
-  deployment-tiller-ricxapp-d4f98ff65-9q6nb   1/1     Running     0          163m
-  tiller-secret-generator-plpbf               0/1     Completed   0          163m
+.. include:: ./ric/installation-aux.rst
 
-Checking Container Health
--------------------------
 
-Check the health of the application manager platform component by querying it
-via the ingress controller using the following command.
+RIC Applications
+---------------------------
 
-.. code:: bash
+.. include:: ./ric/installation-xapps.rst
 
-  % curl -v http://localhost:32080/appmgr/ric/v1/health/ready
-
-The output should look as follows.
-
-.. code::
-
-  *   Trying 10.0.2.100...
-  * TCP_NODELAY set
-  * Connected to 10.0.2.100 (10.0.2.100) port 32080 (#0)
-  > GET /appmgr/ric/v1/health/ready HTTP/1.1
-  > Host: 10.0.2.100:32080
-  > User-Agent: curl/7.58.0
-  > Accept: */*
-  >
-  < HTTP/1.1 200 OK
-  < Content-Type: application/json
-  < Content-Length: 0
-  < Connection: keep-alive
-  < Date: Wed, 22 Jan 2020 20:55:39 GMT
-  < X-Kong-Upstream-Latency: 0
-  < X-Kong-Proxy-Latency: 2
-  < Via: kong/1.3.1
-  <
-  * Connection #0 to host 10.0.2.100 left intact
-
-
-Undeploying the Infrastructure and Platform Groups
---------------------------------------------------
-
-To undeploy all the containers, perform the following steps in a root shell
-within the it-dep repository.
-
-.. code:: bash
-
-  # cd bin
-  # ./undeploy-ric-platform
-
-Results similar to below indicate a complete and successful cleanup.
-
-.. code::
-
-  # ./undeploy-ric-platform
-  Undeploying RIC platform components [appmgr rtmgr dbaas1 e2mgr e2term a1mediator submgr vespamgr rsm jaegeradapter infrastructure]
-  release "r3-appmgr" deleted
-  release "r3-rtmgr" deleted
-  release "r3-dbaas1" deleted
-  release "r3-e2mgr" deleted
-  release "r3-e2term" deleted
-  release "r3-a1mediator" deleted
-  release "r3-submgr" deleted
-  release "r3-vespamgr" deleted
-  release "r3-rsm" deleted
-  release "r3-jaegeradapter" deleted
-  release "r3-infrastructure" deleted
-  configmap "ricplt-recipe" deleted
-  namespace "ricxapp" deleted
-  namespace "ricinfra" deleted
-  namespace "ricplt" deleted
-
-
-Restarting the VM
------------------
-
-After a reboot of the VM, and a suitable delay for initialization,
-all the containers should be running again as shown above.
diff --git a/docs/nrtric/installation-nrtric.rst b/docs/nrtric/installation-nrtric.rst
new file mode 100644 (file)
index 0000000..ebae67c
--- /dev/null
@@ -0,0 +1,112 @@
+.. 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=========================================================
+
+
+**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:
+
+.. code:: bash
+
+  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.
+
+.. code:: bash
+
+  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.
+
+.. code:: bash
+
+  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".
+
+.. code::
+
+  # 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.
+
+.. code:: bash
+
+  # cd bin
+  # ./undeploy-nonrtric
+
+Results similar to below indicate a complete and successful cleanup.
+
+.. code::
+
+  # ./undeploy-ric-platform
+  Undeploying NONRTRIC components [controlpanel a1controller a1simulator policymanagementservice enrichmentservice rappcatalogueservice]
+  release "r2-dev-nonrtric" deleted
+  configmap "nonrtric-recipe" deleted
+  namespace "nonrtric" deleted
+
index 85c3d04..c65c000 100644 (file)
 Overview
 ========
 
-The Amber Release of it/dep repositoy hosts deployment and integration artifacts such as scripts, Helm charts, and other files used for deploying O-RAN SC software.
+The Cherry Release of it/dep repositoy hosts deployment and integration artifacts such as scripts, Helm charts, and other files used for deploying O-RAN SC software.
 
-For Amber release this repo contains:
+For Cherry release this repo contains:
 
 - Deployment scripts for a dev-test 1-node Kubernetes cluster.
 - Deployment scripts and Helm charts for Near Realtime RAN Intelligent Controller Platform.
 - Deployment scripts and Helm charts for infrastructure services supporting the Near Realtime RAN Intelligent Controller Platform.
 - Deployment scripts and Helm charts for auxiliary services and components for operating the Near Realtime RAN Intelligent Controller Platform.
+- Deployment scripts for O-DU high project.
+- Deployment scripts for SMO project.
 
 
 
index f259202..a9e1f0e 100644 (file)
@@ -33,6 +33,9 @@ Version history
 | **Date**           | **Ver.**           | **Author**         | **Comment**        |
 |                    |                    |                    |                    |
 +--------------------+--------------------+--------------------+--------------------+
+| 2020-12-14         | 0.3.0              | Zhe Huang          |                    |
+|                    |                    |                    |                    |
++--------------------+--------------------+--------------------+--------------------+
 | 2020-08-01         | 0.2.1              | Lusheng Ji         |                    |
 |                    |                    |                    |                    |
 +--------------------+--------------------+--------------------+--------------------+
@@ -47,6 +50,21 @@ Version history
 Releases
 --------
 
+0.3.0
+^^^^^
+
+**Release designation**: Cherry
+
+**Release Date**: 2020-12-14
+
+The 0.3.0 version of the it/dep repository hosts deployment and integration artifacts such as scripts, Helm charts, and other files used for deploying the Cherry Release of O-RAN SC software.
+
+- Provide Helm 3 support for near-realtime RIC and AUX.
+- Deployment scripts for O-DU high project.
+- Deployment scripts for smo project.
+- Add rApp Catalogue and enrichmentservice helm charts for non-realtime RIC.
+- Update the deployment recipes for all the O-RAN SC software to use the Cherry release images.
+
 0.2.1
 ^^^^^
 **Release designation**: Bronze Maintenance Release
@@ -136,7 +154,7 @@ Software deliverables
 
 The deployment artifacts can be accessed by cloning Git repository:
 
-  git clone https://gerrit.o-ran-sc.org/r/it/dep -b bronze
+  git clone https://gerrit.o-ran-sc.org/r/it/dep -b cherry
 
 
 Documentation deliverables
similarity index 95%
rename from docs/installation-aux.rst
rename to docs/ric/installation-aux.rst
index 41d891f..0d24c3f 100644 (file)
 .. limitations under the License.
 .. ===============LICENSE_END=========================================================
 
-Resource Requirements
----------------------
+**Resource Requirements**
 
 To run the RIC-AUX cluster in a dev testing setting, the minimum requirement
 for resources is a VM with 4 vCPUs, 16G RAM and at least 40G of disk space.
 
 
-Getting and Preparing Deployment Scripts
-----------------------------------------
+**Getting and Preparing Deployment Scripts**
 
 Run the following commands in a root shell:
 
@@ -34,8 +32,7 @@ Run the following commands in a root shell:
   git submodule update --init --recursive --remote
 
 
-Modify the deployment recipe
-----------------------------
+**Modify the deployment recipe**
 
 Edit the recipe file ./RECIPE_EXAMPLE/AUX/example_recipe.yaml.
 
@@ -67,8 +64,7 @@ Edit the recipe file ./RECIPE_EXAMPLE/AUX/example_recipe.yaml.
 For more advanced recipe configuration options, refer to the recipe configuration guideline.
 
 
-Deploying the Aux Group
------------------------
+**Deploying the Aux Group**
 
 After the recipes are edited, the AUX group is ready to be deployed.
 
@@ -78,8 +74,7 @@ After the recipes are edited, the AUX group is ready to be deployed.
   ./deploy-ric-aux ../RECIPE_EXAMPLE/AUX/example_recipe.yaml
 
 
-Checking the Deployment Status
-------------------------------
+**Checking the Deployment Status**
 
 Now check the deployment status and results similar to the below indicate a complete and successful deployment.
 
similarity index 94%
rename from docs/installation-k8s1node.rst
rename to docs/ric/installation-k8s1node.rst
index ad1a82c..4827a4a 100644 (file)
@@ -16,8 +16,7 @@
 .. ===============LICENSE_END=========================================================
 
 
-Script for Setting Up 1-node Kubernetes Cluster
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+**Script for Setting Up 1-node Kubernetes Cluster**
 
 The it/dep repo can be used for generating a simple script that can help setting up a
 one-node Kubernetes cluster for dev and testing purposes.  Related files are under the
@@ -28,8 +27,7 @@ one-node Kubernetes cluster for dev and testing purposes.  Related files are und
   % git clone https://gerrit.o-ran-sc.org/r/it/dep
 
 
-Configurations
-^^^^^^^^^^^^^^
+**Configurations**
 
 The generation of the script reads in the parameters from the following files:
 
@@ -45,8 +43,7 @@ The generation of the script reads in the parameters from the following files:
   release yet.
 
 
-Generating Set-up Script
-^^^^^^^^^^^^^^^^^^^^^^^^
+**Generating Set-up Script**
 
 After the configurations are updated, the following steps will create a script file that can be
 used for setting up a one-node Kubernetes cluster.  You must run this command on a Linux machine
@@ -60,8 +57,7 @@ with the 'envsubst' command installed.
 A file named **k8s-1node-cloud-init.sh** would now appear under the bin directory.
 
 
-Setting up Kubernetes Cluster
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+**Setting up Kubernetes Cluster**
 
 The new **k8s-1node-cloud-init.sh** file is now ready for setting up the Kubernetes cluster.
 
diff --git a/docs/ric/installation-ricplt.rst b/docs/ric/installation-ricplt.rst
new file mode 100644 (file)
index 0000000..2e943f4
--- /dev/null
@@ -0,0 +1,188 @@
+.. 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=========================================================
+
+
+**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:
+
+.. code:: bash
+
+  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/PLATFORM/example_recipe.yaml.
+
+- Specify the IP addresses used by the RIC and AUX cluster ingress controller (e.g., the main interface IP) in the following section. If you do not plan to set up an AUX cluster, you can put down any private IPs (e.g., 10.0.2.1 and 10.0.2.2).
+
+.. code:: bash
+
+  extsvcplt:
+    ricip: ""
+    auxip: ""
+
+- To specify which version of the RIC platform components will be deployed, update the RIC 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.
+
+.. code:: bash
+
+  docker-credential:
+    enabled: true
+    credential:
+      SOME_KEY_NAME:
+        registry: ""
+        credential:
+          user: ""
+          password: ""
+          email: ""
+
+For more advanced recipe configuration options, please refer to the recipe configuration guideline.
+
+
+**Deploying the Infrastructure and Platform Groups**
+
+After the recipes are edited, the Near Realtime RIC platform is ready to be deployed.
+
+.. code:: bash
+
+  cd dep/bin
+  ./deploy-ric-platform ../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".
+
+.. code::
+
+  # helm list
+  NAME                  REVISION        UPDATED                         STATUS          CHART                   APP VERSION     NAMESPACE
+  r3-a1mediator         1               Thu Jan 23 14:29:12 2020        DEPLOYED        a1mediator-3.0.0        1.0             ricplt
+  r3-appmgr             1               Thu Jan 23 14:28:14 2020        DEPLOYED        appmgr-3.0.0            1.0             ricplt
+  r3-dbaas1             1               Thu Jan 23 14:28:40 2020        DEPLOYED        dbaas1-3.0.0            1.0             ricplt
+  r3-e2mgr              1               Thu Jan 23 14:28:52 2020        DEPLOYED        e2mgr-3.0.0             1.0             ricplt
+  r3-e2term             1               Thu Jan 23 14:29:04 2020        DEPLOYED        e2term-3.0.0            1.0             ricplt
+  r3-infrastructure     1               Thu Jan 23 14:28:02 2020        DEPLOYED        infrastructure-3.0.0    1.0             ricplt
+  r3-jaegeradapter      1               Thu Jan 23 14:29:47 2020        DEPLOYED        jaegeradapter-3.0.0     1.0             ricplt
+  r3-rsm                1               Thu Jan 23 14:29:39 2020        DEPLOYED        rsm-3.0.0               1.0             ricplt
+  r3-rtmgr              1               Thu Jan 23 14:28:27 2020        DEPLOYED        rtmgr-3.0.0             1.0             ricplt
+  r3-submgr             1               Thu Jan 23 14:29:23 2020        DEPLOYED        submgr-3.0.0            1.0             ricplt
+  r3-vespamgr           1               Thu Jan 23 14:29:31 2020        DEPLOYED        vespamgr-3.0.0          1.0             ricplt
+
+  # kubectl get pods -n ricplt
+  NAME                                               READY   STATUS             RESTARTS   AGE
+  deployment-ricplt-a1mediator-69f6d68fb4-7trcl      1/1     Running            0          159m
+  deployment-ricplt-appmgr-845d85c989-qxd98          2/2     Running            0          160m
+  deployment-ricplt-dbaas-7c44fb4697-flplq           1/1     Running            0          159m
+  deployment-ricplt-e2mgr-569fb7588b-wrxrd           1/1     Running            0          159m
+  deployment-ricplt-e2term-alpha-db949d978-rnd2r     1/1     Running            0          159m
+  deployment-ricplt-jaegeradapter-585b4f8d69-tmx7c   1/1     Running            0          158m
+  deployment-ricplt-rsm-755f7c5c85-j7fgf             1/1     Running            0          158m
+  deployment-ricplt-rtmgr-c7cdb5b58-2tk4z            1/1     Running            0          160m
+  deployment-ricplt-submgr-5b4864dcd7-zwknw          1/1     Running            0          159m
+  deployment-ricplt-vespamgr-864f95c9c9-5wth4        1/1     Running            0          158m
+  r3-infrastructure-kong-68f5fd46dd-lpwvd            2/2     Running            3          160m
+
+  # kubectl get pods -n ricinfra
+  NAME                                        READY   STATUS      RESTARTS   AGE
+  deployment-tiller-ricxapp-d4f98ff65-9q6nb   1/1     Running     0          163m
+  tiller-secret-generator-plpbf               0/1     Completed   0          163m
+
+**Checking Container Health**
+
+Check the health of the application manager platform component by querying it
+via the ingress controller using the following command.
+
+.. code:: bash
+
+  % curl -v http://localhost:32080/appmgr/ric/v1/health/ready
+
+The output should look as follows.
+
+.. code::
+
+  *   Trying 10.0.2.100...
+  * TCP_NODELAY set
+  * Connected to 10.0.2.100 (10.0.2.100) port 32080 (#0)
+  > GET /appmgr/ric/v1/health/ready HTTP/1.1
+  > Host: 10.0.2.100:32080
+  > User-Agent: curl/7.58.0
+  > Accept: */*
+  >
+  < HTTP/1.1 200 OK
+  < Content-Type: application/json
+  < Content-Length: 0
+  < Connection: keep-alive
+  < Date: Wed, 22 Jan 2020 20:55:39 GMT
+  < X-Kong-Upstream-Latency: 0
+  < X-Kong-Proxy-Latency: 2
+  < Via: kong/1.3.1
+  <
+  * Connection #0 to host 10.0.2.100 left intact
+
+
+**Undeploying the Infrastructure and Platform Groups**
+
+To undeploy all the containers, perform the following steps in a root shell
+within the it-dep repository.
+
+.. code:: bash
+
+  # cd bin
+  # ./undeploy-ric-platform
+
+Results similar to below indicate a complete and successful cleanup.
+
+.. code::
+
+  # ./undeploy-ric-platform
+  Undeploying RIC platform components [appmgr rtmgr dbaas1 e2mgr e2term a1mediator submgr vespamgr rsm jaegeradapter infrastructure]
+  release "r3-appmgr" deleted
+  release "r3-rtmgr" deleted
+  release "r3-dbaas1" deleted
+  release "r3-e2mgr" deleted
+  release "r3-e2term" deleted
+  release "r3-a1mediator" deleted
+  release "r3-submgr" deleted
+  release "r3-vespamgr" deleted
+  release "r3-rsm" deleted
+  release "r3-jaegeradapter" deleted
+  release "r3-infrastructure" deleted
+  configmap "ricplt-recipe" deleted
+  namespace "ricxapp" deleted
+  namespace "ricinfra" deleted
+  namespace "ricplt" deleted
+
+
+**Restarting the VM**
+
+After a reboot of the VM, and a suitable delay for initialization,
+all the containers should be running again as shown above.
similarity index 94%
rename from docs/installation-virtualbox.rst
rename to docs/ric/installation-virtualbox.rst
index 98bc2bb..24421d7 100644 (file)
@@ -17,8 +17,8 @@
 
 
 
-Networking
-^^^^^^^^^^
+**Networking**
+
 The set up requires two VMs connected by a private network.  With VirtualBox, this can be
 done by going under its "Preferences" menu and setting up a private NAT network.
 
@@ -36,8 +36,7 @@ done by going under its "Preferences" menu and setting up a private NAT network.
 #. Click "Ok" all the way back to create the network.
 
 
-Creating VMs
-^^^^^^^^^^^^
+**Creating VMs**
 
 Create a VirtualBox VM:
 
@@ -56,15 +55,13 @@ Create a VirtualBox VM:
 Repeat the process and create the second VM named **myaux**.
 
 
-Booting VM and OS Installation
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+**Booting VM and OS Installation**
 
 Follow the OS installation steps to install OS to the VM virtual disk media.  During the setup you must
 configure static IP addresses as discussed next.  And make sure to install openssh server.
 
 
-VM Network Configuration
-^^^^^^^^^^^^^^^^^^^^^^^^
+**VM Network Configuration**
 
 Depending on the version of the OS, the networking may be configured during the OS installation or after.
 The network interface is configured with a static IP address:
@@ -75,8 +72,7 @@ The network interface is configured with a static IP address:
 - Name server: 8.8.8.8; if access to that is is blocked, configure a local DNS server
 
 
-Accessing the VMs
-^^^^^^^^^^^^^^^^^
+**Accessing the VMs**
 
 Because of the port forwarding configurations, the VMs are accessible from the VirtualBox host via ssh.
 
similarity index 98%
rename from docs/installation-xapps.rst
rename to docs/ric/installation-xapps.rst
index 3d94fe9..b255917 100644 (file)
@@ -15,8 +15,7 @@
 .. limitations under the License.
 .. ===============LICENSE_END=========================================================
 
-Loading xApp Helm Charts
-------------------------
+**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.
diff --git a/tools/onap/README.md b/tools/onap/README.md
new file mode 100644 (file)
index 0000000..5727b9a
--- /dev/null
@@ -0,0 +1,27 @@
+<!---
+
+Copyright (c) 2019 AT&T Intellectual Property.
+
+Licensed under the Creative Commons License, Attribution 4.0 Intl.
+(the"Documentation License"); you may not use this documentation
+except incompliance with the Documentation License. You may obtain
+a copy of the Documentation License at 
+
+    https://creativecommons.org/licenses/by/4.0/
+
+Unless required by applicable law or agreed to in writing, 
+documentation distributed under the Documentation License is
+distributed on an "AS IS"BASIS, WITHOUT WARRANTIES OR CONDITIONS
+OF ANY KIND, either express or implied. See the Documentation
+License for the specific language governing permissions and
+limitations under the Documentation License.
+
+-->
+
+These scripts can be used to spin up a light-weight version of ONAP.
+
+They were moved from the SMO installation to the tools directory.
+Since OSC now has a SMO project, these old scripts are deprecated.
+SMO project will manage the deployment scripts.
+
+
similarity index 71%
rename from smo/bin/install
rename to tools/onap/install
index df0bf46..f710dd7 100755 (executable)
@@ -199,58 +199,58 @@ do
 done
 
 
-echo && echo "===> Deploy NONRTRIIC"
-git clone http://gerrit.o-ran-sc.org/r/it/dep smo-dep
-cd smo-dep
-REPOROOTDIR=$(git rev-parse --show-toplevel)
-
-cd bin
-./deploy-nonrtric -f ${REPOROOTDIR}/RECIPE_EXAMPLE/NONRTRIC/example_recipe.yaml 
-echo "======> Waiting for NONRTRIC to reach operatoinal state"
-NUM_A1C_RUNNING_PODS="0"
-NUM_A1SIM_RUNNING_PODS="0"
-NUM_CP_RUNNING_PODS="0"
-NUM_DB_RUNNING_PODS="0"
-NUM_PMS_RUNNING_PODS="0"
-
-while [ "$NUM_A1C_RUNNING_PODS" -lt "1" ] || [ "$NUM_CP_RUNNING_PODS" -lt "1" ] || \
-      [ "$NUM_DB_RUNNING_PODS" -lt "1" ]|| [ "$NUM_PMS_RUNNING_PODS" -lt "1" ] || \
-      [ "$NUM_A1SIM_RUNNING_PODS" -lt "4" ]
-do
-  sleep 5
-  NUM_A1C_RUNNING_PODS=$(kubectl get pods -n nonrtric | grep "a1controller[\/0-9a-z \-]*Running" | wc -l)
-  NUM_A1SIM_RUNNING_PODS=$(kubectl get pods -n nonrtric | grep "a1-sim[\/0-9a-z \-]*Running" | wc -l)
-  NUM_CP_RUNNING_PODS=$(kubectl get pods -n nonrtric  | grep "controlpanel[\/0-9a-z \-]*Running" | wc -l)
-  NUM_DB_RUNNING_PODS=$(kubectl get pods -n nonrtric  | grep "db[\/0-9a-z \-]*Running" | wc -l)
-  NUM_PMS_RUNNING_PODS=$(kubectl get pods -n nonrtric  | grep "policymanagementservice[\/0-9a-z \-]*Running" | wc -l)
-
-  echo "${NUM_A1C_RUNNING_PODS}/1 A1Controller pods, ${NUM_CP_RUNNING_PODS}/1 ControlPanel pods, "
-  echo "${NUM_DB_RUNNING_PODS}/1 DB pods, ${NUM_PMS_RUNNING_PODS}/1 PolicyManagementService pods, "
-  echo "and ${NUM_A1SIM_RUNNING_PODS}/4 A1Sim pods  running"
-done
-
-
-
-echo && echo "===> Deploying VES collector and its ingress"
-kubectl create ns ricinfra
-
-cd ${REPOROOTDIR}/ric-aux/helm/infrastructure
-helm dep update
-cd ..
-helm install -f ${REPOROOTDIR}/RECIPE_EXAMPLE/AUX/example_recipe.yaml --name bronze-infra --namespace ricaux ./infrastructure
-
-cd ${REPOROOTDIR}/ric-aux/helm/ves
-helm dep update
-cd ..
-helm install -f ${REPOROOTDIR}/RECIPE_EXAMPLE/AUX/example_recipe.yaml --name bronze-ves --namespace ricaux ./ves
-
-
-# edit RECIPE_EXAMPLE/AUX/example_recipe.yaml file
-#./bin/prepare-common-templates
-#cd ric-aux/bin
-#./install -f ${REPOROOTDIR}/RECIPE_EXAMPLE/AUX/example_recipe.yaml -c "ves"
-
-cd $STARTDIR
-kubectl get pods --all-namespaces
-
-echo "===> Completing at $(date)"
+#echo && echo "===> Deploy NONRTRIIC"
+#git clone http://gerrit.o-ran-sc.org/r/it/dep smo-dep
+#cd smo-dep
+#REPOROOTDIR=$(git rev-parse --show-toplevel)
+#
+#cd bin
+#./deploy-nonrtric -f ${REPOROOTDIR}/RECIPE_EXAMPLE/NONRTRIC/example_recipe.yaml 
+#echo "======> Waiting for NONRTRIC to reach operatoinal state"
+#NUM_A1C_RUNNING_PODS="0"
+#NUM_A1SIM_RUNNING_PODS="0"
+#NUM_CP_RUNNING_PODS="0"
+#NUM_DB_RUNNING_PODS="0"
+#NUM_PMS_RUNNING_PODS="0"
+#
+#while [ "$NUM_A1C_RUNNING_PODS" -lt "1" ] || [ "$NUM_CP_RUNNING_PODS" -lt "1" ] || \
+#      [ "$NUM_DB_RUNNING_PODS" -lt "1" ]|| [ "$NUM_PMS_RUNNING_PODS" -lt "1" ] || \
+#      [ "$NUM_A1SIM_RUNNING_PODS" -lt "4" ]
+#do
+#  sleep 5
+#  NUM_A1C_RUNNING_PODS=$(kubectl get pods -n nonrtric | grep "a1controller[\/0-9a-z \-]*Running" | wc -l)
+#  NUM_A1SIM_RUNNING_PODS=$(kubectl get pods -n nonrtric | grep "a1-sim[\/0-9a-z \-]*Running" | wc -l)
+#  NUM_CP_RUNNING_PODS=$(kubectl get pods -n nonrtric  | grep "controlpanel[\/0-9a-z \-]*Running" | wc -l)
+#  NUM_DB_RUNNING_PODS=$(kubectl get pods -n nonrtric  | grep "db[\/0-9a-z \-]*Running" | wc -l)
+#  NUM_PMS_RUNNING_PODS=$(kubectl get pods -n nonrtric  | grep "policymanagementservice[\/0-9a-z \-]*Running" | wc -l)
+#
+#  echo "${NUM_A1C_RUNNING_PODS}/1 A1Controller pods, ${NUM_CP_RUNNING_PODS}/1 ControlPanel pods, "
+#  echo "${NUM_DB_RUNNING_PODS}/1 DB pods, ${NUM_PMS_RUNNING_PODS}/1 PolicyManagementService pods, "
+#  echo "and ${NUM_A1SIM_RUNNING_PODS}/4 A1Sim pods  running"
+#done
+#
+#
+#
+#echo && echo "===> Deploying VES collector and its ingress"
+#kubectl create ns ricinfra
+#
+#cd ${REPOROOTDIR}/ric-aux/helm/infrastructure
+#helm dep update
+#cd ..
+#helm install -f ${REPOROOTDIR}/RECIPE_EXAMPLE/AUX/example_recipe.yaml --name bronze-infra --namespace ricaux ./infrastructure
+#
+#cd ${REPOROOTDIR}/ric-aux/helm/ves
+#helm dep update
+#cd ..
+#helm install -f ${REPOROOTDIR}/RECIPE_EXAMPLE/AUX/example_recipe.yaml --name bronze-ves --namespace ricaux ./ves
+#
+#
+## edit RECIPE_EXAMPLE/AUX/example_recipe.yaml file
+##./bin/prepare-common-templates
+##cd ric-aux/bin
+##./install -f ${REPOROOTDIR}/RECIPE_EXAMPLE/AUX/example_recipe.yaml -c "ves"
+#
+#cd $STARTDIR
+#kubectl get pods --all-namespaces
+#
+#echo "===> Completing at $(date)"
similarity index 95%
rename from smo/bin/uninstall
rename to tools/onap/uninstall
index 57a300f..6479f8b 100755 (executable)
@@ -32,7 +32,7 @@ kubectl delete ns ricaux
 kubectl delete ns ricinfra
 rm -rf /opt/data/dashboard-data
 
-echo "======> Clearing out all NONRTRIC deployment resources"
-kubectl delete ns nonrtric
+#echo "======> Clearing out all NONRTRIC deployment resources"
+#kubectl delete ns nonrtric
 
 echo "===> Completing at $(date)"