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

Load the Drools Controller Configurations

5

Create Operational policy

5

Import/Load Use case template 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.

6

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)

should be created in Policy Engine (PAP)

67

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

87

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

98

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

109Simulate A&AI Response for Use Case vFW


1110

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

1211Simulate A&AI Response for Use Case vCPE


1312Simulate APPC Response for Use Case vCPE


1413Simulate A&AI Response for Use Case VOLTE


1514

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

1615

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

1716

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
* TODO point to drools-application JUnit test operational policy



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-id": "zdfw1fwl01fwl02"
	},
	"closedLoopAlarmStart": 1484855291527925,
	"closedLoopEventStatus": "ONSET",
	"closedLoopControlName": "CL-FRWL-LOW-TRAFFIC-SIG-d925ed73-8231-4d02-9545-db4e101f88f8",
	"version": "1.0.2",
	"target": "generic-vnf.vnf-id",
	"requestID": "8c1b8bd8-06f7-493f-8ed7-daaa4cc481bc",
	"from": "DCAE"
}
Code Block
titleAAI named-query request
linenumberstrue
collapsetrue
POST /aai/search/named-query

{ 
	"query-parameters": { 
        "named-query": { 
            "named-query-uuid": "a93ac487-409c-4e8c-9e5f-334ae8f99087"
        } 
    }, 
    "instance-filters":{
    	"instance-filter":[ {
            "generic-vnf": { 
                "vnf-id": "zdfw1fwl01fwl02"
            }
        } ] 
    }
}
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.


{
    "inventory-response-item": [
        {
            "model-name": "service-instance",
            "generic-vnf": {
                "vnf-id": "de7cc3ab-0212-47df-9e64-da1c79234deb",
                "vnf-name": "ZRDM2MMEX39",
                "vnf-type": "vMME Svc Jul 14/vMME VF Jul 14 1",
                "service-id": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb",
                "orchestration-status": "active",
                "in-maint": false,
                "is-closed-loop-disabled": false,
                "resource-version": "1503082370097",
                "model-invariant-id": "82194af1-3c2c-485a-8f44-420e22a9eaa4",
                "model-version-id": "46b92144-923a-4d20-b85a-3cbd847668a9"
            },
            "extra-properties": {},
            "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"
        	}]
    	}
  	}
}


controlLoop:
  version: 2.0.0
  controlLoopName: ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a
  trigger_policy: unique-policy-id-1-modifyConfig
  timeout: 1200
  abatement: false

policies:
  - id: unique-policy-id-1-modifyConfig
    name: modify packet gen config
    description:
    actor: APPC
    recipe: ModifyConfig
    target:
      # TBD - Cannot be known until instantiation is done
      resourceID: Eace933104d443b496b8.nodes.heat.vpg
	  type: VNF	
    retry: 0
    timeout: 300
    success: final_success
    failure: final_failure
    failure_timeout: final_failure_timeout
    failure_retries: final_failure_retries
    failure_exception: final_failure_exception
    failure_guard: final_failure_guard

Code Block
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-name": "zdfw1fwl01fwl02"
	},
	"closedLoopAlarmStart": 1484855291527925,
	"closedLoopEventStatus": "ONSET",
	"closedLoopControlName": "ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a",
	"version": "1.0.2",
	"target": "generic-vnf.vnf-name",
	"requestID": "8c1b8bd8-06f7-493f-8ed7-daaa4cc481bc",
	"from": "DCAE"
}
Code Block
titleAAI vnf-name query
linenumberstrue
collapsetrue
https://{aai}/aai/v11/network/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": [
			{
          		"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
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": "SUCCESSACCEPTED",
        "Code": "400100"
    },
    "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
Code Block
titlevDNS - TCA Configuration Policy Payload
linenumberstrue
collapsetrue
tca_policy: "{
  "domain": "measurementsForVfScaling",
  "metricsPerEventName": [
    {
      "eventName": "vLoadBalancer",
      "controlLoopSchemaType": "VM",
  


SUCCESS response



{
    "policyScopeStatus": "DCAE",{
        "policyNameValue": "DCAE.Config_tca-hi-loSUCCESS",
        "policyVersionCode": "v0.0.1400",
    },
    "thresholdsPayload": [
        {
        "pg-streams": "{\\\"pg-streams\\\": "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",
 {\\\"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\\\"}]}}",
         "version"generic-vnf.vnf-id": "1.0.2fw0001vm001fw001",
    },
      "fieldPathCommonHeader": "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated",{
          "thresholdValueTimeStamp": 5000"1493841850199",
          "directionAPIver": "GREATER_OR_EQUAL1.01",
          "severityRequestID": "CRITICAL664be3d2-6c12-4f4b-a3e7-c349acced200",
          "closedLoopEventStatusSubrequestID": "ONSET"null,
        }
      ]"OriginatorID": null
    }
    
  ]
 
}"


vDNS Use Case

Code Block
titlevDNS - TCA Configuration Policy Payload
titlevDNS - Operational Policy
linenumberstrue
collapsetrue
TODO - show link to vDNS operational Policy
Code Block
titleDCAE Control Loop Event (TCA) - vDNS
linenumberstrue
collapsetrue
tca_policy: "{
"domain": "measurementsForVfScaling",
       "metricsPerEventName": [{
              "closedLoopEventClienteventName": "DCAE_INSTANCE_ID.dcae-tcavLoadBalancer",
                "policyVersioncontrolLoopSchemaType": "1.0.0.5VM",
                "policyNamepolicyScope": "vLoadBalancerDCAE",
                "policyScopepolicyName": "resource=SampleResource,service=SampleService,type=SampleType,closedLoopControlName=SampleClosedLoopDCAE.Config_tca-hi-lo",
                "target_typepolicyVersion": "VMv0.0.1",
                "AAIthresholds": [{
                     "vserver.vserver-nameclosedLoopControlName": "dfw1lb01lb01"
         ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3",
       },
                "closedLoopAlarmStartversion": 1484677482204798"1.0.2",
                     "closedLoopEventStatusfieldPath": "ONSET$.event.measurementsForVfScalingFields.vNicUsageArray[*].receivedTotalPacketsDelta",
                     "closedLoopControlNamethresholdValue": "CL-DNS-LOW-TRAFFIC-SIG-d925ed73-8231-4d02-9545-db4e101f88f8",
300,
                     "versiondirection": "1.0.2GREATER_OR_EQUAL",
                     "targetseverity": "vserver.vserver-nameCRITICAL",
                     "requestIDclosedLoopEventStatus": "97964e10-686e-4790-8c45-bdfa61df770f",
ONSET"
              }]
    "from": "DCAE"
}
Code Block
titleAAI named-query request
{
	"query-parameters": {
    	"named-query": {
        	"named-query-uuid": "4ff56a54-9e3f-46b7-a337-07a1d3c6b469"
        }
    },
    "instance-filters": {
    	"instance-filter": [{
        	"vserver": {
            	"vserver-name": "dfw1lb01lb01"
            }
        }]
    }
}
   }]
}"
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
    name: Create a new VF Module
    description:
    actor: SO
    recipe: VF Module Create
    target:
      type: VNF
    retry: 0
    timeout: 1200
    success: final_success
    failure: final_failure
    failure_timeout: final_failure_timeout
    failure_retries: final_failure_retries
    failure_exception: final_failure_exception
    failure_guard: final_failure_guard
Code Block
titleDCAE Control Loop Event (TCA) - vDNS
Code Block
titleAAI named-query response
linenumberstrue
collapsetrue
{
    "inventory-response-item": [
        {
            "extra-properties": {},
"closedLoopEventClient": "DCAE_INSTANCE_ID.dcae-tca",
              "inventory-response-items  "policyVersion": {"1.0.0.5",
                "inventory-response-itempolicyName": ["vLoadBalancer",
                "policyScope": "resource=SampleResource,service=SampleService,type=SampleType,closedLoopControlName=SampleClosedLoop",
   {
             "target_type": "VM",
          "extra-properties": {
       "AAI": {
                    "extravserver.vserver-propertyname": ["dfw1lb01lb01"
                },
                 {"closedLoopAlarmStart": 1484677482204798,
                "closedLoopEventStatus": "ONSET",
                   "property-name"closedLoopControlName": "model.model-nameControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3",
                "version": "1.0.2",
                   "property-value"target": "c15ce9e1-e914-4c8f-b8bb"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": {
                      "property	"vserver-name": "model.model-typedfw1lb01lb01",
                    }
        }]
    }
}
Code Block
titleAAI named-query response
linenumberstrue
collapsetrue
{
    "propertyinventory-response-valueitem": "resource"[
        {
            "vserver": {
                 }"vserver-id": "6ed3642c-f7a1-4a7c-9290-3d51fe1531eb",
                "vserver-name": "zdfw1lb01lb02",
               {
   "vserver-name2": "zdfw1lb01lb02",
                "prov-status": "ACTIVE",
                 "propertyvserver-nameselflink": "model.model-versionhttp://10.12.25.2:8774/v2.1/41d6d38489bd40b09ea8a6b6b852dcbd/servers/6ed3642c-f7a1-4a7c-9290-3d51fe1531eb",
                   "in-maint": false,
                "property-valueis-closed-loop-disabled": "1"false,
                "resource-version": "1510606403522"
               },
            "extra-properties": {},
                   "inventory-response-items": {
                "inventory-response-item": [
                   "property-name": "model.model-id", {
                                    "property-value"model-name": "033a32ed-aa65-4764-a736-36f2942f1aa0"vLoadBalancer",
                                },"generic-vnf": {
                                {
   "vnf-id": "db373a8d-f7be-4d02-8ac8-6ca4c305d144",
                                 "propertyvnf-name": "model.model-name-version-idVfmodule_vLB1113",
                                    "propertyvnf-valuetype": "d4d072dc-4e21-4a03-9524-628985819a8e"
vLoadBalancer-1106/vLoadBalancer 0",
                            "service-id": "66f157fc-4148-4880-95f5-e120677e98d1",
      }
                      "prov-status": "PREPROV",
     ]
                        }"orchestration-status": "Created",
                            "genericin-vnfmaint": {false,
                            "in-maintis-closed-loop-disabled": false,
                            "is-closed-loop-disabledresource-version": false"1510604011851",
                            "model-invariant-id": "orchestration-status": "Created"cee050ed-92a5-494f-ab04-234307a846dc",
                            "personamodel-modelversion-id": "033a32edfd65becc-aa656b2c-47644fe8-a736ace9-36f2942f1aa0cc29db9a3da2",
                            "personamodel-modelcustomization-versionid": "1.01983c783-444f-4e79-af3a-85e5d49628f3",
                            "resourcenf-versiontype": "1485542422",
                            "servicenf-idfunction": "b3f70641-bdb9-4030-825e-6abb73a1f929",
                            "vnfnf-idrole": "594e2fe0-48b8-41ff-82e2-3d4bab69b192",
                            "vnfnf-naming-namecode": "Vnf_Ete_Named90e1ab3-dcd5-4877-9edb-eadfc84e32c8",
                        },
            "vnf-type": "8330e932-2a23-4943-8606/c15ce9e1-e914-4c8f-b8bb 1"
          "extra-properties": {
             },
               "extra-property": [
        "inventory-response-items": {
                       {
     "inventory-response-item": [
                                {"property-name": "model-ver.model-version-id",
                                    "extraproperty-propertiesvalue": {"fd65becc-6b2c-4fe8-ace9-cc29db9a3da2"
                                },
            "extra-property": [
                   {
                         {
           "property-name": "model-ver.model-name",
                                    "property-namevalue": "model.model-namevLoadBalancer",
                                },
                "property-value": "8330e932-2a23-4943-8606"
                {
                                  },
  "property-name": "model.model-type",
                                    "property-value": "resource"
    {
                            },
                    "property-name": "model.model-type",
            {
                                    "property-valuename": "service"
model.model-invariant-id",
                                    "property-value": "cee050ed-92a5-494f-ab04-234307a846dc"
        },
                        },
                    {
            {
                                    "property-name": "model-ver.model-version",
                                                "property-value": "1.0"
                                }
            },
                ]
                        },
    {
                    "inventory-response-items": {
                            "propertyinventory-response-nameitem": "model.model-id",[
                                {
                "property-value": "4fcbc1c0-7793-46d8-8aa1-fa1c2ed9ec7b"
                    "model-name": "vLoadBalancer-1106",
                       },
             "service-instance": {
                              {
          "service-instance-id": "3b12f31f-8f2d-4f5c-b875-61ff1194b941",
                                     "property   "service-instance-name": "model.model-name-version-idvLoadBalancer-1113",
                                                "propertymodel-invariant-valueid": "5c9962191321d60d-b2e2f7ff-4c764300-9b4396c2-7e8672a33c1d6bf0b3268b7a",
                                        "model-version-id": "732d4692-4b97-46f9-a996-0b3339e88c50",
   }
                                        ]"resource-version": "1510603936425"
                                    },
                                    "serviceextra-instanceproperties": {
                                        "persona-model-id": "4fcbc1c0-7793-46d8-8aa1-fa1c2ed9ec7b",extra-property": [
                                       "persona-model-version": "1.0",
     {
                                          "resource-version      "property-name": "1485542400model-ver.model-version-id",
                                                "serviceproperty-instance-idvalue": "cf8426a6732d4692-0b534b97-4e3d46f9-bfa6a996-4b2f4d5913a50b3339e88c50",
                                        "service-instance-name": "Service_Ete_Named90e1ab3-dcd5-4877-9edb-eadfc84e32c8"    },
                                    }
        {
                            },
                    "property-name": "model-ver.model-name",
            {
                                    "extraproperty-propertiesvalue": {
 "vLoadBalancer-1106"
                                           "extra-property": [ },
                                            {
                                                "property-name": "model.model-nametype",
                                                "property-value": "C15ce9e1E9144c8fB8bb..base_vlb..module-0service"
                                            },
                                            {
                                                "property-name": "model.model-invariant-typeid",
                                                "property-value": "resource1321d60d-f7ff-4300-96c2-6bf0b3268b7a"
                                            },
                                            {
                                                "property-name": "model-ver.model-version",
                                                "property-value": "1.0"
                                            },

                                        ]
               {
                     }
                               "property-name": "model.model-id" },
                                {
                "property-value                    "model-name": "79ee24cd-fc9a-4f14-afae-5e1dd2ab2941"
Vloadbalancer..base_vlb..module-0",
                                    "vf-module": {
                            },
            "vf-module-id": "e6b3e3eb-34e1-4c00-b8c1-2a4fbe479b12",
                                {
        "vf-module-name": "Vfmodule_vLB1113-1",
                                        "propertyheat-stack-nameid": "model.model-name-version-idVfmodule_vLB1113-1/3dd6d900-772f-4fcc-a0cb-e250ab2bb4db",
                                        "orchestration-status": "active",
       "property-value": "5484cabb-1a0d-4f29-a616-094a3f643d73"
                                "is-base-vf-module": true,
           }
                               "resource-version": "1510604612557",
         ]
                               "model-invariant-id": "6d760188-9a24-451a-b05b-e08b86cb94f2",
    },
                                    "model-version-nameid": "C15ce9e1E9144c8fB8bb..base_vlb..module-093facad9-55f2-4fe0-9574-814c2bc2d071",
                                    "vf-module    "model-customization-id": {"93fd5bd4-8051-4074-8530-c0c504604df5",
                                        "heatmodule-stack-idindex": "Vfmodule_Ete_Named90e1ab3-dcd5-4877-9edb-eadfc84e32c8/5845f37b-6cda-4e91-8ca3-f5572d226488",0
                                        "is-base-vf-module": true},
                                        "orchestrationextra-statusproperties": "active",{
                                        "personaextra-model-idproperty": "79ee24cd-fc9a-4f14-afae-5e1dd2ab2941",
[
                                           "persona-model-version": "1", {
                                        "resource-version        "property-name": "1485542667model-ver.model-version-id",
                                         "vf-module-id       "property-value": "b0eff87893facad9-e2e155f2-49474fe0-95979574-39afdd0f51dd814c2bc2d071",
                                        "vf-module-name": "Vfmodule_Ete_Named90e1ab3-dcd5-4877-9edb-eadfc84e32c8"    },
                                    }
        {
                        },
                        "property-name": "model-ver.model-name",
       {
                                         "extraproperty-propertiesvalue": {
"Vloadbalancer..base_vlb..module-0"
                                         "extra-property": [   },
                                            {
                                                "property-name": "model.model-nametype",
                                                "property-value": "C15ce9e1E9144c8fB8bb..dnsscaling..module-1resource"
                                            },
                                            {
                                                "property-name": "model.model-typeinvariant-id",
                                                "property-value": "resource6d760188-9a24-451a-b05b-e08b86cb94f2"
                                            },
                                            {
                                                "property-name": "model-ver.model-version",
                                                "property-value": "1"
                                            },

                                        ]
                                    }
            {                    },
                                {
                "property                    "model-name": "model.model-id",
         Vloadbalancer..dnsscaling..module-1",
                                       "propertyvf-valuemodule": "f32568ec-2f1c-458a-864b-0593d53d141a"{
                                            }"vf-module-id": "dummy_db373a8d-f7be-4d02-8ac8-6ca4c305d144",
                                            {
   "vf-module-name": "dummy_db373a8d-f7be-4d02-8ac8-6ca4c305d144",
                                             "property-name": "model.model-name-version-id""is-base-vf-module": false,
                                                "property-value"resource-version": "69615025-879d-4f0d-afe3-b7d1a7eeed1f"1510610079687",
                                            }
"model-invariant-id": "356a1cff-71f2-4086-9980-a2927ce11c1c",
                                          ]"model-version-id": "6b93d804-cfc8-4be3-92cc-9336d135859a"
                                    },
                                    "vfextra-moduleproperties": {
                                        "is-base-vf-moduleextra-property": false,
      [
                                  "persona-model-id": "f32568ec-2f1c-458a-864b-0593d53d141a",
            {
                            "persona-model-version": "1.0",
                   "property-name": "model-ver.model-version-id",
                    "resource-version": "1485561752",
                                        "vf-module-id": "dummy","property-value": "6b93d804-cfc8-4be3-92cc-9336d135859a"
                                        "vf-module-name": "dummy"    },
                                    }
        {
                        },
                        "property-name": "model-ver.model-name",
        {
                                        "extraproperty-propertiesvalue": {"Vloadbalancer..dnsscaling..module-1"
                                        "extra-property": [    },
                                            {
                                                "property-name": "model.model-nametype",
                                                "property-value": "C15ce9e1E9144c8fB8bb..dnsscaling..module-1resource"
                                            },
                                            {
                                                "property-name": "model.model-typeinvariant-id",
                                                "property-value": "resource356a1cff-71f2-4086-9980-a2927ce11c1c"
                                            },
                                            {
                                                "property-name": "model-ver.model-version",
                                                "property-value": "1"
: "1"
                                            }
                                },
        ]
                                    {}
                                }
                 "property-name": "model.model-id",
          ]
                        }
              "property-value": "f32568ec-2f1c-458a-864b-0593d53d141a"
     },
                    {
                   },
     "tenant": {
                            "tenant-id": "41d6d38489bd40b09ea8a6b6b852dcbd",
         {
                   "tenant-name": "Integration-SB-00",
                            "propertyresource-nameversion": "model.model-name-version-id",1509587770200"
                        },
                        "propertyextra-valueproperties": "69615025-879d-4f0d-afe3-b7d1a7eeed1f"{},
                        "inventory-response-items": {
                     }
       "inventory-response-item": [
                                ]{
                                    },"cloud-region": {
                                        "vfcloud-moduleowner": {"CloudOwner",
                                        "heatcloud-stackregion-id": "vDNS_Ete_Named90e1ab3-dcd5-4877-9edb-eadfc84e32c8/f447ce51-14dd-4dcd-9957-68a047c79673RegionOne",
                                        "is-base-vf-modulecloud-type": false"SharedNode",
                                        "orchestrationowner-defined-statustype": "activeOwnerType",
                                        "personacloud-modelregion-idversion": "f32568ec-2f1c-458a-864b-0593d53d141av1",
                                        "personacloud-model-versionzone": "1.0CloudZone",
                                        "resourcesriov-versionautomation": "1485562712"false,
                                        "vfresource-module-idversion": "8cd79e44-1fae-48c1-a160-609f90b46749",
    1509587770092"
                                    "vf-module-name": "vDNS_Ete_Named90e1ab3-dcd5-4877-9edb-eadfc84e32c8"  },
                                    "extra-properties": {}
                                }
                            ]
                        }
                    },
                    {]
            }
        }
    "extra-properties": {},
                  ]
}
Code Block
titleSO request
linenumberstrue
collapsetrue
NOTE: Robot must add preload for dummy module for this to work.
{

  "requestDetails": {

    "modelInfo": {

      "inventory-response-itemsmodelType": {"vfModule",

      "modelInvariantId": "356a1cff-71f2-4086-9980-a2927ce11c1c",

      "modelVersionId": "6b93d804-cfc8-4be3-92cc-9336d135859a",

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

       "inventory-response-itemmodelVersion": ["1"

    },

    "cloudConfiguration": {

      "lcpCloudRegionId": "RegionOne",

      "tenantId": "41d6d38489bd40b09ea8a6b6b852dcbd"

    },

    "requestInfo": {

      "instanceName": "vDNS_vLB1113-1",

      "source": "POLICY",

      "suppressRollback": false,

      "requestorId": "policy"

    },

    "cloud-regionrelatedInstanceList": {[

      {

                        "relatedInstance": {

          "cloud-ownerinstanceId": "Rackspace3b12f31f-8f2d-4f5c-b875-61ff1194b941",

          "modelInfo": {

            "modelType": "service",

                "cloud-region-id"modelInvariantId": "DFW1321d60d-f7ff-4300-96c2-6bf0b3268b7a",

            "modelVersionId": "732d4692-4b97-46f9-a996-0b3339e88c50",

            "modelName": "vLoadBalancer-1106",

              "cloud-region-version"modelVersion": "v11.0",

          }

        }

      },

      {

          "cloud-typerelatedInstance": "SharedNode",{

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

          "modelInfo": {

            "cloud-zonemodelType": "CloudZonevnf",

            "modelInvariantId": "cee050ed-92a5-494f-ab04-234307a846dc",

            "modelVersionId": "fd65becc-6b2c-4fe8-ace9-cc29db9a3da2",

              "owner-defined-type"modelName": "OwnerTypevLoadBalancer",

            "modelVersion": "1.0",

            "modelCustomizationName": "vLoadBalancer 0"

          }

   "resource-version": "1485465545"
    }

      }

    ],

    "requestParameters":      {}

  }

}
Code Block
titleSO Response
linenumberstrue
collapsetrue
SUCCESS:
{
	"requestReferences": {
    	"instanceId": "ff305d54-75b4-ff1b-bdb2-eb6b9e5460ff",
    	"requestId": "e4f95e0c-a013-4530-8e59-c5c5f9e539b6"
  	},
                                    "extra-properties	"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
  trigger_policy: unique-policy-id-1-restart
  timeout: 3600
  abatement: false

policies:
  - id: unique-policy-id-1-restart
    name: Restart the VM
    description:
    actor: VFC
    recipe: Restart
    target:
          ]type: VM
    retry: 3
    timeout: 1200
    success: final_success
         },failure: final_failure
    failure_timeout: final_failure_timeout
    failure_retries: final_failure_retries
    failure_exception: final_failure_exception
    failure_guard: final_failure_guard
Code Block
titleDCAE Control Loop Event (HOLMES) - VOLTE
linenumberstrue
collapsetrue
{
	"closedLoopEventClient": "DCAE.HolmesInstance",     "tenant": {
    "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",
        "resource-version"AAI": {
		"vserver.vserver-name": "1485465545dfw1lb01lb01",
 		"service-instance.service-instance-id" : "TBD",
		"generic-vnf.vnf-id" : "TBD",
		"generic-vnf.vnf-name" : "TBD"
    },
    "closedLoopAlarmStart": 1484677482204798,
    "closedLoopEventStatus": "ONSET",
    "closedLoopControlName": "ControlLoop-VOLTE-2179b738-fd36-4843-a71a-a8c24c70c55b",
    "version": "1.0.2",
    "target": "vserver.vserver-name",
    "requestID": "97964e10-686e-4790-8c45-bdfa61df770f",
    "from": "DCAE"
}
Code Block
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": [
		{
                          "tenant-id": "1015548",
                            "tenant-name": "1015548"
                        }
                    }
                ]
            },
            "vserver": {
                "in-maint": false,
                "is-closed-loop-disabled": false,
                "prov-status": "ACTIVE",
                "resource-version": "1485546436",
                "vserver-id": "70f081eb-2a87-4c81-9296-4b93d7d145c6",
                "vserver-name": "vlb-lb-32c8",
                	"vserverrelated-name2to": "vlbservice-lb-32c8instance",
                "vserver-selflink	"related-link": "https://dfwaai-int1.serverstest.api.rackspacecloudatt.com/v2/1015548/servers/70f081eb-2a87-4c81-9296-4b93d7d145c6":8443/aai/v9/business/customers/customer/1610_Func_Global_20160817084727/service-subscriptions/service-subscription/uCPE-VMS/service-instances/service-instance/USUCP0PCOIL0110UJZZ01",
            }
        }
    ]
}
Code Block
titleSO request
linenumberstrue
collapsetrue
{
  "requestDetails	"relationship-data": {[
       "modelInfo":  	{
          “modelType”: “vfModule”,
          “modelInvariantId”: “ff5256d2-5a33-55df-13ab-12abad84e7ff”"relationship-key": "customer.global-customer-id",
          “modelNameVersionId”: “fe6478e5-ea33-3346-ac12-ab121484a3fe”,
          “modelName”: “vSAMP12..base..module-0”,
 "relationship-value": "1610_Func_Global_20160817084727"
         "modelVersion": "1"
      },
      “cloudConfiguration”: {
     {
     “lcpCloudRegionId”: “mdt1”,
          “tenantId”: “88a6ca3ee0394ade9403f075db23167e”"relationship-key": "service-subscription.service-type",
      },
         "requestInforelationship-value": {"uCPE-VMS"
          “instanceName”: “MSOTEST103a-vSAMP12_base_module-0”  },
           “source”: “VID”,
{
               “suppressRollback”: true"relationship-key": "service-instance.service-instance-id",
      },
         "relatedInstanceListrelationship-value": ["USUCP0PCOIL0110UJZZ01"
         {   }
         	],
   “relatedInstance”: {
     "related-to-property": [{"property-key": "service-instance.service-instance-name"}]
        “instanceId”: “{serviceInstanceId}”	},
        {
       “modelInfo”: { 	"related-to": "vserver",
                  “modelType”: “service”	"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": [
        “modelInvariantId”: “ff3514e3-5a33-55df-13ab-12abad84e7ff”,
   {
               “modelNameVersionId”"relationship-key": “fe6985cd-ea33-3346-ac12-ab121484a3fe”"cloud-region.cloud-owner",
               "relationship-value": "att-aic"
  “modelName”: “{parent service model name}”,
      },
            "modelVersion": "1.0"
{
                }"relationship-key": "cloud-region.cloud-region-id",
            }
   "relationship-value": "AAIAIC25"
     },
         {},
            “relatedInstance”: {
               “instanceId”: “{vnfInstanceId}”"relationship-key": "tenant.tenant-id",
               "modelInforelationship-value": {
"USUCP0PCOIL0110UJZZ01::uCPE-VMS"
            },
        “modelType”: “vnf”,
   {
               “modelInvariantId”: “ff5256d1-5a33-55df-13ab-12abad84e7ff”"relationship-key": "vserver.vserver-id",
                  “modelNameVersionId”"relationship-value": “fe6478e4"3b2558f4-ea3339d8-334640e7-ac12bfc7-ab121484a3fe”,30660fb52c45"
            }
        “modelName”: “vSAMP12”	],
         	"related-to-property": [      
			{
         "modelVersion   	"property-key": "1vserver.0vserver-name",
            	"property-value": "USUCP0PCOIL0110UJZZ01-vsrx"
       “modelCustomizationName”: “vSAMP12 1”	}]
      	}
   	]}
}
Code Block
titleVFC request
linenumberstrue
collapsetrue
Request URI: 
POST    }
 http(s)://[hostname][:port]/api/nslcm/v1/ns/{nsInstanceId }/heal

Request JSON:
{
    " healVnfData": {
     }
   “vnfInstanceId”: ”1”,
     }
   “cause”: ”vm is ]down”,
      “requestParameters”  “additionalParams”: {
          “userParams”: []
      }
  }
}
Code Block
*TODO show the SO API response message

VOLTE Use Case

Code Block
titleVOLTE - Holmes Configuration Policy Payload
linenumberstrue
collapsetrue
*TBD from Holmes Team



Code Block
titleVOLTE - Operational Policy
linenumberstrue
collapsetrue
*TODO show Operational Policy
Code Block
titleDCAE Control Loop Event (HOLMES) - VOLTE
linenumberstrue
collapsetrue
“action”: ”restartvm”,
            “actionvminfo”: {
                "closedLoopEventClient"“vmid”: "DCAE.HolmesInstance"”33”,
                “vmname”: ”xgw - smp11”
            }
        }
    }
}
Code Block
titleVFC response
linenumberstrue
collapsetrue
Response JSON with response  "policyVersion": "1.0.0.5",
                "policyName": "vVOLTEcode 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": {
           "policyScopeprogress": "resource=volte,service=VolteSErvice,type=SampleType,closedLoopControlName=CL-VOLTE-SIG-d925ed73-8231-4d02-9545-db4e101f88f840",
                "target_typestatus": "VMproccessing",
                "AAIstatusDescription": {
								# the value "dfw1lb01lb01" comes from VES sourceName field"OMC VMs are decommissioned in VIM",
                 "errorCode": null,
               "vserver.vserver-name"responseId": "dfw1lb01lb0142",
#
# WE ARE TRYING TO DETERMINE IF HOLMES CAN POPULATE SOME OF THESE VALUES
#
 								"service-instance.service-instance-id" : "TBD - Can Holmes provide this?",
								"generic-vnf.vnf-id" : "TBD",
								"vserver.vserver-id" : "TBD"

        "responseHistoryList": [{
                "progress": "40",
                  }"status": "proccessing",
                "closedLoopAlarmStartstatusDescription": 1484677482204798"OMC VMs are decommissioned in VIM",
                "closedLoopEventStatuserrorCode": "ONSET"null,
                "closedLoopControlNameresponseId": "CL-VOLTE-SIG-d925ed73-8231-4d02-9545-db4e101f88f8",1"
                "version": "1.0.2",}, {
                "targetprogress": "vserver.vserver-name41",
                "requestIDstatus": "97964e10-686e-4790-8c45-bdfa61df770fproccessing",
                "fromstatusDescription": "DCAE"
}
Code Block
linenumberstrue
collapsetrue
* TODO Sample A&AI call to retrieve these values:


 								"service-instance.service-instance-id" : "TBD - Can Holmes provide this?",
								"generic-vnf.vnf-id" : "TBD",
								"vserver.vserver-id" : "TBD"
 
May require 2 calls. We are also hoping Holmes could prepopulate this if that team is going to retrieve topology details from A&AI anyway.

Code Block
* TODO - A&AI response(s)
OMC VMs are decommissioned in VIM",
                "errorCode": null,
                "responseId": "2"
            }
        ]
    }
}


vCPE Use Case


Code Block
titlevCPE - TCA Configuration Policy Payload
Code Block
titleVFC request
linenumberstrue
collapsetrue
Request URI: 
POST http(s)://[hostname][:port]/api/nslcm/v1/ns/{nsInstanceId }/heal

Request JSON:
{
    " healVnfData": tca_policy: "{
        “vnfInstanceId”"domain": ”1”"measurementsForVfScaling",
        “cause”"metricsPerEventName": ”vm is down”,
 [{
       “additionalParams”: {
            “action”: ”restartvm”"eventName": "Measurement_vGMUX",
            “actionvminfo”  "controlLoopSchemaType": {"VNF",
                “vmid”"policyScope": ”33”"DCAE",
                “vmname”: ”xgw - smp11”"policyName": "DCAE.Config_tca-hi-lo",
            }
        }"policyVersion": "v0.0.1",
    }
}
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:
{
 "thresholds": [{
                     "jobIdclosedLoopControlName": "1234566ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e",
    "responseDescriptor                 "version": {
"1.0.2",
               "progress      "fieldPath": "40$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value",
         "status": "proccessing",
            "statusDescriptionthresholdValue": "OMC0,
 VMs are decommissioned in VIM",
        "errorCode": null,
        "responseIddirection": "42EQUAL",
        "responseHistoryList": [{
                "progressseverity": "40MAJOR",
                     "statusclosedLoopEventStatus": "proccessingABATED",
                "statusDescription": "OMC VMs are decommissioned in VIM",
}, {
                      "errorCodeclosedLoopControlName": null"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e",
                     "responseIdversion": "1.0.2",
            }, {
            "fieldPath": "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value",
    "progress": "41",
                "statusthresholdValue": "proccessing"0,
                     "statusDescriptiondirection": "OMCGREATER",
 VMs are decommissioned in VIM",
                "errorCodeseverity": null"CRITICAL",
                     "responseIdclosedLoopEventStatus": "2ONSET"
              }]
        }]
    }
}

...

}"
Code Block
titlevCPE - TCA Configuration Operational Policy Payload
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
{
  tca_policy: "{
  "domain": "measurementsForVfScaling",
  "metricsPerEventName": [
    {
      "eventName": "vCPEvGMUXPacketLoss",
      "controlLoopSchemaType": "VM",
      "policyScope": "DCAE",
      "policyName": "DCAE.Config_tca-hi-lo",
      "policyVersion": "v0.0.1",
      "thresholds": [
        {
          "closedLoopControlName": "CL-vCPEvGMUX-TRAFFIC-SIG-FB480F95-A453-6F24-B767-FD703241ABA1",
          "version": "1.0.2",
          "fieldPath": "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta",
          "thresholdValue": 0,
          "direction": "EQUAL",
          "severity": "MAJOR",
          "closedLoopEventStatusclosedLoopControlName": "ABATED"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e",
        },
      "version": "1.0.2",
  {
          "closedLoopControlNamerequestID": "CL0abc0000-vCPEvGMUXb032-TRAFFIC4e4b-SIG-FB480F95-A453-6F24-B767-FD703241ABA1bd30-88260f444888",
            "versionclosedLoopAlarmStart": "1.0.2"1478189220547,
            "fieldPathclosedLoopEventClient": "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDeltaDCAE_INSTANCE_ID.dcae-tca",
            "thresholdValuetarget_type": 1000"VNF",
            "directiontarget": "GREATER_OR_EQUALgeneric-vnf.vnf-name",
            "severityAAI": "CRITICAL",{
          "closedLoopEventStatus": "ONSET"
              "generic-vnf.vnf-name" : "vCPE_Infrastructure_vGMUX_demo_app"
            },
        ]
    }
"from": "DCAE",
     
   ]
 
}"
Code Block
linenumberstrue
collapsetrue
*TODO operational policy for vCPE
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": {
       "closedLoopAlarmStartcommon-header": 1478189220547,{
            "closedLoopEventClienttimestamp": "tca.instance000012017-08-25T21:06:23.037Z",
            "target_type"api-ver": "VNF2.00",
            "targetoriginator-id": "generic-vnf.vnf-ida20e2073-30b1-4357-893b-f5ed57b66ef0",
            "AAIrequest-id": {"a20e2073-30b1-4357-893b-f5ed57b66ef0",
                        "generic-vnf.vnf"sub-request-id" : "????1",
            },"flags": {}
      },
      "fromaction": "DCAERestart",
            "policyScope": "DCAE",
    "action-identifiers": {
        "policyNamevnf-id": "DCAE.Config_tca-hi-lo",
vCPE_Infrastructure_vGMUX_demo_app"
      }
    }
  },
  "policyVersionversion": "v02.0.1",
  "rpc-name": "restart",
       "correlation-id": "a20e2073-30b1-4357-893b-f5ed57b66ef0-1",
  "closedLoopEventStatustype": "ONSETrequest"
}
Code Block
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",f5ed57b66ef0",
        "sub-request-id": "1",
        "flags": {}
      },
      "status": {
        "sub-request-idcode": "1"400,
        "flagsmessage": {"Restart Successful"
      }
    }
  },
    "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-idclosedLoopControlName": "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": {
        "timestampclosedLoopAlarmEnd": "2017-08-25T21:06:23.037Z"1478589220547,
         "api-ver   "closedLoopEventClient": "5.00DCAE_INSTANCE_ID.dcae-tca",
         "originator-id   "target_type": "a20e2073-30b1-4357-893b-f5ed57b66ef0VNF",
         "request-id   "target": "a20e2073-30b1-4357-893b-f5ed57b66ef0generic-vnf.vnf-name",
            "sub-request-id": "1",AAI": {

			"generic-vnf.vnf-name" : "vCPE_Infrastructure_vGMUX_demo_app"
        "flags": {}    },
      },
      "statusfrom": {"DCAE",
            "codepolicyScope": 400"DCAE",
            "messagepolicyName": "Restart Successful"DCAE.Config_tca-hi-lo",
      }
    }
  },
  "versionpolicyVersion": "2v0.0.1",
    "rpc-name": "restart",
  "correlation-id": "a20e2073-30b1-4357-893b-f5ed57b66ef0-1",
        "typeclosedLoopEventStatus": "responseABATED"
}