Table of Contents |
---|
Test Case Id | Description | Pre-conditions | Test Steps | Expected Results | ||
---|---|---|---|---|---|---|
1 | Perform healthcheck for the Policy components using Healthcheck API
|
| API – healthcheck Method - GET Endpoint: http://<host>:8081/healthcheck | All the policy components should return health status as “true” | ||
|
|
|
|
| ||
3 | Create config Policy for the following use cases
| Policy components up and running | API – CreateConfig Method – PUT Endpoint: https://<host>:8081/Pdp/createPolicy | Config Policy should be created in Policy Engine (PAP) | ||
34 | Push Config policy to the PDP Engines for the following use cases
| Policy components up and running | API - pushPolicy Method - PUT Endpoint: https:// <host>:8081/Pdp/pushPolicy | Config Policy should be pushed to the PDP group | 4 | Load the Drools Controller Configurations |
5 | Import/Load Use case template Create Operational policy for the following use cases (
| Policy components should be up and running | API – policyEngineImport - createPolicy Method – POSTPUT Endpoint: https://<host>:8081/pdpPdp/policyEngineImportcreatePolicy | Operational Policy service models should be imported for the specified use cases. We should be able to create policy from here. | ||
6 | Create Operational policy for the following use cases
| Policy components up and running | API - createPolicy Method – PUT Endpoint: https://<host>:8081/Pdp/createPolicy | Operational Policy should be created in Policy Engine (PAP) | ||
should be created in Policy Engine (PAP) | ||||||
67 | Push operational Policy to the PDP Engines for each use case
| Policy components up and running | API - pushPolicy Method - PUT Endpoint: https:// <host>:8081/Pdp/pushPolicy | Operational Policy should be pushed to the PDP group | ||
87 | Retrieve the configs for the following use cases
| Policy components up and running | API – getConfig Method – POST Endpoint: https://<host>:8081/Pdp/getConfig | Both Config and Operational Policies configured for each use case should be retrieved successfully | ||
9 |
|
|
|
| ||
10 | ||||||
11 |
|
|
|
| ||
12 | ||||||
13 | ||||||
14 | ||||||
15 |
|
|
|
| ||
16 |
|
|
|
| ||
17 |
|
|
|
|
vFirewall Use Case
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
tca_policy: "{ "domain": "measurementsForVfScaling", "metricsPerEventName": [ { "eventName": "vFirewallBroadcastPackets", "controlLoopSchemaType": "VNF", "policyScope": "DCAE", "policyName": "DCAE.Config_tca-hi-lo", "policyVersion": "v0.0.1", "thresholds": [ { "closedLoopControlName": "CLControlLoop-FRWLvFirewall-LOWd0a1dfc6-TRAFFIC94f5-SIG4fd4-d925ed73-8231-4d02-9545-db4e101f88f8a5b5-4630b438850a", "version": "1.0.2", "fieldPath": "$.event.measurementsForVfScalingFields.vNicPerformanceArrayvNicUsageArray[*].receivedBroadcastPacketsAccumulatedreceivedTotalPacketsDelta", "thresholdValue": 4000300, "direction": "LESS_OR_EQUAL", "severity": "MAJOR", "closedLoopEventStatus": "ONSET" }, { "closedLoopControlName": "CLControlLoop-FRWLvFirewall-HIGHd0a1dfc6-TRAFFIC94f5-SIG4fd4-EA36FE84-9342-5E13-A656-EC5F21309A09",a5b5-4630b438850a", "version": "1.0.2", "fieldPath": "$.event.measurementsForVfScalingFields.vNicPerformanceArrayvNicUsageArray[*].receivedBroadcastPacketsAccumulatedreceivedTotalPacketsDelta", "thresholdValue": 20000700, "direction": "GREATER_OR_EQUAL", "severity": "CRITICAL", "closedLoopEventStatus": "ONSET" } ] } ] }" |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "closedLoopEventClient": "DCAE_INSTANCE_ID.dcae-tca", "policyVersion": "1controlLoop: version: 2.0.0.5", "policyName": "vFirewall", "policyScope": "resource=SampleResource,service=SampleService,type=SampleType,closedLoopControlName=SampleClosedLoop", "target_type": "VNF", "AAI": { "generic-vnf.vnf-id": "zdfw1fwl01fwl02" }, "closedLoopAlarmStart": 1484855291527925, "closedLoopEventStatus": "ONSET", "closedLoopControlName": "CL-FRWL-LOW-TRAFFIC-SIG-d925ed73-8231-4d02-9545-db4e101f88f8", "version": "1.0.2", "target": "generic-vnf.vnf-id", "requestID": "8c1b8bd8-06f7-493f-8ed7-daaa4cc481bc", "from": "DCAE" } | ||||||
Code Block | ||||||
| ||||||
POST /aai/search/named-query { "query-parameters": { controlLoopName: ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a trigger_policy: unique-policy-id-1-modifyConfig timeout: 1200 abatement: false policies: - id: unique-policy-id-1-modifyConfig name: modify packet gen config description: actor: APPC recipe: ModifyConfig target: # TBD "named-query": {Cannot be known until instantiation is done "named-query-uuid": "a93ac487-409c-4e8c-9e5f-334ae8f99087" resourceID: Eace933104d443b496b8.nodes.heat.vpg type: VNF retry: } 0 },timeout: 300 "instance-filters":{success: final_success "instance-filter":[ {failure: final_failure failure_timeout: final_failure_timeout failure_retries: final_failure_retries "generic-vnf": { "vnf-id": "de7cc3ab-0212-47df-9e64-da1c79234deb" failure_exception: final_failure_exception } } ] } }failure_guard: final_failure_guard |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{
"closedLoopEventClient": "DCAE_INSTANCE_ID.dcae-tca",
"policyVersion": "1.0.0.5",
"policyName": "vFirewall",
"policyScope": "resource=SampleResource,service=SampleService,type=SampleType,closedLoopControlName=SampleClosedLoop",
"target_type": "VNF",
"AAI": {
"generic-vnf.vnf-name": "zdfw1fwl01fwl02"
},
"closedLoopAlarmStart": 1484855291527925,
"closedLoopEventStatus": "ONSET",
"closedLoopControlName": "ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a",
"version": "1.0.2",
"target": "generic-vnf.vnf-name",
"requestID": "8c1b8bd8-06f7-493f-8ed7-daaa4cc481bc",
"from": "DCAE"
} |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
https://{aai}/aai/v11/network/generic-vnfs/generic-vnf?vnf-name=zdfw1fwl01fwl02 |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
*TODO
|
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "CommonHeader": { "TimeStamp": 1500997725298, "APIver": "1.01", "RequestID": "664be3d2-6c12-4f4b-a3e7-c349acced200", "RequestTrack": [], "Flags": [] }, "Action": "ModifyConfig", "Payload": { "generic-vnf.vnf-id": "fw0001vm001fw001", "pg-streams": { "pg-stream": [ { "inventory-response-item": [ { "model-name": "service-instance", "generic-vnf": { "vnf-id": "de7cc3ab-0212-47df-9e64-da1c79234deb", "vnf-name": "ZRDM2MMEX39", "vnf-type": "vMME Svc Jul 14/vMME VF Jul 14 1", "service-id": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", "orchestration-status": "active", "in-maint": false, "is-closed-loop-disabled": false, "resource-version": "1503082370097", "model-invariant-id": "82194af1-3c2c-485a-8f44-420e22a9eaa4", "model-version-id": "46b92144-923a-4d20-b85a-3cbd847668a9" }, "extra-properties "id": {}"fw_udp1", "inventoryis-response-itemsenabled": {"true" }, "inventory-response-item": [ { "id": "fw_udp2", { "is-enabled": "true" }, { "model-nameid": "service-instancefw_udp3", "is-enabled": "true" }, "service-instance": { "id": "fw_udp4", "service-instance-id "is-enabled": "37b8cdb7-94eb-468f-a0c2-4e3c3546578e",true" }, { "service-instance-name "id": "Changed Service Instance NAMEfw_udp5", "model-invariant-id "is-enabled": "82194af1-3c2c-485a-8f44-420e22a9eaa4",true" }] } } } |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
ACCEPT response { "Status": { "model-version-idValue": "46b92144-923a-4d20-b85a-3cbd847668a9ACCEPTED", "Code": "100" }, "Payload": { "resourcepg-versionstreams": "1503082993532", "orchestration-status": "Active" }, "extra-properties": {}, "inventory-response-items": { "inventory-response-item": [ { "model-name": "pnf", "generic-vnf": { "vnf-id": "jimmy-test", "vnf-name": "jimmy-test-vnf", "vnf-type": "vMME Svc Jul 14/vMME VF Jul 14 1", "service-id": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", "orchestration-status": "active", "in-maint": false, "is-closed-loop-disabled": false, "resource-version": "1504013830207", "model-invariant-id": "862b25a1-262a-4961-bdaa-cdc55d69785a", "model-version-id": "e9f1fa7d-c839-418a-9601-03dc0d2ad687" }, "extra-properties": {} }, { "model-name": "service-instance", "generic-vnf": { "vnf-id": "jimmy-test-vnf2", "vnf-name": "jimmy-test-vnf2-named", "vnf-type": "vMME Svc Jul 14/vMME VF Jul 14 1", "service-id": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", "orchestration-status": "active", "in-maint": false, "is-closed-loop-disabled": false, "resource-version": "1504014833841", "model-invariant-id": "82194af1-3c2c-485a-8f44-420e22a9eaa4", "model-version-id": "46b92144-923a-4d20-b85a-3cbd847668a9" }, "extra-properties": {} } ] } } ] } } ] } | ||||||
Code Block | ||||||
| ||||||
{ "CommonHeader": { "TimeStamp": 1478721261714, "APIver": "1.01", "OriginatorID": "policy.pdp01", "RequestID": "f889f60c-a715-48c0-801e-26428f6176b9", "SubRequestID": "1", "RequestTrack": [], "Flags": [] }, "Action": "ModifyConfig", "Payload{\\\"pg-streams\\\": {\\\"pg-stream\\\":[{\\\"id\\\":\\\"fw_udp1\\\", \\\"is-enabled\\\":\\\"true\\\"},{\\\"id\\\":\\\"fw_udp2\\\", \\\"is-enabled\\\":\\\"true\\\"},{\\\"id\\\":\\\"fw_udp3\\\", \\\"is-enabled\\\":\\\"true\\\"},{\\\"id\\\":\\\"fw_udp4\\\", \\\"is-enabled\\\":\\\"true\\\"},{\\\"id\\\":\\\"fw_udp5\\\", \\\"is-enabled\\\":\\\"true\\\"}]}}", "generic-vnf.vnf-id": "fw0001vm001fw001" }, "CommonHeader": { "TimeStamp": "1493841850199", "generic-vnf.vnf-id"APIver": "fw001vm001tg0011.01", "RequestID": "664be3d2-6c12-4f4b-a3e7-c349acced200", "pg-streamsSubrequestID": {null, "OriginatorID": null } } SUCCESS response { "pg-streamStatus": [{ "Value": "SUCCESS", "Code": "400" }, "Payload": { "pg-streams": "{\\\"pg-streams\\\": {\\\"pg-stream\\\":[{\\\"id\\\":\\\"fw_udp1\\\", "id": "fw_udp1", "is-enabled": "true" }, { "id": "fw_udp2", "is-enabled": "true"\\\"is-enabled\\\":\\\"true\\\"},{\\\"id\\\":\\\"fw_udp2\\\", \\\"is-enabled\\\":\\\"true\\\"},{\\\"id\\\":\\\"fw_udp3\\\", \\\"is-enabled\\\":\\\"true\\\"},{\\\"id\\\":\\\"fw_udp4\\\", \\\"is-enabled\\\":\\\"true\\\"},{\\\"id\\\":\\\"fw_udp5\\\", \\\"is-enabled\\\":\\\"true\\\"}]}}", "generic-vnf.vnf-id": "fw0001vm001fw001" }, { "CommonHeader": { "idTimeStamp": "fw_udp31493841850199", "is-enabled"APIver": "true" 1.01", "RequestID": "664be3d2-6c12-4f4b-a3e7-c349acced200", "SubrequestID": null, "OriginatorID": null }, { } } |
vDNS Use Case
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
tca_policy: "{ "domain": "measurementsForVfScaling", "metricsPerEventName": [{ "eventName": "vLoadBalancer", "idcontrolLoopSchemaType": "fw_udp4VM", "policyScope": "DCAE", "policyName": "DCAE.Config_tca-hi-lo", "is-enabledpolicyVersion": "truev0.0.1", "thresholds": [{ }, {"closedLoopControlName": "ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3", "version": "1.0.2", "idfieldPath": "fw_udp5$.event.measurementsForVfScalingFields.vNicUsageArray[*].receivedTotalPacketsDelta", "thresholdValue": 300, "is-enabled"direction": "trueGREATER_OR_EQUAL", "severity": "CRITICAL", }] "closedLoopEventStatus": "ONSET" }] } } |
Code Block | ||
---|---|---|
| ||
*TODO show the APPC response messages |
...
]
}" |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
tca_policy: "{controlLoop: version: 2.0.0 "domain": "measurementsForVfScaling", "metricsPerEventName": [ { "eventName": "vLoadBalancer", "controlLoopSchemaType": "VM", "policyScope": "DCAE", "policyName": "DCAE.Config_tca-hi-lo",controlLoopName: ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3 trigger_policy: unique-policy-id-1-scale-up timeout: 1200 abatement: false policies: - id: unique-policy-id-1-scale-up name: Create a new VF Module description: actor: SO recipe: VF Module Create target: "policyVersion"type: "v0.0.1", VNF retry: 0 "thresholds"timeout: [1200 success: final_success failure: {final_failure failure_timeout: final_failure_timeout "closedLoopControlName": "CL-LBAL-LOW-TRAFFIC-SIG-FB480F95-A453-6F24-B767-FD703241AB1A",failure_retries: final_failure_retries failure_exception: final_failure_exception failure_guard: final_failure_guard |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "version": "1.0.2", "fieldPathclosedLoopEventClient": "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulatedDCAE_INSTANCE_ID.dcae-tca", "thresholdValue": 500, "directionpolicyVersion": "LESS_OR_EQUAL1.0.0.5", "severity": "MAJOR", "closedLoopEventStatuspolicyName": "ONSET" }vLoadBalancer", { "closedLoopControlNamepolicyScope": "CL-LBAL-HIGH-TRAFFIC-SIG-0C5920A6-B564-8035-C878-0E814352BC2Bresource=SampleResource,service=SampleService,type=SampleType,closedLoopControlName=SampleClosedLoop", "version": "1.0.2", "fieldPathtarget_type": "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulatedVM", "thresholdValueAAI": 5000,{ "direction": "GREATER_OR_EQUAL", "severityvserver.vserver-name": "CRITICALdfw1lb01lb01", "closedLoopEventStatus": "ONSET" }, ] } ] }" | ||||||
Code Block | ||||||
| ||||||
{"closedLoopAlarmStart": 1484677482204798, "closedLoopEventClientclosedLoopEventStatus": "DCAE_INSTANCE_ID.dcae-tcaONSET", "policyVersionclosedLoopControlName": "1.0.0.5ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3", "policyNameversion": "vLoadBalancer""1.0.2", "policyScopetarget": "resource=SampleResource,service=SampleService,type=SampleType,closedLoopControlName=SampleClosedLoopvserver.vserver-name", "target_typerequestID": "VM97964e10-686e-4790-8c45-bdfa61df770f", "from": "DCAE" } |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "query-parameters": { "named-query": { "vserver.vserver-name "named-query-uuid": "dfw1lb01lb014ff56a54-9e3f-46b7-a337-07a1d3c6b469" } }, "instance-filters": { "instance-filter": [{ "closedLoopAlarmStartvserver": 1484677482204798, { "closedLoopEventStatusvserver-name": "ONSETdfw1lb01lb01", "closedLoopControlName": "CL-DNS-LOW-TRAFFIC-SIG-d925ed73-8231-4d02-9545-db4e101f88f8",} }] } } |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "versioninventory-response-item": "1.0.2",[ { "targetvserver": "vserver.vserver-name",{ "requestIDvserver-id": "97964e106ed3642c-686ef7a1-47904a7c-8c459290-bdfa61df770f3d51fe1531eb", "fromvserver-name": "DCAEzdfw1lb01lb02" } | ||||||
Code Block | ||||||
| ||||||
{ "query-parameters": { , "named-query": { "namedvserver-query-uuidname2": "4ff56a54-9e3f-46b7-a337-07a1d3c6b469"zdfw1lb01lb02", } }, "instanceprov-filtersstatus": { "ACTIVE", "instance-filter": [{ "vserver-selflink": {"http://10.12.25.2:8774/v2.1/41d6d38489bd40b09ea8a6b6b852dcbd/servers/6ed3642c-f7a1-4a7c-9290-3d51fe1531eb", "vserver-name "in-maint": "dfw1lb01lb01" false, } "is-closed-loop-disabled": false, }] } } | ||||||
Code Block | ||||||
| ||||||
{ "inventoryresource-response-itemversion": ["1510606403522" { }, "extra-properties": {}, "inventory-response-items": { "inventory-response-item": [ { "extramodel-propertiesname": {"vLoadBalancer", "extrageneric-propertyvnf": [ { "propertyvnf-nameid": "model.model-namedb373a8d-f7be-4d02-8ac8-6ca4c305d144", "propertyvnf-valuename": "c15ce9e1-e914-4c8f-b8bb"Vfmodule_vLB1113", "vnf-type": }, "vLoadBalancer-1106/vLoadBalancer 0", { "service-id": "66f157fc-4148-4880-95f5-e120677e98d1", "propertyprov-namestatus": "model.model-typePREPROV", "orchestration-status": "Created", "property-value": "resource" "in-maint": false, }, "is-closed-loop-disabled": false, { "resource-version": "1510604011851", "propertymodel-invariant-nameid": "model.model-versioncee050ed-92a5-494f-ab04-234307a846dc", "property-value"model-version-id": "1" fd65becc-6b2c-4fe8-ace9-cc29db9a3da2", }"model-customization-id": "1983c783-444f-4e79-af3a-85e5d49628f3", { "nf-type": "", "property-name"nf-function": "model.model-id", "propertynf-valuerole": "033a32ed-aa65-4764-a736-36f2942f1aa0"", "nf-naming-code": "" }, }, { "extra-properties": { "extra-property-name": "model.model-name-version-id",[ { "property-value": "d4d072dc-4e21-4a03-9524-628985819a8e" }"property-name": "model-ver.model-version-id", ] "property-value": "fd65becc-6b2c-4fe8-ace9-cc29db9a3da2" }, }, "generic-vnf": { { "in-maint": false, "is-closed-loop-disabled": false, property-name": "model-ver.model-name", "orchestration-status "property-value": "CreatedvLoadBalancer", "persona-model-id": "033a32ed-aa65-4764-a736-36f2942f1aa0" }, { "persona-model-version": "1.0", "resourceproperty-versionname": "1485542422model.model-type", "serviceproperty-idvalue": "b3f70641-bdb9-4030-825e-6abb73a1f929", resource" "vnf-id": "594e2fe0-48b8-41ff-82e2-3d4bab69b192" }, "vnf-name": "Vnf_Ete_Named90e1ab3-dcd5-4877-9edb-eadfc84e32c8", { "vnfproperty-typename": "8330e932model.model-2a23-4943-8606/c15ce9e1-e914-4c8f-b8bb 1" invariant-id", }, "property-value": "cee050ed-92a5-494f-ab04-234307a846dc" "inventory-response-items": { }, "inventory-response-item": [ { { "property-name": "model-ver.model-version", "extra-properties": { "property-value": "1.0" "extra-property": [ } {] }, "propertyinventory-response-nameitems": "model.model-name",{ "inventory-response-item": [ "property-value": "8330e932-2a23-4943-8606" { }, "model-name": "vLoadBalancer-1106", "service-instance": { "property-name"service-instance-id": "model.model-type3b12f31f-8f2d-4f5c-b875-61ff1194b941", "service-instance-name": "vLoadBalancer-1113", "property-value": "service" "model-invariant-id": "1321d60d-f7ff-4300-96c2-6bf0b3268b7a", }, "model-version-id": "732d4692-4b97-46f9-a996-0b3339e88c50", { "resource-version": "1510603936425" "property-name": "model.model-version", }, "propertyextra-valueproperties": "1"{ },"extra-property": [ { "property-name": "model-ver.model-version-id", "property-value": "4fcbc1c0732d4692-77934b97-46d846f9-8aa1a996-fa1c2ed9ec7b0b3339e88c50" }, { "property-name": "model-ver.model-name-version-id", "property-value": "5c996219-b2e2-4c76-9b43-7e8672a33c1dvLoadBalancer-1106" }, ] { }, "property-name": "model.model-type", "service-instance": { "personaproperty-model-idvalue": "4fcbc1c0-7793-46d8-8aa1-fa1c2ed9ec7b", service" "persona-model-version": "1.0", }, "resource-version": "1485542400", { "service-instance-id": "cf8426a6-0b53-4e3d-bfa6-4b2f4d5913a5", "service-instanceproperty-name": "Service_Ete_Named90e1ab3-dcd5-4877-9edb-eadfc84e32c8"model.model-invariant-id", } "property-value": "1321d60d-f7ff-4300-96c2-6bf0b3268b7a" }, }, { "extra-properties": { "extra-property": [ "property-name": "model-ver.model-version", { "property-value": "1.0" "property-name": "model.model-name", } "property-value": "C15ce9e1E9144c8fB8bb..base_vlb..module-0" ] } }, }, { { "propertymodel-name": "model.model-type", Vloadbalancer..base_vlb..module-0", "vf-module": { "propertyvf-module-valueid": "resource"e6b3e3eb-34e1-4c00-b8c1-2a4fbe479b12", }"vf-module-name": "Vfmodule_vLB1113-1", { "heat-stack-id": "Vfmodule_vLB1113-1/3dd6d900-772f-4fcc-a0cb-e250ab2bb4db", "propertyorchestration-namestatus": "model.model-versionactive", "property-value"is-base-vf-module": "1"true, }"resource-version": "1510604612557", { "model-invariant-id": "6d760188-9a24-451a-b05b-e08b86cb94f2", "propertymodel-version-nameid": "model.model-id93facad9-55f2-4fe0-9574-814c2bc2d071", "propertymodel-customization-valueid": "79ee24cd93fd5bd4-fc9a8051-4f144074-afae-5e1dd2ab2941" 8530-c0c504604df5", }, "module-index": 0 { }, "propertyextra-nameproperties": "model.model-name-version-id", { "extra-property-value": "5484cabb-1a0d-4f29-a616-094a3f643d73"[ }{ ] "property-name": "model-ver.model-version-id", }, "property-value": "93facad9-55f2-4fe0-9574-814c2bc2d071" "model-name": "C15ce9e1E9144c8fB8bb..base_vlb..module-0", }, "vf-module": { { "heat-stack-id": "Vfmodule_Ete_Named90e1ab3-dcd5-4877-9edb-eadfc84e32c8/5845f37b-6cda-4e91-8ca3-f5572d226488", "is-base-vf-module": true, property-name": "model-ver.model-name", "orchestrationproperty-statusvalue": "active", Vloadbalancer..base_vlb..module-0" "persona-model-id": "79ee24cd-fc9a-4f14-afae-5e1dd2ab2941" }, "persona-model-version": "1", { "resourceproperty-versionname": "1485542667model.model-type", "vfproperty-module-idvalue": "b0eff878-e2e1-4947-9597-39afdd0f51dd", resource" "vf-module-name": "Vfmodule_Ete_Named90e1ab3-dcd5-4877-9edb-eadfc84e32c8" }, } { }, "property-name": "model.model-invariant-id", { "extraproperty-propertiesvalue": {"6d760188-9a24-451a-b05b-e08b86cb94f2" "extra-property": [ }, { "property-name": "model-ver.model-nameversion", "property-value": "C15ce9e1E9144c8fB8bb..dnsscaling..module-1" }, ] { } "property-name": "model.model-type" }, { "property-value": "resource" "model-name": "Vloadbalancer..dnsscaling..module-1", }, "vf-module": { { "vf-module-id": "dummy_db373a8d-f7be-4d02-8ac8-6ca4c305d144", "propertyvf-module-name": "model.model-versiondummy_db373a8d-f7be-4d02-8ac8-6ca4c305d144", "is-base-vf-module": false, "property-value": "1" "resource-version": "1510610079687", }, "model-invariant-id": "356a1cff-71f2-4086-9980-a2927ce11c1c", { "model-version-id": "6b93d804-cfc8-4be3-92cc-9336d135859a" "property-name": "model.model-id", }, "propertyextra-valueproperties": "f32568ec-2f1c-458a-864b-0593d53d141a"{ },"extra-property": [ { "property-name": "model-ver.model-name-version-id", "property-value": "696150256b93d804-879dcfc8-4f0d4be3-afe392cc-b7d1a7eeed1f9336d135859a" }, ] { }, "property-name": "model-ver.model-name", "vf-module": { "property-value": "Vloadbalancer..dnsscaling..module-1" "is-base-vf-module": false, }, "persona-model-id": "f32568ec-2f1c-458a-864b-0593d53d141a", { "persona-model-version": "1.0", "resourceproperty-versionname": "1485561752model.model-type", "vfproperty-module-idvalue": "dummyresource", "vf-module-name": "dummy" }, } { }, "property-name": "model.model-invariant-id", { "extraproperty-propertiesvalue": {"356a1cff-71f2-4086-9980-a2927ce11c1c" "extra-property": [ }, { "property-name": "model-ver.model-nameversion", "property-value": "C15ce9e1E9144c8fB8bb..dnsscaling..module-1" }, {] } "property-name": "model.model-type", } "property-value": "resource" ] } }, { "tenant": { "tenant-id": "41d6d38489bd40b09ea8a6b6b852dcbd", "propertytenant-name": "model.model-versionIntegration-SB-00", "property-value"resource-version": "1" 1509587770200" }, "extra-properties": {}, "inventory-response-items": { { "inventory-response-item": [ { "property-name": "model.model-id", "cloud-region": { "property-value": "f32568ec-2f1c-458a-864b-0593d53d141a" "cloud-owner": "CloudOwner", }, "cloud-region-id": "RegionOne", { "cloud-type": "SharedNode", "property-name": "model.model-name-version-id", "owner-defined-type": "OwnerType", "propertycloud-region-valueversion": "69615025-879d-4f0d-afe3-b7d1a7eeed1f"v1", "cloud-zone": "CloudZone", } ]"sriov-automation": false, }, "resource-version": "1509587770092" "vf-module": { }, "heatextra-stack-idproperties": "vDNS_Ete_Named90e1ab3-dcd5-4877-9edb-eadfc84e32c8/f447ce51-14dd-4dcd-9957-68a047c79673", {} } "is-base-vf-module": false, ] "orchestration-status": "active", } } ] "persona-model-id": "f32568ec-2f1c-458a-864b-0593d53d141a", } } ] } |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
NOTE: Robot must add preload for dummy module for this to work. { "requestDetails": { "modelInfo": { "persona-model-versionmodelType": "1.0vfModule", "modelInvariantId": "356a1cff-71f2-4086-9980-a2927ce11c1c", "modelVersionId": "6b93d804-cfc8-4be3-92cc-9336d135859a", "modelName": "Vloadbalancer..dnsscaling..module-1", "modelVersion": "1" }, "cloudConfiguration": { "resource-versionlcpCloudRegionId": "1485562712RegionOne", "tenantId": "41d6d38489bd40b09ea8a6b6b852dcbd" }, "requestInfo": { "instanceName": "vDNS_vLB1113-1", "vf-module-idsource": "8cd79e44-1fae-48c1-a160-609f90b46749POLICY", "suppressRollback": false, "requestorId": "policy" }, "relatedInstanceList": [ { "vf-module-name"relatedInstance": "vDNS_Ete_Named90e1ab3-dcd5-4877-9edb-eadfc84e32c8"{ "instanceId": "3b12f31f-8f2d-4f5c-b875-61ff1194b941", "modelInfo": { "modelType": "service", } "modelInvariantId": "1321d60d-f7ff-4300-96c2-6bf0b3268b7a", "modelVersionId": "732d4692-4b97-46f9-a996-0b3339e88c50", } "modelName": "vLoadBalancer-1106", "modelVersion": "1.0" ]} } }, { } "relatedInstance": { "instanceId": "db373a8d-f7be-4d02-8ac8-6ca4c305d144", }, "modelInfo": { { "modelType": "vnf", "modelInvariantId": "cee050ed-92a5-494f-ab04-234307a846dc", "extra-propertiesmodelVersionId": {},"fd65becc-6b2c-4fe8-ace9-cc29db9a3da2", "modelName": "vLoadBalancer", "inventory-response-itemsmodelVersion": {"1.0", "modelCustomizationName": "vLoadBalancer 0" } "inventory-response-item": [ } } ], "requestParameters": {} } } |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
SUCCESS: { "requestReferences": { "instanceId": "ff305d54-75b4-ff1b-bdb2-eb6b9e5460ff", "requestId": "e4f95e0c-a013-4530-8e59-c5c5f9e539b6" }, "httpResponseCode": 200 } |
VOLTE Use Case
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
controlLoop: version: 2.0.0 controlLoopName: ControlLoop-VOLTE-2179b738-fd36-4843-a71a-a8c24c70c55b trigger_policy: unique-policy-id-1-restart "cloud-region": {timeout: 3600 abatement: false policies: - id: unique-policy-id-1-restart name: Restart the VM description: actor: VFC recipe: Restart target: type: VM "cloud-owner"retry: "Rackspace",3 timeout: 1200 success: final_success failure: final_failure failure_timeout: final_failure_timeout failure_retries: final_failure_retries failure_exception: final_failure_exception failure_guard: final_failure_guard |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "closedLoopEventClient": "DCAE.HolmesInstance", "cloud-region-idpolicyVersion": "DFW1.0.0.5", "policyName": "vVOLTE", "policyScope": "resource=volte,service=VolteSErvice,type=SampleType,closedLoopControlName=CL-VOLTE-SIG-d925ed73-8231-4d02-9545-db4e101f88f8", "target_type": "VM", "AAI": { "vserver.vserver-name": "dfw1lb01lb01", "service-instance.service-instance-id" : "TBD", "generic-vnf.vnf-id" "cloud-region-version": "v1",: "TBD", "generic-vnf.vnf-name" : "TBD" }, "closedLoopAlarmStart": 1484677482204798, "closedLoopEventStatus": "ONSET", "closedLoopControlName": "ControlLoop-VOLTE-2179b738-fd36-4843-a71a-a8c24c70c55b", "version": "1.0.2", "cloud-typetarget": "SharedNodevserver.vserver-name", "cloud-zonerequestID": "CloudZone97964e10-686e-4790-8c45-bdfa61df770f", "from": "DCAE" } |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
This call is a simple GET in order to retrieve "is-closed-loop-diable" flag. |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
Below is a sample GET response format. Field values are just examples. Will update to real values later. { "ownervnf-defined-typeid": "OwnerType5e49ca06-2972-4532-9ed4-6d071588d792", "vnf-name": "USUCP0PCOIL0110UJRT01", "vnf-type": "RT", "resourceservice-versionid": "1485465545"d7bb0a21-66f2-4e6d-87d9-9ef3ced63ae4", "equipment-role": "UCPE", "orchestration-status": "created", "management-option": "ATT", "ipv4-oam-address": "32.40.68.35", "ipv4-loopback0-address": "32.40.64.57", "nm-lan-v6-address": "2001:1890:e00e:fffe::1345", "management-v6-address": "2001:1890:e00e:fffd::36", }"in-maint": false, "is-closed-loop-disabled": false, "resource-version": "1493389458092", "relationship-list": {"relationship": [ { "related-to": "service-instance", "extra-properties": {} "related-link": "https://aai-int1.test.att.com:8443/aai/v9/business/customers/customer/1610_Func_Global_20160817084727/service-subscriptions/service-subscription/uCPE-VMS/service-instances/service-instance/USUCP0PCOIL0110UJZZ01", "relationship-data": [ { } "relationship-key": "customer.global-customer-id", ]"relationship-value": "1610_Func_Global_20160817084727" }, },{ "tenant"relationship-key": {"service-subscription.service-type", "relationship-value": "uCPE-VMS" "resource-version": "1485465545"}, { "tenantrelationship-idkey": "1015548service-instance.service-instance-id", "tenantrelationship-namevalue": "1015548USUCP0PCOIL0110UJZZ01" } } ], "related-to-property": [{"property-key": "service-instance.service-instance-name"}] }, { ] "related-to": "vserver", } "related-link": "https://aai-int1.test.att.com:8443/aai/v9/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/tenants/tenant/USUCP0PCOIL0110UJZZ01%3A%3AuCPE-VMS/vservers/vserver/3b2558f4-39d8-40e7-bfc7-30660fb52c45", "vserver "relationship-data": {[ "in-maint": false, { "relationship-key": "iscloud-closed-loop-disabled": falseregion.cloud-owner", "provrelationship-statusvalue": "ACTIVEatt-aic", }, "resource-version": "1485546436", { "vserverrelationship-idkey": "70f081ebcloud-2a87region.cloud-4c81region-9296-4b93d7d145c6id", "vserverrelationship-namevalue": "vlb-lb-32c8AAIAIC25", }, "vserver-name2": "vlb-lb-32c8", { "vserverrelationship-selflinkkey": "https://dfw.servers.api.rackspacecloud.com/v2/1015548/servers/70f081eb-2a87-4c81-9296-4b93d7d145c6" tenant.tenant-id", }"relationship-value": "USUCP0PCOIL0110UJZZ01::uCPE-VMS" } ] } | ||||||
Code Block | ||||||
| ||||||
{}, "requestDetails": { "modelInfo": { “modelType” "relationship-key": “vfModule”"vserver.vserver-id", “modelInvariantId” "relationship-value": “ff5256d2"3b2558f4-5a3339d8-55df40e7-13abbfc7-12abad84e7ff”, 30660fb52c45" } “modelNameVersionId”: “fe6478e5-ea33-3346-ac12-ab121484a3fe” ], "related-to-property": [ “modelName”: “vSAMP12..base..module-0”, { "modelVersionproperty-key": "1vserver.vserver-name", }, “cloudConfiguration” "property-value": {"USUCP0PCOIL0110UJZZ01-vsrx" }] “lcpCloudRegionId”: “mdt1”, } ]} } |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
Request URI: “tenantId”: “88a6ca3ee0394ade9403f075db23167e” POST http(s)://[hostname][:port]/api/nslcm/v1/ns/{nsInstanceId }/heal Request JSON: { " healVnfData": },{ "requestInfo" “vnfInstanceId”: {”1”, “cause”: “instanceName”: “MSOTEST103a-vSAMP12_base_module-0””vm is down”, “additionalParams”: { “source”: “VID”, “suppressRollback”“action”: true”restartvm”, }, "relatedInstanceList"“actionvminfo”: [{ { “vmid”: ”33”, “relatedInstance”: { “vmname”: ”xgw - smp11” “instanceId”: “{serviceInstanceId}”, } } } |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
Response JSON with response code “modelInfo”202: { “modelType”: “service” { “jobId”:”1” } Get Operation Status to read the status GET http(s)://[hostname][:port]/api/nslcm/v1/jobs/{jobId}&responseId={responseId} Response JSON with response code 200: { "jobId": "1234566", "responseDescriptor": { “modelInvariantId”: “ff3514e3-5a33-55df-13ab-12abad84e7ff”"progress": "40", “modelNameVersionId”: “fe6985cd-ea33-3346-ac12-ab121484a3fe”"status": "proccessing", "statusDescription": "OMC VMs are decommissioned “modelName”: “{parent service model name}”in VIM", "errorCode": null, "modelVersionresponseId": "1.042", }"responseHistoryList": [{ } }"progress": "40", { "status": "proccessing", “relatedInstance”: { "statusDescription": "OMC VMs are decommissioned “instanceId”: “{vnfInstanceId}”in VIM", "modelInfoerrorCode": {null, “modelType”"responseId": “vnf”,"1" “modelInvariantId”: “ff5256d1-5a33-55df-13ab-12abad84e7ff”,}, { “modelNameVersionId”: “fe6478e4-ea33-3346-ac12-ab121484a3fe”"progress": "41", “modelName”"status": “vSAMP12”"proccessing", "modelVersionstatusDescription": "1.0OMC VMs are decommissioned in VIM", "errorCode": null, “modelCustomizationName”: “vSAMP12 1” "responseId": "2" } } } ] } } |
vCPE Use Case
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
tca_policy: "{ ] "domain": "measurementsForVfScaling", “requestParameters” "metricsPerEventName": [{ “userParams” "eventName": [] "Measurement_vGMUX", } } } | ||||||
Code Block | ||||||
*TODO show the SO API response message |
VOLTE Use Case
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
*TBD from Holmes Team | ||||||
Code Block | ||||||
| ||||||
{ "controlLoopSchemaType": "VNF", "policyScope": "DCAE", "closedLoopEventClientpolicyName": "DCAE.HolmesInstanceConfig_tca-hi-lo", "policyVersion": "1v0.0.0.51", "policyNamethresholds": "vVOLTE", [{ "policyScopeclosedLoopControlName": "resource=volte,service=VolteSErvice,type=SampleType,closedLoopControlName=CL-VOLTE-SIG-d925ed73-8231-4d02-9545-db4e101f88f8", ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e", "target_typeversion": "VM1.0.2", "AAIfieldPath": { # the value "dfw1lb01lb01" comes from VES sourceName field "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value", "thresholdValue": 0, "vserver.vserver-namedirection": "dfw1lb01lb01EQUAL", # # WE ARE TRYING TO DETERMINE IF HOLMES CAN POPULATE SOME OF THESE VALUES # "service-instance.service-instance-id" : "TBD - Can Holmes provide this?", "generic-vnf.vnf-id" "severity": "TBDMAJOR", "vserver.vserver-id" : "TBD" }, "closedLoopAlarmStart": 1484677482204798, "closedLoopEventStatus": "ABATED" }, { "closedLoopEventStatus": "ONSET", "closedLoopControlName": "CLControlLoop-VOLTEvCPE-SIG48f0c2c3-d925ed73a172-82314192-4d029ae3-9545-db4e101f88f8052274181b6e", "version": "1.0.2", "targetfieldPath": "vserver.vserver-name$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value", "requestIDthresholdValue": "97964e10-686e-4790-8c45-bdfa61df770f", 0, "from": "DCAE" } | ||||||
Code Block | ||||||
* TODO Sample A&AI call to retrieve these values: "service-instance.service-instance-id" : "TBD - Can Holmes provide this?", "generic-vnf.vnf-id" "direction": "TBDGREATER", "vserver.vserver-id" : "TBD" May require 2 calls. We are also hoping Holmes could prepopulate this if that team is going to retrieve topology details from A&AI anyway. |
Code Block |
---|
* TODO - A&AI response(s) |
Code Block |
---|
*TODO Call to VFC details |
Code Block |
---|
*TODO response from VFC |
vCPE Use Case
"severity": "CRITICAL",
"closedLoopEventStatus": "ONSET"
}]
}]
}" |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
Code Block | ||||||
| ||||||
tca_policy: "{ "domain": "measurementsForVfScaling", "metricsPerEventName": [ { "eventName": "vCPEvGMUXPacketLoss", "controlLoopSchemaType": "VM",controlLoop: version: 2.0.0 controlLoopName: ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e trigger_policy: unique-policy-id-1-restart timeout: 3600 abatement: true policies: - id: unique-policy-id-1-restart name: Restart the VM description: actor: APPC recipe: Restart target: "policyScope"type: "DCAE",VM retry: "policyName": "DCAE.Config_tca-hi-lo",3 timeout: 1200 "policyVersion": "v0.0.1",success: final_success failure: "thresholds": [ final_failure failure_timeout: final_failure_timeout {failure_retries: final_failure_retries failure_exception: final_failure_exception failure_guard: final_failure_guard |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "closedLoopControlName": "CL-vCPEvGMUX-TRAFFIC-SIG-FB480F95-A453-6F24-B767-FD703241ABA1", "versionclosedLoopControlName": "1.0.2ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e", "fieldPathversion": "$1.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta0.2", "thresholdValue": 0, "directionrequestID": "EQUAL0abc0000-b032-4e4b-bd30-88260f444888", "severityclosedLoopAlarmStart": "MAJOR"1478189220547, "closedLoopEventStatusclosedLoopEventClient": "ABATED }, { "DCAE_INSTANCE_ID.dcae-tca", "closedLoopControlNametarget_type": "CL-vCPEvGMUX-TRAFFIC-SIG-FB480F95-A453-6F24-B767-FD703241ABA1VNF", "versiontarget": "1.0.2generic-vnf.vnf-name", "fieldPathAAI": "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta",{ "thresholdValue": 1000, "direction"generic-vnf.vnf-name" : "GREATER_OR_EQUAL", vCPE_Infrastructure_vGMUX_demo_app" "severity": "CRITICAL" }, "closedLoopEventStatusfrom": "ONSETDCAE", } ] } ] }" | ||||||
Code Block | ||||||
| ||||||
{"policyScope": "DCAE", "closedLoopControlNamepolicyName": "CL-vCPEvGMUX-TRAFFIC-SIG-FB480F95-A453-6F24-B767-FD703241ABA1DCAE.Config_tca-hi-lo", "versionpolicyVersion": "1v0.0.21", "requestIDclosedLoopEventStatus": "0abc0000-b032-4e4b-bd30-88260f444888", ONSET" } |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "body": { "input": { "closedLoopAlarmStartcommon-header": 1478189220547, { "closedLoopEventClienttimestamp": "tca.instance000012017-08-25T21:06:23.037Z", "target_typeapi-ver": "VNF2.00", "target"originator-id": "generic-vnf.vnf-ida20e2073-30b1-4357-893b-f5ed57b66ef0", "AAI": { "request-id": "a20e2073-30b1-4357-893b-f5ed57b66ef0", "genericsub-vnf.vnfrequest-id" : "????1", },"flags": {} }, "fromaction": "DCAERestart", "policyScope"action-identifiers": "DCAE", { "policyNamevnf-id": "DCAE.Config_tca-hi-lo",vCPE_Infrastructure_vGMUX_demo_app" } } }, "policyVersionversion": "v02.0.1", "rpc-name": "restart", "correlation-id": "a20e2073-30b1-4357-893b-f5ed57b66ef0-1", "closedLoopEventStatustype": "ONSETrequest" } |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "body": { "inputoutput": { "common-header": { "timestamp": "2017-08-25T21:06:23.037Z", "api-ver": "52.00", "originator-id": "a20e2073-30b1-4357-893b-f5ed57b66ef0", "request-id": "a20e2073-30b1-4357-893b-f5ed57b66ef0", "sub-request-id": "1", "flags": {} }, "actionstatus": "restart", { "action-identifierscode": {400, "vnf-idmessage": "fw0001vm001fw001Restart Successful" } } }, "version": "2.000", "rpc-name": "restart", "correlation-id": "a20e2073-30b1-4357-893b-f5ed57b66ef0-1", "type": "response" } |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "closedLoopControlName": "ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e", "version": "restart1.0.2", "correlation-idrequestID": "a20e20730abc0000-30b1b032-43574e4b-893bbd30-f5ed57b66ef0-188260f444888", "type": "request" } | ||||||
Code Block | ||||||
| ||||||
{ "body": { "outputclosedLoopAlarmStart": {1478189220547, "common-header": { "timestampclosedLoopAlarmEnd": "2017-08-25T21:06:23.037Z"1478589220547, "api-verclosedLoopEventClient": "5.00DCAE_INSTANCE_ID.dcae-tca", "originator-idtarget_type": "a20e2073-30b1-4357-893b-f5ed57b66ef0VNF", "request-idtarget": "a20e2073generic-30b1-4357-893b-f5ed57b66ef0vnf.vnf-name", "AAI": "sub-request-id": "1", { "generic-vnf.vnf-name" : "vCPE_Infrastructure_vGMUX_demo_app" "flags": {}, }, "statusfrom": {"DCAE", "codepolicyScope": 400"DCAE", "messagepolicyName": "Restart Successful"DCAE.Config_tca-hi-lo", } } }, "versionpolicyVersion": "2v0.0.1", "rpc-name": "restart", "correlation-id": "a20e2073-30b1-4357-893b-f5ed57b66ef0-1", "typeclosedLoopEventStatus": "responseABATED" } |