Gary Wu | cd47a01 | 2018-11-30 07:18:36 -0800 | [diff] [blame] | 1 | .. This work is licensed under a Creative Commons Attribution 4.0 |
| 2 | International License. http://creativecommons.org/licenses/by/4.0 |
shashikanth.vh@huawei.com | 3bb78c3 | 2020-03-04 12:06:18 +0530 | [diff] [blame^] | 3 | |
Gary Wu | cd47a01 | 2018-11-30 07:18:36 -0800 | [diff] [blame] | 4 | .. _docs_ccvpn: |
| 5 | |
| 6 | CCVPN (Cross Domain and Cross Layer VPN) |
| 7 | ---------------------------------------- |
Gary Wu | e4a2df8 | 2018-11-29 12:49:09 -0800 | [diff] [blame] | 8 | |
shashikanth.vh@huawei.com | 3bb78c3 | 2020-03-04 12:06:18 +0530 | [diff] [blame^] | 9 | Update for Frankfurt release |
| 10 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 11 | In Frankfurt, we introduced two extensions in CCVPN use case. One is E-LINE service over OTN NNI handover, another is the |
| 12 | multi domain optical service which aims to provide end to end layer 1 service. |
| 13 | |
| 14 | E-LINE over OTN NNI |
| 15 | ~~~~~~~~~~~~~~~~~~~ |
| 16 | Description |
| 17 | ~~~~~~~~~~~ |
| 18 | It is considered a typical scenario for operators to use OTN to interconnect its multiple transport network domains. Hence |
| 19 | the capabilities of orchestrating end-to-end E-LINE services across the domains over OTN is important for ONAP. When operating |
| 20 | with multiple domains with multi vendor solutions, it is also important to define and use standard and open |
| 21 | interfaces, such as the IETF ACTN-based transport YANG models(https://tools.ietf.org/html/rfc8345), as the southbound interface |
| 22 | of ONAP, in order to ensure interoperability. The SOTN NNI use-case aims to automate the design, service provision by independent |
| 23 | operational entities within a service provider network by delivering E-Line over OTN orchestration capabilities into ONAP. SOTN NNI |
| 24 | extends upon the CCVPN use-case by incorporating support for L1/L2 network management capabilities leveraging open standards & common |
| 25 | data models. |
| 26 | |
| 27 | Frankfurt Scope and Impacted modules |
| 28 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 29 | The Frankfurt demonstration includes L1(OTN) and L2(ETH) Topology discovery from multiple domains controllers with in an operator |
| 30 | and provide VPN service provision in OTN and ETH network. |
| 31 | |
| 32 | The ONAP components involved in this use case are: SDC, A&AI, UUI, SO, SDNC, OOF, MSB. |
| 33 | |
| 34 | Functional Test Cases |
| 35 | ~~~~~~~~~~~~~~~~~~~~~ |
| 36 | Usecase specific developments have been realized in SO, OOF, AAI, SDNC and UUI ONAP components.. |
| 37 | |
| 38 | All test case covered by this use case: |
| 39 | https://wiki.onap.org/display/DW/E-LINE+over+OTN+Inter+Domain+Test+Cases |
| 40 | |
| 41 | Testing Procedure |
| 42 | ~~~~~~~~~~~~~~~~~ |
| 43 | Design time |
| 44 | SOTNVPNInfraService service design in SDC and distribute to AAI and SO. |
| 45 | |
| 46 | Run Time: |
| 47 | All operation will be triggered by UUI, including service creation and termination, link management and topology network display. |
| 48 | |
| 49 | More details can be found here: |
| 50 | https://wiki.onap.org/display/DW/E-LINE+over+OTN+Inter+Domain+Test+Cases |
| 51 | |
| 52 | Test status can be found here: |
| 53 | https://wiki.onap.org/display/DW/2%3A+Frankfurt+Release+Integration+Testing+Status |
| 54 | |
| 55 | |
yangyanyj | fdae148 | 2019-06-25 21:44:14 +0800 | [diff] [blame] | 56 | Update for Dublin release |
| 57 | ~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 58 | |
| 59 | 1. Service model optimization |
| 60 | |
| 61 | In Dublin release,the design of CCVPN was optimized by having support of List type of Input in SDC. |
| 62 | During onboarding and design phase, one end to end service is created using SDC. This service is |
| 63 | composed of these two kinds of resources: |
| 64 | • VPN resource |
| 65 | • Site resource |
| 66 | You can see the details from here https://wiki.onap.org/display/DW/Details+of+Targeted+Service+Template |
| 67 | |
| 68 | 2. Closed Loop in bandwidth adjustment |
| 69 | Simulate alarm at the edge site branch and ONAP will execute close-loop automatically and trigger bandwidth to change higher. |
| 70 | |
| 71 | 3. Site Change |
| 72 | Site can be add or delete according to the requirements |
| 73 | |
| 74 | |
| 75 | More information about CCVPN in Dublin release:https://wiki.onap.org/pages/viewpage.action?pageId=45296665 |
| 76 | and the test case in Dublin can be found:https://wiki.onap.org/display/DW/CCVPN+Test+Cases+for+Dublin+Release |
| 77 | And test status:https://wiki.onap.org/display/DW/CCVPN+Test+Status |
| 78 | |
| 79 | Note: CCVPN integration testing coversed service design, service creation and closed-loop bandwidth adjustments in Dublin release. |
shashikanth.vh@huawei.com | 3bb78c3 | 2020-03-04 12:06:18 +0530 | [diff] [blame^] | 80 | The service termination and service change will continue to be tested in E release. |
| 81 | During the integration testing, SDC, SO, SDC master branch are used which include the enhanced features for CCVPN use case. |
yangyanyj | fdae148 | 2019-06-25 21:44:14 +0800 | [diff] [blame] | 82 | |
| 83 | |
shashikanth.vh@huawei.com | 3bb78c3 | 2020-03-04 12:06:18 +0530 | [diff] [blame^] | 84 | Service used for CCVPN |
yangyanyj | fdae148 | 2019-06-25 21:44:14 +0800 | [diff] [blame] | 85 | ~~~~~~~~~~~~~~~~~~~~~ |
Gary Wu | e4a2df8 | 2018-11-29 12:49:09 -0800 | [diff] [blame] | 86 | |
| 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 | |
| 90 | Description |
| 91 | ~~~~~~~~~~~ |
| 92 | 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. |
| 93 | |
| 94 | 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. |
| 95 | |
| 96 | 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. |
| 97 | |
| 98 | The projects covered by this use case include: SDC, A&AI, UUI, SO, SDNC, OOF, Policy, DCAE(Holmes), External API, MSB |
| 99 | |
| 100 | How to Use |
| 101 | ~~~~~~~~~~ |
| 102 | Design time |
| 103 | SOTNVPNInfraService, SDWANVPNInfraService and SIteService service Design steps can be found here: https://wiki.onap.org/display/DW/CCVPN+Service+Design |
| 104 | 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 |
| 105 | |
| 106 | Run Time: |
| 107 | All opertion will be triggerd by UUI, inlcuding service creation and termination, link management and topology network display. |
| 108 | |
| 109 | |
| 110 | More details can be fonud here: https://wiki.onap.org/display/DW/CCVPN+Test+Guide |
| 111 | |
| 112 | Test Status and Plans |
| 113 | ~~~~~~~~~~~~~~~~~~~~~ |
| 114 | All test case covered by this use case: https://wiki.onap.org/display/DW/CCVPN+Integration+Test+Case |
| 115 | |
| 116 | And the test status can be found: https://wiki.onap.org/display/DW/CCVPN++-Test+Status |
| 117 | |
| 118 | Known Issues and Resolutions |
| 119 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 120 | 1) AAI-1923. Link Management, UUI can't delete the link to external onap otn domain. |
| 121 | |
| 122 | For the manual steps provided by A&AI team, we should follow the steps as follow |
| 123 | the only way to delete is using the forceDeleteTool shell script in the graphadmin container. |
| 124 | First we will need to find the vertex id, you should be able to get the id by making the following GET request. |
| 125 | |
| 126 | GET /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 | |
yangyanyj | fdae148 | 2019-06-25 21:44:14 +0800 | [diff] [blame] | 142 | |
Gary Wu | e4a2df8 | 2018-11-29 12:49:09 -0800 | [diff] [blame] | 143 | Same goes for the ext-aai-network: |
| 144 | |
| 145 | GET /aai/v14/network/ext-aai-networks/ext-aai-network/createAndDelete?format=raw |
| 146 | |
| 147 | Retrieve the id from the above output as that will be the vertex id that you want to remove. |
| 148 | |
| 149 | Run the following command multiple times for both the esr-system-info and ext-aai-network: |
| 150 | |
| 151 | :: |
| 152 | |
| 153 | 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 |
| 154 | |
| 155 | From the above, remove the YOUR_ID_ANY_VALUE and VERTEX_ID with your info. |
| 156 | |
| 157 | 2) SDC-1955. Site service Distribution |
| 158 | |
| 159 | To overcome the Service distribution, the SO catalog has to be populated with the model information of the services and resources. |
| 160 | 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 |
| 161 | b) Download the Csar from SDC thus generated. |
| 162 | c) 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 | |
| 171 | d) 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 | |
| 174 | The same would also be applicable for the integration of the client to create the service and get the details. |
| 175 | Currently the testing has been performed using the postman calls to the corresponding APIs. |
| 176 | |
| 177 | 3) SDC-1955 & SDC-1958. Site serivce parsing Error |
| 178 | |
| 179 | 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 |
| 180 | a) Make an available csar file for CCVPN use case. |
| 181 | b) Replace uuid of available files with what existing in SDC. |
| 182 | c) Put available csar files in UUI local path (/home/uui). |
| 183 | |
Gary Wu | cd47a01 | 2018-11-30 07:18:36 -0800 | [diff] [blame] | 184 | 4) SO docker branch 1.3.5 has fixes for the issues 1SO-1248. |
Gary Wu | e4a2df8 | 2018-11-29 12:49:09 -0800 | [diff] [blame] | 185 | |
| 186 | After 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 | |
| 193 | Copy 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 | |
| 199 | 5) Manual steps in closed loop Scenario: |
| 200 | Following steps were undertaken for the closed loop testing. |
| 201 | a. Give controller ip, username and password, trust store and key store file in restconf collector collector.properties |
| 202 | b. Updated DMAAP ip in cambria.hosts in DmaapConfig.json in restconf collector and run restconf collector |
| 203 | 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 |
| 204 | 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) |
| 205 | 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. |
| 206 | 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. |
| 207 | |
| 208 | all above manual steps can be found https://wiki.onap.org/display/DW/Manual+steps+for+CCVPN+Integration+Testing |