Skip to end of metadata
Go to start of metadata
You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 7
Next »
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 - Drools PDP
- XACML PDP
- PAP
- BRMSGateway
| - Policy docker image ready and policy components (Drools, XACML, PAP, BRMS Gateway) should be up and running
- Server and authentication details should be configured at $POLICY_HOME/config/feature-healthcheck.properties
| API – healthcheck Method - GET Endpoint: http://<host>:8081/healthcheck | All the policy components should return health status as “true” |
2
| Import/Load Use case template for the following use cases (VoLTE, vCPE, vFW, vDNS)
| Policy components should be up and running
| API – policyEngineImport
Method – POST
Endpoint:
https://<host>:8081/pdp/policyEngineImport
| Policy service models should be imported for the specified use cases. We should be able to create policy from here.
|
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 |
Triggered by merges in policy/distribution
Test Case Id | Description | Pre-conditions | Test Steps | Expected Results |
---|
1 | Perform healthcheck for the Policy SDC Service Distribution application
| - Policy PSSD docker image available
| 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)
Test Case Id | Description | Pre-conditions | Test Steps | Expected Results |
---|
1 | Perform healthcheck for the Policy Apex PDP
| - Apex PDP docker image available
| API – healthcheck Method - GET Endpoint: http://<host>:8081/healthcheck(?) | The Apex PDP should return health status as “true” |
|
|
|
|
|
Triggered by merges in policy/xacml-pdp (Stretch)
Test Case Id | Description | Pre-conditions | Test Steps | Expected Results |
---|
1 | Perform healthcheck for the 2nd generation XACML PDP engine | - Policy XACML PDP docker image available
| API – healthcheck Method - GET Endpoint: http://<host>:8081/health(?) | The XACML PDP should return health status as “true” |
|
|
|
|
|
Triggered by merges in policy/pap (Stretch)
Test Case Id | Description | Pre-conditions | Test Steps | Expected Results |
---|
1 | Perform healthcheck for the 2nd generation PAP engine | - Policy PAP docker image available
| API – healthcheck Method - GET Endpoint: http://<host>:8081/health(?) | The PAP should return health status as “true” |
|
|
|
|
|
Triggered by merges in policy/api (Stretch)
Test Case Id | Description | Pre-conditions | Test Steps | Expected Results |
---|
1 | Perform healthcheck for the Policy Lifecycle API | - Policy API docker image available
| API – healthcheck Method - GET Endpoint: http://<host>:8081/health(?) | The API should return health status as “true” |
|
|
|
|
|
VOLTE Use Case
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
{
"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"
}
This call is a simple GET in order to retrieve "is-closed-loop-diable" flag.
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"
}]
}
]}
}
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”
}
}
}
}
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
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"
}]
}]
}"
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
{
"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"
}
{
"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"
}
{
"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"
}
{
"closedLoopControlName": "ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e",
"version": "1.0.2",
"requestID": "0abc0000-b032-4e4b-bd30-88260f444888",
"closedLoopAlarmStart": 1478189220547,
"closedLoopAlarmEnd": 1478589220547,
"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": "ABATED"
}