vCPE Use Case - Customer Service Instantiation - 171103.pdf
12/11/2017
- Error was returned from app-c to policy saying malformed message and schema node with name common header wasn't found. This error is caused by know issue APPC-309
. The problem is fixed for Beijing release, but required a change for Amsterdam. The appc.LCM.provider.url property needs to be added to the /opt/openecomp/appc/data/properties/appc.properties file in the app_controller_container docker image.Jira server ONAP JIRA columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 425b2b0a-557c-3c0c-b515-579789cceedb key APPC-309 Code Block title /opt/openecomp/appc/data/properties/appc.properties appc.LCM.provider.url=http://127.0.0.1:8181/restconf/operations/appc-provider-lcm
11/17/2017
- Regression test in SB01 passed.
11/16/2017
- Custom service instantiation succeeded in SB01 new install.
To do data plane test from BRG to the web server, follow the steps below
Code Block collapse true On the vGW: # restart the dhcp server (https://gerrit.onap.org/r/24151 -should fix this once it is reviewed and merged) systemctl restart isc-dhcp-server On the vBRG: # get ip address from vGW for the lstack interface (should be something like 192.168.1.2) dhclient lstack # add route to the 10.2.0.0 network ip route add 10.2.0.0/24 via 192.168.1.254 dev lstack # finally: wget http://10.2.0.10 returns the index.html file from the web server at 10.2.0.10
11/16/2017
- Retested all latest version of DGs in the Integration workspace and fixed all known problems.
- Reinstalled ONAP in Integration-SB01 with the lastest build. Pass.
- Retested service creation and distribution in SB01. Pass.
- Retested Infrastructure service instantiation in SB01. Pass.
- Retested customer service instantiation in SB01. Found a previous problem in SO: global-customer-id missing from tunnelxconn create and activate requests. Waiting to be fixed.
11/15/2017
Regression test in SB01
Fix SDNC DB with the following
Code Block update ALLOTTED_RESOURCE_MODEL set ecomp_generated_naming='Y',type='TunnelXConnect',allotted_resource_type='TunnelXConnect' where customization_uuid='f3ef75e8-5cb5-4c1b-9a5a-5ddcefb70b57'; update ALLOTTED_RESOURCE_MODEL set ecomp_generated_naming='Y',type='BRG',allotted_resource_type='TunnelXConnect' where customization_uuid='4c3f8585-d8a8-4fd9-bad8-87296529c4d0';
Error occurred in SDNC for tunnelxconn assign due to the previous null values in AAI query
Code Block 2017-11-15T12:16:59.863Z, Method : GET 2017-11-15 12:16:59,864 | INFO | qtp79019442-4883 | AAIService | 300 - org.openecomp.sdnc.sli.aai - 0.1.0 | Request URL : https://aai.api.simpledemo.openecomp.org:8443/aai/v11/business/customers/customer/null/service-subscriptions/service-subscription/null/service-instances/service-instance/null/allotted-resources/allotted-resource/67986ea9-e932-4ae5-9f77-26693e103d1d 2017-11-15 12:16:59,864 | INFO | qtp79019442-4883 | AAIService | 300 - org.openecomp.sdnc.sli.aai - 0.1.0 | Missing requestID. Assigned af5b154f-fc6d-477b-bcca-6fd29cb57cf2 2017-11-15 12:16:59,920 | INFO | qtp79019442-4883 | metric | 294 - org.onap.ccsdk.sli.core.sli-common - 0.1.2 | 2017-11-15 12:16:59,920 | INFO | qtp79019442-4883 | AAIService | 300 - org.openecomp.sdnc.sli.aai - 0.1.0 | Response code : 404, Not Found 2017-11-15 12:16:59,920 | INFO | qtp79019442-4883 | AAIService | 300 - org.openecomp.sdnc.sli.aai - 0.1.0 | Response data : Entry does not exist.
The request from SO looks good:
Code Block 2017-11-15T12:17:00.075Z|3b6d089c-4ac5-4d61-9d02-173616322088|MSO-RA-5212I Sending request to SDNC:RequestTunables [reqId=3b6d089c-4ac5-4d61-9d02-173616322088, msoAction=, operation=tunnelxconn-topology-operation, action=assign, reqMethod=POST, sdncUrl=http://c1.vm1.sdnc.simpledemo.openecomp.org:8282/restconf/operations/GENERIC-RESOURCE-API:tunnelxconn-topology-operation, timeout=270000, headerName=sdnc-request-header, sdncaNotificationUrl=http://c1.vm1.mso.simpledemo.openecomp.org:8080/adapters/rest/SDNCNotify, namespace=org:onap:sdnc:northbound:generic-resource] 2017-11-15T12:17:00.075Z|3b6d089c-4ac5-4d61-9d02-173616322088|SDNC Request Body: <?xml version="1.0" encoding="UTF-8"?><input xmlns="org:onap:sdnc:northbound:generic-resource"><sdnc-request-header><svc-request-id>3b6d089c-4ac5-4d61-9d02-173616322088</svc-request-id><svc-action>assign</svc-action><svc-notification-url>http://c1.vm1.mso.simpledemo.openecomp.org:8080/adapters/rest/SDNCNotify</svc-notification-url></sdnc-request-header><request-information ><request-id>2240cf26-1e38-4b0d-9d24-a27cf32c4098</request-id><request-action>CreateTunnelXConnInstance</request-action><source>MSO</source><notification-url/><order-number/><order-version/> </request-information><service-information ><service-id/><subscription-service-type>vCPE</subscription-service-type><onap-model-information/><service-instance-id>33b22c7c-aade-4c28-8f81-4ee9c223c388</service-instance-id><subscriber-name/><global-customer-id>SDN-ETHERNET-INTERNET</global-customer-id> </service-information><allotted-resource-information ><allotted-resource-id>67986ea9-e932-4ae5-9f77-26693e103d1d</allotted-resource-id><allotted-resource-type>tunnelxconn</allotted-resource-type><parent-service-instance-id>0eea37ae-c25e-4f57-93f9-e87e6b3b69ed</parent-service-instance-id><onap-model-information><model-invariant-uuid>09ebcb84-c683-48c4-8120-4318489a56d0</model-invariant-uuid><model-uuid>d0a16427-34ec-4dec-9b83-c2ec04f60525</model-uuid><model-customization-uuid>f3ef75e8-5cb5-4c1b-9a5a-5ddcefb70b57</model-customization-uuid><model-version>1.0</model-version><model-name>tunnelxconn111301</model-name> </onap-model-information> </allotted-resource-information><tunnelxconn-request-input ><brg-wan-mac-address>fa:16:3e:19:65:96</brg-wan-mac-address> </tunnelxconn-request-input></input>
To configure vGMUX VES event including packet loss rate and vnfid, follow the instructions from Eric:
Code Block There is a vgmux image in the ONAP-vCPE project space called: vgmux2-base-ubuntu-16-04 This one has the ability to configure the sourceName in the VES event to something different than the default value (which is the vnf-id present in the vm’s openstack metadata). Some documentation: Configuring the VES mode - via REST This will set the ‘demo’ mode and packet loss to 40%, but does ‘not’ change the sourceName: curl -i -H "Content-Type:application/json" --data '{"mode":{"working-mode":"demo","base-packet-loss":40,"source-name":""}}' -X POST -u admin:admin http://127.0.0.1:8183/restconf/config/vesagent:vesagent Delete the config in order to change it via REST: curl -i -H "Content-Type:application/json" -X DELETE -u admin:admin http://127.0.0.1:8183/restconf/config/vesagent:vesagent/mode curl -i -H "Content-Type:application/json" --data '{"mode":{"working-mode":"demo","base-packet-loss":88,"source-name":"testing-123-ABC"}}' -X POST -u admin:admin http://127.0.0.1:8183/restconf/config/vesagent:vesagent Configuring the VES mode - via CLI QUERY: # vppctl show ves mode Mode Base Packet Loss Rate Source Name Demo 88.0% testing-123-ABC SET: vppctl set ves mode demo base 77 source hello-there This sets the sourceName to “hello-there” Leave off the 'source <name>' arguments to set back to default (i.e. vnf-id from openstack metadata)
11/14/2017
- Regression test in SB01
- SO API handler dropped source from VID request, causing error in BPMN. Fixed. See
Jira server ONAP JIRA columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 425b2b0a-557c-3c0c-b515-579789cceedb key SO-340 - SO has cannot pass AAI authentication. The problem is that AAI replaced the old cert (exp 11/30/2017) with a new one (exp dec. 2018). The solution is to use the CA in SO.
- In SO docker, find aai.crt, replace the content with this ca_bundle_for_openecomp.txt (which includes both root and intermediate CA).
- run "update-ca-certificates -f"
- restart SO docker.
SO failed to query AAI cloud region, the problem is the default config in /etc/mso/config.d/mso.bpmn.urn.properties. The correct lines are below.
Jira server ONAP JIRA columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 425b2b0a-557c-3c0c-b515-579789cceedb key SO-343 Code Block collapse true mso.workflow.default.aai.v11.tenant.uri=/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant mso.workflow.default.aai.v11.cloud-region.uri=/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner mso.workflow.default.aai.v11.cloud-region.uri=/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner
- Preloading works!
- Successfully created infrastructure!
- SO API handler dropped source from VID request, causing error in BPMN. Fixed. See
11/11/2017
- Regression test in SB01
An ONAP based on the latest build was installed on 11/12. Need to go to appc_vm and change /opt/config/docker_version.txt: 1.1-STAGING-latest to 1.2-STAGING-latest.
- Onboarding, service design, service distribution completed in SB01.
- SO does not add recipe automatically. Manual insertion was done.
- SDNC does not insert correct data to its DB. Tracked by
Jira server ONAP JIRA columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 425b2b0a-557c-3c0c-b515-579789cceedb key SDNC-194 - For ALLOTTED_RESOURCE_MODEL, BRG and TunnelXConn do not have 'Y' for its ecomp_generated_naming. Their types are "VF", and their 'allotted resource type' fields are null.
- VF_MODEL is good.
- SERVICE_MODEL is good.
- VF_MODULE_MODEL is good.
- VID has a problem to create services. Tracked by
Jira server ONAP JIRA columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 425b2b0a-557c-3c0c-b515-579789cceedb key VID-91
- vCpeResCust custom workflow:
Jim fixed xml parsing problem for service delete and now the flow can pick up vgw, tunnelxconn AR, and vbrg AR from the service info returned from AAI. An error was captured when SO requests SDNC for brg deactivate. The request to SDNC is below
Code Block collapse true <sdncadapterworkflow:SDNCAdapterWorkflowRequest xmlns:ns5="http://org.openecomp/mso/request/types/v1" xmlns:sdncadapterworkflow="http://org.openecomp/mso/workflow/schema/v1" xmlns:sdncadapter="http://org.openecomp/workflow/sdnc/adapter/schema/v1"> <sdncadapter:RequestHeader> <sdncadapter:RequestId>b6106b00-b9f1-418c-9dc3-aca97664cd05</sdncadapter:RequestId> <sdncadapter:SvcInstanceId>41235b16-5c38-4c29-82e9-6784d9decf46</sdncadapter:SvcInstanceId> <sdncadapter:SvcAction>deactivate</sdncadapter:SvcAction> <sdncadapter:SvcOperation>brg-topology-operation</sdncadapter:SvcOperation> <sdncadapter:CallbackUrl>http://mso:8080/mso/SDNCAdapterCallbackService</sdncadapter:CallbackUrl> </sdncadapter:RequestHeader> <sdncadapterworkflow:SDNCRequestData> <request-information> <request-id>2ba02fea-7a07-4641-87fb-abb10a305b44</request-id> <request-action>DeleteBRGInstance</request-action> <source>MSO</source> <notification-url/> <order-number/> <order-version/> </request-information> <service-information> <service-id></service-id> <subscription-service-type>vCPE</subscription-service-type> <onap-model-information></onap-model-information> <service-instance-id>41235b16-5c38-4c29-82e9-6784d9decf46</service-instance-id> <subscriber-name/> <global-customer-id>SDN-ETHERNET-INTERNET</global-customer-id> </service-information> <allotted-resource-information> <allotted-resource-id>99dc7978-3efe-4074-805c-2ae5dc785c88</allotted-resource-id> <allotted-resource-type>brg</allotted-resource-type> <parent-service-instance-id>e565bb6b-de14-4a5c-a992-65a681771a7a</parent-service-instance-id> <onap-model-information> <model-invariant-uuid></model-invariant-uuid> <model-uuid></model-uuid> <model-customization-uuid></model-customization-uuid> <model-version></model-version> <model-name></model-name> </onap-model-information> </allotted-resource-information> <brg-request-input> </brg-request-input> </sdncadapterworkflow:SDNCRequestData> </sdncadapterworkflow:SDNCAdapterWorkflowRequest>
The AAI request from SDNC is below. Note that a few values are 'null'
Code Block 2017-11-13 17:07:01,916 | INFO | SvcLogicGraph [module=GENERIC-RESOURCE-API, rpc=brg-topology-operation-deactivate, mode=sync, version=1.2.0-SNAPSHOT] | Request URL : https://aai.api.simpledemo.openecomp.org:8443/aai/v11/business/customers/customer/null/service-subscriptions/service-subscription/null/service-instances/service-instance/null/allotted-resources/allotted-resource/99dc7978-3efe-4074-805c-2ae5dc785c88
11/10/2017
- vCpeResCust custom workflow:
- Brian made changes on the SDNC side. Now SDNC can pass a list of parameters to SO for vG assign call. Then SO passes those parameters to HEAT to instantiate vG.
- Jim fixed the DoDeleteVfModule flow to use generic-resource-api and construct the corresponding request body when performing SDNC deactivate call. Note that the flow checks the configuration variable sdncversion to determine what request body to construct. This is something not fully understood by the team.
- Delete of vG succeeded.
- Jim continues to work on
.Jira server ONAP JIRA columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 425b2b0a-557c-3c0c-b515-579789cceedb key SO-325 Eric has modified vGMUX to add a workaround, see below:
Code Block title vGMUX set sourceName collapse true There is a vgmux image in the ONAP-vCPE project space called: vgmux2-base-ubuntu-16-04 This one has the ability to configure the sourceName in the VES event to something different than the default value (which is the vnf-id present in the vm’s openstack metadata). Some documentation: Configuring the VES mode - via REST This will set the ‘demo’ mode and packet loss to 40%, but does ‘not’ change the sourceName: curl -i -H "Content-Type:application/json" --data '{"mode":{"working-mode":"demo","base-packet-loss":40,"source-name":""}}' -X POST -u admin:admin http://127.0.0.1:8183/restconf/config/vesagent:vesagent Delete the config in order to change it via REST: curl -i -H "Content-Type:application/json" -X DELETE -u admin:admin http://127.0.0.1:8183/restconf/config/vesagent:vesagent/mode curl -i -H "Content-Type:application/json" --data '{"mode":{"working-mode":"demo","base-packet-loss":88,"source-name":"testing-123-ABC"}}' -X POST -u admin:admin http://127.0.0.1:8183/restconf/config/vesagent:vesagent Configuring the VES mode - via CLI QUERY: # vppctl show ves mode Mode Base Packet Loss Rate Source Name Demo 88.0% testing-123-ABC SET: vppctl set ves mode demo base 77 source hello-there This sets the sourceName to “hello-there” Leave off the 'source <name>' arguments to set back to default (i.e. vnf-id from openstack metadata) Sample event with an overwritten sourceName: { "event": { "commonEventHeader": { "domain": "measurementsForVfScaling", "eventId": "Generic_traffic", "eventName": "Measurement_vGMUX", "eventType": "HTTP request rate", "lastEpochMicrosec": 1510347222243201, "priority": "Normal", "reportingEntityId": "No UUID available", "reportingEntityName": "zdcpe1cpe01mux01", "sequence": 23, "sourceId": "vCPE_Infrastructure_vGMUX_demo_app", "sourceName": "testing-123-ABC", "startEpochMicrosec": 1510347212243201, "version": 1.2 }, "measurementsForVfScalingFields": { "additionalMeasurements": [ { "arrayOfFields": [ { "name": "Packet-Loss-Rate", "value": "88.0" } ], "name": "ONAP-DCAE" } ], "cpuUsageArray": [ { "cpuIdentifier": "cpu1", "cpuIdle": 100.0, "cpuUsageSystem": 0.0, "cpuUsageUser": 0.0, "percentUsage": 0.0 } ], "measurementInterval": 10, "measurementsForVfScalingVersion": 2.1, "requestRate": 2567, "vNicUsageArray": [ { "receivedOctetsDelta": 0.0, "receivedTotalPacketsDelta": 0.0, "transmittedOctetsDelta": 0.0, "transmittedTotalPacketsDelta": 0.0, "vNicIdentifier": "eth0", "valuesAreSuspect": "true" } ] } } }
...
- vCpeResCust custom workflow:
Use the following to add the custom workflow into the recipe table:
Code Block title insert into recipe collapse true INSERT INTO `service_recipe` (`ACTION`, `VERSION_STR`, `DESCRIPTION`, `ORCHESTRATION_URI`, `SERVICE_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TIMEOUT_INTERIM`, `CREATION_TIMESTAMP`, `SERVICE_MODEL_UUID`) VALUES ('createInstance','1','vCpeRestCust110301','/mso/async/services/CreateVcpeResCustService',NULL,181,NULL,'2017-11-03 13:48:00','b12d36da-459f-41be-aadc-7034568690eb');
Successfully invoked the custom workflow from SO NBI using curl (note that VID currently only support a la carte so cannot invoke this flow).
Code Block title invoke vCpeResCust workflow collapse true curl -X POST \ http://so:8080/ecomp/mso/infra/serviceInstances/v5 \ -H 'accept: application/json' \ -H 'authorization: Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA==' \ -H 'cache-control: no-cache' \ -H 'content-type: application/json' \ -H 'postman-token: 0c4f0ea7-736f-4999-3399-982de75ceecf' \ -d '{ "requestDetails" : { "requestInfo" : { "productFamilyId" : "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", "suppressRollback" : "false", "instanceName" : "vcperescust-102404", "requestorId": "demo", "source" : "VID" }, "requestParameters" : { "subscriptionServiceType" : "123456789", "userParams" : [{ "name":"BRG_WAN_MAC_Address", "value":"brgmac" }], "aLaCarte" : "false" }, "subscriberInfo" : { "subscriberName" : "Kaneohe", "globalSubscriberId" : "SDN-ETHERNET-INTERNET" }, "cloudConfiguration" : { "lcpCloudRegionId" : "RegionOne", "tenantId" : "466979b815b5415ba14ada713e6e1846" }, "modelInfo" : { "modelType" : "service", "modelVersionId" : "ASDC_TOSCA_UUID", "modelName" : "vCpeResCust", "modelVersion" : "1.0", "modelInvariantId" : "1963dd8b-9375-4cab-aa59-0ee06e8333fa" } } } '
- A bug is discovered for the workflow and is being worked on (tracked by
.Jira server ONAP JIRA columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 425b2b0a-557c-3c0c-b515-579789cceedb key SO-262
- Genera Infrastructure: With the following manual fix we are able to distribute the service to SO.
The generic neutron network HEAT template is missing from the SO DB. Brian found a way to manually fix it. SO will include this in the repo. It is tracked by
. The scipt and heat template are given below (updated on 10/25 based on Brian Freeman's comments toJira server ONAP JIRA columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 425b2b0a-557c-3c0c-b515-579789cceedb key SO-265
).Jira server ONAP JIRA columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 425b2b0a-557c-3c0c-b515-579789cceedb key SO-265 Code Block title insert HEAT into SO DB collapse true INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`,`PARAM_NAME`,`IS_REQUIRED`,`PARAM_TYPE`,`PARAM_ALIAS` ) VALUES ('efee1d84-b8ec-11e7-abc4-cec278b6b50a','network_name',1 ,'string', NULL); INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`,`PARAM_NAME`,`IS_REQUIRED`,`PARAM_TYPE`,`PARAM_ALIAS` ) VALUES ('efee1d84-b8ec-11e7-abc4-cec278b6b50a','shared',0 ,'string', NULL); INSERT INTO `heat_template` (`ARTIFACT_UUID`, `NAME`,`VERSION` , `BODY`, `TIMEOUT_MINUTES`,`DESCRIPTION`, `CREATION_TIMESTAMP`, `ARTIFACT_CHECKSUM` ) VALUES ('efee1d84-b8ec-11e7-abc4-cec278b6b50a', 'GenericNeutronNetGeneric NeutronNet', '1', LOAD_FILE('/tmp/generic_neutron.yaml') , 10 ,'Generic Neutron Template',NOW(), 'MANUAL RECORD'); heat_template_version: 2013-05-23 description: A simple Neutron network parameters: network_name: type: string description: Name of the Neutron Network default: ONAP-NW1 shared: type: boolean description: Shared amongst tenants default: True outputs: network_id: description: Openstack network identifier value: { get_resource: network } resources: network: type: OS::Neutron::Net properties: name: { get_param: network_name } shared: { get_param: shared }
- network_resource table model_invariant_uuid was too short (20 instead of at least 36). Manually increased to 120. It is tracked by
Jira server ONAP JIRA columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 425b2b0a-557c-3c0c-b515-579789cceedb key SO-266
- Genera Infrastructure: Instantiation
- Need to run "/opt/demo.sh init" in the robot VM first.
- A service was created using VID.
- Tried to add a neutron network to it. SO received an error from SDNC. This is tracked by
Jira server ONAP JIRA columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 425b2b0a-557c-3c0c-b515-579789cceedb key SDNC-143 The 404 error in VID on deploy is due to missing zone data in AAI. Preload AAI with the following:
Code Block title Preload AAI with zone data collapse true PUT https://{{aai}}:8443/aai/v11/network/zones/zone/nova1 { "zone-id": "nova1", "zone-name": "nova", "design-type": "integration", "zone-context": "labs", "status": "Active" }
- VNFs:
- Updated doc is available: ONAP vCPE VPP-based VNF Installation and Usage Information
- Closed loop: APPC-MultiCloud:
- The team is debugging the API request from APPC to MultiCloud. It is tracked by
Jira server ONAP JIRA columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 425b2b0a-557c-3c0c-b515-579789cceedb key MULTICLOUD-119
- The team is debugging the API request from APPC to MultiCloud. It is tracked by
...