f4013f20106c0907b6e3453f9e8545c3732581d0
[integration.git] / docs / docs_CCVPN.rst
1 .. This work is licensed under a Creative Commons Attribution 4.0
2    International License. http://creativecommons.org/licenses/by/4.0
3    
4 .. _docs_ccvpn:
5
6 CCVPN (Cross Domain and Cross Layer VPN)
7 ----------------------------------------
8
9 Sevice used for CCVPN 
10 ~~~~~~~~~~~~
11
12 - SOTNVPNInfraService, SDWANVPNInfraService and SIteService: https://wiki.onap.org/display/DW/CCVPN+Service+Design
13 - 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
14
15 Description
16 ~~~~~~~~~~~
17 Cross-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.
18
19 The 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.
20
21 The 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.
22
23 The projects covered by this use case include: SDC, A&AI, UUI, SO, SDNC, OOF, Policy, DCAE(Holmes), External API, MSB
24
25 How to Use
26 ~~~~~~~~~~
27 Design time
28 SOTNVPNInfraService, SDWANVPNInfraService and SIteService service Design steps can be found here: https://wiki.onap.org/display/DW/CCVPN+Service+Design
29 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
30
31 Run Time:
32 All opertion will be triggerd by UUI, inlcuding service creation and termination, link management and topology network display.
33
34
35 More details can be fonud here: https://wiki.onap.org/display/DW/CCVPN+Test+Guide
36
37 Test Status and Plans
38 ~~~~~~~~~~~~~~~~~~~~~
39 All test case covered by this use case: https://wiki.onap.org/display/DW/CCVPN+Integration+Test+Case
40
41 And the test status can be found: https://wiki.onap.org/display/DW/CCVPN++-Test+Status
42
43 Known Issues and Resolutions
44 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
45 1) AAI-1923. Link Management, UUI can't delete the link to external onap otn domain. 
46
47 For the manual steps provided by A&AI team, we should follow the steps as follow
48 the only way to delete is using the forceDeleteTool shell script in the graphadmin container.
49 First we will need to find the vertex id, you should be able to get the id by making the following GET request.
50
51 GET /aai/v14/network/ext-aai-networks/ext-aai-network/createAndDelete/esr-system-info/test-esr-system-info-id-val-0?format=raw
52
53 ::
54
55 {
56 "results": [
57 {
58 "id": "20624",
59 "node-type": "pserver",
60 "url": "/aai/v13/cloud-infrastructure/pservers/pserver/pserverid14503-as988q",
61 "properties": {
62 }
63 }
64 ]
65 }
66
67 Same goes for the ext-aai-network:
68
69 GET /aai/v14/network/ext-aai-networks/ext-aai-network/createAndDelete?format=raw
70
71 Retrieve the id from the above output as that will be the vertex id that you want to remove.
72
73 Run the following command multiple times for both the esr-system-info and ext-aai-network:
74
75 ::
76
77 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
78
79 From the above, remove the YOUR_ID_ANY_VALUE and VERTEX_ID with your info.
80
81 2) SDC-1955. Site service Distribution
82
83 To overcome the Service distribution, the SO catalog has to be populated with the model information of the services and resources.
84 a) 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
85 b) Download the Csar from SDC thus generated.
86 c) copy the csar to SO sdc controller pod and bpmn pod
87   kubectl -n onap get pod|grep so
88   kubectl -n onap exec -it dev-so-so-sdc-controller-c949f5fbd-qhfbl  /bin/sh
89
90   mkdir null/ASDC
91   mkdir null/ASDC/1
92   kubectl -n onap cp service-Sdwanvpninfraservice-csar.csar  dev-so-so-bpmn-infra-58796498cf-6pzmz:null/ASDC/1/service-Sdwanvpninfraservice-csar.csar
93   kubectl -n onap cp service-Sdwanvpninfraservice-csar.csar  dev-so-so-bpmn-infra-58796498cf-6pzmz:ASDC/1/service-Sdwanvpninfraservice-csar.csar
94
95 d) populate model information to SO db 
96   the db script example can be seen in https://wiki.onap.org/display/DW/Manual+steps+for+CCVPN+Integration+Testing
97
98 The same would also be applicable for the integration of the client to create the service and get the details.
99 Currently the testing has been performed using the postman calls to the corresponding APIs.
100
101 3) SDC-1955 & SDC-1958. Site serivce parsing Error
102
103 UUI: 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
104 a) Make an available csar file for CCVPN use case.
105 b) Replace uuid of available files with what existing in SDC.
106 c) Put available csar files in UUI local path (/home/uui).
107
108 4) SO docker branch 1.3.5 has fixes for the issues 1SO-1248.
109
110 After SDC distribution success, copy all csar files from so-sdc-controller:
111     connect to so-sdc-controller( eg: kubectl.exe exec -it -n onap dev-so-so-sdc-controller-77df99bbc9-stqdz /bin/sh )
112     find out all csar files ( eg: find / -name '*.csar' )
113     the csar files should be in this path: /app/null/ASDC/ ( eg: /app/null/ASDC/1/service-Sotnvpninfraservice-csar.csar )
114     exit from the so-sdc-controller ( eg: exit )
115     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 )
116     
117 Copy csar files, which got from so-sdc-controller, to so-bpmn-infra
118     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 )
119     check the /app/ASDC deretory, if doesn't exist, create it ( eg: mkdir /app/ASDC -p )
120     exit from the so-bpmn-infra ( eg: exit )
121     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 )
122
123 5) Manual steps in closed loop Scenario:
124 Following steps were undertaken for the closed loop testing.
125 a. Give controller ip, username and password, trust store and key store file in restconf collector collector.properties
126 b. Updated DMAAP ip in cambria.hosts in DmaapConfig.json in restconf collector and run restconf collector
127 c. 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
128 d. 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)
129 As 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.
130 It 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.
131
132 all above manual steps can be found  https://wiki.onap.org/display/DW/Manual+steps+for+CCVPN+Integration+Testing