Initiial documentation
[it/dep.git] / README.md
1 <!---
2
3 Copyright (c) 2019  Intellectual Property.
4
5 Licensed under the Creative Commons License, Attribution 4.0 Intl.
6 (the"Documentation License"); you may not use this documentation
7 except incompliance with the Documentation License. You may obtain
8 a copy of the Documentation License at 
9
10     https://creativecommons.org/licenses/by/4.0/
11
12 Unless required by applicable law or agreed to in writing, 
13 documentation distributed under the Documentation License is
14 distributed on an "AS IS"BASIS, WITHOUT WARRANTIES OR CONDITIONS
15 OF ANY KIND, either express or implied. See the Documentation
16 License for the specific language governing permissions and
17 limitations under the Documentation License.
18
19 -->
20
21 [comment]: <> (   Copyright (c) 2019 AT&T Intellectual Property.                    ) 
22 [comment]: <> (   Licensed under the Creative Commons License, Attribution 4.0 Intl. (the
23 [comment]: <> (   "License") 
24 [comment]: <> (   you may not use this file except in compliance with the License.  
25 [comment]: <> (   You may obtain a copy of the License at                                    #
26 [comment]: <> (                                                                              #
27 [comment]: <> (       http://www.apache.org/licenses/LICENSE-2.0                             #
28 #                licensedunder 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 theDocumentation License athttps://creativecommons.org/licenses/by/4.0/
29
30                                                                  #
31 #   Unless required by applicable law or agreed to in writing, software        #
32 #   distributed under the License is distributed on an "AS IS" BASIS,          #
33 #   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.   #
34 #   See the License for the specific language governing permissions and        #
35 #   limitations under the License.                                             #
36
37
38 This is a comment, it will not be included)
39 [comment]: <> (in  the output file unless you use it in)
40 [comment]: <> (a reference style link.)
41
42
43 # RIC Integration
44   
45 This repo contains RAN Intelligent Controller (RIC) deployments related files.
46
47
48 ### Overview
49
50 The RIC deployment scripts are designed to deploy RIC components using helm charts. A deployment recipe yaml file that
51 contains parameter key:value pairs can be provided as a parameter for any deployment script in this repository. The
52 deployment recipe is acting as the helm override values.yaml file. If no deployment recipe is provided, default parameters
53 are used. The default parameters are set up to deploy a RIC instance using Linux Foundation repositories in a
54 self-contained environment. 
55
56
57 ### Directory Structure
58 .
59 ├── bin
60 ├── ci
61 ├── etc
62 ├── LICENSES.txt  License information
63 ├── README.md           This file
64 ├── RECIPE_EXAMPLE        Directory that contains deploy recipe examples
65 ├── ric-aux               Deployment scripts, charts and configuration files for RIC auxilary functions
66 ├── ric-common            Deployment scripts, charts and configuration files for RIC common template
67 ├── ric-infra             Deployment scripts, charts and configuration files for infrastructure support
68 ├── ric-platform  Deployment scripts, charts and configuration files for RIC platform components
69 └── ric-xapps             xApp related scripts, charts and configuration files
70
71 ### Directory Naming Convention
72
73 The root directories are organized according to the deployment plans. Each directory contains subdirectories for
74 different deployable components. The prefixes of these subdirectories represent the deployment order. The smaller the
75 prefix number the eariler the corresponding component will be deployed.  Consider the following example,
76 ├── ric-aux
77 │   ├── 80-Auxiliary-Functions
78 │   ├── 85-Ext-Services
79 │   └── README.md
80 ├── ric-infra
81 │   ├── 00-Kubernetes
82 │   ├── 10-Nexus
83 │   ├── 20-Monitoring
84 │   ├── 30-Kong
85 │   ├── 40-Credential
86 │   ├── 45-Tiller
87 │   └── README.md
88 ├── ric-platform
89 │   ├── 50-RIC-Platform
90 │   ├── 55-Ext-Services
91 │   └── README.md
92 ├── ric-aux
93 │   ├── 80-Auxiliary-Functions
94 │   ├── 85-Ext-Services
95 │   └── README.md
96 └── ric-xapps
97     ├── 90-xApps
98     └── README.md
99
100 when deploying the ric-platform, the credential is deployed before RIC-Platform.
101
102 In each of the component directories, ./bin contains the binary and script files and ./helm contains the helm charts,
103
104 Some components contain an ./etc directory with configuration files and some contain a ./docker directory with docker related files for building the docker images.
105
106 Please refer to the README.md files in individual directory for more details.
107
108 Within ric-infra, ric-platform and ric-aux, each of the components above can be deployed and undeployed separately.
109 There are also scripts for deploying the ric-infra, ric-platform or ric-aux in its entirety.
110
111 The ./bin directory contains these scripts
112
113 The following sections discuss one-script deployment for each
114
115 ### To deploy RIC Infrastructure
116
117 Edit ./RECIPE_EXAMPLE/RIC_INFRA_RECIPE_EXAMPLE
118 You can choose whether to enable Kubernetes deployment, Helm Chart museum and ELFKP stack
119 You can specify the Helm release prefix and namespaces used
120 You must specify username and password for Docker repo
121 Then run the following to deploy:
122 ```sh
123 $ . ./deploy-ric-infra -f ../RECIPE_EXAMPLE/RIC_INFRA_RECIPE_EXAMPLE
124 ```
125 Run the following to undeploy:
126 ```sh
127 $ . ./undeploy-ric-infra 
128 ```
129
130 ### To deploy RIC Platform
131
132 Edit ./RECIPE_EXAMPLE/RIC_PLATFORM_RECIPE_EXAMPLE
133 You can specify the Helm release prefix and namespaces used
134 Set the values of extsvcaux/ricip and extsvcaux/auxip to be the external IP addresses of VM hosting RIC cluster and VM hosting AUX cluster, respectively.
135 These values should be set in both the override file and the local values.yaml file
136 ```sh
137 $ . ./deploy-ric-platform -f ../RECIPE_EXAMPLE/RIC_PLATFORM_RECIPE_EXAMPLE
138 ```
139 Run the following to undeploy:
140 ```sh
141 $ . ./undeploy-ric-platform 
142 ```
143
144 ### To deploy RIC Auxiliary functions
145
146 Edit ./RECIPE_EXAMPLE/RIC_PLATFORM_RECIPE_EXAMPLE
147 You can specify the Helm release prefix and namespaces used
148 Set the values of extsvcaux/ricip and extsvcaux/auxip to be the external IP addresses of VM hosting RIC cluster and VM hosting AUX cluster, respectively.
149 These values should be set in both the override file and the local values.yaml file
150 ```sh
151 $ . ./deploy-ric-aux -f ../RECIPE_EXAMPLE/RIC_AUX_RECIPE_EXAMPLE
152 ```
153 Run the following to undeploy:
154 ```sh
155 $ . ./undeploy-ric-aux 
156 ```