blob: 556e54a47fe303fe5a7deb8e13bb933a4ce42025 [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
55
yangyanyjfdae1482019-06-25 21:44:14 +080056Update for Dublin release
57~~~~~~~~~~~~~~~~~~~~~~~~~
58
591. Service model optimization
60
61In Dublin release,the design of CCVPN was optimized by having support of List type of Input in SDC.
62During onboarding and design phase, one end to end service is created using SDC. This service is
63composed of these two kinds of resources:
64 VPN resource
65 Site resource
66You can see the details from here https://wiki.onap.org/display/DW/Details+of+Targeted+Service+Template
67
682. Closed Loop in bandwidth adjustment
69Simulate alarm at the edge site branch and ONAP will execute close-loop automatically and trigger bandwidth to change higher.
70
713. Site Change
72Site can be add or delete according to the requirements
73
74
75More information about CCVPN in Dublin release:https://wiki.onap.org/pages/viewpage.action?pageId=45296665
76and the test case in Dublin can be found:https://wiki.onap.org/display/DW/CCVPN+Test+Cases+for+Dublin+Release
77And test status:https://wiki.onap.org/display/DW/CCVPN+Test+Status
78
79Note: 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 +053080The service termination and service change will continue to be tested in E release.
81During 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 +080082
83
shashikanth.vh@huawei.com3bb78c32020-03-04 12:06:18 +053084Service used for CCVPN
yangyanyjfdae1482019-06-25 21:44:14 +080085~~~~~~~~~~~~~~~~~~~~~
Gary Wue4a2df82018-11-29 12:49:09 -080086
87- SOTNVPNInfraService, SDWANVPNInfraService and SIteService: https://wiki.onap.org/display/DW/CCVPN+Service+Design
88- 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
89
90Description
91~~~~~~~~~~~
92Cross-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.
93
94The 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.
95
96The 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.
97
98The projects covered by this use case include: SDC, A&AI, UUI, SO, SDNC, OOF, Policy, DCAE(Holmes), External API, MSB
99
100How to Use
101~~~~~~~~~~
102Design time
103SOTNVPNInfraService, SDWANVPNInfraService and SIteService service Design steps can be found here: https://wiki.onap.org/display/DW/CCVPN+Service+Design
104WanConnectionService ( 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
105
106Run Time:
107All opertion will be triggerd by UUI, inlcuding service creation and termination, link management and topology network display.
108
109
110More details can be fonud here: https://wiki.onap.org/display/DW/CCVPN+Test+Guide
111
112Test Status and Plans
113~~~~~~~~~~~~~~~~~~~~~
114All test case covered by this use case: https://wiki.onap.org/display/DW/CCVPN+Integration+Test+Case
115
116And the test status can be found: https://wiki.onap.org/display/DW/CCVPN++-Test+Status
117
118Known Issues and Resolutions
119~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1201) AAI-1923. Link Management, UUI can't delete the link to external onap otn domain.
121
122For the manual steps provided by A&AI team, we should follow the steps as follow
123the only way to delete is using the forceDeleteTool shell script in the graphadmin container.
124First we will need to find the vertex id, you should be able to get the id by making the following GET request.
125
126GET /aai/v14/network/ext-aai-networks/ext-aai-network/createAndDelete/esr-system-info/test-esr-system-info-id-val-0?format=raw
127
128::
129
130{
131"results": [
132{
133"id": "20624",
134"node-type": "pserver",
135"url": "/aai/v13/cloud-infrastructure/pservers/pserver/pserverid14503-as988q",
136"properties": {
137}
138}
139]
140}
141
yangyanyjfdae1482019-06-25 21:44:14 +0800142
Gary Wue4a2df82018-11-29 12:49:09 -0800143Same goes for the ext-aai-network:
144
145GET /aai/v14/network/ext-aai-networks/ext-aai-network/createAndDelete?format=raw
146
147Retrieve the id from the above output as that will be the vertex id that you want to remove.
148
149Run the following command multiple times for both the esr-system-info and ext-aai-network:
150
151::
152
153kubectl 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
154
155From the above, remove the YOUR_ID_ANY_VALUE and VERTEX_ID with your info.
156
1572) SDC-1955. Site service Distribution
158
159To overcome the Service distribution, the SO catalog has to be populated with the model information of the services and resources.
160a) 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
161b) Download the Csar from SDC thus generated.
162c) copy the csar to SO sdc controller pod and bpmn pod
163 kubectl -n onap get pod|grep so
164 kubectl -n onap exec -it dev-so-so-sdc-controller-c949f5fbd-qhfbl /bin/sh
165
166 mkdir null/ASDC
167 mkdir null/ASDC/1
168 kubectl -n onap cp service-Sdwanvpninfraservice-csar.csar dev-so-so-bpmn-infra-58796498cf-6pzmz:null/ASDC/1/service-Sdwanvpninfraservice-csar.csar
169 kubectl -n onap cp service-Sdwanvpninfraservice-csar.csar dev-so-so-bpmn-infra-58796498cf-6pzmz:ASDC/1/service-Sdwanvpninfraservice-csar.csar
170
171d) populate model information to SO db
172 the db script example can be seen in https://wiki.onap.org/display/DW/Manual+steps+for+CCVPN+Integration+Testing
173
174The same would also be applicable for the integration of the client to create the service and get the details.
175Currently the testing has been performed using the postman calls to the corresponding APIs.
176
1773) SDC-1955 & SDC-1958. Site serivce parsing Error
178
179UUI: 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
180a) Make an available csar file for CCVPN use case.
181b) Replace uuid of available files with what existing in SDC.
182c) Put available csar files in UUI local path (/home/uui).
183
Gary Wucd47a012018-11-30 07:18:36 -08001844) SO docker branch 1.3.5 has fixes for the issues 1SO-1248.
Gary Wue4a2df82018-11-29 12:49:09 -0800185
186After SDC distribution success, copy all csar files from so-sdc-controller:
187 connect to so-sdc-controller( eg: kubectl.exe exec -it -n onap dev-so-so-sdc-controller-77df99bbc9-stqdz /bin/sh )
188 find out all csar files ( eg: find / -name '*.csar' )
189 the csar files should be in this path: /app/null/ASDC/ ( eg: /app/null/ASDC/1/service-Sotnvpninfraservice-csar.csar )
190 exit from the so-sdc-controller ( eg: exit )
191 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 )
192
193Copy csar files, which got from so-sdc-controller, to so-bpmn-infra
194 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 )
195 check the /app/ASDC deretory, if doesn't exist, create it ( eg: mkdir /app/ASDC -p )
196 exit from the so-bpmn-infra ( eg: exit )
197 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 )
198
1995) Manual steps in closed loop Scenario:
200Following steps were undertaken for the closed loop testing.
201a. Give controller ip, username and password, trust store and key store file in restconf collector collector.properties
202b. Updated DMAAP ip in cambria.hosts in DmaapConfig.json in restconf collector and run restconf collector
203c. Followed the steps provided in this link(https://wiki.onap.org/display/DW/Holmes+User+Guide+-+Casablanca#HolmesUserGuide-Casablanca-Configurations) to push CCVPN rules to holmes
204d. Followed the steps provided in this link(https://wiki.onap.org/display/DW/ONAP+Policy+Framework%3A+Installation+of+Amsterdam+Controller+and+vCPE+Policy) as reference to push CCVPN policies to policy module and updated sdnc.url, username and password in environment(/opt/app/policy/config/controlloop.properties.environment)
205As per wiki (Policy on OOM), push-policied.sh script is used to install policies. but I observed that CCVPN policy is not added in this script. So merged CCVPN policy using POLICY-1356 JIRA ticket. but policy is pushed by using push-policy_casablanca.sh script during integration test.
206It is found that the changes made were overwritten and hence had to patch the DG manually. This will be tracked by the JIRA SDNC-540.
207
208all above manual steps can be found https://wiki.onap.org/display/DW/Manual+steps+for+CCVPN+Integration+Testing