Skip to end of metadata
Go to start of metadata

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

  •   VoLTE
  •   vFW
  •   vDNS
  •   vCPE

 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

  •   VoLTE
  •   vFW
  •   vDNS
  •   vCPE

 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  

  •   VoLTE
  •   vFW
  •   vDNS
  •   vCPE

 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

  •   VoLTE
  •   vFW
  •   vDNS
  •   vCPE

 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

  •   VoLTE
  •   vFW
  •   vDNS
  •   vCPE

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


vFirewall Use Case

vFirewall - TCA Configuration Policy Payload
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"
        }
      ]
    }
  ]
 
}"
vFirewall - Operational Policy
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

DCAE Control Loop Event (TCA) - vFirewall
{
	"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"
}
AAI vnf-name query
https://{aai}/aai/v11/network/generic-vnfs/generic-vnf?vnf-name=zdfw1fwl01fwl02
AAI named-query response
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"
                    }
                ]
            }
        ]
    }
}
APPC request
{
  	"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"
        	}]
    	}
  	}
}


APPC response
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
    }
}


vDNS Use Case

vDNS - TCA Configuration Policy Payload
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"
              }]
       }]
}"
vDNS - Operational Policy
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
DCAE Control Loop Event (TCA) - vDNS
{
                "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"
}
AAI named-query request
{
	"query-parameters": {
    	"named-query": {
        	"named-query-uuid": "4ff56a54-9e3f-46b7-a337-07a1d3c6b469"
        }
    },
    "instance-filters": {
    	"instance-filter": [{
        	"vserver": {
            	"vserver-name": "dfw1lb01lb01"
            }
        }]
    }
}
AAI named-query response
{
    "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": {}
                                }
                            ]
                        }
                    }
                ]
            }
        }
    ]
}
SO request
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": {}

  }

}
SO Response
SUCCESS:
{
	"requestReferences": {
    	"instanceId": "ff305d54-75b4-ff1b-bdb2-eb6b9e5460ff",
    	"requestId": "e4f95e0c-a013-4530-8e59-c5c5f9e539b6"
  	},
  	"httpResponseCode": 200
}


VOLTE Use Case


VOLTE - Operational Policy
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
DCAE Control Loop Event (HOLMES) - VOLTE
{
	"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"
}
A&AI Call
This call is a simple GET in order to retrieve "is-closed-loop-diable" flag.
A&AI Response
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"
         	}]
      	}
   	]}
}
VFC request
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”
            }
        }
    }
}
VFC response
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


vCPE - TCA Configuration Policy Payload
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"
              }]
       }]
}"
vCPE Operational Policy
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
DCAE Control Loop Event (TCA) - vCPE
{
            "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"
}
APPC request
{
  "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"
}
APPC response
{
  "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"
}
DCAE ABATED Control Loop Event
{
            "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"
}







1 Comment

  1. Thank you @Pamela Dragosh for this great page for CSIT functional test planning. It is not only comprehensive and easy to read, but also easy to adapt for other needs. I used your page as a template for the Optimization Framework CSIT page (OOF Beijing (R2) Functional Testing planning).