blob: 2e943f4d6c98f42958331c50789285a5f0e7360c [file] [log] [blame]
Zhe8326b642020-12-11 22:31:17 -05001.. This work is licensed under a Creative Commons Attribution 4.0 International License.
2.. SPDX-License-Identifier: CC-BY-4.0
3.. ===============LICENSE_START=======================================================
4.. Copyright (C) 2019-2020 AT&T Intellectual Property
5.. ===================================================================================
6.. This documentation file is distributed under the Creative Commons Attribution
7.. 4.0 International License (the "License"); you may not use this file except in
8.. compliance with the License. You may obtain a copy of the License at
9..
10.. http://creativecommons.org/licenses/by/4.0
11..
12.. This file is distributed on an "AS IS" BASIS,
13.. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14.. See the License for the specific language governing permissions and
15.. limitations under the License.
16.. ===============LICENSE_END=========================================================
17
18
19**Getting and Preparing Deployment Scripts**
20
21Clone the it/dep git repository that has deployment scripts and support files on the target VM.
22(You might have already done this in a previous step.)
23
24::
25
26 % git clone https://gerrit.o-ran-sc.org/r/it/dep
27
28Check out the appropriate branch of the repository with the release you want to deploy.
29For example:
30
31.. code:: bash
32
33 git clone https://gerrit.o-ran-sc.org/r/it/dep
34 cd dep
35 git submodule update --init --recursive --remote
36
37**Modify the deployment recipe**
38
39Edit the recipe files ./RECIPE_EXAMPLE/PLATFORM/example_recipe.yaml.
40
41- 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).
42
43.. code:: bash
44
45 extsvcplt:
46 ricip: ""
47 auxip: ""
48
49- To specify which version of the RIC platform components will be deployed, update the RIC platform component container tags in their corresponding section.
50- 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.
51
52.. code:: bash
53
54 docker-credential:
55 enabled: true
56 credential:
57 SOME_KEY_NAME:
58 registry: ""
59 credential:
60 user: ""
61 password: ""
62 email: ""
63
64For more advanced recipe configuration options, please refer to the recipe configuration guideline.
65
66
67**Deploying the Infrastructure and Platform Groups**
68
69After the recipes are edited, the Near Realtime RIC platform is ready to be deployed.
70
71.. code:: bash
72
73 cd dep/bin
74 ./deploy-ric-platform ../RECIPE_EXAMPLE/PLATFORM/example_recipe.yaml
75
76
77**Checking the Deployment Status**
78
79Now check the deployment status after a short wait. Results similar to the
80output shown below indicate a complete and successful deployment. Check the
81STATUS column from both kubectl outputs to ensure that all are either
82"Completed" or "Running", and that none are "Error" or "ImagePullBackOff".
83
84.. code::
85
86 # helm list
87 NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
88 r3-a1mediator 1 Thu Jan 23 14:29:12 2020 DEPLOYED a1mediator-3.0.0 1.0 ricplt
89 r3-appmgr 1 Thu Jan 23 14:28:14 2020 DEPLOYED appmgr-3.0.0 1.0 ricplt
90 r3-dbaas1 1 Thu Jan 23 14:28:40 2020 DEPLOYED dbaas1-3.0.0 1.0 ricplt
91 r3-e2mgr 1 Thu Jan 23 14:28:52 2020 DEPLOYED e2mgr-3.0.0 1.0 ricplt
92 r3-e2term 1 Thu Jan 23 14:29:04 2020 DEPLOYED e2term-3.0.0 1.0 ricplt
93 r3-infrastructure 1 Thu Jan 23 14:28:02 2020 DEPLOYED infrastructure-3.0.0 1.0 ricplt
94 r3-jaegeradapter 1 Thu Jan 23 14:29:47 2020 DEPLOYED jaegeradapter-3.0.0 1.0 ricplt
95 r3-rsm 1 Thu Jan 23 14:29:39 2020 DEPLOYED rsm-3.0.0 1.0 ricplt
96 r3-rtmgr 1 Thu Jan 23 14:28:27 2020 DEPLOYED rtmgr-3.0.0 1.0 ricplt
97 r3-submgr 1 Thu Jan 23 14:29:23 2020 DEPLOYED submgr-3.0.0 1.0 ricplt
98 r3-vespamgr 1 Thu Jan 23 14:29:31 2020 DEPLOYED vespamgr-3.0.0 1.0 ricplt
99
100 # kubectl get pods -n ricplt
101 NAME READY STATUS RESTARTS AGE
102 deployment-ricplt-a1mediator-69f6d68fb4-7trcl 1/1 Running 0 159m
103 deployment-ricplt-appmgr-845d85c989-qxd98 2/2 Running 0 160m
104 deployment-ricplt-dbaas-7c44fb4697-flplq 1/1 Running 0 159m
105 deployment-ricplt-e2mgr-569fb7588b-wrxrd 1/1 Running 0 159m
106 deployment-ricplt-e2term-alpha-db949d978-rnd2r 1/1 Running 0 159m
107 deployment-ricplt-jaegeradapter-585b4f8d69-tmx7c 1/1 Running 0 158m
108 deployment-ricplt-rsm-755f7c5c85-j7fgf 1/1 Running 0 158m
109 deployment-ricplt-rtmgr-c7cdb5b58-2tk4z 1/1 Running 0 160m
110 deployment-ricplt-submgr-5b4864dcd7-zwknw 1/1 Running 0 159m
111 deployment-ricplt-vespamgr-864f95c9c9-5wth4 1/1 Running 0 158m
112 r3-infrastructure-kong-68f5fd46dd-lpwvd 2/2 Running 3 160m
113
114 # kubectl get pods -n ricinfra
115 NAME READY STATUS RESTARTS AGE
116 deployment-tiller-ricxapp-d4f98ff65-9q6nb 1/1 Running 0 163m
117 tiller-secret-generator-plpbf 0/1 Completed 0 163m
118
119**Checking Container Health**
120
121Check the health of the application manager platform component by querying it
122via the ingress controller using the following command.
123
124.. code:: bash
125
126 % curl -v http://localhost:32080/appmgr/ric/v1/health/ready
127
128The output should look as follows.
129
130.. code::
131
132 * Trying 10.0.2.100...
133 * TCP_NODELAY set
134 * Connected to 10.0.2.100 (10.0.2.100) port 32080 (#0)
135 > GET /appmgr/ric/v1/health/ready HTTP/1.1
136 > Host: 10.0.2.100:32080
137 > User-Agent: curl/7.58.0
138 > Accept: */*
139 >
140 < HTTP/1.1 200 OK
141 < Content-Type: application/json
142 < Content-Length: 0
143 < Connection: keep-alive
144 < Date: Wed, 22 Jan 2020 20:55:39 GMT
145 < X-Kong-Upstream-Latency: 0
146 < X-Kong-Proxy-Latency: 2
147 < Via: kong/1.3.1
148 <
149 * Connection #0 to host 10.0.2.100 left intact
150
151
152**Undeploying the Infrastructure and Platform Groups**
153
154To undeploy all the containers, perform the following steps in a root shell
155within the it-dep repository.
156
157.. code:: bash
158
159 # cd bin
160 # ./undeploy-ric-platform
161
162Results similar to below indicate a complete and successful cleanup.
163
164.. code::
165
166 # ./undeploy-ric-platform
167 Undeploying RIC platform components [appmgr rtmgr dbaas1 e2mgr e2term a1mediator submgr vespamgr rsm jaegeradapter infrastructure]
168 release "r3-appmgr" deleted
169 release "r3-rtmgr" deleted
170 release "r3-dbaas1" deleted
171 release "r3-e2mgr" deleted
172 release "r3-e2term" deleted
173 release "r3-a1mediator" deleted
174 release "r3-submgr" deleted
175 release "r3-vespamgr" deleted
176 release "r3-rsm" deleted
177 release "r3-jaegeradapter" deleted
178 release "r3-infrastructure" deleted
179 configmap "ricplt-recipe" deleted
180 namespace "ricxapp" deleted
181 namespace "ricinfra" deleted
182 namespace "ricplt" deleted
183
184
185**Restarting the VM**
186
187After a reboot of the VM, and a suitable delay for initialization,
188all the containers should be running again as shown above.