e684c6c480cc24fd03de0931799c02427a0a4c48
[so.git] / docs / developer_info / Docker-Config_Understanding.rst
1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
2 .. http://creativecommons.org/licenses/by/4.0
3 .. Copyright 2020 Huawei Technologies Co., Ltd.
4
5 Docker-config
6 =============
7
8 In SO (Service Orchestration) every component running on docker engine and respective containers. here we can see how so is working with Dokcer.
9
10 CA(Certificate Authority)
11 =========================
12
13 Certificate Authorities/ CAs, issue Digital Certificates. Digital Certificates are verifiable small data files that contain identity credentials to help websites, people, and devices represent their authentic online identity (authentic because the CA has verified the identity). CAs play a critical role in how the Internet operates and how transparent, trusted transactions can take place online. CAs issue millions of Digital Certificates each year, and these certificates are used to protect information, encrypt billions of transactions, and enable secure communication.
14
15 CA(file)
16
17 /so/packages/docker/src/main/docker/docker-files/ca-certificates/onap-ca.crt
18
19 Example CA cirtifiacte:-
20
21 -----BEGIN CERTIFICATE-----
22 MIIEczCCA1ugAwIBAgIBADANBgkqhkiG9w0BAQQFAD..AkGA1UEBhMCR0Ix
23 EzARBgNVBAgTClNvbWUtU3RhdGUxFDASBgNVBAoTC0..0EgTHRkMTcwNQYD
24 VQQLEy5DbGFzcyAxIFB1YmxpYyBQcmltYXJ5IENlcn..XRpb24gQXV0aG9y
25 aXR5MRQwEgYDVQQDEwtCZXN0IENBIEx0ZDAeFw0wMD..TUwMTZaFw0wMTAy
26 MDQxOTUwMTZaMIGHMQswCQYDVQQGEwJHQjETMBEGA1..29tZS1TdGF0ZTEU
27 MBIGA1UEChMLQmVzdCBDQSBMdGQxNzA1BgNVBAsTLk..DEgUHVibGljIFBy
28 aW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxFD..AMTC0Jlc3QgQ0Eg
29 THRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCg..Tz2mr7SZiAMfQyu
30 vBjM9OiJjRazXBZ1BjP5CE/Wm/Rr500PRK+Lh9x5eJ../ANBE0sTK0ZsDGM
31 ak2m1g7oruI3dY3VHqIxFTz0Ta1d+NAjwnLe4nOb7/..k05ShhBrJGBKKxb
32 8n104o/5p8HAsZPdzbFMIyNjJzBM2o5y5A13wiLitE..fyYkQzaxCw0Awzl
33 kVHiIyCuaF4wj571pSzkv6sv+4IDMbT/XpCo8L6wTa..sh+etLD6FtTjYbb
34 rvZ8RQM1tlKdoMHg2qxraAV++HNBYmNWs0duEdjUbJ..XI9TtnS4o1Ckj7P
35 OfljiQIDAQABo4HnMIHkMB0GA1UdDgQWBBQ8urMCRL..5AkIp9NJHJw5TCB
36 tAYDVR0jBIGsMIGpgBQ8urMCRLYYMHUKU5AkIp9NJH..aSBijCBhzELMAkG
37 A1UEBhMCR0IxEzARBgNVBAgTClNvbWUtU3RhdGUxFD..AoTC0Jlc3QgQ0Eg
38 THRkMTcwNQYDVQQLEy5DbGFzcyAxIFB1YmxpYyBQcm..ENlcnRpZmljYXRp
39 b24gQXV0aG9yaXR5MRQwEgYDVQQDEwtCZXN0IENBIE..DAMBgNVHRMEBTAD
40 AQH/MA0GCSqGSIb3DQEBBAUAA4IBAQC1uYBcsSncwA..DCsQer772C2ucpX
41 xQUE/C0pWWm6gDkwd5D0DSMDJRqV/weoZ4wC6B73f5..bLhGYHaXJeSD6Kr
42 XcoOwLdSaGmJYslLKZB3ZIDEp0wYTGhgteb6JFiTtn..sf2xdrYfPCiIB7g
43 BMAV7Gzdc4VspS6ljrAhbiiawdBiQlQmsBeFz9JkF4..b3l8BoGN+qMa56Y
44 It8una2gY4l2O//on88r5IWJlm1L0oA8e4fR2yrBHX..adsGeFKkyNrwGi/
45 7vQMfXdGsRrXNGRGnX+vWDZ3/zWI0joDtCkNnqEpVn..HoX
46 -----END CERTIFICATE-----
47
48
49 Configurations:-
50 ================
51
52 Every component has its own over-ride yaml file. We can over-ride the file according the Configurations and Dependencies required for Deploying. 
53
54 Over-ride yaml for api-handler
55 ==============================
56
57 Path:- /docker-config/volumes/so/config/api-handler-infra/onapheat/override.yaml
58
59 .. code-block:: bash
60
61  server:
62     port: 8080
63     tomcat:
64         max-threads: 50
65  ssl-enable: false
66
67  mso:
68   msoKey: 07a7159d3bf51a0e53be7a8f89699be7
69   logPath: logs
70   site-name: onapheat
71   adapters:
72     requestDb:
73       endpoint: http://request-db-adapter:8083
74       auth: Basic YnBlbDpwYXNzd29yZDEk
75   catalog:
76     db:
77       spring:
78         endpoint: http://catalog-db-adapter:8082
79   db:
80     auth: Basic YnBlbDpwYXNzd29yZDEk
81   config:
82     path: /src/main/resources/
83   infra:
84     default:
85       alacarte:
86         orchestrationUri: /mso/async/services/ALaCarteOrchestrator
87         recipeTimeout: 180
88         testApi: VNF_API
89       service:
90         macro:
91           default:
92             testApi: GR_API
93   camundaURL: http://bpmn-infra:8081
94   camundaAuth: AE2E9BE6EF9249085AF98689C4EE087736A5500629A72F35068FFB88813A023581DD6E765071F1C04075B36EA4213A
95   async:
96     core-pool-size: 50
97     max-pool-size: 50
98     queue-capacity: 500
99   sdc:
100     client:
101       auth: F3473596C526938329DF877495B494DC374D1C4198ED3AD305EA3ADCBBDA1862
102     activate:
103       instanceid: test
104       userid: cs0008
105     endpoint: http://c1.vm1.mso.simpledemo.onap.org:28090
106   tenant:
107     isolation:
108       retry:
109         count: 3
110   aai:
111     endpoint: https://aai.api.simpledemo.onap.org:8443
112     auth: 2630606608347B7124C244AB0FE34F6F
113   extApi:
114     endpoint: http://nbi.onap:8080/nbi/api/v3
115   so:
116     operational-environment:
117       dmaap:
118         username: testuser
119         password: VjR5NDcxSzA=
120         host: http://c1.vm1.mso.simpledemo.onap.org:28090
121         auth: 51EA5414022D7BE536E7516C4D1A6361416921849B72C0D6FC1C7F262FD9F2BBC2AD124190A332D9845A188AD80955567A4F975C84C221EEA8243BFD92FFE6896CDD1EA16ADD34E1E3D47D4A
122       publisher:
123         topic: com.att.ecomp.mso.operationalEnvironmentEvent
124
125  spring:
126   datasource:
127     hikari:
128       jdbcUrl: jdbc:mariadb://mariadb:3306/catalogdb
129       username: cataloguser
130       password: catalog123
131       driver-class-name: org.mariadb.jdbc.Driver
132       pool-name: catdb-pool
133       registerMbeans: true
134   jpa:
135       show-sql: true
136       hibernate:
137         dialect: org.hibernate.dialect.MySQL5Dialect
138         ddl-auto: validate
139         naming-strategy: org.hibernate.cfg.ImprovedNamingStrategy
140         enable-lazy-load-no-trans: true
141   jersey:
142     type: filter
143
144   security:
145     usercredentials:
146     -
147       username: sitecontrol
148       password: '$2a$10$Fh9ffgPw2vnmsghsRD3ZauBL1aKXebigbq3BB1RPWtE62UDILsjke'
149       role: SiteControl-Client
150     -
151       username: gui
152       password: '$2a$10$Fh9ffgPw2vnmsghsRD3ZauBL1aKXebigbq3BB1RPWtE62UDILsjke'
153       role: GUI-Client
154     -
155       username: infraportal
156       password: '$2a$10$Fh9ffgPw2vnmsghsRD3ZauBL1aKXebigbq3BB1RPWtE62UDILsjke'
157       role: InfraPortal-Client
158     -
159       username: InfraPortalClient
160       password: '$2a$10$Fh9ffgPw2vnmsghsRD3ZauBL1aKXebigbq3BB1RPWtE62UDILsjke'
161       role: InfraPortal-Client
162     -
163       username: bpel
164       password: '$2a$10$Fh9ffgPw2vnmsghsRD3ZauBL1aKXebigbq3BB1RPWtE62UDILsjke'
165       role: BPEL-Client
166     -
167       username: mso_admin
168       password: '$2a$10$Fh9ffgPw2vnmsghsRD3ZauBL1aKXebigbq3BB1RPWtE62UDILsjke'
169       role: ACTUATOR
170
171  request:
172   datasource:
173     hikari:
174       jdbcUrl: jdbc:mariadb://mariadb:3306/requestdb
175       username: requestuser
176       password: request123
177       driver-class-name: org.mariadb.jdbc.Driver
178       pool-name: reqdb-pool
179       registerMbeans: true
180  org:
181   onap:
182     so:
183       cloud-owner: CloudOwner
184       adapters:
185         network:
186           encryptionKey: 07a7159d3bf51a0e53be7a8f89699be7
187
188
189
190 Start the  container
191 =======================
192 cd /home/root1/docker-config/
193
194 CMD:-
195 ===
196
197 sudo docker-compose up -d 
198
199 *Example Output:*
200
201 root1@slave-node:~/docker-config$ sudo docker-compose up -d 
202 docker-config_mariadb_1 is up-to-date
203 Starting docker-config_catalog-db-adapter_1 ... done
204 Starting docker-config_request-db-adapter_1 ... done
205 Starting docker-config_bpmn-infra_1         ... done
206 Starting docker-config_vfc-adapter_1        ... done
207 Starting docker-config_sdc-controller_1     ... done
208 Starting docker-config_sdnc-adapter_1       ... done
209 Starting docker-config_openstack-adapter_1  ... done
210 Starting docker-config_api-handler-infra_1  ... done
211 Starting docker-config_so-monitoring_1      ... done
212 Starting docker-config_nssmf-adapter_1      ... done
213
214
215 Example Output:
216 ===============
217
218 docker ps
219
220 *Example Output:*
221
222 root1@slave-node:~/docker-config$ sudo docker ps
223 CONTAINER ID        IMAGE                                              COMMAND                  CREATED             STATUS              PORTS                     NAMES
224 d930caf28508        nexus3.onap.org:10001/onap/so/openstack-adapter    "/app/wait-for.sh -q…"   5 weeks ago         Up 30 seconds       0.0.0.0:8087->8087/tcp    docker-config_openstack-adapter_1
225 599af283319e        nexus3.onap.org:10001/onap/so/vfc-adapter          "/app/wait-for.sh -q…"   5 weeks ago         Up 30 seconds       0.0.0.0:8084->8084/tcp    docker-config_vfc-adapter_1
226 5549305c8dd6        nexus3.onap.org:10001/onap/so/api-handler-infra    "/app/wait-for.sh -q…"   5 weeks ago         Up 27 seconds       0.0.0.0:8080->8080/tcp    docker-config_api-handler-infra_1
227 59d3aa684ecb        nexus3.onap.org:10001/onap/so/sdnc-adapter         "/app/wait-for.sh -q…"   5 weeks ago         Up 29 seconds       0.0.0.0:8086->8086/tcp    docker-config_sdnc-adapter_1
228 ade4cef97bd3        nexus3.onap.org:10001/onap/so/bpmn-infra           "/app/wait-for.sh -q…"   5 weeks ago         Up 29 seconds       0.0.0.0:8081->8081/tcp    docker-config_bpmn-infra_1
229 e9558560c4d7        nexus3.onap.org:10001/onap/so/sdc-controller       "/app/wait-for.sh -q…"   5 weeks ago         Up 25 seconds       0.0.0.0:8085->8085/tcp    docker-config_sdc-controller_1
230 ae27ec2f8b04        nexus3.onap.org:10001/onap/so/so-monitoring        "/app/wait-for.sh -q…"   5 weeks ago         Up 26 seconds       0.0.0.0:8088->8088/tcp    docker-config_so-monitoring_1
231 8d2c64d48f1a        nexus3.onap.org:10001/onap/so/request-db-adapter   "/app/wait-for.sh -q…"   5 weeks ago         Up 32 seconds       0.0.0.0:8083->8083/tcp    docker-config_request-db-adapter_1
232 a126dd29c540        nexus3.onap.org:10001/mariadb:10.1.11              "/docker-entrypoint.…"   5 weeks ago         Up 17 minutes       0.0.0.0:32768->3306/tcp   docker-config_mariadb_1
233
234 Inspect a docker image
235 ======================
236 This command shows interesting information about the structure of the mso image. Note that an image is NOT a running container. It is the template that a container is created from.
237
238 CMD:-
239 =====
240 sudo docker inspect onap/so/api-handler-infra
241
242
243 Example Output:
244
245 .. code-block:: bash
246
247
248  [
249   {
250       "Id": "sha256:2573165483e9ac87826da9c08984a9d0e1d93a90c681b22d9b4f90ed579350dc",
251       "RepoTags": [
252           "onap/so/api-handler-infra:1.3.0-SNAPSHOT",
253           "onap/so/api-handler-infra:1.3.0-SNAPSHOT-20190213T0846",
254           "onap/so/api-handler-infra:1.3.0-SNAPSHOT-latest",
255           "onap/so/api-handler-infra:latest"
256       ],
257       "RepoDigests": [],
258       "Parent": "sha256:66b508441811ab4ed9968f8702a0d0a697f517bbc10d8d9076e5b98ae4437344",
259       "Comment": "",
260       "Created": "2019-02-13T09:37:33.770342225Z",
261       "Container": "8be46c735d21935631130f9017c3747779aab26eab54a9149b1edde122f7576d",
262       "ContainerConfig": {
263           "Hostname": "ac4a12e21390",
264           "Domainname": "",
265           "User": "",
266           "AttachStdin": false,
267           "AttachStdout": false,
268           "AttachStderr": false,
269           "Tty": false,
270           "OpenStdin": false,
271           "StdinOnce": false,
272           "Env": [
273               "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/jvm/java-1.8-openjdk/jre/bin:/usr/lib/jvm/java-1.8-openjdk/bin",
274               "LANG=C.UTF-8",
275               "JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk",
276               "JAVA_VERSION=8u191",
277               "JAVA_ALPINE_VERSION=8.191.12-r0",
278               "HTTP_PROXY=",
279               "HTTPS_PROXY=",
280               "http_proxy=",
281               "https_proxy="
282           ],
283           "Cmd": [
284               "/bin/sh",
285               "-c",
286               "#(nop) ",
287               "CMD [\"/app/start-app.sh\"]"
288           ],
289           "ArgsEscaped": true,
290           "Image": "sha256:66b508441811ab4ed9968f8702a0d0a697f517bbc10d8d9076e5b98ae4437344",
291           "Volumes": {
292               "/app/ca-certificates": {},
293               "/app/config": {}
294           },
295           "WorkingDir": "/app",
296           "Entrypoint": null,
297           "OnBuild": [],
298           "Labels": {}
299       },
300       "DockerVersion": "17.05.0-ce",
301       "Author": "",
302       "Config": {
303           "Hostname": "ac4a12e21390",
304           "Domainname": "",
305           "User": "",
306           "AttachStdin": false,
307           "AttachStdout": false,
308           "AttachStderr": false,
309           "Tty": false,
310           "OpenStdin": false,
311           "StdinOnce": false,
312           "Env": [
313               "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/jvm/java-1.8-openjdk/jre/bin:/usr/lib/jvm/java-1.8-openjdk/bin",
314               "LANG=C.UTF-8",
315               "JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk",
316               "JAVA_VERSION=8u191",
317               "JAVA_ALPINE_VERSION=8.191.12-r0",
318               "HTTP_PROXY=",
319               "HTTPS_PROXY=",
320               "http_proxy=",
321               "https_proxy="
322           ],
323           "Cmd": [
324               "/app/start-app.sh"
325           ],
326           "ArgsEscaped": true,
327           "Image": "sha256:66b508441811ab4ed9968f8702a0d0a697f517bbc10d8d9076e5b98ae4437344",
328           "Volumes": {
329               "/app/ca-certificates": {},
330               "/app/config": {}
331           },
332           "WorkingDir": "/app",
333           "Entrypoint": null,
334           "OnBuild": [],
335           "Labels": {}
336       },
337       "Architecture": "amd64",
338       "Os": "linux",
339       "Size": 245926705,
340       "VirtualSize": 245926705,
341       "GraphDriver": {
342           "Data": null,
343           "Name": "aufs"
344       },
345       "RootFS": {
346           "Type": "layers",
347           "Layers": [
348               "sha256:503e53e365f34399c4d58d8f4e23c161106cfbce4400e3d0a0357967bad69390",
349               "sha256:744b4cd8cf79c70508aace3697b6c3b46bee2c14f1c14b6ff09fd0ba5735c6d4",
350               "sha256:4c6899b75fdbea2f44efe5a2f8d9f5319c1cf7e87151de0de1014aba6ce71244",
351               "sha256:2e076d24f6d1277456e33e58fc8adcfd69dfd9c025f61aa7b98d500e7195beb2",
352               "sha256:bb67f2d5f8196c22137a9e98dd4190339a65c839822d16954070eeb0b2a17aa2",
353               "sha256:afbbd0cc43999d5c5b0ff54dfd82365a3feb826e5c857d9b4a7cf378001cd4b3",
354               "sha256:1920a7ca0f8ae38a79a1339ce742aaf3d7a095922d96e37074df67cf031d5035",
355               "sha256:1261fbaef67c5be677dae1c0f50394587832ea9d8c7dc105df2f3db6dfb92a3a",
356               "sha256:a33d8ee5c18908807458ffe643184228c21d3c5d5c5df1251f0f7dfce512f7e8",
357               "sha256:80704fca12eddb4cc638cee105637266e04ab5706b4e285d4fc6cac990e96d63",
358               "sha256:55abe39073a47f29aedba790a92c351501f21b3628414fa49a073c010ee747d1",
359               "sha256:cc4136c2c52ad522bd492545d4dd18265676ca690aa755994adf64943b119b28",
360               "sha256:2163a1f989859fdb3af6e253b74094e92a0fc1ee59f5eb959971f94eb1f98094"
361           ]
362       }
363   }
364  ]