blob: 5e055a7ba9c374d41f9917ab1dc5434041c933d7 [file] [log] [blame]
Rich Bennett4b001932017-10-16 09:25:01 -04001.. This work is licensed under a Creative Commons Attribution 4.0 International License.
2.. http://creativecommons.org/licenses/by/4.0
3
Idan Amitd059aea2017-11-05 15:07:20 +02004========
Rich Bennett4b001932017-10-16 09:25:01 -04005Delivery
6========
JulienBe14cee3e2020-06-11 12:06:09 +02007
Idan Amitd059aea2017-11-05 15:07:20 +02008
JulienBe14cee3e2020-06-11 12:06:09 +02009SDC Dockers Containers
10======================
11
12Overview
13--------
14
15+---------------------+----------------------------------------------------------------------------+------------------------------------------------+
16| Name | Content of the container | On Startup |
17+---------------------+----------------------------------------------------------------------------+------------------------------------------------+
18| sdc-cs-init | Logic for creating the **schemas for SDC catalog** server | Create the **schemas** |
19+---------------------+----------------------------------------------------------------------------+------------------------------------------------+
20| sdc-cs-onboard init | Logic for creating the **schemas for SDC onboarding** server | Create the **schemas** |
21+---------------------+----------------------------------------------------------------------------+------------------------------------------------+
ChrisC8143fb52020-11-13 15:04:38 +010022| sdc-cs | **Cassandra** server, this is optional as SDC uses shared ONAP Cassandra by| Starts **Cassandra** |
23| | default | |
JulienBe14cee3e2020-06-11 12:06:09 +020024+---------------------+----------------------------------------------------------------------------+------------------------------------------------+
25| sdc-onboard-BE | Onboarding **Backend** Jetty server | Starts Jetty with the application. |
26+---------------------+----------------------------------------------------------------------------+------------------------------------------------+
27| sdc-BE | **Backend** Jetty server | Starts Jetty with the application. |
28+---------------------+----------------------------------------------------------------------------+------------------------------------------------+
29| sdc-BE-init | Logic for importing the SDC **Tosca normative types** | Executes the rest calls for the catalog server |
30| | Logic for configuring **external users** for SDC external api's | |
31+---------------------+----------------------------------------------------------------------------+------------------------------------------------+
32| sdc-FE | SDC **Frontend** Jetty server | Starts Jetty with our application. |
33+---------------------+----------------------------------------------------------------------------+------------------------------------------------+
ChrisC8143fb52020-11-13 15:04:38 +010034| sdc-WFD-BE-init | Logic for configuring **Workflow Designer** | Execute configuration tasks of the WFD |
35+---------------------+----------------------------------------------------------------------------+------------------------------------------------+
36| sdc-WFD-BE | SDC Workflow **Backtend** Jetty server | Starts Jetty with our application. |
37+---------------------+----------------------------------------------------------------------------+------------------------------------------------+
38| sdc-WFD-FE | SDC Workflow **Frontend** Jetty server | Starts Jetty with our application. |
39+---------------------+----------------------------------------------------------------------------+------------------------------------------------+
40
JulienBe14cee3e2020-06-11 12:06:09 +020041
42
43Deployement dependency map
44--------------------------
45
46.. blockdiag::
47
48 orientation = portrait
49 class job [color = "#FFA300", style = dotted, shape = "box"]
50 class app [color = "#29ADFF", shape = "roundedbox"]
51 fe [label = "sdc-frontend", class = "app"];
52 be [label = "sdc-backend", class = "app"];
53 onboarding-be [label = "sdc-onboarding-backend", class = "app"];
54 cassandra [label = "sdc-cassandra", class = "app"];
55 be-config [label = "sdc-backend-config", class = "job"];
56 cassandra-config [label = "sdc-cassandra-config", class = "job"];
57 onboarding-init [label = "sdc-onboarding-init", class = "job"];
ChrisC9f4c8882020-11-16 15:01:03 +010058 sdc-WFD-FE [label = "sdc-workflow-fe", class = "app"];
59 sdc-WFD-BE [label = "sdc-workflow-be", class = "app"];
60 sdc-WFD-BE-init [label = "sdc-workflow-init", class = "job"];
JulienBe14cee3e2020-06-11 12:06:09 +020061 job [class = "job"];
62 app [class = "app"];
63
64 fe -> be-config -> be -> onboarding-be -> onboarding-init -> cassandra-config -> cassandra;
ChrisC9f4c8882020-11-16 15:01:03 +010065 sdc-WFD-FE -> sdc-WFD-BE-init -> sdc-WFD-BE -> cassandra-config;
JulienBe14cee3e2020-06-11 12:06:09 +020066
67Connectivity Matrix
68-------------------
69
70+---------------------+--------------------------------------------------------------+-------------+---------------------+-----------+
71| Name | API purpose | protocol | port number / range | TCP / UDP |
72+---------------------+--------------------------------------------------------------+-------------+---------------------+-----------+
73| sdc-cassandra | SDC backend uses the two protocols to access Cassandra | trift/async | 9042 / 9160 | TCP |
74+---------------------+--------------------------------------------------------------+-------------+---------------------+-----------+
75| sdc-onboard-backend | Access the onboarding functionality | http(s) | 8081 / 8445 | TCP |
76+---------------------+--------------------------------------------------------------+-------------+---------------------+-----------+
77| sdc-backend | Access the catalog functionality | http(s) | 8080 / 8443 | TCP |
78+---------------------+--------------------------------------------------------------+-------------+---------------------+-----------+
79| sdc-frontend | Access SDC UI and proxy requests to SDC backend | http(s) | 8181 / 9443 | TCP |
80+---------------------+--------------------------------------------------------------+-------------+---------------------+-----------+
81
82Offered APIs
83------------
84
85+---------------------+-------------------+-----------------------------------------------------------------------------------------+----------+-------------+-----------+
86| container / vm name | address | API purpose | protocol | port number | TCP / UDP |
87+---------------------+-------------------+-----------------------------------------------------------------------------------------+----------+-------------+-----------+
88| sdc-fe | /sdc1/feproxy/* | Proxy for all REST calls from SDC UI | HTTP(S) | 8181 / 8443 | TCP |
89+---------------------+-------------------+-----------------------------------------------------------------------------------------+----------+-------------+-----------+
90| sdc-be | /sdc2/* | Internal APIs used by the UI. Request is passed through front end proxy | HTTP(S) | 8080 / 8443 | TCP |
91+---------------------+-------------------+-----------------------------------------------------------------------------------------+----------+-------------+-----------+
92| | /sdc/* | External APIs offered to the different components for retrieving info from SDC catalog. | HTTP(S) | 8080 / 8443 | TCP |
93+---------------------+-------------------+-----------------------------------------------------------------------------------------+----------+-------------+-----------+
94| sdc-onboarding-be | /onboarding/api/* | Internal APIs used by the UI | HTTP(S) | 8080 / 8443 | TCP |
95+---------------------+-------------------+-----------------------------------------------------------------------------------------+----------+-------------+-----------+
96
97
98Structure
99---------
Rich Bennett4b001932017-10-16 09:25:01 -0400100
Idan Amitd059aea2017-11-05 15:07:20 +0200101Below is a diagram of the SDC project docker containers and the connections between them.
Rich Bennett4b001932017-10-16 09:25:01 -0400102
103.. blockdiag::
104
105
Idan Amitd059aea2017-11-05 15:07:20 +0200106 blockdiag delivery {
ChrisC8143fb52020-11-13 15:04:38 +0100107 node_width = 140;
Idan Amitd059aea2017-11-05 15:07:20 +0200108 orientation = portrait;
Michael Landodb0e8982018-06-06 11:44:25 +0300109 sdc-cassandra[shape = flowchart.database , color = grey]
Ofir Sonsino61f39492020-04-01 10:52:28 +0300110 sdc-frontend [color = blue, textcolor="white"]
Michael Landodb0e8982018-06-06 11:44:25 +0300111 sdc-backend [color = yellow]
Michael Landodb0e8982018-06-06 11:44:25 +0300112 sdc-onboarding-backend [color = yellow]
ChrisC8143fb52020-11-13 15:04:38 +0100113 sdc-backend [color = yellow]
114 sdc-WFD-frontend [color = brown]
115 sdc-WFD-backend [color = brown]
116 sdc-WFD-BE-init [color = brown]
Michael Landodb0e8982018-06-06 11:44:25 +0300117 sdc-cassandra-Config [color = orange]
Michael Landodb0e8982018-06-06 11:44:25 +0300118 sdc-backend-config [color = orange]
119 sdc-onboarding-init [color = orange]
ChrisC8143fb52020-11-13 15:04:38 +0100120 sdc-WFD-BE-init -> sdc-WFD-backend;
Michael Landodb0e8982018-06-06 11:44:25 +0300121 sdc-onboarding-init -> sdc-onboarding-backend;
122 sdc-cassandra-Config -> sdc-cassandra;
Michael Landodb0e8982018-06-06 11:44:25 +0300123 sdc-backend-config -> sdc-backend;
124 sdc-wss-simulator -> sdc-frontend;
ChrisC9f4c8882020-11-16 15:01:03 +0100125 sdc-WFD-frontend -> sdc-WFD-backend;
Michael Landodb0e8982018-06-06 11:44:25 +0300126 sdc-frontend -> sdc-backend, sdc-onboarding-backend;
ChrisC9f4c8882020-11-16 15:01:03 +0100127 sdc-WFD-backend -> sdc-cassandra;
Ofir Sonsino61f39492020-04-01 10:52:28 +0300128 sdc-backend -> sdc-cassandra;
Michael Landodb0e8982018-06-06 11:44:25 +0300129 sdc-onboarding-backend -> sdc-cassandra;
130 sdc-sanity -> sdc-backend;
131 sdc-ui-sanity -> sdc-frontend;
132 group deploy_group {
133 color = green;
seshukm86b2f6d2018-10-03 20:35:52 +0800134 label = "Application Layer"
ChrisC8143fb52020-11-13 15:04:38 +0100135 sdc-backend; sdc-onboarding-backend; sdc-frontend; sdc-cassandra; sdc-cassandra-Config; sdc-backend-config; sdc-onboarding-init; sdc-WFD-frontend; sdc-WFD-backend; sdc-WFD-BE-init;
Idan Amitd059aea2017-11-05 15:07:20 +0200136 }
137 group testing_group {
Michael Landodb0e8982018-06-06 11:44:25 +0300138 color = purple;
Idan Amitd059aea2017-11-05 15:07:20 +0200139 label = "Testing Layer";
Michael Landodb0e8982018-06-06 11:44:25 +0300140 sdc-sanity; sdc-ui-sanity
141 }
142 group util_group {
143 color = purple;
144 label = "Util Layer";
145 sdc-wss-simulator;
Idan Amitd059aea2017-11-05 15:07:20 +0200146 }
147 }