blob: 557ec4d0e8cc85ce83920d5f54612f97b3bedac7 [file] [log] [blame]
Gary Wucd47a012018-11-30 07:18:36 -08001.. This work is licensed under a Creative Commons Attribution 4.0
2 International License. http://creativecommons.org/licenses/by/4.0
shashikanth.vh@huawei.com3bb78c32020-03-04 12:06:18 +05303
Gary Wucd47a012018-11-30 07:18:36 -08004.. _docs_ccvpn:
5
6CCVPN (Cross Domain and Cross Layer VPN)
7----------------------------------------
Gary Wue4a2df82018-11-29 12:49:09 -08008
Xin Miao8757ebc2020-10-01 21:40:39 +00009Update for Guilin Release
10~~~~~~~~~~~~~~~~~~~~~~~~~
11
hyu201075399d62020-11-17 17:02:07 -050012In Guilin Release, MDONS Extension feature is introduced.
Xin Miao8757ebc2020-10-01 21:40:39 +000013
hyu201075399d62020-11-17 17:02:07 -050014In addition to the MDONS extension, CCVPN has also developed an
15IETF/ACTN-based Transport Slicing solution (REQ-347). This development
16enabled ONAP to offer the TN NSSMF functionality, which was used by
17the E2E Network Slicing use case (REQ-342).  The solution was built
18upon the existing IETF/ACTN E-LINE over OTN NNI feature developed in Frankfurt release
Xin Miao8757ebc2020-10-01 21:40:39 +000019
20Guilin Scope and Impacted modules
21~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
22MDONS Extension implementation for the Frankfurt release will incorporate the following:
23
24- Support Asynchronous OpenRoadM OTN service activation notification handling
25- Add OOF support for inter domain link/path selection
26- Support Closed Loop sub-use case
27Impacted ONAP modules include: OOF, SDN-C, SO and Holmes
28
29Wiki link reference: https://wiki.onap.org/display/DW/MDONS+Extension+in+R7
30
hyu201075399d62020-11-17 17:02:07 -050031Transport Slicing in Guilin release has implemented the following TN NSSMF functionality:
32
33- Allocate TN NSSI
34- Deallocate TN NSSI
35- Activate TN NSSI
36- Deactivate TN NSSI
37
38The Tranport Slicing implementaion has made code changes in the following modules:
39
40- AAI (Schema changes only)
41- UUI
42- SO
43- OOF
44- SDN-C
45- CCSDK
46- Modelling
47
Xin Miao8757ebc2020-10-01 21:40:39 +000048Functional/Integration Test Cases
49~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hyu201075399d62020-11-17 17:02:07 -050050For integration test case and description of MDONS extension, refer to this following
51wiki-page:
Xin Miao8757ebc2020-10-01 21:40:39 +000052https://wiki.onap.org/display/DW/Integration+Test+Cases+-+MDONS+Extension
53
hyu201075399d62020-11-17 17:02:07 -050054For integration test case and description of Transport Slicing, refer to this following
55wiki-pages:
56https://wiki.onap.org/display/DW/CCVPN+-+Transport+Slicing+integration+test+plan+for+Guilin+release
57https://wiki.onap.org/display/DW/E2E+Network+Slicing+Use+Case+in+R7+Guilin
58
Xin Miao8757ebc2020-10-01 21:40:39 +000059Installation Procedure
60~~~~~~~~~~~~~~~~~~~~~~
hyu201075399d62020-11-17 17:02:07 -050061For MDONS extention, The integration test environment is established to have ONAP instance with Guilin
Xin Miao8757ebc2020-10-01 21:40:39 +000062release interfacing to 3rd party transport domain controllers. One controller
63instance manages OpenROADM OTN topology and the other 2 instances manage TAPI
64OTN topology. L0 infrastructure and WDM services are pre-provisioned to support
65L1 topology discovery and OTN service orchestration from ONAP.
66
hyu201075399d62020-11-17 17:02:07 -050067For Transport Slicing, the installation procedure is similiar to that of the E2E
68Network Slicing use case. In other words, we need to bring up the required modules
69including SDC, SO, A&AI, UUI and OOF. We also need to configure these modules along
70with the mandatory common modules such as DMaaP.
71
Xin Miao8757ebc2020-10-01 21:40:39 +000072Testing Procedure
73~~~~~~~~~~~~~~~~~
hyu201075399d62020-11-17 17:02:07 -050074Testing procedure for MDONS extention:
Xin Miao8757ebc2020-10-01 21:40:39 +000075https://wiki.onap.org/display/DW/Integration+Test+Cases+-+MDONS+Extension
76
hyu201075399d62020-11-17 17:02:07 -050077Testing procedure for Transport Slicing:
78https://wiki.onap.org/display/DW/CCVPN+-+Transport+Slicing+integration+test+plan+for+Guilin+release
Xin Miao8757ebc2020-10-01 21:40:39 +000079
shashikanth.vh@huawei.com3bb78c32020-03-04 12:06:18 +053080Update for Frankfurt release
81~~~~~~~~~~~~~~~~~~~~~~~~~~~~
82In Frankfurt, we introduced two extensions in CCVPN use case. One is E-LINE service over OTN NNI handover, another is the
83multi domain optical service which aims to provide end to end layer 1 service.
84
85E-LINE over OTN NNI
86~~~~~~~~~~~~~~~~~~~
87Description
88~~~~~~~~~~~
89It is considered a typical scenario for operators to use OTN to interconnect its multiple transport network domains. Hence
90the capabilities of orchestrating end-to-end E-LINE services across the domains over OTN is important for ONAP. When operating
91with multiple domains with multi vendor solutions, it is also important to define and use standard and open
92interfaces, such as the IETF ACTN-based transport YANG models(https://tools.ietf.org/html/rfc8345), as the southbound interface
93of ONAP, in order to ensure interoperability. The SOTN NNI use-case aims to automate the design, service provision by independent
94operational entities within a service provider network by delivering E-Line over OTN orchestration capabilities into ONAP. SOTN NNI
95extends upon the CCVPN use-case by incorporating support for L1/L2 network management capabilities leveraging open standards & common
96data models.
97
98Frankfurt Scope and Impacted modules
99~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
100The Frankfurt demonstration includes L1(OTN) and L2(ETH) Topology discovery from multiple domains controllers with in an operator
101and provide VPN service provision in OTN and ETH network.
102
103The ONAP components involved in this use case are: SDC, A&AI, UUI, SO, SDNC, OOF, MSB.
104
105Functional Test Cases
106~~~~~~~~~~~~~~~~~~~~~
107Usecase specific developments have been realized in SO, OOF, AAI, SDNC and UUI ONAP components..
108
109All test case covered by this use case:
110https://wiki.onap.org/display/DW/E-LINE+over+OTN+Inter+Domain+Test+Cases
111
112Testing Procedure
113~~~~~~~~~~~~~~~~~
114Design time
115SOTNVPNInfraService service design in SDC and distribute to AAI and SO.
116
117Run Time:
118All operation will be triggered by UUI, including service creation and termination, link management and topology network display.
119
120More details can be found here:
121https://wiki.onap.org/display/DW/E-LINE+over+OTN+Inter+Domain+Test+Cases
122
123Test status can be found here:
124https://wiki.onap.org/display/DW/2%3A+Frankfurt+Release+Integration+Testing+Status
125
Xin Miao57a161d2020-03-05 19:54:39 +0000126MDONS (Multi-Domain Optical Network Services)
127~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
128Overall Description
129~~~~~~~~~~~~~~~~~~~
130The MDONS use-case aims to automate the design, activation & operations resulting from an optical transport (L0/L1) service request exchange between service providers and/or independent operational entities within a service provider network by delivering E2E optical orchestration capabilities into ONAP. MDONS extends upon the CCVPN use-case by incorporating support for L0/L1 network management capabilities leveraging open standards & common data models defined by OpenROADM, Transport-API & MEF.
131
132Frankfurt Scope and Impacted modules
133~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
134MDONS implementation for the Frankfurt release will incorporate the following:
135- Design & modelling of optical services based on MEF L1 subscriber & operator properties
136- E2E optical service workflow definitions for service instantiation & deletion
137- UI portal with L1 service instantiation templates
138- Optical Transport domain management (topology, resource onboarding) through standard models / APIs - OpenROADM, T-API
139Impacted ONAP modules include: A&AI, SDC, SDN-C, SO, UUI
140
141OpenROADM reference: https://github.com/OpenROADM/OpenROADM_MSA_Public
142ONF Transport-API (TAPI): https://github.com/OpenNetworkingFoundation/TAPI
143MEF: https://wiki.mef.net/display/CESG/MEF+63+-+Subscriber+Layer+1+Service+Attributes
144
145Functional/Integration Test Cases
146~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
147For integration test case and description, refer to this following wiki-page:
148https://wiki.onap.org/display/DW/MDONS+Integration+Test+Case
149
150Installation Procedure
151~~~~~~~~~~~~~~~~~~~~~~
152The integration test environment is established to have ONAP instance with Frankfurt release interfacing to 3rd party transport domain controllers. One controller instance manages OpenROADM OTN topology and the other 2 instances manage TAPI OTN topology. L0 infrastructure and WDM services are pre-provisioned to support L1 topology discovery and OTN service orchestration from ONAP.
153
154Testing Procedure
155~~~~~~~~~~~~~~~~~
mrichommeefb859d2020-03-19 19:02:41 +0100156Test environment is described in Installation Procedure section and test procedure is described in https://wiki.onap.org/display/DW/MDONS+Integration+Test+Case.
Xin Miao57a161d2020-03-05 19:54:39 +0000157
shashikanth.vh@huawei.com3bb78c32020-03-04 12:06:18 +0530158
yangyanyjfdae1482019-06-25 21:44:14 +0800159Update for Dublin release
160~~~~~~~~~~~~~~~~~~~~~~~~~
161
1621. Service model optimization
163
164In Dublin release,the design of CCVPN was optimized by having support of List type of Input in SDC.
165During onboarding and design phase, one end to end service is created using SDC. This service is
166composed of these two kinds of resources:
167 VPN resource
168 Site resource
169You can see the details from here https://wiki.onap.org/display/DW/Details+of+Targeted+Service+Template
170
1712. Closed Loop in bandwidth adjustment
172Simulate alarm at the edge site branch and ONAP will execute close-loop automatically and trigger bandwidth to change higher.
173
1743. Site Change
175Site can be add or delete according to the requirements
176
177
178More information about CCVPN in Dublin release:https://wiki.onap.org/pages/viewpage.action?pageId=45296665
179and the test case in Dublin can be found:https://wiki.onap.org/display/DW/CCVPN+Test+Cases+for+Dublin+Release
180And test status:https://wiki.onap.org/display/DW/CCVPN+Test+Status
181
182Note: CCVPN integration testing coversed service design, service creation and closed-loop bandwidth adjustments in Dublin release.
shashikanth.vh@huawei.com3bb78c32020-03-04 12:06:18 +0530183The service termination and service change will continue to be tested in E release.
184During the integration testing, SDC, SO, SDC master branch are used which include the enhanced features for CCVPN use case.
yangyanyjfdae1482019-06-25 21:44:14 +0800185
186
shashikanth.vh@huawei.com3bb78c32020-03-04 12:06:18 +0530187Service used for CCVPN
mrichommeefb859d2020-03-19 19:02:41 +0100188~~~~~~~~~~~~~~~~~~~~~~
Gary Wue4a2df82018-11-29 12:49:09 -0800189
190- SOTNVPNInfraService, SDWANVPNInfraService and SIteService: https://wiki.onap.org/display/DW/CCVPN+Service+Design
191- WanConnectionService ( Another way to describe CCVPN in a single service form which based on ONF CIM ): https://wiki.onap.org/display/DW/CCVPN+Wan+Connection+Service+Design
192
193Description
194~~~~~~~~~~~
195Cross-domain, cross-layer VPN (CCVPN) is one of the use cases of the ONAP Casablanca release. This release demonstrates cross-operator ONAP orchestration and interoperability with third party SDN controllers and enables cross-domain, cross-layer and cross-operator service creation and assurance.
196
197The demonstration includes two ONAP instances, one deployed by Vodafone and one by China Mobile, both of which orchestrate the respective operator underlay OTN networks and overlay SD-WAN networks and peer to each other for cross-operator VPN service delivery.
198
199The CCVPN Use Case Wiki Page can be found here: https://wiki.onap.org/display/DW/CCVPN%28Cross+Domain+and+Cross+Layer+VPN%29+USE+CASE.
200
201The projects covered by this use case include: SDC, A&AI, UUI, SO, SDNC, OOF, Policy, DCAE(Holmes), External API, MSB
202
203How to Use
204~~~~~~~~~~
205Design time
206SOTNVPNInfraService, SDWANVPNInfraService and SIteService service Design steps can be found here: https://wiki.onap.org/display/DW/CCVPN+Service+Design
207WanConnectionService ( Another way to describe CCVPN in a single service form which based on ONF CIM ): https://wiki.onap.org/display/DW/CCVPN+Wan+Connection+Service+Design
208
209Run Time:
210All opertion will be triggerd by UUI, inlcuding service creation and termination, link management and topology network display.
211
212
213More details can be fonud here: https://wiki.onap.org/display/DW/CCVPN+Test+Guide
214
215Test Status and Plans
216~~~~~~~~~~~~~~~~~~~~~
217All test case covered by this use case: https://wiki.onap.org/display/DW/CCVPN+Integration+Test+Case
218
219And the test status can be found: https://wiki.onap.org/display/DW/CCVPN++-Test+Status
220
221Known Issues and Resolutions
222~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mrichommeefb859d2020-03-19 19:02:41 +01002231) AAI-1923. Link Management, UUI can't delete the link to external onap otn domain.
Gary Wue4a2df82018-11-29 12:49:09 -0800224
225For the manual steps provided by A&AI team, we should follow the steps as follow
226the only way to delete is using the forceDeleteTool shell script in the graphadmin container.
227First we will need to find the vertex id, you should be able to get the id by making the following GET request.
228
229GET /aai/v14/network/ext-aai-networks/ext-aai-network/createAndDelete/esr-system-info/test-esr-system-info-id-val-0?format=raw
230
mrichommeefb859d2020-03-19 19:02:41 +0100231.. code-block:: JSON
Gary Wue4a2df82018-11-29 12:49:09 -0800232
mrichommeefb859d2020-03-19 19:02:41 +0100233 {
234
235 "results": [
236 {
237 "id": "20624",
238 "node-type": "pserver",
239 "url": "/aai/v13/cloud-infrastructure/pservers/pserver/pserverid14503-as988q",
240 "properties": {}
241 }
242 ]
243 }
Gary Wue4a2df82018-11-29 12:49:09 -0800244
yangyanyjfdae1482019-06-25 21:44:14 +0800245
Gary Wue4a2df82018-11-29 12:49:09 -0800246Same goes for the ext-aai-network:
247
248GET /aai/v14/network/ext-aai-networks/ext-aai-network/createAndDelete?format=raw
249
250Retrieve the id from the above output as that will be the vertex id that you want to remove.
251
252Run the following command multiple times for both the esr-system-info and ext-aai-network:
253
254::
255
mrichommeefb859d2020-03-19 19:02:41 +0100256 kubectl exec -it $(kubectl get pods -lapp=aai-graphadmin -n onap --template 'range .items.metadata.name"\n"end' | head -1) -n onap gosu aaiadmin /opt/app/aai-graphadmin/scripts/forceDeleteTool.sh -action DELETE_NODE -userId YOUR_ID_ANY_VALUE -vertexId VERTEX_ID
Gary Wue4a2df82018-11-29 12:49:09 -0800257
258From the above, remove the YOUR_ID_ANY_VALUE and VERTEX_ID with your info.
259
2602) SDC-1955. Site service Distribution
261
262To overcome the Service distribution, the SO catalog has to be populated with the model information of the services and resources.
263a) Refering to the Csar that is generated in the SDC designed as per the detailes mentioned in the below link: https://wiki.onap.org/display/DW/CCVPN+Service+Design
264b) Download the Csar from SDC thus generated.
265c) copy the csar to SO sdc controller pod and bpmn pod
mrichommeefb859d2020-03-19 19:02:41 +0100266
267.. code-block:: bash
268
Gary Wue4a2df82018-11-29 12:49:09 -0800269 kubectl -n onap get pod|grep so
270 kubectl -n onap exec -it dev-so-so-sdc-controller-c949f5fbd-qhfbl /bin/sh
Gary Wue4a2df82018-11-29 12:49:09 -0800271 mkdir null/ASDC
272 mkdir null/ASDC/1
273 kubectl -n onap cp service-Sdwanvpninfraservice-csar.csar dev-so-so-bpmn-infra-58796498cf-6pzmz:null/ASDC/1/service-Sdwanvpninfraservice-csar.csar
274 kubectl -n onap cp service-Sdwanvpninfraservice-csar.csar dev-so-so-bpmn-infra-58796498cf-6pzmz:ASDC/1/service-Sdwanvpninfraservice-csar.csar
275
mrichommeefb859d2020-03-19 19:02:41 +0100276d) populate model information to SO db: the db script example can be seen in
277 https://wiki.onap.org/display/DW/Manual+steps+for+CCVPN+Integration+Testing
Gary Wue4a2df82018-11-29 12:49:09 -0800278
279The same would also be applicable for the integration of the client to create the service and get the details.
280Currently the testing has been performed using the postman calls to the corresponding APIs.
281
2823) SDC-1955 & SDC-1958. Site serivce parsing Error
283
284UUI: stored the csar which created based on beijing release under a fixed directory, If site serive can't parsed by SDC tosca parser, UUI will parse this default csar and get the input parameter
285a) Make an available csar file for CCVPN use case.
286b) Replace uuid of available files with what existing in SDC.
287c) Put available csar files in UUI local path (/home/uui).
288
mrichommeefb859d2020-03-19 19:02:41 +01002894) SO docker branch 1.3.5 has fixes for the issues 1SO-1248
Gary Wue4a2df82018-11-29 12:49:09 -0800290
291After SDC distribution success, copy all csar files from so-sdc-controller:
Gary Wue4a2df82018-11-29 12:49:09 -0800292
mrichommeefb859d2020-03-19 19:02:41 +0100293- connect to so-sdc-controller ( eg: kubectl.exe exec -it -n onap dev-so-so-sdc-controller-77df99bbc9-stqdz /bin/sh )
294- find out all csar files ( eg: find / -name "\*.csar" ), the csar files should
295 be in this path: /app/null/ASDC/ ( eg: /app/null/ASDC/1/service-Sotnvpninfraservice-csar.csar )
296- exit from the so-sdc-controller ( eg: exit )
297- copy all csar files to local derectory ( eg: kubectl.exe cp onap/dev-so-so-sdc-controller-6dfdbff76c-64nf9:/app/null/ASDC/tmp/service-DemoService-csar.csar service-DemoService-csar.csar -c so-sdc-controller )
298
299Copy csar files, which got from so-sdc-controller, to so-bpmn-infra:
300
301- connect to so-bpmn-infra ( eg: kubectl.exe -n onap exec -it dev-so-so-bpmn-infra-54db5cd955-h7f5s -c so-bpmn-infra /bin/sh )
302- check the /app/ASDC deretory, if doesn't exist, create it ( eg: mkdir /app/ASDC -p )
303- exit from the so-bpmn-infra ( eg: exit )
304- copy all csar files to so-bpmn-infra ( eg: kubectl.exe cp service-Siteservice-csar.csar onap/dev-so-so-bpmn-infra-54db5cd955-h7f5s:/app/ASDC/1/service-Siteservice-csar.csar )