Triggered by merges in policy/engine, policy/drools-pdp, and policy/drools-applications
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) |
4 | 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 |
5 | 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) |
6 | 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 |
7 | 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 |
...
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": "ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a",
"version": "1.0.2",
"fieldPath": "$.event.measurementsForVfScalingFields.vNicUsageArray[*].receivedTotalPacketsDelta",
"thresholdValue": 300,
"direction": "LESS_OR_EQUAL",
"severity": "MAJOR",
"closedLoopEventStatus": "ONSET"
},
{
"closedLoopControlName": "ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a",
"version": "1.0.2",
"fieldPath": "$.event.measurementsForVfScalingFields.vNicUsageArray[*].receivedTotalPacketsDelta",
"thresholdValue": 700,
"direction": "GREATER_OR_EQUAL",
"severity": "CRITICAL",
"closedLoopEventStatus": "ONSET"
}
]
}
]
}"
|
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
controlLoop:
version: 2.0.0
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 - Cannot be known until instantiation is done
resourceID: Eace933104d443b496b8.nodes.heat.vpg
type: VNF
retry: 0
timeout: 300
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_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 | ||||||
---|---|---|---|---|---|---|
| ||||||
For a different vnfName
{
"vnf-id": "4e46ad6c-cebe-4460-858e-b5806883271b",
"vnf-name": "vfw7f5a57d6",
"vnf-type": "da818f33-97e1-4edf-98a5/5759f208-b75c-4b35-9599 0",
"service-id": "a322c144-537c-4532-bf1b-0a4889083388",
"prov-status": "PREPROV",
"orchestration-status": "Created",
"in-maint": false,
"is-closed-loop-disabled": false,
"resource-version": "1521467089262",
"model-invariant-id": "a1efbbdd-2077-4b86-9fc0-244af99760f0",
"model-version-id": "34c3221b-1326-4f35-9ed7-6f2f7e59d788",
"model-customization-id": "1798c9a9-eaae-438f-bac3-b013599e8909",
"nf-type": "",
"nf-function": "",
"nf-role": "",
"nf-naming-code": "",
"relationship-list": {
"relationship": [
{
"related-to": "service-instance",
"related-link": "/aai/v11/business/customers/customer/DemoCust_7d454ef5-f5ea-4346-b2d3-e9797f5a57d6/service-subscriptions/service-subscription/vFW/service-instances/service-instance/7c45e4f7-aa7a-4130-9ee3-c5c1d81840df",
"relationship-data": [
{
"relationship-key": "customer.global-customer-id",
"relationship-value": "DemoCust_7d454ef5-f5ea-4346-b2d3-e9797f5a57d6"
},
{
"relationship-key": "service-subscription.service-type",
"relationship-value": "vFW"
},
{
"relationship-key": "service-instance.service-instance-id",
"relationship-value": "7c45e4f7-aa7a-4130-9ee3-c5c1d81840df"
}
],
"related-to-property": [
{
"property-key": "service-instance.service-instance-name",
"property-value": "Service_Ete_Name7d454ef5-f5ea-4346-b2d3-e9797f5a57d6"
}
]
},
{
"related-to": "vserver",
"related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/50b190410b2a4c229d8a6044a80ab7c1/vservers/vserver/3f3f3c72-269d-45e6-8953-692424f2df1f",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
"relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
"relationship-value": "RegionOne"
},
{
"relationship-key": "tenant.tenant-id",
"relationship-value": "50b190410b2a4c229d8a6044a80ab7c1"
},
{
"relationship-key": "vserver.vserver-id",
"relationship-value": "3f3f3c72-269d-45e6-8953-692424f2df1f"
}
],
"related-to-property": [
{
"property-key": "vserver.vserver-name",
"property-value": "demofwl01pgn"
}
]
},
{
"related-to": "vserver",
"related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/50b190410b2a4c229d8a6044a80ab7c1/vservers/vserver/4c45d0a4-a873-4d95-87ca-2a198322c9c4",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
"relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
"relationship-value": "RegionOne"
},
{
"relationship-key": "tenant.tenant-id",
"relationship-value": "50b190410b2a4c229d8a6044a80ab7c1"
},
{
"relationship-key": "vserver.vserver-id",
"relationship-value": "4c45d0a4-a873-4d95-87ca-2a198322c9c4"
}
],
"related-to-property": [
{
"property-key": "vserver.vserver-name",
"property-value": "demofwl01snk"
}
]
},
{
"related-to": "vserver",
"related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/50b190410b2a4c229d8a6044a80ab7c1/vservers/vserver/b96416ef-fc4e-49cb-8120-1d56686d2e90",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
"relationship-value": "CloudOwner"
},
{
"relationship-key": "cloud-region.cloud-region-id",
"relationship-value": "RegionOne"
},
{
"relationship-key": "tenant.tenant-id",
"relationship-value": "50b190410b2a4c229d8a6044a80ab7c1"
},
{
"relationship-key": "vserver.vserver-id",
"relationship-value": "b96416ef-fc4e-49cb-8120-1d56686d2e90"
}
],
"related-to-property": [
{
"property-key": "vserver.vserver-name",
"property-value": "vfw7f5a57d6"
}
]
}
]
}
}
|
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": [
{
"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"
}]
}
}
}
|
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
ACCEPT response
{
"Status": {
"Value": "ACCEPTED",
"Code": "100"
},
"Payload": {
"pg-streams": "{\\\"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",
"APIver": "1.01",
"RequestID": "664be3d2-6c12-4f4b-a3e7-c349acced200",
"SubrequestID": null,
"OriginatorID": null
}
}
SUCCESS response
{
"Status": {
"Value": "SUCCESS",
"Code": "400"
},
"Payload": {
"pg-streams": "{\\\"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",
"APIver": "1.01",
"RequestID": "664be3d2-6c12-4f4b-a3e7-c349acced200",
"SubrequestID": null,
"OriginatorID": null
}
} |
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
tca_policy: "{
"domain": "measurementsForVfScaling",
"metricsPerEventName": [{
"eventName": "vLoadBalancer",
"controlLoopSchemaType": "VM",
"policyScope": "DCAE",
"policyName": "DCAE.Config_tca-hi-lo",
"policyVersion": "v0.0.1",
"thresholds": [{
"closedLoopControlName": "ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3",
"version": "1.0.2",
"fieldPath": "$.event.measurementsForVfScalingFields.vNicUsageArray[*].receivedTotalPacketsDelta",
"thresholdValue": 300,
"direction": "GREATER_OR_EQUAL",
"severity": "CRITICAL",
"closedLoopEventStatus": "ONSET"
}]
}]
}" |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
controlLoop:
version: 2.0.0
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:
type: VNF
retry: 0
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_INSTANCE_ID.dcae-tca",
"policyVersion": "1.0.0.5",
"policyName": "vLoadBalancer",
"policyScope": "resource=SampleResource,service=SampleService,type=SampleType,closedLoopControlName=SampleClosedLoop",
"target_type": "VM",
"AAI": {
"vserver.vserver-name": "dfw1lb01lb01"
},
"closedLoopAlarmStart": 1484677482204798,
"closedLoopEventStatus": "ONSET",
"closedLoopControlName": "ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3",
"version": "1.0.2",
"target": "vserver.vserver-name",
"requestID": "97964e10-686e-4790-8c45-bdfa61df770f",
"from": "DCAE"
} |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{
"query-parameters": {
"named-query": {
"named-query-uuid": "4ff56a54-9e3f-46b7-a337-07a1d3c6b469"
}
},
"instance-filters": {
"instance-filter": [{
"vserver": {
"vserver-name": "dfw1lb01lb01"
}
}]
}
} |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{
"inventory-response-item": [
{
"vserver": {
"vserver-id": "6ed3642c-f7a1-4a7c-9290-3d51fe1531eb",
"vserver-name": "zdfw1lb01lb02",
"vserver-name2": "zdfw1lb01lb02",
"prov-status": "ACTIVE",
"vserver-selflink": "http://10.12.25.2:8774/v2.1/41d6d38489bd40b09ea8a6b6b852dcbd/servers/6ed3642c-f7a1-4a7c-9290-3d51fe1531eb",
"in-maint": false,
"is-closed-loop-disabled": false,
"resource-version": "1510606403522"
},
"extra-properties": {},
"inventory-response-items": {
"inventory-response-item": [
{
"model-name": "vLoadBalancer",
"generic-vnf": {
"vnf-id": "db373a8d-f7be-4d02-8ac8-6ca4c305d144",
"vnf-name": "Vfmodule_vLB1113",
"vnf-type": "vLoadBalancer-1106/vLoadBalancer 0",
"service-id": "66f157fc-4148-4880-95f5-e120677e98d1",
"prov-status": "PREPROV",
"orchestration-status": "Created",
"in-maint": false,
"is-closed-loop-disabled": false,
"resource-version": "1510604011851",
"model-invariant-id": "cee050ed-92a5-494f-ab04-234307a846dc",
"model-version-id": "fd65becc-6b2c-4fe8-ace9-cc29db9a3da2",
"model-customization-id": "1983c783-444f-4e79-af3a-85e5d49628f3",
"nf-type": "",
"nf-function": "",
"nf-role": "",
"nf-naming-code": ""
},
"extra-properties": {
"extra-property": [
{
"property-name": "model-ver.model-version-id",
"property-value": "fd65becc-6b2c-4fe8-ace9-cc29db9a3da2"
},
{
"property-name": "model-ver.model-name",
"property-value": "vLoadBalancer"
},
{
"property-name": "model.model-type",
"property-value": "resource"
},
{
"property-name": "model.model-invariant-id",
"property-value": "cee050ed-92a5-494f-ab04-234307a846dc"
},
{
"property-name": "model-ver.model-version",
"property-value": "1.0"
}
]
},
"inventory-response-items": {
"inventory-response-item": [
{
"model-name": "vLoadBalancer-1106",
"service-instance": {
"service-instance-id": "3b12f31f-8f2d-4f5c-b875-61ff1194b941",
"service-instance-name": "vLoadBalancer-1113",
"model-invariant-id": "1321d60d-f7ff-4300-96c2-6bf0b3268b7a",
"model-version-id": "732d4692-4b97-46f9-a996-0b3339e88c50",
"resource-version": "1510603936425"
},
"extra-properties": {
"extra-property": [
{
"property-name": "model-ver.model-version-id",
"property-value": "732d4692-4b97-46f9-a996-0b3339e88c50"
},
{
"property-name": "model-ver.model-name",
"property-value": "vLoadBalancer-1106"
},
{
"property-name": "model.model-type",
"property-value": "service"
},
{
"property-name": "model.model-invariant-id",
"property-value": "1321d60d-f7ff-4300-96c2-6bf0b3268b7a"
},
{
"property-name": "model-ver.model-version",
"property-value": "1.0"
}
]
}
},
{
"model-name": "Vloadbalancer..base_vlb..module-0",
"vf-module": {
"vf-module-id": "e6b3e3eb-34e1-4c00-b8c1-2a4fbe479b12",
"vf-module-name": "Vfmodule_vLB1113-1",
"heat-stack-id": "Vfmodule_vLB1113-1/3dd6d900-772f-4fcc-a0cb-e250ab2bb4db",
"orchestration-status": "active",
"is-base-vf-module": true,
"resource-version": "1510604612557",
"model-invariant-id": "6d760188-9a24-451a-b05b-e08b86cb94f2",
"model-version-id": "93facad9-55f2-4fe0-9574-814c2bc2d071",
"model-customization-id": "93fd5bd4-8051-4074-8530-c0c504604df5",
"module-index": 0
},
"extra-properties": {
"extra-property": [
{
"property-name": "model-ver.model-version-id",
"property-value": "93facad9-55f2-4fe0-9574-814c2bc2d071"
},
{
"property-name": "model-ver.model-name",
"property-value": "Vloadbalancer..base_vlb..module-0"
},
{
"property-name": "model.model-type",
"property-value": "resource"
},
{
"property-name": "model.model-invariant-id",
"property-value": "6d760188-9a24-451a-b05b-e08b86cb94f2"
},
{
"property-name": "model-ver.model-version",
"property-value": "1"
}
]
}
},
{
"model-name": "Vloadbalancer..dnsscaling..module-1",
"vf-module": {
"vf-module-id": "dummy_db373a8d-f7be-4d02-8ac8-6ca4c305d144",
"vf-module-name": "dummy_db373a8d-f7be-4d02-8ac8-6ca4c305d144",
"is-base-vf-module": false,
"resource-version": "1510610079687",
"model-invariant-id": "356a1cff-71f2-4086-9980-a2927ce11c1c",
"model-version-id": "6b93d804-cfc8-4be3-92cc-9336d135859a"
},
"extra-properties": {
"extra-property": [
{
"property-name": "model-ver.model-version-id",
"property-value": "6b93d804-cfc8-4be3-92cc-9336d135859a"
},
{
"property-name": "model-ver.model-name",
"property-value": "Vloadbalancer..dnsscaling..module-1"
},
{
"property-name": "model.model-type",
"property-value": "resource"
},
{
"property-name": "model.model-invariant-id",
"property-value": "356a1cff-71f2-4086-9980-a2927ce11c1c"
},
{
"property-name": "model-ver.model-version",
"property-value": "1"
}
]
}
}
]
}
},
{
"tenant": {
"tenant-id": "41d6d38489bd40b09ea8a6b6b852dcbd",
"tenant-name": "Integration-SB-00",
"resource-version": "1509587770200"
},
"extra-properties": {},
"inventory-response-items": {
"inventory-response-item": [
{
"cloud-region": {
"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": "1509587770092"
},
"extra-properties": {}
}
]
}
}
]
}
}
]
} |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
NOTE: Robot must add preload for dummy module for this to work.
{
"requestDetails": {
"modelInfo": {
"modelType": "vfModule",
"modelInvariantId": "356a1cff-71f2-4086-9980-a2927ce11c1c",
"modelVersionId": "6b93d804-cfc8-4be3-92cc-9336d135859a",
"modelName": "Vloadbalancer..dnsscaling..module-1",
"modelVersion": "1"
},
"cloudConfiguration": {
"lcpCloudRegionId": "RegionOne",
"tenantId": "41d6d38489bd40b09ea8a6b6b852dcbd"
},
"requestInfo": {
"instanceName": "vDNS_vLB1113-1",
"source": "POLICY",
"suppressRollback": false,
"requestorId": "policy"
},
"relatedInstanceList": [
{
"relatedInstance": {
"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",
"modelVersionId": "fd65becc-6b2c-4fe8-ace9-cc29db9a3da2",
"modelName": "vLoadBalancer",
"modelVersion": "1.0",
"modelCustomizationName": "vLoadBalancer 0"
}
}
}
],
"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
timeout: 3600
abatement: false
policies:
- id: unique-policy-id-1-restart
name: Restart the VM
description:
actor: VFC
recipe: Restart
target:
type: VM
retry: 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",
"policyVersion": "1.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" : "TBD",
"generic-vnf.vnf-name" : "TBD"
},
"closedLoopAlarmStart": 1484677482204798,
"closedLoopEventStatus": "ONSET",
"closedLoopControlName": "ControlLoop-VOLTE-2179b738-fd36-4843-a71a-a8c24c70c55b",
"version": "1.0.2",
"target": "vserver.vserver-name",
"requestID": "97964e10-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.
{
"vnf-id": "5e49ca06-2972-4532-9ed4-6d071588d792",
"vnf-name": "USUCP0PCOIL0110UJRT01",
"vnf-type": "RT",
"service-id": "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",
"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"
},
{
"relationship-key": "service-subscription.service-type",
"relationship-value": "uCPE-VMS"
},
{
"relationship-key": "service-instance.service-instance-id",
"relationship-value": "USUCP0PCOIL0110UJZZ01"
}
],
"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",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
"relationship-value": "att-aic"
},
{
"relationship-key": "cloud-region.cloud-region-id",
"relationship-value": "AAIAIC25"
},
{
"relationship-key": "tenant.tenant-id",
"relationship-value": "USUCP0PCOIL0110UJZZ01::uCPE-VMS"
},
{
"relationship-key": "vserver.vserver-id",
"relationship-value": "3b2558f4-39d8-40e7-bfc7-30660fb52c45"
}
],
"related-to-property": [
{
"property-key": "vserver.vserver-name",
"property-value": "USUCP0PCOIL0110UJZZ01-vsrx"
}]
}
]}
} |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
Request URI:
POST http(s)://[hostname][:port]/api/nslcm/v1/ns/{nsInstanceId }/heal
Request JSON:
{
" healVnfData": {
“vnfInstanceId”: ”1”,
“cause”: ”vm is down”,
“additionalParams”: {
“action”: ”restartvm”,
“actionvminfo”: {
“vmid”: ”33”,
“vmname”: ”xgw - smp11”
}
}
}
} |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
Response JSON with response code 202:
{
“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": {
"progress": "40",
"status": "proccessing",
"statusDescription": "OMC VMs are decommissioned in VIM",
"errorCode": null,
"responseId": "42",
"responseHistoryList": [{
"progress": "40",
"status": "proccessing",
"statusDescription": "OMC VMs are decommissioned in VIM",
"errorCode": null,
"responseId": "1"
}, {
"progress": "41",
"status": "proccessing",
"statusDescription": "OMC VMs are decommissioned in VIM",
"errorCode": null,
"responseId": "2"
}
]
}
} |
vCPE Use Case
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
tca_policy: "{
"domain": "measurementsForVfScaling",
"metricsPerEventName": [{
"eventName": "Measurement_vGMUX",
"controlLoopSchemaType": "VNF",
"policyScope": "DCAE",
"policyName": "DCAE.Config_tca-hi-lo",
"policyVersion": "v0.0.1",
"thresholds": [{
"closedLoopControlName": "ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e",
"version": "1.0.2",
"fieldPath": "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value",
"thresholdValue": 0,
"direction": "EQUAL",
"severity": "MAJOR",
"closedLoopEventStatus": "ABATED"
}, {
"closedLoopControlName": "ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e",
"version": "1.0.2",
"fieldPath": "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value",
"thresholdValue": 0,
"direction": "GREATER",
"severity": "CRITICAL",
"closedLoopEventStatus": "ONSET"
}]
}]
}" |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
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:
type: VM
retry: 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 | ||||||
---|---|---|---|---|---|---|
| ||||||
{
"closedLoopControlName": "ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e",
"version": "1.0.2",
"requestID": "0abc0000-b032-4e4b-bd30-88260f444888",
"closedLoopAlarmStart": 1478189220547,
"closedLoopEventClient": "DCAE_INSTANCE_ID.dcae-tca",
"target_type": "VNF",
"target": "generic-vnf.vnf-name",
"AAI": {
"generic-vnf.vnf-name" : "vCPE_Infrastructure_vGMUX_demo_app"
},
"from": "DCAE",
"policyScope": "DCAE",
"policyName": "DCAE.Config_tca-hi-lo",
"policyVersion": "v0.0.1",
"closedLoopEventStatus": "ONSET"
} |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{
"body": {
"input": {
"common-header": {
"timestamp": "2017-08-25T21:06:23.037Z",
"api-ver": "2.00",
"originator-id": "a20e2073-30b1-4357-893b-f5ed57b66ef0",
"request-id": "a20e2073-30b1-4357-893b-f5ed57b66ef0",
"sub-request-id": "1",
"flags": {}
},
"action": "Restart",
"action-identifiers": {
"vnf-id": "vCPE_Infrastructure_vGMUX_demo_app"
}
}
},
"version": "2.0",
"rpc-name": "restart",
"correlation-id": "a20e2073-30b1-4357-893b-f5ed57b66ef0-1",
"type": "request"
} |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{
"body": {
"output": {
"common-header": {
"timestamp": "2017-08-25T21:06:23.037Z",
"api-ver": "2.00",
"originator-id": "a20e2073-30b1-4357-893b-f5ed57b66ef0",
"request-id": "a20e2073-30b1-4357-893b-f5ed57b66ef0",
"sub-request-id": "1",
"flags": {}
},
"status": {
"code": 400,
"message": "Restart Successful"
}
}
},
"version": "2.00",
"rpc-name": "restart",
"correlation-id": "a20e2073-30b1-4357-893b-f5ed57b66ef0-1",
"type": "response"
} |
...
title | DCAE ABATED Control Loop Event |
---|---|
linenumbers | true |
collapse | true |
...
Triggered by merges in policy/distribution (NOT FINISHED)
Test Case Id | Description | Pre-conditions | Test Steps | Expected Results |
---|---|---|---|---|
1 | Perform healthcheck for the Policy SDC Service Distribution application |
| API – healthcheck Method - GET Endpoint: http://<host>:8081/health(?) | The Policy PSSD should return health status as “true” |
Triggered by merges in policy/apex-pdp (Stretch - DONE)
Test Case Id | Description | Pre-conditions | Test Steps | Expected Results |
---|---|---|---|---|
1 | Perform healthcheck for the Policy Apex PDP |
| API – healthcheck Method - GET Endpoint: http://<host>:8081/healthcheck(?) | The Apex PDP should return health status as “true” |