blob: 11fb83525f2628e98cd10325d03eb38efcea2ac7 [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
shashikanth.vh@huawei.com3bb78c32020-03-04 12:06:18 +05309Update for Frankfurt release
10~~~~~~~~~~~~~~~~~~~~~~~~~~~~
11In Frankfurt, we introduced two extensions in CCVPN use case. One is E-LINE service over OTN NNI handover, another is the
12multi domain optical service which aims to provide end to end layer 1 service.
13
14E-LINE over OTN NNI
15~~~~~~~~~~~~~~~~~~~
16Description
17~~~~~~~~~~~
18It is considered a typical scenario for operators to use OTN to interconnect its multiple transport network domains. Hence
19the capabilities of orchestrating end-to-end E-LINE services across the domains over OTN is important for ONAP. When operating
20with multiple domains with multi vendor solutions, it is also important to define and use standard and open
21interfaces, such as the IETF ACTN-based transport YANG models(https://tools.ietf.org/html/rfc8345), as the southbound interface
22of ONAP, in order to ensure interoperability. The SOTN NNI use-case aims to automate the design, service provision by independent
23operational entities within a service provider network by delivering E-Line over OTN orchestration capabilities into ONAP. SOTN NNI
24extends upon the CCVPN use-case by incorporating support for L1/L2 network management capabilities leveraging open standards & common
25data models.
26
27Frankfurt Scope and Impacted modules
28~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
29The Frankfurt demonstration includes L1(OTN) and L2(ETH) Topology discovery from multiple domains controllers with in an operator
30and provide VPN service provision in OTN and ETH network.
31
32The ONAP components involved in this use case are: SDC, A&AI, UUI, SO, SDNC, OOF, MSB.
33
34Functional Test Cases
35~~~~~~~~~~~~~~~~~~~~~
36Usecase specific developments have been realized in SO, OOF, AAI, SDNC and UUI ONAP components..
37
38All test case covered by this use case:
39https://wiki.onap.org/display/DW/E-LINE+over+OTN+Inter+Domain+Test+Cases
40
41Testing Procedure
42~~~~~~~~~~~~~~~~~
43Design time
44SOTNVPNInfraService service design in SDC and distribute to AAI and SO.
45
46Run Time:
47All operation will be triggered by UUI, including service creation and termination, link management and topology network display.
48
49More details can be found here:
50https://wiki.onap.org/display/DW/E-LINE+over+OTN+Inter+Domain+Test+Cases
51
52Test status can be found here:
53https://wiki.onap.org/display/DW/2%3A+Frankfurt+Release+Integration+Testing+Status
54
Xin Miao57a161d2020-03-05 19:54:39 +000055MDONS (Multi-Domain Optical Network Services)
56~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
57Overall Description
58~~~~~~~~~~~~~~~~~~~
59The 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.
60
61Frankfurt Scope and Impacted modules
62~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
63MDONS implementation for the Frankfurt release will incorporate the following:
64- Design & modelling of optical services based on MEF L1 subscriber & operator properties
65- E2E optical service workflow definitions for service instantiation & deletion
66- UI portal with L1 service instantiation templates
67- Optical Transport domain management (topology, resource onboarding) through standard models / APIs - OpenROADM, T-API
68Impacted ONAP modules include: A&AI, SDC, SDN-C, SO, UUI
69
70OpenROADM reference: https://github.com/OpenROADM/OpenROADM_MSA_Public
71ONF Transport-API (TAPI): https://github.com/OpenNetworkingFoundation/TAPI
72MEF: https://wiki.mef.net/display/CESG/MEF+63+-+Subscriber+Layer+1+Service+Attributes
73
74Functional/Integration Test Cases
75~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
76For integration test case and description, refer to this following wiki-page:
77https://wiki.onap.org/display/DW/MDONS+Integration+Test+Case
78
79Installation Procedure
80~~~~~~~~~~~~~~~~~~~~~~
81The 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.
82
83Testing Procedure
84~~~~~~~~~~~~~~~~~
mrichommeefb859d2020-03-19 19:02:41 +010085Test 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 +000086
shashikanth.vh@huawei.com3bb78c32020-03-04 12:06:18 +053087
yangyanyjfdae1482019-06-25 21:44:14 +080088Update for Dublin release
89~~~~~~~~~~~~~~~~~~~~~~~~~
90
911. Service model optimization
92
93In Dublin release,the design of CCVPN was optimized by having support of List type of Input in SDC.
94During onboarding and design phase, one end to end service is created using SDC. This service is
95composed of these two kinds of resources:
96 VPN resource
97 Site resource
98You can see the details from here https://wiki.onap.org/display/DW/Details+of+Targeted+Service+Template
99
1002. Closed Loop in bandwidth adjustment
101Simulate alarm at the edge site branch and ONAP will execute close-loop automatically and trigger bandwidth to change higher.
102
1033. Site Change
104Site can be add or delete according to the requirements
105
106
107More information about CCVPN in Dublin release:https://wiki.onap.org/pages/viewpage.action?pageId=45296665
108and the test case in Dublin can be found:https://wiki.onap.org/display/DW/CCVPN+Test+Cases+for+Dublin+Release
109And test status:https://wiki.onap.org/display/DW/CCVPN+Test+Status
110
111Note: 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 +0530112The service termination and service change will continue to be tested in E release.
113During 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 +0800114
115
shashikanth.vh@huawei.com3bb78c32020-03-04 12:06:18 +0530116Service used for CCVPN
mrichommeefb859d2020-03-19 19:02:41 +0100117~~~~~~~~~~~~~~~~~~~~~~
Gary Wue4a2df82018-11-29 12:49:09 -0800118
119- SOTNVPNInfraService, SDWANVPNInfraService and SIteService: https://wiki.onap.org/display/DW/CCVPN+Service+Design
120- 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
121
122Description
123~~~~~~~~~~~
124Cross-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.
125
126The 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.
127
128The 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.
129
130The projects covered by this use case include: SDC, A&AI, UUI, SO, SDNC, OOF, Policy, DCAE(Holmes), External API, MSB
131
132How to Use
133~~~~~~~~~~
134Design time
135SOTNVPNInfraService, SDWANVPNInfraService and SIteService service Design steps can be found here: https://wiki.onap.org/display/DW/CCVPN+Service+Design
136WanConnectionService ( 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
137
138Run Time:
139All opertion will be triggerd by UUI, inlcuding service creation and termination, link management and topology network display.
140
141
142More details can be fonud here: https://wiki.onap.org/display/DW/CCVPN+Test+Guide
143
144Test Status and Plans
145~~~~~~~~~~~~~~~~~~~~~
146All test case covered by this use case: https://wiki.onap.org/display/DW/CCVPN+Integration+Test+Case
147
148And the test status can be found: https://wiki.onap.org/display/DW/CCVPN++-Test+Status
149
150Known Issues and Resolutions
151~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mrichommeefb859d2020-03-19 19:02:41 +01001521) AAI-1923. Link Management, UUI can't delete the link to external onap otn domain.
Gary Wue4a2df82018-11-29 12:49:09 -0800153
154For the manual steps provided by A&AI team, we should follow the steps as follow
155the only way to delete is using the forceDeleteTool shell script in the graphadmin container.
156First we will need to find the vertex id, you should be able to get the id by making the following GET request.
157
158GET /aai/v14/network/ext-aai-networks/ext-aai-network/createAndDelete/esr-system-info/test-esr-system-info-id-val-0?format=raw
159
mrichommeefb859d2020-03-19 19:02:41 +0100160.. code-block:: JSON
Gary Wue4a2df82018-11-29 12:49:09 -0800161
mrichommeefb859d2020-03-19 19:02:41 +0100162 {
163
164 "results": [
165 {
166 "id": "20624",
167 "node-type": "pserver",
168 "url": "/aai/v13/cloud-infrastructure/pservers/pserver/pserverid14503-as988q",
169 "properties": {}
170 }
171 ]
172 }
Gary Wue4a2df82018-11-29 12:49:09 -0800173
yangyanyjfdae1482019-06-25 21:44:14 +0800174
Gary Wue4a2df82018-11-29 12:49:09 -0800175Same goes for the ext-aai-network:
176
177GET /aai/v14/network/ext-aai-networks/ext-aai-network/createAndDelete?format=raw
178
179Retrieve the id from the above output as that will be the vertex id that you want to remove.
180
181Run the following command multiple times for both the esr-system-info and ext-aai-network:
182
183::
184
mrichommeefb859d2020-03-19 19:02:41 +0100185 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 -0800186
187From the above, remove the YOUR_ID_ANY_VALUE and VERTEX_ID with your info.
188
1892) SDC-1955. Site service Distribution
190
191To overcome the Service distribution, the SO catalog has to be populated with the model information of the services and resources.
192a) 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
193b) Download the Csar from SDC thus generated.
194c) copy the csar to SO sdc controller pod and bpmn pod
mrichommeefb859d2020-03-19 19:02:41 +0100195
196.. code-block:: bash
197
Gary Wue4a2df82018-11-29 12:49:09 -0800198 kubectl -n onap get pod|grep so
199 kubectl -n onap exec -it dev-so-so-sdc-controller-c949f5fbd-qhfbl /bin/sh
Gary Wue4a2df82018-11-29 12:49:09 -0800200 mkdir null/ASDC
201 mkdir null/ASDC/1
202 kubectl -n onap cp service-Sdwanvpninfraservice-csar.csar dev-so-so-bpmn-infra-58796498cf-6pzmz:null/ASDC/1/service-Sdwanvpninfraservice-csar.csar
203 kubectl -n onap cp service-Sdwanvpninfraservice-csar.csar dev-so-so-bpmn-infra-58796498cf-6pzmz:ASDC/1/service-Sdwanvpninfraservice-csar.csar
204
mrichommeefb859d2020-03-19 19:02:41 +0100205d) populate model information to SO db: the db script example can be seen in
206 https://wiki.onap.org/display/DW/Manual+steps+for+CCVPN+Integration+Testing
Gary Wue4a2df82018-11-29 12:49:09 -0800207
208The same would also be applicable for the integration of the client to create the service and get the details.
209Currently the testing has been performed using the postman calls to the corresponding APIs.
210
2113) SDC-1955 & SDC-1958. Site serivce parsing Error
212
213UUI: 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
214a) Make an available csar file for CCVPN use case.
215b) Replace uuid of available files with what existing in SDC.
216c) Put available csar files in UUI local path (/home/uui).
217
mrichommeefb859d2020-03-19 19:02:41 +01002184) SO docker branch 1.3.5 has fixes for the issues 1SO-1248
Gary Wue4a2df82018-11-29 12:49:09 -0800219
220After SDC distribution success, copy all csar files from so-sdc-controller:
Gary Wue4a2df82018-11-29 12:49:09 -0800221
mrichommeefb859d2020-03-19 19:02:41 +0100222- connect to so-sdc-controller ( eg: kubectl.exe exec -it -n onap dev-so-so-sdc-controller-77df99bbc9-stqdz /bin/sh )
223- find out all csar files ( eg: find / -name "\*.csar" ), the csar files should
224 be in this path: /app/null/ASDC/ ( eg: /app/null/ASDC/1/service-Sotnvpninfraservice-csar.csar )
225- exit from the so-sdc-controller ( eg: exit )
226- 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 )
227
228Copy csar files, which got from so-sdc-controller, to so-bpmn-infra:
229
230- 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 )
231- check the /app/ASDC deretory, if doesn't exist, create it ( eg: mkdir /app/ASDC -p )
232- exit from the so-bpmn-infra ( eg: exit )
233- 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 )