Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: added table of content

Table of Contents

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)

34

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

4

Import/Load Use case template

5

Create Operational policy for the following use cases ( 

  •   VoLTE
,
  •  
vCPE,
  • vFW
, vDNS)
  •   vDNS
  •   vCPE

 Policy components should   be up and running

API – policyEngineImport - createPolicy  

MethodPOSTPUT

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.

5

Create Operational policy for the following use cases  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

6

Push operational Policy to the PDP Engines for each use case

  •   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)

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

8

Simulate DCAE Control loop event for each use case with higher   or lower threshold values

  •   VoLTE
  •   vFW
  •   vDNS
  •   vCPE
  • Policy components up and running
  • Simulator should be available

Invoke the Simulator API to trigger a DCAE control loop event

DCAE event should be triggered to Policy for each use case   depending on the threshold configured

9Simulate A&AI Response for Use Case vFW


10

Simulate APPC Response for Use Case vFW

  • Policy components up and running
  • Simulator should be available

Invoke APPC simulator API with Policy data or Trigger a DCAE   control loop event for vFW/vCPE

Valid Response from AppC Simulator API

11Simulate A&AI Response for Use Case vCPE


12Simulate APPC Response for Use Case vCPE


13Simulate A&AI Response for Use Case VOLTE


14

Simulate VF-C Response for Use Case VOLTE

  • Policy components up and running
  • Simulator should be available

Invoke VF-C simulator API with Policy data or Trigger a DCAE   control loop event for VOLTE

Valid Response from VF-C Simulator API

15

Simulate SO Response for VDNS

  • Policy components up and running
  • Simulator should be available

Invoke SO simulator API with Policy data or Trigger a DCAE   control loop event for vDNS

Valid Response from SO Simulator API

16

Simulate A&AI Response for VDNS

  • Policy components up and running
  • Simulator should be available

Invoke A&AI simulator API with Policy data or Trigger a DCAE   control loop event for vDNS

Valid Response from A&AI Simulator API


vFirewall Use Case

Code Block
titlevFirewall - TCA Configuration Policy Payload
linenumberstrue
collapsetrue
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-EC5F21309A09a5b5-4630b438850a",
          "version": "1.0.2",
          "fieldPath": "$$$.event.measurementsForVfScalingFields.vNicPerformanceArrayvNicUsageArray[*].receivedBroadcastPacketsAccumulatedreceivedTotalPacketsDelta",
          "thresholdValue": 20000700,
          "direction": "GREATER_OR_EQUAL",
          "severity": "CRITICAL",
          "closedLoopEventStatus": "ONSET"
        }
      ]
    }
  ]
 
}"
Code Block
titlevFirewall - Operational Policy
linenumberstrue
collapsetrue
controlLoop:
  version: 2.0.0
  controlLoopName: ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a
  services:
    - serviceInvariantUUID: 5cfe6f4a-41bc-4247-8674-ebd4b98e35cc
      serviceUUID: 0f40bba5-986e-4b3c-803f-ddd1b7b25f24
      serviceName: 57e66ea7-0ed6-45c7-970f
  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
titleDCAE Control Loop Event (TCA) - vFirewall
linenumberstrue
collapsetrue
{
	"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-idname": "zdfw1fwl01fwl02"
	},
	"closedLoopAlarmStart": 1484855291527925,
	"closedLoopEventStatus": "ONSET",
	"closedLoopControlName": "CLControlLoop-FRWLvFirewall-LOWd0a1dfc6-TRAFFIC94f5-SIG4fd4-d925ed73-8231-4d02-9545-db4e101f88f8a5b5-4630b438850a",
	"version": "1.0.2",
	"target": "generic-vnf.vnf-idname",
	"requestID": "8c1b8bd8-06f7-493f-8ed7-daaa4cc481bc",
	"from": "DCAE"
}
Code Block
titleAAI namedvnf-name query request
linenumberstrue
collapsetrue
POST https://{aai}/aai/searchv11/network/named-query

{ 
	"query-parameters": { 
        "named-query": { 
            "named-query-uuid": "a93ac487-409c-4e8c-9e5f-334ae8f99087"
        } 
    }, 
    "instance-filters":{
    	"instance-filter":[generic-vnfs/generic-vnf?vnf-name=zdfw1fwl01fwl02
Code Block
titleAAI named-query response
linenumberstrue
collapsetrue
*TODO
Code Block
titleAPPC request
linenumberstrue
collapsetrue
{
  	"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": [
			{
          		"vnf-id": "zdfw1fwl01fwl02fw_udp1",
          		"is-enabled": "true"
}         	},
]      } }
Code Block
titleAAI named-query response
linenumberstrue
collapsetrue
Below is a sample response format. Field values are just examples. Will update to real values for vFW later.


{ 	{
          		"id": "fw_udp2",
          		"inventoryis-response-itemenabled": ["true"
        {	},
        	{
   "model-name": "service-instance",      		"id": "fw_udp3",
     "generic-vnf": {    		"is-enabled": "true"
        	},
  "vnf-id": "de7cc3ab-0212-47df-9e64-da1c79234deb",     	{
           "vnf-name		"id": "ZRDM2MMEX39fw_udp4",
                "vnf-type		"is-enabled": "vMMEtrue"
  Svc Jul 14/vMME VF Jul 14 1"	},
        	{
          		"service-id": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fbfw_udp5",
                "orchestration-status		"is-enabled": "activetrue",
        	}]
    	}
  "in-maint": false,
           	}
}


Code Block
titleAPPC response
linenumberstrue
collapsetrue
ACCEPT response

{
    "is-closed-loop-disabledStatus": false,{
                "resource-version"Value": "1503082370097ACCEPTED",
                "model-invariant-id"Code": "82194af1-3c2c-485a-8f44-420e22a9eaa4",100"
      },
         "model-version-id": "46b92144-923a-4d20-b85a-3cbd847668a9"
            },
"Payload": {
           "extrapg-propertiesstreams": {},
            "inventory-response-items": {
                "inventory-response-item": [
                    {
                        "model-name": "service-instance",
                        "service-instance": {
                            "service-instance-id": "37b8cdb7-94eb-468f-a0c2-4e3c3546578e",
                            "service-instance-name": "Changed Service Instance NAME",
                            "model-invariant-id": "82194af1-3c2c-485a-8f44-420e22a9eaa4",
                            "model-version-id": "46b92144-923a-4d20-b85a-3cbd847668a9",
                            "resource-version": "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
titleAPPC request
linenumberstrue
collapsetrue
{
  	"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
titleAPPC response
linenumberstrue
collapsetrue
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
titlevDNS - TCA Configuration Policy Payload
linenumberstrue
collapsetrue
tca_policy: "{
  "domain": "measurementsForVfScaling",
  "metricsPerEventName": [
    {
      "eventName": "vLoadBalancer",
      "controlLoopSchemaType": "VM",
      "policyScope": "DCAE",
      "policyName": "DCAE.Config_tca-hi-lo",
      "policyVersion": "v0.0.1",
      "thresholds": [
        {
          "closedLoopControlName": "CL-LBAL-LOW-TRAFFIC-SIG-FB480F95-A453-6F24-B767-FD703241AB1A",
          "version": "1.0.2",
          "fieldPath": "$$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated",
          "thresholdValue": 500,
          "direction": "LESS_OR_EQUAL",
          "severity": "MAJOR",
          "closedLoopEventStatus": "ONSET"
        },
        {
          "closedLoopControlName": "CL-LBAL-HIGH-TRAFFIC-SIG-0C5920A6-B564-8035-C878-0E814352BC2B",
          "version": "1.0.2",
          "fieldPath": "$$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated",
          "thresholdValue": 5000,
          "direction": "GREATER_OR_EQUAL",
          "severity": "CRITICAL",
          "closedLoopEventStatus": "ONSET"
        }
      ]
    }
    
  ]
 
}"
Code Block
titlevDNS - Operational Policy
linenumberstrue
collapsetrue
controlLoop:
  version: 2.0.0
  controlLoopName: ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3
  services: 
    - serviceName: d4738992-6497-4dca-9db9
      serviceInvariantUUID: dc112d6e-7e73-4777-9c6f-1a7fb5fd1b6f
      serviceUUID: 2eea06c6-e1d3-4c3a-b9c4-478c506eeedf
  trigger_policy: unique-policy-id-1-scale-up
  timeout: 1200

policies:
  - id: unique-policy-id-1-scale-up
    name: Create a new VF Module
    description:
    actor: MSO
    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
titleDCAE Control Loop Event (TCA) - vDNS
linenumberstrue
collapsetrue
{
                "closedLoopEventClient": "DCAE_INSTANCE_ID.dcae-tca",
                "policyVersion": "1.0.0.5",
                "policyName": "vLoadBalancer"{\\\"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",
                "policyScope"APIver": "resource=SampleResource,service=SampleService,type=SampleType,closedLoopControlName=SampleClosedLoop",
 1.01",
              "target_type"RequestID": "VM664be3d2-6c12-4f4b-a3e7-c349acced200",
                "AAI"SubrequestID": {
          null,
         "vserver.vserver-nameOriginatorID": "dfw1lb01lb01"null
                },}
}


SUCCESS response



    {
    "closedLoopAlarmStartStatus": 1484677482204798,{
        "Value": "SUCCESS",
        "closedLoopEventStatusCode": "ONSET400",
    },
    "Payload": {
        "closedLoopControlNamepg-streams": "CL-DNS-LOW-TRAFFIC-SIG-d925ed73-8231-4d02-9545-db4e101f88f8",
                "version": "1.0.2",
                "target": "vserver.vserver-name",
                "requestID": "97964e10-686e-4790-8c45-bdfa61df770f",
                "from": "DCAE"
}
Code Block
titleAAI named-query request
linenumberstrue
collapsetrue
{
	"query-parameters": {
    	"named-query": {{\\\"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\\\"}]}}",
         	"namedgeneric-queryvnf.vnf-uuidid": "4ff56a54-9e3f-46b7-a337-07a1d3c6b469fw0001vm001fw001"
        }
    },
    "instance-filters": {},
    	"instance-filterCommonHeader": [{
        	"vserverTimeStamp": { "1493841850199",
        "APIver": "1.01",
      	"vserver-name  "RequestID": "dfw1lb01lb01"664be3d2-6c12-4f4b-a3e7-c349acced200",
        "SubrequestID": null,
  }      "OriginatorID": null
 }]     }
}


vDNS Use Case

Code Block
titleAAI named-query responsevDNS - TCA Configuration Policy Payload
linenumberstrue
collapsetrue
tca_policy: "{
    "inventory-response-item": [
        {
            "extra-properties": {}"domain": "measurementsForVfScaling",
            "inventory-response-items"metricsPerEventName": [{
              "eventName":  "inventory-response-item": [vLoadBalancer",
              "controlLoopSchemaType": "VM",
     {         "policyScope": "DCAE",
              "extra-propertiespolicyName": {"DCAE.Config_tca-hi-lo",
              "policyVersion": "v0.0.1",
              "extra-propertythresholds": [{
                     "closedLoopControlName": "ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3",
         {            "version": "1.0.2",
                       "property-namefieldPath": "model.model-name",$.event.measurementsForVfScalingFields.vNicUsageArray[*].receivedTotalPacketsDelta",
                     "thresholdValue": 300,
                     "property-valuedirection": "c15ce9e1-e914-4c8f-b8bb"GREATER_OR_EQUAL",
                       "severity": "CRITICAL",
        },             "closedLoopEventStatus": "ONSET"
              }]
   {    }]
}"
Code Block
titlevDNS - Operational Policy
linenumberstrue
collapsetrue
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
     "property-name": "model.model-type",
   Create a new VF Module
    description:
    actor: SO
    recipe: VF Module Create
    target:
        "property-value"type: "resource"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
titleDCAE Control Loop Event (TCA) - vDNS
linenumberstrue
collapsetrue
{
                {
"closedLoopEventClient": "DCAE_INSTANCE_ID.dcae-tca",
                "policyVersion": "1.0.0.5",
                 "property-namepolicyName": "model.model-versionvLoadBalancer",
                "policyScope": "resource=SampleResource,service=SampleService,type=SampleType,closedLoopControlName=SampleClosedLoop",
                  "property-value"target_type": "1"VM",
                "AAI": {
                     },"vserver.vserver-name": "dfw1lb01lb01"
                },
               { "closedLoopAlarmStart": 1484677482204798,
                "closedLoopEventStatus": "ONSET",
                "property-nameclosedLoopControlName": "model.model-idControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3",
                "version": "1.0.2",
                  "property-valuetarget": "033a32ed-aa65-4764-a736-36f2942f1aa0"vserver.vserver-name",
                "requestID": "97964e10-686e-4790-8c45-bdfa61df770f",
               }, "from": "DCAE"
}
Code Block
titleAAI named-query request
linenumberstrue
collapsetrue
{
	"query-parameters": {
    	"named-query": {
        	"named-query-uuid": "4ff56a54-9e3f-46b7-a337-07a1d3c6b469"
        }
  {  },
    "instance-filters": {
    	"instance-filter": [{
        	"vserver": {
            	"propertyvserver-name": "model.model-name-version-id",dfw1lb01lb01"
            }
        }]
    }
}
Code Block
titleAAI named-query response
linenumberstrue
collapsetrue
{
        "property-value"inventory-response-item": "d4d072dc-4e21-4a03-9524-628985819a8e"[
        {
            "vserver": {
         }                         "vserver-id": "6ed3642c-f7a1-4a7c-9290-3d51fe1531eb",
   ]             "vserver-name": "zdfw1lb01lb02",
          },        "vserver-name2": "zdfw1lb01lb02",
                "genericprov-vnfstatus": {"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,
 
                          "orchestration-status"resource-version": "Created1510606403522",
             },
              "modelextra-invariant-id": "033a32ed-aa65-4764-a736-36f2942f1aa0",
               properties": {},
            "modelinventory-versionresponse-iditems": "1.0",{
                "inventory-response-item": [
               "resource-version": "1485542422",    {
                        "servicemodel-idname": "b3f70641-bdb9-4030-825e-6abb73a1f929vLoadBalancer",
                            "generic-vnf-id": "594e2fe0-48b8-41ff-82e2-3d4bab69b192",{
                            "vnf-nameid": "Vnf_Ete_Named90e1ab3-dcd5-4877-9edb-eadfc84e32c8db373a8d-f7be-4d02-8ac8-6ca4c305d144",
                            "vnf-typename": "8330e932-2a23-4943-8606/c15ce9e1-e914-4c8f-b8bb 1"Vfmodule_vLB1113",
                        },                         "inventory-response-items": {"vnf-type": "vLoadBalancer-1106/vLoadBalancer 0",
                            "service-id": "inventory-response-item": [66f157fc-4148-4880-95f5-e120677e98d1",
                            "prov-status": "PREPROV",
   {                         "orchestration-status": "Created",
          "extra-properties": {                 "in-maint": false,
                      "extra-property": [     "is-closed-loop-disabled": false,
                            "resource-version": "1510604011851",
        {                    "model-invariant-id": "cee050ed-92a5-494f-ab04-234307a846dc",
                            "propertymodel-version-nameid": "model.model-name",
                 fd65becc-6b2c-4fe8-ace9-cc29db9a3da2",
                              "propertymodel-customization-valueid": "8330e9321983c783-444f-2a234e79-4943af3a-860685e5d49628f3",
                                            }"nf-type": "",
                            "nf-function": "",
              {              "nf-role": "",
                                 "property-name"nf-naming-code": "model.model-type",
                        },
                        "propertyextra-valueproperties": "service"{
                            "extra-property": [
              },                  {
                          {          "property-name": "model-ver.model-version-id",
                                     "property-namevalue": "model.model-version",fd65becc-6b2c-4fe8-ace9-cc29db9a3da2"
                                },
                     "property-value": "1"          {
                                  },  "property-name": "model-ver.model-name",
                                    "property-value": "vLoadBalancer"
   {                             },
                   "property-name": "model.model-id",            {
                                    "property-valuename": "4fcbc1c0-7793-46d8-8aa1-fa1c2ed9ec7b"model.model-type",
                                    "property-value": "resource"
       },                         },
                   {             {
                                    "property-name": "model.model-nameinvariant-version-id",
 
                                              "property-value": "5c996219cee050ed-b2e292a5-4c76494f-9b43ab04-7e8672a33c1d234307a846dc"
    
                                       },
                                {
       ]                                     }"property-name": "model-ver.model-version",
                                    "serviceproperty-instancevalue": {"1.0"
                                }
           "model-invariant-id": "4fcbc1c0-7793-46d8-8aa1-fa1c2ed9ec7b",                ]
                       "model-version-id": "1.0" },
                        "inventory-response-items": {
              "resource-version": "1485542400",             "inventory-response-item": [
                           "service-instance-id": "cf8426a6-0b53-4e3d-bfa6-4b2f4d5913a5",    {
                                    "servicemodel-instance-name": "Service_Ete_Named90e1ab3-dcd5-4877-9edb-eadfc84e32c8"vLoadBalancer-1106",
                                    }
 "service-instance": {
                              },                            "service-instance-id": "3b12f31f-8f2d-4f5c-b875-61ff1194b941",
   {                                     "extraservice-instance-propertiesname": {"vLoadBalancer-1113",
                                        "extramodel-invariant-propertyid": ["1321d60d-f7ff-4300-96c2-6bf0b3268b7a",
                                        "model-version-id": "732d4692-4b97-46f9-a996-0b3339e88c50",
   {                                     "resource-version": "1510603936425"
          "property-name": "model.model-name",                          },
                                    "propertyextra-valueproperties": "C15ce9e1E9144c8fB8bb..base_vlb..module-0"{
                                          "extra-property": [
 },                                             {
                                                "property-name": "model-ver.modelmodel-version-typeid",
                                                "property-value": "resource732d4692-4b97-46f9-a996-0b3339e88c50"
                                            },
                                            {
                                                "property-name": "model-ver.model-versionname",
                                                "property-value": "1vLoadBalancer-1106"
                                            },
                                            {
                                                "property-name": "model.model-idtype",
                                                "property-value": "79ee24cd-fc9a-4f14-afae-5e1dd2ab2941service"
                                            },
                                            {
                                                "property-name": "model.model-name-versioninvariant-id",
                                                "property-value": "5484cabb1321d60d-1a0df7ff-4f294300-a61696c2-094a3f643d73"
                                            }
                                        ]
             6bf0b3268b7a"
                      },                      },
              "model-name": "C15ce9e1E9144c8fB8bb..base_vlb..module-0",                              {
      "vf-module": {                                         "heatproperty-stack-idname": "Vfmodule_Ete_Named90e1ab3-dcd5-4877-9edb-eadfc84e32c8/5845f37b-6cda-4e91-8ca3-f5572d226488model-ver.model-version",
                                        "is-base-vf-module": true,       "property-value": "1.0"
                                "orchestration-status": "active",                        }
                "model-invariant-id": "79ee24cd-fc9a-4f14-afae-5e1dd2ab2941",                       ]
                 "model-version-id": "1",                      }
                  "resource-version": "1485542667",             },
                           "vf-module-id": "b0eff878-e2e1-4947-9597-39afdd0f51dd",    {
                                    "vf-modulemodel-name": "Vfmodule_Ete_Named90e1ab3-dcd5-4877-9edb-eadfc84e32c8"Vloadbalancer..base_vlb..module-0",
                                    "vf-module": {
      }                                   }"vf-module-id": "e6b3e3eb-34e1-4c00-b8c1-2a4fbe479b12",
                                {        "vf-module-name": "Vfmodule_vLB1113-1",
                              "extra-properties": {         "heat-stack-id": "Vfmodule_vLB1113-1/3dd6d900-772f-4fcc-a0cb-e250ab2bb4db",
                              "extra-property": [           "orchestration-status": "active",
                                 {       "is-base-vf-module": true,
                                        "propertyresource-nameversion": "model.model-name1510604612557",
                                        "model-invariant-id": "6d760188-9a24-451a-b05b-e08b86cb94f2",
          "property-value": "C15ce9e1E9144c8fB8bb..dnsscaling..module-1"                             "model-version-id": "93facad9-55f2-4fe0-9574-814c2bc2d071",
              },                          "model-customization-id": "93fd5bd4-8051-4074-8530-c0c504604df5",
                 {                       "module-index": 0
                        "property-name": "model.model-type",            },
                                    "propertyextra-valueproperties": "resource"{
                                            },"extra-property": [
                                            {
                                                "property-name": "model-ver.model-version-id",
                                                "property-value": "193facad9-55f2-4fe0-9574-814c2bc2d071"
                                            },
                                            {
                                                "property-name": "model-ver.model-idname",
                                                "property-value": "f32568ec-2f1c-458a-864b-0593d53d141aVloadbalancer..base_vlb..module-0"
                                            },
                                            {
                                                "property-name": "model.model-name-version-idtype",
                                                "property-value": "69615025-879d-4f0d-afe3-b7d1a7eeed1fresource"
                                            },
                                        ]    {
                                                },"property-name": "model.model-invariant-id",
                                             "vf-module": {   "property-value": "6d760188-9a24-451a-b05b-e08b86cb94f2"
                                            },
         "is-base-vf-module": false,                                  {
      "model-invariant-id": "f32568ec-2f1c-458a-864b-0593d53d141a",                                         "modelproperty-version-idname": "1.0model-ver.model-version",
                                         "resource-version       "property-value": "14855617521",
                                          "vf-module-id": "dummy", }
                                       "vf-module-name": "dummy" ]
                                    }
                                },
                                {
                                    "extramodel-propertiesname": {
   "Vloadbalancer..dnsscaling..module-1",
                                    "extravf-propertymodule": [{
                                            {
    "vf-module-id": "dummy_db373a8d-f7be-4d02-8ac8-6ca4c305d144",
                                           "property"vf-module-name": "model.model-namedummy_db373a8d-f7be-4d02-8ac8-6ca4c305d144",
                                        "is-base-vf-module": false,
      "property-value": "C15ce9e1E9144c8fB8bb..dnsscaling..module-1"                                 "resource-version": "1510610079687",
          },                              "model-invariant-id": "356a1cff-71f2-4086-9980-a2927ce11c1c",
             {                           "model-version-id": "6b93d804-cfc8-4be3-92cc-9336d135859a"
                       "property-name": "model.model-type",            },
                                    "propertyextra-valueproperties": "resource"{
                                        "extra-property": [
  },                                             {
                                                "property-name": "model-ver.model-version-id",
                                                "property-value": "16b93d804-cfc8-4be3-92cc-9336d135859a"
                                            },
                                            {
                                                "property-name": "model-ver.model-idname",
                                                "property-value": "f32568ec-2f1c-458a-864b-0593d53d141aVloadbalancer..dnsscaling..module-1"
                                            },
                                            {
                                                "property-name": "model.model-name-version-idtype",
                                                "property-value": "69615025-879d-4f0d-afe3-b7d1a7eeed1fresource"
                                            },
                                        ]    {
                                },                                     "vf-module": {
                                        "heat-stack-id": "vDNS_Ete_Named90e1ab3-dcd5-4877-9edb-eadfc84e32c8/f447ce51-14dd-4dcd-9957-68a047c79673"property-name": "model.model-invariant-id",
                                                "property-value": "is356a1cff-71f2-base4086-vf9980-modulea2927ce11c1c":
  false,                                         "orchestration-status": "active" },
                                        "model-invariant-id": "f32568ec-2f1c-458a-864b-0593d53d141a",    {
                                                "modelproperty-version-idname": "1.0model-ver.model-version",
                                         "resource-version       "property-value": "14855627121",
                                         "vf-module-id": "8cd79e44-1fae-48c1-a160-609f90b46749",  }
                                      "vf-module-name": "vDNS_Ete_Named90e1ab3-dcd5-4877-9edb-eadfc84e32c8"  ]
                                    }
                                }
                            ]
                        }
                    },
                    {
                        "extra-propertiestenant": {},
                            "inventorytenant-response-itemsid": {"41d6d38489bd40b09ea8a6b6b852dcbd",
                            "inventory-response-item": [tenant-name": "Integration-SB-00",
                            "resource-version": "1509587770200"
   {                     },
                        "cloudextra-regionproperties": {},
                        "inventory-response-items": {
              "cloud-owner": "Rackspace",             "inventory-response-item": [
                          "cloud-region-id": "DFW",      {
                                    "cloud-region-version": "v1",{
                                        "cloud-typeowner": "SharedNodeCloudOwner",
                                        "cloud-zoneregion-id": "CloudZoneRegionOne",
                                        "ownercloud-defined-type": "OwnerTypeSharedNode",
                                        "resourceowner-defined-versiontype": "1485465545OwnerType",
                                    },         "cloud-region-version": "v1",
                          "extra-properties": {}             "cloud-zone": "CloudZone",
                  }                      "sriov-automation": false,
     ]                         },          "resource-version": "1509587770092"
             "tenant": {                      },
      "resource-version": "1485465545",                             "tenantextra-idproperties": "1015548",{}
                            "tenant-name": "1015548"   }
                     }       ]
             }           }
     ]             },  }
          "vserver": {     ]
           "in-maint": false, }
        }
       "is-closed-loop-disabled": false,
            ]
}
Code Block
titleSO request
linenumberstrue
collapsetrue
NOTE: Robot must add preload for dummy module for this to work.
{

  "prov-statusrequestDetails": "ACTIVE",{

    "modelInfo": {

        "resource-versionmodelType": "1485546436vfModule",

               "vserver-id"modelInvariantId": "70f081eb356a1cff-2a8771f2-4c814086-92969980-4b93d7d145c6a2927ce11c1c",

               "vserver-name"modelVersionId": "vlb-lb-32c86b93d804-cfc8-4be3-92cc-9336d135859a",

      "modelName": "Vloadbalancer..dnsscaling..module-1",

      "vserver-name2modelVersion": "vlb-lb-32c81",

         },

    "vserver-selflink": "https://dfw.servers.api.rackspacecloud.com/v2/1015548/servers/70f081eb-2a87-4c81-9296-4b93d7d145c6"
cloudConfiguration": {

      "lcpCloudRegionId": "RegionOne",

 }     "tenantId": "41d6d38489bd40b09ea8a6b6b852dcbd"

 }   },

] }
Code Block
titleSO request
linenumberstrue
collapsetrue
{   "requestDetailsrequestInfo": {

      "modelInfoinstanceName": {"vDNS_vLB1113-1",

         “modelType”"source": “vfModule”"POLICY",

      "suppressRollback": false,

“modelInvariantId”: “ff5256d2-5a33-55df-13ab-12abad84e7ff”,     "requestorId": "policy"

   “modelNameVersionId”: “fe6478e5-ea33-3346-ac12-ab121484a3fe” },

    "relatedInstanceList": [

  “modelName”: “vSAMP12..base..module-0”,
    {

        "modelVersionrelatedInstance": "1"{

        },  "instanceId": "3b12f31f-8f2d-4f5c-b875-61ff1194b941",

  “cloudConfiguration”: {       "modelInfo": {

 “lcpCloudRegionId”: “mdt1”,           “tenantId”"modelType": “88a6ca3ee0394ade9403f075db23167e”"service",

     },       "requestInfomodelInvariantId": {"1321d60d-f7ff-4300-96c2-6bf0b3268b7a",

            “instanceName”"modelVersionId": “MSOTEST103a-vSAMP12_base_module-0”"732d4692-4b97-46f9-a996-0b3339e88c50",

         “source”: “VID”,  "modelName": "vLoadBalancer-1106",

      “suppressRollback”: true     "modelVersion": "1.0"
},
      "relatedInstanceList": [   }

     {   }

       },
“relatedInstance”:
{      {

        “instanceId”"relatedInstance": {serviceInstanceId}”,

          "instanceId": "db373a8d-f7be-4d02-8ac8-6ca4c305d144",

 “modelInfo”: {        "modelInfo":  {

         “modelType”: “service”,    "modelType": "vnf",

             “modelInvariantId”"modelInvariantId": “ff3514e3"cee050ed-5a3392a5-55df494f-13abab04-12abad84e7ff”234307a846dc",

                 “modelNameVersionId”"modelVersionId": “fe6985cd"fd65becc-ea336b2c-33464fe8-ac12ace9-ab121484a3fe”cc29db9a3da2",

            "modelName": "vLoadBalancer",

  “modelName”: “{parent service model name}”,          "modelVersion": "1.0",

            "modelVersionmodelCustomizationName": "1.vLoadBalancer 0"

          }

   }     }

      }

    ],

  },
     "requestParameters": {}

  }

}
Code Block
titleSO Response
linenumberstrue
collapsetrue
SUCCESS:
{
	"requestReferences": {
     {	"instanceId": "ff305d54-75b4-ff1b-bdb2-eb6b9e5460ff",
    	"requestId": "e4f95e0c-a013-4530-8e59-c5c5f9e539b6"
  	},
   “relatedInstance”	"httpResponseCode": {200
}


VOLTE Use Case


Code Block
titleVOLTE - Operational Policy
linenumberstrue
collapsetrue
controlLoop:
  version: 2.0.0
  controlLoopName: ControlLoop-VOLTE-2179b738-fd36-4843-a71a-a8c24c70c55b
    “instanceId”: “{vnfInstanceId}”,trigger_policy: unique-policy-id-1-restart
  timeout: 3600
  abatement: false

policies:
  -   "modelInfo"id: {unique-policy-id-1-restart
    name: Restart the VM
    description:
     “modelType”actor: “vnf”,VFC
    recipe: Restart
    target:
       “modelInvariantId”type: “ff5256d1-5a33-55df-13ab-12abad84e7ff”,
 VM
    retry: 3
    timeout: 1200
    “modelNameVersionId”success: “fe6478e4-ea33-3346-ac12-ab121484a3fe”,final_success
    failure: final_failure
    failure_timeout: final_failure_timeout
      “modelName”failure_retries: “vSAMP12”,final_failure_retries
    failure_exception: final_failure_exception
    failure_guard: final_failure_guard
Code Block
titleDCAE Control Loop Event (HOLMES) - VOLTE
linenumberstrue
collapsetrue
{
	"closedLoopEventClient": "DCAE.HolmesInstance",
    "modelVersionpolicyVersion": "1.0.0.5",
    "policyName": "vVOLTE",
    "policyScope": "resource=volte,service=VolteSErvice,type=SampleType,closedLoopControlName=CL-VOLTE-SIG-d925ed73-8231-4d02-9545-db4e101f88f8",
        “modelCustomizationName”: “vSAMP12 1”"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,
      “requestParameters”"closedLoopEventStatus": {"ONSET",
          “userParams”: []"closedLoopControlName": "ControlLoop-VOLTE-2179b738-fd36-4843-a71a-a8c24c70c55b",
    "version":  }"1.0.2",
   }
}
Code Block
titleSO Response
linenumberstrue
collapsetrue
SUCCESS:
{
	"requestReferences": { "target": "vserver.vserver-name",
     	"instanceIdrequestID": "ff305d5497964e10-75b4686e-ff1b4790-bdb28c45-eb6b9e5460ffbdfa61df770f",
    	"requestIdfrom": "e4f95e0c-a013-4530-8e59-c5c5f9e539b6"
  	},
  	"httpResponseCode": 200
}

VOLTE Use Case

VOLTE - Operational Policy
Code Block
title
DCAE"
}
Code Block
titleA&AI Call
linenumberstrue
collapsetrue
This call is a simple GET in order to retrieve "is-closed-loop-diable" flag.
Code Block
titleA&AI Response
linenumberstrue
collapsetrue
controlLoop:
  version: 2.0.0
  controlLoopName: ControlLoop-VOLTE-2179b738-fd36-4843-a71a-a8c24c70c55b
  trigger_policy: unique-policy-id-1-restart
  timeout: 3600

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
titleDCAE Control Loop Event (HOLMES) - VOLTE
linenumberstrue
collapsetrue
{
	"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": "CL-VOLTE-SIG-d925ed73-8231-4d02-9545-db4e101f88f8",
    "version": "1.0.2",
    "target": "vserver.vserver-name",
    "requestID": "97964e10-686e-4790-8c45-bdfa61df770f",
    "from": "DCAE"
}
Code Block
titleA&AI Call
linenumberstrue
collapsetrue
This call is a simple GET in order to retrieve "is-closed-loop-diable" flag.
Code Block
titleA&AI Response
linenumberstrue
collapsetrue
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": [
		{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": [
            {
               	"relatedrelationship-tokey": "service-instancecloud-region.cloud-owner",
         	"related-link      "relationship-value": "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",-aic"
            },
 	"relationship-data": [          	{
               "relationship-key": "customercloud-region.globalcloud-customerregion-id",
               "relationship-value": "1610_Func_Global_20160817084727AAIAIC25"
            },
            {
               "relationship-key": "service-subscriptiontenant.servicetenant-typeid",
               "relationship-value": "USUCP0PCOIL0110UJZZ01::uCPE-VMS"
            },
            {
               "relationship-key": "service-instancevserver.servicevserver-instance-id",
               "relationship-value": "USUCP0PCOIL0110UJZZ013b2558f4-39d8-40e7-bfc7-30660fb52c45"
            }
         	],
         	"related-to-property": [      
			{
            	"property-key": "service-instance.service-instance-name"}]
      	},
       vserver.vserver-name",
            	"property-value": "USUCP0PCOIL0110UJZZ01-vsrx"
         	}]
      	}
   	]}
}
Code Block
titleVFC request
linenumberstrue
collapsetrue
Request URI: 
POST http(s)://[hostname][:port]/api/nslcm/v1/ns/{nsInstanceId }/heal

Request JSON:
{
    "     	"related-to": "vserver",healVnfData": {
         	"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"“vnfInstanceId”: ”1”,
         	"relationship-data"“cause”: [”vm is down”,
        “additionalParams”:  {
  
            "relationship-key"“action”: "cloud-region.cloud-owner"”restartvm”,
            “actionvminfo”: {
 "relationship-value": "att-aic"             }, “vmid”: ”33”,
          {      “vmname”: ”xgw - smp11”
      "relationship-key": "cloud-region.cloud-region-id",     }
        }
 "relationship-value": "AAIAIC25"  }
}
Code Block
titleVFC response
linenumberstrue
collapsetrue
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:
{
    "relationship-keyjobId": "tenant.tenant-id1234566",
    "responseDescriptor": {
         "relationship-valueprogress": "USUCP0PCOIL0110UJZZ01::uCPE-VMS"40",
            }"status": "proccessing",
        "statusDescription": "OMC VMs are {decommissioned in VIM",
             "relationship-key"errorCode": "vserver.vserver-id",
   null,
           "relationship-value"responseId": "3b2558f4-39d8-40e7-bfc7-30660fb52c45"42",
            }
  "responseHistoryList": [{
      	],          	"related-to-propertyprogress": ["40",
      			{             	"property-key"status": "vserver.vserver-nameproccessing",
                	"property-valuestatusDescription": "USUCP0PCOIL0110UJZZ01-vsrx"OMC VMs are decommissioned in VIM",
         	}]       	}
"errorCode": null,
  	]} }
Code Block
titleVFC request
linenumberstrue
collapsetrue
Request URI:  POST http(s)://[hostname][:port]/api/nslcm/v1/ns/{nsInstanceId }/heal  Request JSON: {    "responseId": "1"
healVnfData":  {         “vnfInstanceId”: ”1”}, {
        “cause”: ”vm is down”,     "progress": "41",
  “additionalParams”: {             “action”"status": ”restartvm”"proccessing",
             “actionvminfo”: {   "statusDescription": "OMC VMs are decommissioned in VIM",
                “vmid”"errorCode": ”33”null,
                “vmname”"responseId": ”xgw"2"
- smp11”             }
        }]
    }
}


vCPE Use Case


Code Block
titleVFC responsevCPE - TCA Configuration Policy Payload
linenumberstrue
collapsetrue
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:
{tca_policy: "{
       "domain": "measurementsForVfScaling",
       "metricsPerEventName": [{
              "jobIdeventName": "1234566Measurement_vGMUX",
    "responseDescriptor": {         "progresscontrolLoopSchemaType": "40VNF",
        "status": "proccessing",
        "statusDescriptionpolicyScope": "OMCDCAE",
 VMs are decommissioned in VIM",         "errorCodepolicyName": null,"DCAE.Config_tca-hi-lo",
              "responseIdpolicyVersion": "42v0.0.1",
              "responseHistoryListthresholds": [{
                     "progressclosedLoopControlName": "40ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e",
                     "statusversion": "proccessing1.0.2",
                     "statusDescriptionfieldPath": "OMC VMs are decommissioned in VIM",$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value",
                     "errorCodethresholdValue": null0,
                     "responseIddirection": "1EQUAL",
            }, {                 "progress"severity": "41MAJOR",
                     "statusclosedLoopEventStatus": "proccessingABATED",
              }, {
"statusDescription": "OMC VMs are decommissioned in VIM",                 "errorCodeclosedLoopControlName": null,"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e",
                     "responseIdversion": "1.0.2",
            }         ]
    }
}

vCPE Use Case

Code Block
titlevCPE - TCA Configuration Policy Payload
linenumberstrue
collapsetrue
tca_policy: "{
  "domain": "measurementsForVfScaling",
  "metricsPerEventName": ["fieldPath": "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value",
              {       "eventNamethresholdValue": "vCPEvGMUXPacketLoss"0,
      "controlLoopSchemaType": "VM",       "policyScope": "DCAE",       "policyNamedirection": "DCAE.Config_tca-hi-loGREATER",
             "policyVersion": "v0.0.1",       "thresholdsseverity": ["CRITICAL",
          {           "closedLoopControlNameclosedLoopEventStatus": "CL-vCPEvGMUX-TRAFFIC-SIG-FB480F95-A453-6F24-B767-FD703241ABA1",ONSET"
           "version": "1.0.2",  }]
       }]
"fieldPath": "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta",
          "thresholdValue": 0,
          "direction": "EQUAL",
          "severity": "MAJOR",
          "closedLoopEventStatus": "ABATED
        },
        {
          "closedLoopControlName": "CL-vCPEvGMUX-TRAFFIC-SIG-FB480F95-A453-6F24-B767-FD703241ABA1",
          "version": "1.0.2",
          "fieldPath": "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta",
          "thresholdValue": 1000,}"
Code Block
titlevCPE Operational Policy
linenumberstrue
collapsetrue
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
titleDCAE Control Loop Event (TCA) - vCPE
linenumberstrue
collapsetrue
{
            "directionclosedLoopControlName": "GREATER_OR_EQUALControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e",
            "severityversion": "CRITICAL1.0.2",
            "closedLoopEventStatusrequestID": "ONSET"0abc0000-b032-4e4b-bd30-88260f444888",
        }    "closedLoopAlarmStart": 1478189220547,
 ]     }      "closedLoopEventClient":  ]"DCAE_INSTANCE_ID.dcae-tca",
   }"
Code Block
titlevCPE Operational Policy
linenumberstrue
collapsetrue
controlLoop:   version: 2.0.0   controlLoopName: ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e   trigger"target_policy: unique-policy-id-1-restarttype": "VNF",
     timeout: 3600  policies:   - id"target": unique-policy-id-1-restart"generic-vnf.vnf-name",
    name: Restart the VM     description"AAI": {
   actor: APPC     recipe: Restart     target:       type: VM
    retry: 3 "generic-vnf.vnf-name" : "vCPE_Infrastructure_vGMUX_demo_app"
       timeout: 1200    },
success: final_success     failure: final_failure     failure_timeout: final_failure_timeout
    failure_retries: final_failure_retries"from": "DCAE",
      failure_exception: final_failure_exception     failure_guard: final_failure_guard
Code Block
titleDCAE Control Loop Event (TCA) - vCPE
linenumberstrue
collapsetrue
{"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
titleAPPC request
linenumberstrue
collapsetrue
{
  "body": {
    "input": {
  "closedLoopAlarmStart": 1478189220547,   "common-header": {
        "closedLoopEventClienttimestamp": "tca.instance00001",
   2017-08-25T21:06:23.037Z",
        "target_typeapi-ver": "VNF2.00",
   
        "targetoriginator-id": "generic-vnf.vnf-ida20e2073-30b1-4357-893b-f5ed57b66ef0",

           "AAI"request-id": {"a20e2073-30b1-4357-893b-f5ed57b66ef0",
                        "generic-vnf.vnf"sub-request-id" : "????1",
        "flags": {}
  },    },
        "fromaction": "DCAERestart",
 
          "policyScope"action-identifiers": "DCAE",
{
           "policyName"vnf-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
titleAPPC requestresponse
linenumberstrue
collapsetrue
{
  "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": {}
      },
      "originator-idstatus": "a20e2073-30b1-4357-893b-f5ed57b66ef0",{
        "request-idcode": "a20e2073-30b1-4357-893b-f5ed57b66ef0"400,
        "sub-request-idmessage": "1Restart Successful",
      }
 "flags": {}    }
  },
  "version": "2.00",
  "actionrpc-name": "restart",
  "correlation-id": "a20e2073-30b1-4357-893b-f5ed57b66ef0-1",
  "action-identifierstype": "response"
}
Code Block
titleDCAE ABATED Control Loop Event
linenumberstrue
collapsetrue
{
        "vnf-id    "closedLoopControlName": "fw0001vm001fw001"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e",
      }     }
  },   "version": "21.0.2",
   "rpc-name": "restart",         "correlation-idrequestID": "a20e20730abc0000-30b1b032-43574e4b-893bbd30-f5ed57b66ef0-188260f444888",
  "type": "request" }
Code Block
titleAPPC response
linenumberstrue
collapsetrue
{   "body": {     "outputclosedLoopAlarmStart": {1478189220547,
      "common-header": {     "closedLoopAlarmEnd": 1478589220547,
  "timestamp": "2017-08-25T21:06:23.037Z",         "api-verclosedLoopEventClient": "5.00DCAE_INSTANCE_ID.dcae-tca",
        "originator-id    "target_type": "a20e2073-30b1-4357-893b-f5ed57b66ef0VNF",
            "request-idtarget": "a20e2073-30b1-4357-893b-f5ed57b66ef0generic-vnf.vnf-name",
            "AAI": {

			"subgeneric-requestvnf.vnf-idname" : "1",vCPE_Infrastructure_vGMUX_demo_app"
           "flags": {},
      },      "from": "status": {DCAE",
            "codepolicyScope": 400"DCAE",
            "messagepolicyName": "Restart Successful"DCAE.Config_tca-hi-lo",
      }     }   },
  "version"policyVersion": "2v0.0.1",
  "rpc-name": "restart",      "correlation-id": "a20e2073-30b1-4357-893b-f5ed57b66ef0-1",   "typeclosedLoopEventStatus": "responseABATED"
}