vCPE Use Case - Customer Service Instantiation - 171103.pdf
To do data plane test from BRG to the web server, follow the steps below
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 |
Regression test in SB01
Fix SDNC DB with the following
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
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:
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:
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) |
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.
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 |
11/11/2017
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.
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
<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'
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
Eric has modified vGMUX to add a workaround, see below:
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" } ] } } } |
"vserver-selflink": "http://10.12.25.2:8774/v2.1/466979b815b5415ba14ada713e6e1846/servers/9e17027d-c09d-45c4-9a7a-84f50a2246fd", |
In the appc container, /opt/openecomp/appc/data/properties/appc.properties should have either of the following lines.
provider1.identity=http://10.12.25.2:5000/v3 #this is for openstack provider1.identity=http://10.0.14.1:9005/api/multicloud-titanium_cloud/v0/pod25_RegionOne/identity/v2.0 #this is for multicloud |
To restart through MultiCloud, the following ESR should be added, note that the identity-url and the vserver self link is pointing to MultiCloud. Note that the vserver selflink has a different IP and port. APPC picks up the user name and password from ESR and use them to access MultiCloud API.
https://aai1:8443/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne?depth=all { "cloud-owner": "CloudOwner", "cloud-region-id": "RegionOne", "cloud-type": "SharedNode", "owner-defined-type": "OwnerType", "cloud-region-version": "v1", "identity-url": "http://10.0.14.1:9005/api/multicloud-titanium_cloud/v0/pod25_RegionOne/identity/v3", "cloud-zone": "CloudZone", "sriov-automation": false, "resource-version": "1510239649440", "tenants": { "tenant": [ { "tenant-id": "466979b815b5415ba14ada713e6e1846", "tenant-name": "Integration", "resource-version": "1509709609665", "vservers": { "vserver": [ { "vserver-id": "9e17027d-c09d-45c4-9a7a-84f50a2246fd", "vserver-name": "zdcpe1cpe01dns01_110306", "vserver-name2": "zdcpe1cpe01dns01_110306", "prov-status": "ACTIVE", "vserver-selflink": "http://10.0.14.1:80/v2.1/466979b815b5415ba14ada713e6e1846/servers/9e17027d-c09d-45c4-9a7a-84f50a2246fd", "in-maint": false, "is-closed-loop-disabled": false, "resource-version": "1510183808208", .... "esr-system-info-list": { "esr-system-info": [ { "esr-system-info-id": "432ac032-e996-41f2-84ed-9c7a1766eb29", "system-name": "example-system-name-val-29070", "type": "example-type-val-85254", "vendor": "example-vendor-val-94515", "version": "example-version-val-71880", "service-url": "http://10.12.25.2:5000/v3", "user-name": "demo", "password": "onapdemo", "system-type": "VIM", "ssl-cacert": "example-ssl-cacert-val-75021", "ssl-insecure": true, "ip-address": "example-ip-address-val-44431", "port": "example-port-val-93234", "cloud-domain": "Default", "default-tenant": "Integration", "resource-version": "1510239649503" } ] } } |
Task: DG change to return the following vG heat parameters to SO. This is in vfmodule assign.
mux_gw_private_net_id: zdfw1muxgw01_private mux_gw_private_subnet_id: zdfw1muxgw01_sub_private mux_gw_private_net_cidr: 10.5.0.0/24 cpe_public_net_id: vCPEInfraCPEPUBLIC110306 cpe_public_subnet_id: vCPEInfraCPEPUBLICSUB110306 cpe_public_net_cidr: 10.2.0.0/24 onap_private_net_id: oam_onap_hUnI onap_private_subnet_id: oam_onap_hUnI onap_private_net_cidr: 10.0.0.0/16 vgw_private_ip_0: 10.5.0.22 vgw_private_ip_1: 10.0.101.30 vgw_private_ip_2: 10.2.0.2 vgw_name_0: zdcpe1cpe01gw01 vnf_id: vCPE_Infrastructure_GW_demo_app vf_module_id: vCPE_Customer_GW mux_ip_addr: 10.5.0.21 vg_vgmux_tunnel_vni: 100 |
Add an availability zone
https://aai1:8443/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/availability-zones/availability-zone/nova { "availability-zone-name": "nova", "hypervisor-type": "KVM", "operational-status": "Active" } |
Add an complex
https://aai1:8443//aai/v11/cloud-infrastructure/complexes/complex/clli1 { "physical-location-id": "clli1", "data-center-code": "example-data-center-code-val-5556", "complex-name": "clli1", "identity-url": "example-identity-url-val-56898", "resource-version": "1509928831089", "physical-location-type": "example-physical-location-type-val-7608", "street1": "example-street1-val-34205", "street2": "example-street2-val-99210", "city": "example-city-val-27150", "state": "example-state-val-59487", "postal-code": "example-postal-code-val-68871", "country": "example-country-val-94173", "region": "example-region-val-13893", "latitude": "example-latitude-val-89101", "longitude": "example-longitude-val-66229", "elevation": "example-elevation-val-30253", "lata": "example-lata-val-46073" } |
Add relationship in CloudOwner to the above complex
https://aai1:8443/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/ Do a GET of CloudOwner/RegionOne and add this relationship then do a PUT back to CloudOwner/RegionOne "relationship": [ { "related-to": "complex", "related-link": "/aai/v11/cloud-infrastructure/complexes/complex/clli1" } Example: { "cloud-owner": "CloudOwner", "cloud-region-id": "RegionOne", "cloud-type": "SharedNode", "owner-defined-type": "OwnerType", "cloud-region-version": "v1", "cloud-zone": "CloudZone", "sriov-automation": false, "resource-version": "1509931173816", "relationship-list": { "relationship": [ { "related-to": "complex", "related-link": "/aai/v11/cloud-infrastructure/complexes/complex/clli1" }, { "related-to": "l3-network", .... more data ... |
A routing entry needs to be added to the SDNC VM (not docker) to allow reaching BRG through BNG:
ip route add 10.3.0.0/24 via 10.0.101.10 dev eth0 |
vCpeResCust custom workflow:
Postman body to invoke SO updated
http://so:8080/ecomp/mso/infra/serviceInstances/v5 user/pass: InfraPortalClient:password1$ Content-Type and Accept are both: application/json { "requestDetails" : { "requestInfo" : { "productFamilyId" : "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", "suppressRollback" : "false", "instanceName" : "vcperescust-1104-19", "requestorId": "Kang", "source" : "Postman-Kang" }, "requestParameters" : { "subscriptionServiceType" : "vCPE", "userParams" : [{ "name":"BRG_WAN_MAC_Address", "value":"fa:16:3e:8f:ea:68" }], "aLaCarte" : "false" }, "subscriberInfo" : { "subscriberName" : "Kaneohe", "globalSubscriberId" : "SDN-ETHERNET-INTERNET" }, "cloudConfiguration" : { "lcpCloudRegionId" : "RegionOne", "tenantId" : "466979b815b5415ba14ada713e6e1846" }, "modelInfo" : { "modelType" : "service", "modelVersionId" : "2da136af-510d-457e-b3dc-f1c3e6dab0c3", "modelName" : "vCpeResCust110403", "modelVersion" : "1.0", "modelInvariantId" : "35f93cd5-17a8-4735-9531-a63df867d776" } } } |
vCpeResCust custom workflow:
Modified the vcperescust service and then redistribution to AAI failed. It looks like SDC has a problem handling update but it is not easy to pinpoint the problem. The workaround is to recreate the service from scratch. Distribution passed.
Brian created the infrastructure including BNG BRG vGMUX, which are to be used for vcperescust flow.
Found a bug in TunnelXConn flow where the content send to SDNC assign is incorrect. Fixed with code change onsite. Tracked by
Found a few missing configurations and mistakes in mso.sdnc.properties, fixed onsite. The file being used now is mso.sdnc.properties.
Found a problem in SDNC handling TunnelXConn create operation. Dan fixed it onsite.
TunnelXConn flow has a bug: the SDNC assign request misses some info:
SDNC ueb cannot parse service template when distributed. Reopen this ticket: .
Manually inserted the following into SDNC DB tables:
INSERT INTO SERVICE_MODEL (`service_uuid`, `model_yaml`,`invariant_uuid`,`version`,`name`,`description`,`type`,`category`,`ecomp_naming`,`service_instance_name_prefix`,`filename`,`naming_policy`) values ('467676e2-bcd9-4bf5-b9fd-03afea76be17', null, '4f90a895-d9f5-472c-8f65-afc5ca28628d',null,'vCPEService', 'vCPEService', 'Service','Network L1-3', 'N', 'vCPEService', 'vCpeResCust110602/service-Vcperescust110602-template.yml',null); INSERT INTO ALLOTTED_RESOURCE_MODEL (`customization_uuid`,`model_yaml`,`invariant_uuid`,`uuid`,`version`,`naming_policy`,`ecomp_generated_naming`,`depending_service`,`role`,`type`,`service_dependency`,`allotted_resource_type`) VALUES ( '48e00a09-4184-4689-b690-3baabaf24838', NULL, 'a99d5de7-0707-4f4c-b7b5-f92101ce9ddc', '4fb476c3-3516-4433-8300-47690e48ea5c', '1.0', NULL,'Y',NULL,NULL,'TunnelXConnect',NULL, 'TunnelXConnect'); INSERT INTO ALLOTTED_RESOURCE_MODEL (`customization_uuid`,`model_yaml`,`invariant_uuid`,`uuid`,`version`,`naming_policy`,`ecomp_generated_naming`,`depending_service`,`role`,`type`,`service_dependency`,`allotted_resource_type`) VALUES ( '0f2d8c72-6470-42cf-9b2f-f30041ffc78d', NULL, '8415033a-3c4c-4de5-b38f-3e31be32ddf2', '33094f6f-d19f-451f-b307-201b18400a45', '1.0', NULL,'Y',NULL,NULL,'BRG',NULL, 'TunnelXConnect'); INSERT INTO VF_MODEL (`customization_uuid`,`model_yaml`,`invariant_uuid`,`uuid`,`version`,`name`,`naming_policy`,`ecomp_generated_naming`,`avail_zone_max_count`,`nf_function`,`nf_code`,`nf_type`,`nf_role`,`vendor`,`vendor_version`) VALUES ( '02f251be-3941-4c4d-9510-71f6cc620e41', NULL, 'b7773de9-b4af-4593-9802-1d7512f8fa38', '7e53fec2-8032-43c0-b41c-ad3f564f42d4', '1.0', 'vgw-kang-110602',NULL,'Y',1,NULL,NULL,NULL,NULL,'vCPE','1.0'); INSERT INTO VF_MODULE_MODEL (`customization_uuid`,`model_yaml`,`invariant_uuid`,`uuid`,`version`,`vf_module_type`,`availability_zone_count`,`ecomp_generated_vm_assignments`) VALUES ( 'feac8fbd-7de0-4b84-a194-98b1ab6e4750', NULL, '54d3bef4-48be-47e1-8529-da2a160f40a9', 'eaf47c0a-287f-4d5f-a8f7-f608ac4d4aae', '1.0', 'Base',NULL,NULL); |
A few other tickets:
Michael Lando found a solution for . SDNC should be able to parse service template properly after the fix is committed.
Service assign request from SO to SDNC has a format error. Fixed it by modifying the following line in mso docker containter: /etc/mso/config.d/mso.sdnc.properties. Note that the above is lost once the container is restarted. A JIRA ticket is opened to request a permanent fix: .
org.openecomp.mso.adapters.sdnc..service-topology-operation.assign=POST|270000|sdncurl8|sdnc-request-header|org:onap:sdnc:northbound:generic-resource |
In SDNC ueb listener docker container, /opt/onap/sdnc/data/properties/ueb-listener.properties does not have the correct sdc address, fixed. But the user name and password to authenticate with SDC are incorrect. So it's not able to get service model distributed from SDC. This is now fixed, see the file content below. Dan has committed the new config file to the repo.
org.onap.ccsdk.sli.northbound.uebclient.asdc-address=c2.vm1.sdc.simpledemo.openecomp.org:8443 org.onap.ccsdk.sli.northbound.uebclient.consumer-group=sdc-OpenSource-Env1-sdnc-dockero org.onap.ccsdk.sli.northbound.uebclient.consumer-id=sdc-COpenSource-Env11-sdnc-dockero org.onap.ccsdk.sli.northbound.uebclient.environment-name=AUTO org.onap.ccsdk.sli.northbound.uebclient.password=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U org.onap.ccsdk.sli.northbound.uebclient.user=sdnc org.onap.ccsdk.sli.northbound.uebclient.sdnc-user=admin org.onap.ccsdk.sli.northbound.uebclient.sdnc-passwd=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U org.onap.ccsdk.sli.northbound.uebclient.asdc-api-base-url=http://sdnchost:8282/restconf/operations/ org.onap.ccsdk.sli.northbound.uebclient.asdc-api-namespace=org:onap:ccsdk org.onap.ccsdk.sli.northbound.uebclient.spool.incoming=/opt/onap/sdnc/ueb-listener/spool/incoming org.onap.ccsdk.sli.northbound.uebclient.spool.archive=/opt/onap/sdnc/ueb-listener/spool/archive org.onap.ccsdk.sli.northbound.uebclient.polling-interval=30 org.onap.ccsdk.sli.northbound.uebclient.polling-timeout=15 org.onap.ccsdk.sli.northbound.uebclient.client-startup-timeout=900 org.onap.ccsdk.sli.northbound.uebclient.relevant-artifact-types=YANG_XML,VF_LICENSE,TOSCA_TEMPLATE,TOSCA_CSAR,UCPE_LAYER_2_CONFIGURATION org.onap.ccsdk.sli.northbound.uebclient.activate-server-tls-auth=false org.onap.ccsdk.sli.northbound.uebclient.keystore-path= org.onap.ccsdk.sli.northbound.uebclient.keystore-password= org.onap.ccsdk.sli.northbound.uebclient.xslt-path-list= org.onap.ccsdk.sli.northbound.uebclient.artifact-map=/opt/onap/sdnc/data/properties/artifact.map |
vCpeResCust custom workflow:
Passed: Query SNIRO emulator to get homing information. The current config files for SO after manual changes are: mso.bpmn.urn.properties, mso-docker.json. They are supposed to be updated by SO so that no more manual changes are needed in the future. The callback URL provided by SO is incorrect, needs to be fixed (). SNIRO emulator needs to be modified to use the callback URL from SO request (
). Currently we use the following hacking to send the required info to SO.
curl -i -X POST -d @sniro.json -H Content-Type=application/json --user 'MSOClient:password1$' http://so:8080/workflows/messages/message/SNIROResponse/c39fe43a-8f31-4d70-957d-b1c11e161636 sniro.json is preloaded into SNIRO emulator and will be used to feed SO request. { "solutionInfo" : { "placement" : [ { "serviceResourceId" : "61d563e8-e714-4393-8f99-cc480144a05e", "resourceModuleName" : "TunnelXConn", "serviceInstanceId" : "GMuxInfra-UUID", "cloudRegionId" : "RegionOne", "inventoryType" : "service" }, { "resourceModuleName" : "vG", "serviceResourceId" : "91d563e8-e714-4393-8f99-cc480144a05e", "cloudRegionId" : "RegionOne", "serviceInstanceId" : "vG-service-instance-id", "inventoryType" : "cloud" }, { "inventoryType" : "service", "serviceInstanceId" : "BRG_EMU_UUID", "cloudRegionId" : "RegionOne", "resourceModuleName" : "BRG", "serviceResourceId" : "71d563e8-e714-4393-8f99-cc480144a05e" } ] }, "requestId" : "111-111-1111", "statusMessage" : "", "transactionId" : "111-111-1111", "requestState" : "complete" } |
Passed: SO queries AAI to get service and other info include globalCustomerID. We preload AAI with the following info. Note that the ASDC_TOSCA_UUID part is questionable. It seems not necessary. It is tracked by .
PUT /aai/v11 /business/customers/customer/SDN-ETHERNET-INTERNET { "global-customer-id": "SDN-ETHERNET-INTERNET", "subscriber-name": "SDN-ETHERNET-INTERNET", "subscriber-type": "INFRA", "service-subscriptions": { "service-subscription": [ { "service-type": "123456789", "service-instances": { "service-instance": [ { "service-instance-id": "fbe9ad27-7ddd-49a6-ab2f-8c08e31fe12c", "service-instance-name": "fbe9ad27-7ddd-49a6-ab2f-8c08e31fe12c", "service-type": "vcpe" } ] } } ] } } After the sdc models were loaded, I added this model into AAI: PUT /aai/v11 /service-design-and-creation/models/model/1963dd8b-9375-4cab-aa59-0ee06e8333fa/model-vers/model-ver/ASDC_TOSCA_UUID { "model-version-id": "ASDC_TOSCA_UUID", "model-name": "vCpeResCust", "model-version": "1.0", "model-description": "Some ASDC Tosca Model" } |
SO allows only one workflow to executive at a time. To clear the current one:
delete from mso_requests.infra_active_requests; |
To manually send event to DMaaP to invoke SDNC to create BRG record in AAI (this emulates the event from DHCP), do the following
http://{{mr}}:3904/events/VCPE-DHCP-EVENT/group1/C1?timeout=5000 [ "{\"msg_name\":\"DHCPACK\",\"macaddr\":\"e2:91:8c:7a:1e:9d\",\"yiaddr\":\"10.3.0.2\"}" ] |
The config changes for sniro end point should be visible at : /shared/mso-docker.json. We should look at "sniroEndpoint". Also James Hahn found out that the following line needs to be added to the same file. A ticket is opened: . Important: It seems that the mso container needs to be restarted to pick up the change in this file.
"adaptersWorkflowMessageEndpoint": "http://mso:8080/workflows/messages/Resteasy", |
Add the following to /etc/mso/config.d/mso.bpmn.urn.properties to enable debug. Important: The changes are lost each time the container is restarted.
log.debug.CreateVcpeResCustService=true log.debug.DeleteVcpeResCustService=true log.debug.DoCreateAllottedResourceBRG=true log.debug.DoCreateAllottedResourceBRGRollback=true log.debug.DoCreateAllottedResourceTXC=true log.debug.DoCreateAllottedResourceTXCRollback=true log.debug.DoDeleteAllottedResourceBRG=true log.debug.DoDeleteAllottedResourceTXC=true log.debug.Homing=true |
Brian created preload as following
POST http://10.12.25.64:8282/restconf/operations/VNF-API:preload-vnf-topology-operation Content-Type: application/json { "VNF-API:input": { "VNF-API:request-information": { "VNF-API:request-id": "robot12", "VNF-API:notification-url": "https://so.onap.org", "VNF-API:order-number": "robot12", "VNF-API:request-sub-action": "SUPP", "VNF-API:request-action": "PreloadVNFRequest", "VNF-API:source": "VID", "VNF-API:order-version": "1.0" }, "VNF-API:sdnc-request-header": { "VNF-API:svc-action": "reserve", "VNF-API:svc-notification-url": "https://son.onap.org", "VNF-API:svc-request-id": "robot12" }, "VNF-API:vnf-topology-information": { "vnf-topology-identifier": { "service-type": "3c8da74-9225-4b9d-8915-214f8ab273a3", "vnf-type": "VcpeGenInfra..base_vcpe_infra..module-0", "generic-vnf-name": "vcpe-gen-infra 0", "generic-vnf-type": "VcpeGenInfra..base_vcpe_infra..module-0", "vnf-name": "vCPEInfraVF102604" }, "VNF-API:vnf-parameters": [ { "vnf-parameter-name": "vcpe_image_name", "vnf-parameter-value": "ubuntu-14-04-cloud-amd64" }, { "vnf-parameter-name": "vcpe_flavor_name", "vnf-parameter-value": "m1.medium" }, { "vnf-parameter-name": "public_net_id", "vnf-parameter-value": "external" }, { "vnf-parameter-name": "cpe_signal_net_id", "vnf-parameter-value": "vCPEInfraCPESIGNAL102604" }, { "vnf-parameter-name": "cpe_signal_subnet_id", "vnf-parameter-value": "vCPEInfraCPESIGNALSUB102604" }, { "vnf-parameter-name": "cpe_public_net_id", "vnf-parameter-value": "vCPEInfraCPEPUBLIC102604" }, { "vnf-parameter-name": "cpe_public_subnet_id", "vnf-parameter-value": "vCPEInfraCPEPUBLICSUB102604" }, { "vnf-parameter-name": "onap_private_net_id", "vnf-parameter-value": "oam_onap_hUnI" }, { "vnf-parameter-name": "onap_private_subnet_id", "vnf-parameter-value": "oam_onap_hUnI" }, { "vnf-parameter-name": "onap_private_net_cidr", "vnf-parameter-value": "10.0.0.0/16" }, { "vnf-parameter-name": "cpe_signal_net_cidr", "vnf-parameter-value": "10.4.0.0/24" }, { "vnf-parameter-name": "cpe_public_net_cidr", "vnf-parameter-value": "10.2.0.0/24" }, { "vnf-parameter-name": "vdhcp_private_ip_0", "vnf-parameter-value": "10.4.0.1" }, { "vnf-parameter-name": "vdhcp_private_ip_1", "vnf-parameter-value": "10.0.101.1" }, { "vnf-parameter-name": "vaaa_private_ip_0", "vnf-parameter-value": "10.4.0.4" }, { "vnf-parameter-name": "vaaa_private_ip_1", "vnf-parameter-value": "10.0.101.2" }, { "vnf-parameter-name": "vdns_private_ip_0", "vnf-parameter-value": "10.2.0.1" }, { "vnf-parameter-name": "vdns_private_ip_1", "vnf-parameter-value": "10.0.101.3" }, { "vnf-parameter-name": "vweb_private_ip_0", "vnf-parameter-value": "10.2.0.10" }, { "vnf-parameter-name": "vweb_private_ip_1", "vnf-parameter-value": "10.0.101.40" }, { "vnf-parameter-name": "mr_ip_addr", "vnf-parameter-value": "10.0.11.1" }, { "vnf-parameter-name": "vaaa_name_0", "vnf-parameter-value": "zdcpe1cpe01aaa01_102604" }, { "vnf-parameter-name": "vdns_name_0", "vnf-parameter-value": "zdcpe1cpe01dns01_102604" }, { "vnf-parameter-name": "vdhcp_name_0", "vnf-parameter-value": "zdcpe1cpe01dhcp01_102604" }, { "vnf-parameter-name": "vweb_name_0", "vnf-parameter-value": "zdcpe1cpe01web01_102604" }, { "vnf-parameter-name": "vnf_id", "vnf-parameter-value": "vCPE_Infrastructure_demo_app_102604" }, { "vnf-parameter-name": "vf_module_id", "vnf-parameter-value": "vCPE_Intrastructure_102604" }, { "vnf-parameter-name": "dcae_collector_ip", "vnf-parameter-value": "10.0.4.102" }, { "vnf-parameter-name": "dcae_collector_port", "vnf-parameter-value": "8080" }, { "vnf-parameter-name": "repo_url_blob", "vnf-parameter-value": "https://nexus.onap.org/content/sites/raw" }, { "vnf-parameter-name": "repo_url_artifacts", "vnf-parameter-value": "https://nexus.onap.org/content/groups/staging" }, { "vnf-parameter-name": "demo_artifacts_version", "vnf-parameter-value": "1.1.0" }, { "vnf-parameter-name": "install_script_version", "vnf-parameter-value": "1.1.0-SNAPSHOT" }, { "vnf-parameter-name": "key_name", "vnf-parameter-value": "vaaa_key" }, { "vnf-parameter-name": "pub_key", "vnf-parameter-value": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDQXYJYYi3/OUZXUiCYWdtc7K0m5C0dJKVxPG0eI8EWZrEHYdfYe6WoTSDJCww+1qlBSpA5ac/Ba4Wn9vh+lR1vtUKkyIC/nrYb90ReUd385Glkgzrfh5HdR5y5S2cL/Frh86lAn9r6b3iWTJD8wBwXFyoe1S2nMTOIuG4RPNvfmyCTYVh8XTCCE8HPvh3xv2r4egawG1P4Q4UDwk+hDBXThY2KS8M5/8EMyxHV0ImpLbpYCTBA6KYDIRtqmgS6iKyy8v2D1aSY5mc9J0T5t9S2Gv+VZQNWQDDKNFnxqYaAo1uEoq/i1q63XC5AD3ckXb2VT6dp23BQMdDfbHyUWfJN" }, { "vnf-parameter-name": "cloud_env", "vnf-parameter-value": "Openstack" } ], "VNF-API:vnf-assignments": { } } } } |
Re-created SO maria DB to reflect the latest change to the DB tables. This done by adding a line to /opt/test_lab/deploy.sh: "$DOCKER_COMPOSE_CMD up -d --force-recreate mariadb".
The workflow successfully obtained service template from the catalog and decomposed it.
Brian modified the neutron heat template and parameters in SO DB, pre-loaded SDNC, and successfully created virtual networks. (The scripts and template on 10/24 notes have been updated accordingly.) SDNC preload data for CPE_SIGNAL is below.
{ "VNF-API:input": { "VNF-API:request-information": { "VNF-API:request-id": "robot0012", "VNF-API:notification-url": "http://so.onap.org", "VNF-API:order-number": "robot0012", "VNF-API:request-sub-action": "SUPP", "VNF-API:request-action": "PreloadNetworkRequest", "VNF-API:source": "robot", "VNF-API:order-version": "1.0" }, "VNF-API:network-topology-information": { "VNF-API:network-topology-identifier": { "VNF-API:network-role": "cpe-public", "VNF-API:network-technology": "neutron", "VNF-API:service-type": "vCPE", "VNF-API:network-name": "vCPEInfraCPEPUBLICL1025BDF01", "VNF-API:network-type": "Generic NeutronNet" }, "VNF-API:provider-network-information": { "VNF-API:is-external-network": "true", "VNF-API:physical-network-name": "vCPEInfraCPEPUBLIC1025BDF01", "VNF-API:is-provider-network": "true", "VNF-API:is-shared-network": "true" }, "VNF-API:subnets": [ { "VNF-API:start-address": "10.2.0.2", "VNF-API:cidr-mask": "24", "VNF-API:subnet-name": "vCPEInfraCPEPUBLIC1025BDF01", "VNF-API:ip-version": "4", "VNF-API:dhcp-enabled": "N", "VNF-API:gateway-address": "10.2.0.1" } ] }, "VNF-API:sdnc-request-header": { "VNF-API:svc-action": "reserve", "VNF-API:svc-notification-url": "http://so.onap.org", "VNF-API:svc-request-id": "reobot0012" } } } |
Use the following to add the custom workflow into the recipe table:
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).
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" } } } ' |
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 to
).
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', 'Generic 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 } |
The 404 error in VID on deploy is due to missing zone data in AAI. Preload AAI with the following:
PUT https://{{aai}}:8443/aai/v11/network/zones/zone/nova1 { "zone-id": "nova1", "zone-name": "nova", "design-type": "integration", "zone-context": "labs", "status": "Active" } |
APPC and MultiCloud located the problem to be API call request prefix. Bin Yang provided the following sample code to call MultiCloud API to do VM restart. APPC will fix the problem accordingly.
export MULTICLOUD_PLUGIN_ENDPOINT=http://10.0.14.1:9005/api/multicloud-titanium_cloud/v0/pod25_RegionOne |
From Eric:
Below is output of the updated event data - check the bold items to verify this is what is desired (note: "vCPE_Infrastructure_vGMUX_demo_app" is the value of the "vnf_id" property from the OpenStack metadata of the vG-MUX VM):
{"event": {"commonEventHeader": {"domain": "measurementsForVfScaling", "eventId": "Generic_traffic", "eventName": "Measurement_vGMUX", "lastEpochMicrosec": 1508188493486856, "priority": "Normal", "reportingEntityName": "zdcpe1cpe01mux01", "sequence": 55, "sourceName": "vCPE_Infrastructure_vGMUX_demo_app", "startEpochMicrosec": 1508188483486856, "version": 1.2, "eventType": "HTTP request rate", "reportingEntityId": "No UUID available", "sourceId": "vCPE_Infrastructure_vGMUX_demo_app"}, "measurementsForVfScalingFields": {"measurementInterval": 10, "cpuUsageArray": [{"cpuIdentifier": "cpu1", "cpuIdle": 100.000000, "cpuUsageSystem": 0.000000, "cpuUsageUser": 0.000000, "percentUsage": 0.000000}], "requestRate": 9956, "vNicUsageArray": [{"receivedOctetsDelta": 0.000000, "receivedTotalPacketsDelta": 0.000000, "transmittedOctetsDelta": 0.000000, "transmittedTotalPacketsDelta": 0.000000, "valuesAreSuspect": "true", "vNicIdentifier": "eth0"}], "additionalMeasurements": [{"name": "ONAP-DCAE", "arrayOfFields": [{"name": "Packet-Loss-Rate", "value": "0.0"}]}], "measurementsForVfScalingVersion": 2.1}}} |
Eric Multanen (Deactivated) continues to fix vGMUX and made good progress. vGMUX in the ONAP-vCPE work space is now reporting VES data. Some fixes are needed. This is tracked by .
The custom flow testing was performed using Junit testing.
“mvn install” in so/bpmn/MSOInfrastructureBPMN will runs all the tests.
Test is self-contained and all the required data files and simulator code was checked in. As of now, Jim is in the process of checking in bug-fixes.
vGMUX: Eric has created a sample VES data as shown below. DCAE needs to be adjusted to process the data. This is tracked by . Eric is also working to fix vGMUX.
{"event": {"commonEventHeader": {"domain": "measurementsForVfScaling", "eventId": "Generic_traffic", "eventName": "Measurement_vGMUX", "lastEpochMicrosec": 1507676920903343, "priority": "Normal", "reportingEntityName": "vg-mux", "sequence": 1, "sourceName": "Dummy VM name - No Metadata available", "startEpochMicrosec": 1507676910903343, "version": 1.2, "eventType": "HTTP request rate", "reportingEntityId": "No UUID available", "sourceId": "Dummy VM UUID - No Metadata available"}, "measurementsForVfScalingFields": {"measurementInterval": 10, "cpuUsageArray": [{"cpuIdentifier": "cpu1", "cpuIdle": 85.700000, "cpuUsageSystem": 14.300000, "cpuUsageUser": 0.000000, "percentUsage": 0.000000}], "requestRate": 9383, "vNicUsageArray": [{"receivedOctetsDelta": 0.000000, "receivedTotalPacketsDelta": 0.000000, "transmittedOctetsDelta": 0.000000, "transmittedTotalPacketsDelta": 0.000000, "valuesAreSuspect": "true", "vNicIdentifier": "eth0"}], "additionalMeasurements": [{"name": "ONAP-DCAE", "arrayOfFields": [{"name": "Packet-Loss-Rate", "value": "49.0"}]}], "measurementsForVfScalingVersion": 2.1}}} |
Closed loop control test is decomposed into the following items.
Design and load policy rules to policy engine. Jorge Hernandez created a closed loop for vCPE. Policy is tested by posting a DCAE TCA event on DMaaP. Policy reacted by sending an event to APPC to trigger VNF restart. The message format needs to be fixed, see . And the topics need to be added to APPC properties, see
.
put_closed_loop.sh
Meeting recording is GMT20171009-170725_Kang-Xi-s-_1920x1200.mp4
Closed loop control test is decomposed into the following items.
Design and load policy rules to policy engine. Ideally this should be done by CLAMP. Currently CLAMP is working on . The workaround is to use Policy GUI. Jorge Hernandez will work on this.
Preload AAI with vCPE data. The purpose is to lookup vServer using vGMUX VNF ID. Scott Seabolt (APPC) will provide a sample data to Venkata Harish Kajur (AAI) to show the named query. Venkata Harish Kajur will then create a script to preload such data to AAI for the testing.
vGMUX sends packet loss VES to DCAE VES collector.
Kang Xi created a vGMUX instance in the open lab but the VPP-based VNF inside the VM is not functioning. According to Eric Multanen (Deactivated), most likely it is caused by network issues. Eric is working on this. Kang will also inform Danny Zhou and lee xun about this.
The following VES data caused an error. The most possible reason is that the data itself is incorrect. Vijay Kumar is looking into that.
curl -H "Accept: application/json" -H "Content-Type: application/json" -d '{"event":{"measurementsForVfScalingFields":{"measurementInterval":10,"measurementsForVfScalingVersion":1.1,"vNicUsageArray":[{"multicastPacketsIn":0,"bytesIn":4300,"unicastPacketsIn":0,"multicastPacketsOut":0,"broadcastPacketsOut":0,"packetsOut":0,"bytesOut":0,"broadcastPacketsIn":0,"packetsIn":101,"unicastPacketsOut":0,"vNicIdentifier":"eth1"}]},"commonEventHeader":{"reportingEntityName":"zdfw1fwl01fwl01","startEpochMicrosec":1500379662497999,"lastEpochMicrosec":1500379672497999,"eventId":"1","sourceName":"zdfw1fwl01fwl01","sequence":1,"priority":"Normal","functionalRole":"vFirewall","domain":"measurementsForVfScaling","reportingEntityId":"No UUID available","sourceId":"75ec15e4-1a9a-4ee3-bb3c-31556903558d","version":1.2}}}' 10.12.25.84:8080/eventListener/v5 |
DCAE TCA sends an event to Policy through DMaaP. This is tested as described in
Policy process the event from DCAE, and then sends a “restart” event to APPC through DMaaP. Jorge Hernandez will work on this.
APPC captures the event from Policy, performs a named query to AAI to get the vServer ID based on the VNF ID, and then restarts the VM through MultiVIM.
In addition, the bottom of Policy R1 Amsterdam Functional Test Cases shows important sample data for vCPE test cases.
Update:
export MULTICLOUD_PLUGIN_ENDPOINT=http://10.0.14.1:9005/api/multicloud-titanium_cloud/v0/pod25_RegionOne
export TOKEN=$(curl -v -s -H "Content-Type: application/json" -X POST -d '{ }' $MULTICLOUD_PLUGIN_ENDPOINT/identity/v3/auth/tokens 2>&1 | grep X-Subject-Token | sed "s/^.*: //")
export PROJECT_ID=466979b815b5415ba14ada713e6e1846
curl -v -s -H "Content-Type: application/json" -H "X-Auth-Token: $TOKEN" -X GET $MULTICLOUD_PLUGIN_ENDPOINT/compute/v2.1/$PROJECT_ID/servers
curl -v -s -H "Content-Type: application/json" -H "X-Auth-Token: $TOKEN" -X POST -d '{"os-stop":null}' $MULTICLOUD_PLUGIN_ENDPOINT/compute/v2.1/$PROJECT_ID/servers/0a06842a-4ec4-4918-b046-399f6b38f5f9/action
curl -v -s -H "Content-Type: application/json" -H "X-Auth-Token: $TOKEN" -X POST -d '{"os-start":null}' $MULTICLOUD_PLUGIN_ENDPOINT/compute/v2.1/$PROJECT_ID/servers/0a06842a-4ec4-4918-b046-399f6b38f5f9/action