Policy R4 Dublin Use Case Message/API Examples DRAFT
- Pamela Dragosh
- Marco Platania
Owned by Pamela Dragosh
vDNS (Auto Scale Out modifications)
Service model
CSAR package: service-Vloadbalancerms-csar.csar
TOSCA template: service-Vloadbalancerms-template.yml
Service Metadata Section
Used for specifying a control loop specific to a service if desired.
Example From VLoadbalancer YAML
tosca_definitions_version: tosca_simple_yaml_1_1 metadata: invariantUUID: ebacca8b-9fb8-498a-8a2b-24757f5236a9 UUID: e9129f70-1657-4e6d-955c-2651aba4cc28 name: vLoadBalancerMS description: vLBMS
TOSCA | A&AI Mapping | Notes |
---|---|---|
invariantUUID | model-invariant-id | Minimum value saved to Operational Policy IF the Control Loop Designer wishes to build a control SPECIFIC to this service. |
UUID | model-version-id | Q: Do we need this? Yes, because there could be different versions of the same model and SO needs to know which version we are using. |
name | AAI has the service-instance-name, not the model instance name | CLAMP - used by GUI to display to Control Loop designers |
type | service-type | CLAMP should find the type="Service" |
description | CLAMP - used by GUI to display to Control Loop designers (tooltip) |
VNF Node Template Metadata Section(s)
Used in order for an Operational Policy to take an action on a specific VNF. For Scale Out, this depends on the target type specified in the Control Loop event from DCAE.
topology_template: node_templates: vLoadBalancerMS 0: type: org.openecomp.resource.vf.Vloadbalancerms metadata: invariantUUID: 20ad46cc-6b16-4404-9895-93d2baaa8d25 UUID: 4f715117-08b9-4221-9d63-f3fa86919742 customizationUUID: 586e41fd-8e13-476e-a055-60e72adc3478 version: '1.0' name: vLoadBalancerMS description: vLBMS type: VF
VF Module Metadata
For Scale Out, the action for SO "VF Module Create" requires VF Module information.
groups: vloadbalancerms0..Vloadbalancerms..dnsscaling..module-1: type: org.openecomp.groups.VfModule metadata: vfModuleModelName: Vloadbalancerms..dnsscaling..module-1 vfModuleModelInvariantUUID: 82165a0f-430c-463c-bcef-e106d02af6c9 vfModuleModelUUID: ddf753e3-c8cc-4247-b902-213fa2083e61 vfModuleModelVersion: '1' vfModuleModelCustomizationUUID: 3878cce1-47c1-4ec8-812a-3e71e908f58e properties: min_vf_module_instances: 0 vf_module_label: dnsscaling max_vf_module_instances: 50 vf_module_type: Expansion isBase: false initial_count: 0 volume_group: false vloadbalancerms0..Vloadbalancerms..base_vlb..module-0: type: org.openecomp.groups.VfModule metadata: vfModuleModelName: Vloadbalancerms..base_vlb..module-0 vfModuleModelInvariantUUID: b28b4cfa-f793-445e-a8ea-b20299f5961c vfModuleModelUUID: 86c2fecc-9840-4341-8357-887049e84e53 vfModuleModelVersion: '1' vfModuleModelCustomizationUUID: 8dc6ef75-7795-4ebd-a3d8-633be62fa698 properties: min_vf_module_instances: 1 vf_module_label: base_vlb max_vf_module_instances: 1 vf_module_type: Base isBase: true initial_count: 1 volume_group: false
CLAMP should parse the "group" section and select only VF Modules that have a property isBase=false in order to do Scale Out.
TOSCA | A&AI | Notes |
---|---|---|
vfModuleModelName | - | |
vfModuleModelInvariantUUID | model-invariant-id | |
vfModuleModelUUID | model-version-id | |
vfModuleModelVersion | - | Do we need this? It may not be in AAI. |
vfModuleModelCustomizationUUID | model-customization-id |
Policy Creation
vDNS - TCA Configuration Policy Payload Expand source
TODO - New DCAE TCA Model
vDNS Create Config API Call Expand source
TODO - Policy Lifecycle API
vDNS - Operational Policy Expand source
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: ## TODO clean up as VF Modue type: VFModule vfModuleModelName: Vloadbalancerms..dnsscaling..module-1 vfModuleModelInvariantUUID: 82165a0f-430c-463c-bcef-e106d02af6c9 vfModuleModelUUID: ddf753e3-c8cc-4247-b902-213fa2083e61 vfModuleModelVersion: '1' vfModuleModelCustomizationUUID: 3878cce1-47c1-4ec8-812a-3e71e908f58e payload: requestParameters: '{"usePreload":true,"userParams":[]}' configurationParameters: '[{"ip-addr":"$.vf-module-topology.vf-module-parameters.param[9]","oam-ip-addr":"$.vf-module-topology.vf-module-parameters.param[16]","enabled":"$.vf-module-topology.vf-module-parameters.param[23]"}]' 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
vDNS Create Operational API Call Expand source
TODO - new Policy Lifecycle API create policy call
vDNS Guard - Min/Max Create API Call Expand source
TODO -
vDNS Guard - Frequency Limiter Create API Call Expand source
TODO
vDNS Push Policies API call Expand source
TODO - New Policy PAP API calls
DCAE Events and A&AI Enrichment (if necessary)
vDNS - DCAE Control Loop Event (TCA) - vDNS (NOT Enriched with A&AI) Expand source
{ "closedLoopEventClient": "DCAE_INSTANCE_ID.dcae-tca", "policyVersion": "1.0.0.5", "policyName": "vLoadBalancer", "policyScope": "resource=SampleResource,service=SampleService,type=SampleType,closedLoopControlName=SampleClosedLoop", "target_type": "VM", "AAI": { "vserver.vserver-name": "dfw1lb01lb01" }, "closedLoopAlarmStart": 1484677482204798, "closedLoopEventStatus": "ONSET", "closedLoopControlName": "ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3", "version": "1.0.2", "target": "vserver.vserver-name", "requestID": "97964e10-686e-4790-8c45-bdfa61df770f", "from": "DCAE" }
vDNS - A&AI vserver query Expand source
#PLD find the vserver version https://{aai}/aai/v11/nodes/vservers?vserver-name=dfw1lb01lb01
vDNS - A&AI vserver query response Expand source
{ "vserver": [ { "in-maint": false, "is-closed-loop-disabled": true, "prov-status": "ACTIVE", "relationship-list": { "relationship": [ { "related-link": "/aai/v11/network/generic-vnfs/generic-vnf/807a3f02-f878-436b-870c-f0e91e81570d", "related-to": "generic-vnf", "related-to-property": [ { "property-key": "generic-vnf.vnf-name", "property-value": "vLoadBalancerMS-Vnf-0809-2" } ], "relationship-data": [ { "relationship-key": "generic-vnf.vnf-id", "relationship-value": "807a3f02-f878-436b-870c-f0e91e81570d" } ] }, { "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/images/image/6e219e86-cd94-4989-9119-def29aa10b12", "related-to": "image", "related-to-property": [ { "property-key": "image.image-name", "property-value": "unknown" } ], "relationship-data": [ { "relationship-key": "cloud-region.cloud-owner", "relationship-value": "CloudOwner" }, { "relationship-key": "cloud-region.cloud-region-id", "relationship-value": "RegionOne" }, { "relationship-key": "image.image-id", "relationship-value": "6e219e86-cd94-4989-9119-def29aa10b12" } ] }, { "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/764efb04-5a46-4806-a766-2bdd24559f39", "related-to": "flavor", "related-to-property": [ { "property-key": "flavor.flavor-name", "property-value": "m1.medium" } ], "relationship-data": [ { "relationship-key": "cloud-region.cloud-owner", "relationship-value": "CloudOwner" }, { "relationship-key": "cloud-region.cloud-region-id", "relationship-value": "RegionOne" }, { "relationship-key": "flavor.flavor-id", "relationship-value": "764efb04-5a46-4806-a766-2bdd24559f39" } ] } ] }, "resource-version": "1533850964910", "vserver-id": "1c94da3f-16f1-4fc7-9ed1-e018dfa62774", "vserver-name": "vlb-ms-0809-1", "vserver-name2": "vlb-ms-0809-7", "vserver-selflink": "http://localhost:8774/v2.1/4086f396c5e04caf9502c5fdeca575c4/servers/1c94da3f-16f1-4fc7-9ed1-e018dfa62774" } ] }
vDNS DCAE Control Loop Event - Enriched A&AI Expand source
{ "closedLoopEventClient": "DCAE_INSTANCE_ID.dcae-tca", "policyVersion": "1.0.0.5", "policyName": "vLoadBalancer", "policyScope": "resource=SampleResource,service=SampleService,type=SampleType,closedLoopControlName=SampleClosedLoop", "target_type": "VM", "AAI": { "vserver.vserver-name": "dfw1lb01lb01" # TODO - add in the enriched A&AI }, "closedLoopAlarmStart": 1484677482204798, "closedLoopEventStatus": "ONSET", "closedLoopControlName": "ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3", "version": "1.0.2", "target": "vserver.vserver-name", "requestID": "97964e10-686e-4790-8c45-bdfa61df770f", "from": "DCAE" }
A&AI API Interaction
vDNS - A&AI vserver named query Expand source
#PLD find the vserver version https://{aai}/aai/search/named-query { "query-parameters": { "named-query": { "named-query-uuid": "4ff56a54-9e3f-46b7-a337-07a1d3c6b469" } }, "instance-filters": { "instance-filter": [ { "vserver": { "vserver-name": "vserver-71c978fb-29b8-437d-80e6-acf3a3a91e69" } } ] } }
vDNS - A&AI vserver named query response Expand source
{ "inventory-response-item": [ { "vserver": { "vserver-id": "143473ac-1b32-47bc-aa07-10a680d2bbbb", "vserver-name": "vlb-ms-0706-1", "vserver-name2": "vlb-ms-0706-1", "prov-status": "ACTIVE", "vserver-selflink": "http://ecompctl1.research.att.com:8774/v2/3f2aaef74ecb4b19b35e26d0849fe9a2/servers/143473ac-1b32-47bc-aa07-10a680d2bbbb", "in-maint": false, "is-closed-loop-disabled": false, "resource-version": "1531949079952" }, "extra-properties": {}, "inventory-response-items": { "inventory-response-item": [ { "model-name": "vLoadBalancerMS", "generic-vnf": { "vnf-id": "f524b92a-b5bd-4c9d-9c92-2ef672bc070f", "vnf-name": "vLoadBalancerMS-Vnf-0706-1", "vnf-type": "vLoadBalancerMS/vLoadBalancerMS 0", "service-id": "50e1b0be-e0c9-48e2-9f42-15279a783ee8", "prov-status": "PROV", "orchestration-status": "Active", "ipv4-oam-address": "10.0.150.1", "in-maint": false, "is-closed-loop-disabled": false, "resource-version": "1533141664663", "model-invariant-id": "32f7ec6a-1c54-4c06-a548-fe84832e3c40", "model-version-id": "2db7689c-a979-4418-b71f-6a45a32f4791", "model-customization-id": "f3af2f41-8ea2-4f3c-8d85-aaede9699a71", "nf-type": "nf-type", "nf-function": "nf-function", "nf-role": "nf-role", "nf-naming-code": "" }, "extra-properties": { "extra-property": [ { "property-name": "model-ver.model-version-id", "property-value": "2db7689c-a979-4418-b71f-6a45a32f4791" }, { "property-name": "model-ver.model-name", "property-value": "vLoadBalancerMS" }, { "property-name": "model.model-type", "property-value": "resource" }, { "property-name": "model.model-invariant-id", "property-value": "32f7ec6a-1c54-4c06-a548-fe84832e3c40" }, { "property-name": "model-ver.model-version", "property-value": "1.0" } ] }, "inventory-response-items": { "inventory-response-item": [ { "model-name": "vLoadBalancerMS", "service-instance": { "service-instance-id": "f242d516-7c96-4b02-a74d-4363b4267459", "service-instance-name": "vLoadBalancerMS-Service-0706-1", "environment-context": "General_Revenue-Bearing", "workload-context": "Production", "model-invariant-id": "2d4e2c32-2ffb-494a-9677-073a08f637dd", "model-version-id": "4dd37f02-7da5-451c-ba76-032a5b465c65", "resource-version": "1530889799597", "orchestration-status": "Active" }, "extra-properties": { "extra-property": [ { "property-name": "model-ver.model-version-id", "property-value": "4dd37f02-7da5-451c-ba76-032a5b465c65" }, { "property-name": "model-ver.model-name", "property-value": "vLoadBalancerMS" }, { "property-name": "model.model-type", "property-value": "service" }, { "property-name": "model.model-invariant-id", "property-value": "2d4e2c32-2ffb-494a-9677-073a08f637dd" }, { "property-name": "model-ver.model-version", "property-value": "1.0" } ] } }, { "model-name": "Vloadbalancerms..dnsscaling..module-1", "vf-module": { "vf-module-id": "c0831ca7-0a20-4f03-a183-1135381b8707", "vf-module-name": "vLoadBalancerMS-Vnf-0706-1_2", "heat-stack-id": "vLoadBalancerMS-Vnf-0706-1_2/122b563a-2c56-4804-aa81-970ba7741b55", "orchestration-status": "active", "is-base-vf-module": false, "resource-version": "1531510457103", "model-invariant-id": "285adb8d-b6b4-41f6-8f28-48f86ad4fa3b", "model-version-id": "3db507c6-bec6-47a3-9ac3-5978d3f03882", "model-customization-id": "1726b74e-8831-4b0a-a1f3-c254cc2e8fef", "module-index": 0 }, "extra-properties": { "extra-property": [ { "property-name": "model-ver.model-version-id", "property-value": "3db507c6-bec6-47a3-9ac3-5978d3f03882" }, { "property-name": "model-ver.model-name", "property-value": "Vloadbalancerms..dnsscaling..module-1" }, { "property-name": "model.model-type", "property-value": "resource" }, { "property-name": "model.model-invariant-id", "property-value": "285adb8d-b6b4-41f6-8f28-48f86ad4fa3b" }, { "property-name": "model-ver.model-version", "property-value": "1" } ] } }, { "model-name": "Vloadbalancerms..dnsscaling..module-1", "vf-module": { "vf-module-id": "50e6e588-fe87-4663-aa10-51964f51a67d", "vf-module-name": "vLoadBalancerMS-Vnf-0706-1_4", "heat-stack-id": "vLoadBalancerMS-Vnf-0706-1_4/ec246cff-38e3-4c89-99bf-21bc925b073c", "orchestration-status": "active", "is-base-vf-module": false, "resource-version": "1531925572435", "model-invariant-id": "285adb8d-b6b4-41f6-8f28-48f86ad4fa3b", "model-version-id": "3db507c6-bec6-47a3-9ac3-5978d3f03882", "model-customization-id": "1726b74e-8831-4b0a-a1f3-c254cc2e8fef", "module-index": 2 }, "extra-properties": { "extra-property": [ { "property-name": "model-ver.model-version-id", "property-value": "3db507c6-bec6-47a3-9ac3-5978d3f03882" }, { "property-name": "model-ver.model-name", "property-value": "Vloadbalancerms..dnsscaling..module-1" }, { "property-name": "model.model-type", "property-value": "resource" }, { "property-name": "model.model-invariant-id", "property-value": "285adb8d-b6b4-41f6-8f28-48f86ad4fa3b" }, { "property-name": "model-ver.model-version", "property-value": "1" } ] } }, { "model-name": "Vloadbalancerms..dnsscaling..module-1", "vf-module": { "vf-module-id": "8853e587-07d9-4081-9f90-61af87cd34bf", "vf-module-name": "vLoadBalancerMS-Vnf-0706-1_3", "heat-stack-id": "vLoadBalancerMS-Vnf-0706-1_3/10d56b1b-1d3e-4677-a31f-3449e1e3c457", "orchestration-status": "active", "is-base-vf-module": false, "resource-version": "1531840660936", "model-invariant-id": "285adb8d-b6b4-41f6-8f28-48f86ad4fa3b", "model-version-id": "3db507c6-bec6-47a3-9ac3-5978d3f03882", "model-customization-id": "1726b74e-8831-4b0a-a1f3-c254cc2e8fef", "module-index": 1 }, "extra-properties": { "extra-property": [ { "property-name": "model-ver.model-version-id", "property-value": "3db507c6-bec6-47a3-9ac3-5978d3f03882" }, { "property-name": "model-ver.model-name", "property-value": "Vloadbalancerms..dnsscaling..module-1" }, { "property-name": "model.model-type", "property-value": "resource" }, { "property-name": "model.model-invariant-id", "property-value": "285adb8d-b6b4-41f6-8f28-48f86ad4fa3b" }, { "property-name": "model-ver.model-version", "property-value": "1" } ] } }, { "model-name": "Vloadbalancerms..dnsscaling..module-1", "vf-module": { "vf-module-id": "51dbbf67-6e25-4d0c-8c18-ba7f21b8cfb3", "vf-module-name": "vLoadBalancerMS-Vnf-0706-1_6", "heat-stack-id": "vLoadBalancerMS-Vnf-0706-1_6/8486eafa-d860-4c17-a1bf-a1c436290806", "orchestration-status": "active", "is-base-vf-module": false, "resource-version": "1532638352675", "model-invariant-id": "285adb8d-b6b4-41f6-8f28-48f86ad4fa3b", "model-version-id": "3db507c6-bec6-47a3-9ac3-5978d3f03882", "model-customization-id": "1726b74e-8831-4b0a-a1f3-c254cc2e8fef", "module-index": 4 }, "extra-properties": { "extra-property": [ { "property-name": "model-ver.model-version-id", "property-value": "3db507c6-bec6-47a3-9ac3-5978d3f03882" }, { "property-name": "model-ver.model-name", "property-value": "Vloadbalancerms..dnsscaling..module-1" }, { "property-name": "model.model-type", "property-value": "resource" }, { "property-name": "model.model-invariant-id", "property-value": "285adb8d-b6b4-41f6-8f28-48f86ad4fa3b" }, { "property-name": "model-ver.model-version", "property-value": "1" } ] } }, { "model-name": "Vloadbalancerms..dnsscaling..module-1", "vf-module": { "vf-module-id": "c6256fd8-dfa7-49fd-a320-4be08bb3a49d", "vf-module-name": "vLoadBalancerMS-Vnf-0706-1_7", "heat-stack-id": "vLoadBalancerMS-Vnf-0706-1_7/8a587bc3-96b1-4ba7-9f4a-d40f669d08de", "orchestration-status": "active", "is-base-vf-module": false, "resource-version": "1532702700715", "model-invariant-id": "285adb8d-b6b4-41f6-8f28-48f86ad4fa3b", "model-version-id": "3db507c6-bec6-47a3-9ac3-5978d3f03882", "model-customization-id": "1726b74e-8831-4b0a-a1f3-c254cc2e8fef", "module-index": 5 }, "extra-properties": { "extra-property": [ { "property-name": "model-ver.model-version-id", "property-value": "3db507c6-bec6-47a3-9ac3-5978d3f03882" }, { "property-name": "model-ver.model-name", "property-value": "Vloadbalancerms..dnsscaling..module-1" }, { "property-name": "model.model-type", "property-value": "resource" }, { "property-name": "model.model-invariant-id", "property-value": "285adb8d-b6b4-41f6-8f28-48f86ad4fa3b" }, { "property-name": "model-ver.model-version", "property-value": "1" } ] } }, { "model-name": "Vloadbalancerms..dnsscaling..module-1", "vf-module": { "vf-module-id": "dummy_f524b92a-b5bd-4c9d-9c92-2ef672bc070f", "vf-module-name": "vLoadBalancerMS-Vnf-0706-1_0", "is-base-vf-module": false, "resource-version": "1537212348939", "model-invariant-id": "285adb8d-b6b4-41f6-8f28-48f86ad4fa3b", "model-version-id": "3db507c6-bec6-47a3-9ac3-5978d3f03882", "model-customization-id": "1726b74e-8831-4b0a-a1f3-c254cc2e8fef" }, "extra-properties": { "extra-property": [ { "property-name": "model-ver.model-version-id", "property-value": "3db507c6-bec6-47a3-9ac3-5978d3f03882" }, { "property-name": "model-ver.model-name", "property-value": "Vloadbalancerms..dnsscaling..module-1" }, { "property-name": "model.model-type", "property-value": "resource" }, { "property-name": "model.model-invariant-id", "property-value": "285adb8d-b6b4-41f6-8f28-48f86ad4fa3b" }, { "property-name": "model-ver.model-version", "property-value": "1" } ] } }, { "model-name": "Vloadbalancerms..dnsscaling..module-1", "vf-module": { "vf-module-id": "aa9294f3-8cd6-483c-8165-8e303b7022a4", "vf-module-name": "vLoadBalancerMS-Vnf-0706-1_5", "heat-stack-id": "vLoadBalancerMS-Vnf-0706-1_5/39e7f1bd-1746-4370-aec5-1ff83a28a9a9", "orchestration-status": "active", "is-base-vf-module": false, "resource-version": "1532616866686", "model-invariant-id": "285adb8d-b6b4-41f6-8f28-48f86ad4fa3b", "model-version-id": "3db507c6-bec6-47a3-9ac3-5978d3f03882", "model-customization-id": "1726b74e-8831-4b0a-a1f3-c254cc2e8fef", "module-index": 3 }, "extra-properties": { "extra-property": [ { "property-name": "model-ver.model-version-id", "property-value": "3db507c6-bec6-47a3-9ac3-5978d3f03882" }, { "property-name": "model-ver.model-name", "property-value": "Vloadbalancerms..dnsscaling..module-1" }, { "property-name": "model.model-type", "property-value": "resource" }, { "property-name": "model.model-invariant-id", "property-value": "285adb8d-b6b4-41f6-8f28-48f86ad4fa3b" }, { "property-name": "model-ver.model-version", "property-value": "1" } ] } }, { "model-name": "Vloadbalancerms..base_vlb..module-0", "vf-module": { "vf-module-id": "155949a5-8494-45c8-84db-3675dcc5a64f", "vf-module-name": "Vfmodule_vLBMS-0706-1", "heat-stack-id": "Vfmodule_vLBMS-0706-1/76c42b6b-09b0-434b-85a7-2b226eb3d31c", "orchestration-status": "active", "is-base-vf-module": true, "resource-version": "1530890184655", "model-invariant-id": "f96252ec-2729-45c7-ae73-a4e4bf495838", "model-version-id": "75122eb8-1482-4c68-b7cf-dd8458f58ba5", "model-customization-id": "f979a817-584e-4857-b585-c8f409eccbdd", "module-index": 0 }, "extra-properties": { "extra-property": [ { "property-name": "model-ver.model-version-id", "property-value": "75122eb8-1482-4c68-b7cf-dd8458f58ba5" }, { "property-name": "model-ver.model-name", "property-value": "Vloadbalancerms..base_vlb..module-0" }, { "property-name": "model.model-type", "property-value": "resource" }, { "property-name": "model.model-invariant-id", "property-value": "f96252ec-2729-45c7-ae73-a4e4bf495838" }, { "property-name": "model-ver.model-version", "property-value": "1" } ] } } ] } }, { "tenant": { "tenant-id": "3f2aaef74ecb4b19b35e26d0849fe9a2", "tenant-name": "ONAP-demo-test", "resource-version": "1529419258510" }, "extra-properties": {}, "inventory-response-items": { "inventory-response-item": [ { "cloud-region": { "cloud-owner": "CloudOwner", "cloud-region-id": "RegionOne", "cloud-type": "openstack", "owner-defined-type": "owner type", "cloud-region-version": "v2.5", "cloud-zone": "zone-1", "sriov-automation": false, "resource-version": "1529419258443" }, "extra-properties": {} } ] } } ] } } ] }
SO API Interaction
vDNS - SO Request Expand source
https://{so}/serviceInstantiation/v7/3b12f31f-8f2d-4f5c-b875-61ff1194b941/vnfs/db373a8d-f7be-4d02-8ac8-6ca4c305d144/vfModules/scaleOut { "requestDetails": { "modelInfo": { "modelType": "vfModule", "modelInvariantId": "356a1cff-71f2-4086-9980-a2927ce11c1c", "modelVersionId": "6b93d804-cfc8-4be3-92cc-9336d135859a", "modelName": "Vloadbalancer..dnsscaling..module-1", "modelVersion": "1" }, "cloudConfiguration": { "lcpCloudRegionId": "RegionOne", "tenantId": "41d6d38489bd40b09ea8a6b6b852dcbd" }, "requestInfo": { "instanceName": "my_module_3", "source": "POLICY", "suppressRollback": false, "requestorId": "policy" }, "relatedInstanceList": [ { "relatedInstance": { "instanceId": "3b12f31f-8f2d-4f5c-b875-61ff1194b941", "modelInfo": { "modelType": "service", "modelInvariantId": "1321d60d-f7ff-4300-96c2-6bf0b3268b7a", "modelVersionId": "732d4692-4b97-46f9-a996-0b3339e88c50", "modelName": "vLoadBalancer-1106", "modelVersion": "1.0" } } }, { "relatedInstance": { "instanceId": "db373a8d-f7be-4d02-8ac8-6ca4c305d144", "modelInfo": { "modelType": "vnf", "modelInvariantId": "cee050ed-92a5-494f-ab04-234307a846dc", "modelVersionId": "fd65becc-6b2c-4fe8-ace9-cc29db9a3da2", "modelName": "vLoadBalancer", "modelVersion": "1.0", "modelCustomizationName": "vLoadBalancer 0" } } } ], "requestParameters": { "usePreload": true, "userParams": [] }, "configurationParameters": [ { "availability-zone": "$.vnf-topology.vnf-resource-assignments.availability-zones.availability-zone[0]", "xtz-123": "$.vnf-topology.vnf-resource-assignments.availability-zones.availability-zone[0]" } ] } }
vDNS - SO Response ACCEPTED Expand source
{ "requestReferences": { "requestId": "60533ee3-814d-4949-be93-e6b26aace580" }, "request": { "requestId":"d5bc27f2-1d5c-405d-a985-3e3f544c1582", "requestStatus": { "percentProgress": 0, "requestState": "IN_PROGRESS", "wasRolledBack": false } }, "httpResponseCode": 0 }
vDNS - SO Request Status Query (if not complete) Expand source
https://{so}/orchestrationRequests/v5/60533ee3-814d-4949-be93-e6b26aace580
vDNS - SO Response SUCCESS Expand source
{ "requestReferences": { "requestId": "60533ee3-814d-4949-be93-e6b26aace580" }, "request": { "requestId":"d5bc27f2-1d5c-405d-a985-3e3f544c1582", "requestStatus": { "percentProgress": 100, "requestState": "COMPLETE", "wasRolledBack": false } }, "httpResponseCode": 0 }
vFirewall
Policy Creation
vFirewall - TCA Configuration Policy Payload Expand source
tca_policy: "{ "domain": "measurementsForVfScaling", "metricsPerEventName": [ { "eventName": "vFirewallBroadcastPackets", "controlLoopSchemaType": "VNF", "policyScope": "DCAE", "policyName": "DCAE.Config_tca-hi-lo", "policyVersion": "v0.0.1", "thresholds": [ { "closedLoopControlName": "ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a", "version": "1.0.2", "fieldPath": "$.event.measurementsForVfScalingFields.vNicUsageArray[*].receivedTotalPacketsDelta", "thresholdValue": 300, "direction": "LESS_OR_EQUAL", "severity": "MAJOR", "closedLoopEventStatus": "ONSET" }, { "closedLoopControlName": "ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a", "version": "1.0.2", "fieldPath": "$.event.measurementsForVfScalingFields.vNicUsageArray[*].receivedTotalPacketsDelta", "thresholdValue": 700, "direction": "GREATER_OR_EQUAL", "severity": "CRITICAL", "closedLoopEventStatus": "ONSET" } ] } ] }"
vFirewall - Create Config Policy Expand source
curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ "configBody": "{ \"service\": \"tca_policy\", \"location\": \"SampleServiceLocation\", \"uuid\": \"test\", \"policyName\": \"MicroServicevFirewall\", \"description\": \"MicroService vFirewall Policy\", \"configName\": \"SampleConfigName\", \"templateVersion\": \"OpenSource.version.1\", \"version\": \"1.1.0\", \"priority\": \"1\", \"policyScope\": \"resource=SampleResource,service=SampleService,type=SampleType,closedLoopControlName=ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\", \"riskType\": \"SampleRiskType\", \"riskLevel\": \"1\", \"guard\": \"False\", \"content\": { \"tca_policy\": { \"domain\": \"measurementsForVfScaling\", \"metricsPerEventName\": [{ \"eventName\": \"vFirewallBroadcastPackets\", \"controlLoopSchemaType\": \"VNF\", \"policyScope\": \"DCAE\", \"policyName\": \"DCAE.Config_tca-hi-lo\", \"policyVersion\": \"v0.0.1\", \"thresholds\": [{ \"closedLoopControlName\": \"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\", \"version\": \"1.0.2\", \"fieldPath\": \"$.event.measurementsForVfScalingFields.vNicUsageArray[*].receivedTotalPacketsDelta\", \"thresholdValue\": 300, \"direction\": \"LESS_OR_EQUAL\", \"severity\": \"MAJOR\", \"closedLoopEventStatus\": \"ONSET\" }, { \"closedLoopControlName\": \"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\", \"version\": \"1.0.2\", \"fieldPath\": \"$.event.measurementsForVfScalingFields.vNicUsageArray[*].receivedTotalPacketsDelta\", \"thresholdValue\": 700, \"direction\": \"GREATER_OR_EQUAL\", \"severity\": \"CRITICAL\", \"closedLoopEventStatus\": \"ONSET\" } ] }] } } }", "policyConfigType": "MicroService", "policyName": "com.MicroServicevFirewall", "onapName": "DCAE" }' 'http://pdp:8081/pdp/api/createPolicy'
vFirewall - Operational Policy Expand source
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
vFirewall - Create Operational Policy Expand source
curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ "configBody": "{ \"service\": \"tca_policy\", \"location\": \"SampleServiceLocation\", \"uuid\": \"test\", \"policyName\": \"MicroServicevFirewall\", \"description\": \"MicroService vFirewall Policy\", \"configName\": \"SampleConfigName\", \"templateVersion\": \"OpenSource.version.1\", \"version\": \"1.1.0\", \"priority\": \"1\", \"policyScope\": \"resource=SampleResource,service=SampleService,type=SampleType,closedLoopControlName=ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\", \"riskType\": \"SampleRiskType\", \"riskLevel\": \"1\", \"guard\": \"False\", \"content\": { \"tca_policy\": { \"domain\": \"measurementsForVfScaling\", \"metricsPerEventName\": [{ \"eventName\": \"vFirewallBroadcastPackets\", \"controlLoopSchemaType\": \"VNF\", \"policyScope\": \"DCAE\", \"policyName\": \"DCAE.Config_tca-hi-lo\", \"policyVersion\": \"v0.0.1\", \"thresholds\": [{ \"closedLoopControlName\": \"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\", \"version\": \"1.0.2\", \"fieldPath\": \"$.event.measurementsForVfScalingFields.vNicUsageArray[*].receivedTotalPacketsDelta\", \"thresholdValue\": 300, \"direction\": \"LESS_OR_EQUAL\", \"severity\": \"MAJOR\", \"closedLoopEventStatus\": \"ONSET\" }, { \"closedLoopControlName\": \"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\", \"version\": \"1.0.2\", \"fieldPath\": \"$.event.measurementsForVfScalingFields.vNicUsageArray[*].receivedTotalPacketsDelta\", \"thresholdValue\": 700, \"direction\": \"GREATER_OR_EQUAL\", \"severity\": \"CRITICAL\", \"closedLoopEventStatus\": \"ONSET\" } ] }] } } }", "policyConfigType": "MicroService", "policyName": "com.MicroServicevFirewall", "onapName": "DCAE" }' 'http://pdp:8081/pdp/api/createPolicy'
vFirewall - Push Policies Expand source
curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ "pdpGroup": "default", "policyName": "com.BRMSParamvFirewall", "policyType": "BRMS_Param" }' 'http://pdp:8081/pdp/api/pushPolicy' curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ "pdpGroup": "default", "policyName": "com.MicroServicevFirewall", "policyType": "MicroService" }' 'http://pdp:8081/pdp/api/pushPolicy'
DCAE Events and A&AI Enrichment (if necessary)
vFirewall - DCAE Control Loop Event (NOT enriched with A&AI) Expand source
{ "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" }
vFirewall - A&AI generic-vnf query Expand source
https://{aai}/aai/v11/network/generic-vnfs/generic-vnf?vnf-name=zdfw1fwl01fwl02
vFirewall - A&AI generic-vnf query response Expand source
{ "vnf-id": "4e46ad6c-cebe-4460-858e-b5806883271b", "vnf-name": "vfw7f5a57d6", "vnf-type": "da818f33-97e1-4edf-98a5/5759f208-b75c-4b35-9599 0", "service-id": "a322c144-537c-4532-bf1b-0a4889083388", "prov-status": "PREPROV", "orchestration-status": "Created", "in-maint": false, "is-closed-loop-disabled": false, "resource-version": "1521467089262", "model-invariant-id": "a1efbbdd-2077-4b86-9fc0-244af99760f0", "model-version-id": "34c3221b-1326-4f35-9ed7-6f2f7e59d788", "model-customization-id": "1798c9a9-eaae-438f-bac3-b013599e8909", "nf-type": "", "nf-function": "", "nf-role": "", "nf-naming-code": "", "relationship-list": { "relationship": [ { "related-to": "service-instance", "related-link": "/aai/v11/business/customers/customer/DemoCust_7d454ef5-f5ea-4346-b2d3-e9797f5a57d6/service-subscriptions/service-subscription/vFW/service-instances/service-instance/7c45e4f7-aa7a-4130-9ee3-c5c1d81840df", "relationship-data": [ { "relationship-key": "customer.global-customer-id", "relationship-value": "DemoCust_7d454ef5-f5ea-4346-b2d3-e9797f5a57d6" }, { "relationship-key": "service-subscription.service-type", "relationship-value": "vFW" }, { "relationship-key": "service-instance.service-instance-id", "relationship-value": "7c45e4f7-aa7a-4130-9ee3-c5c1d81840df" } ], "related-to-property": [ { "property-key": "service-instance.service-instance-name", "property-value": "Service_Ete_Name7d454ef5-f5ea-4346-b2d3-e9797f5a57d6" } ] }, { "related-to": "vserver", "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/50b190410b2a4c229d8a6044a80ab7c1/vservers/vserver/3f3f3c72-269d-45e6-8953-692424f2df1f", "relationship-data": [ { "relationship-key": "cloud-region.cloud-owner", "relationship-value": "CloudOwner" }, { "relationship-key": "cloud-region.cloud-region-id", "relationship-value": "RegionOne" }, { "relationship-key": "tenant.tenant-id", "relationship-value": "50b190410b2a4c229d8a6044a80ab7c1" }, { "relationship-key": "vserver.vserver-id", "relationship-value": "3f3f3c72-269d-45e6-8953-692424f2df1f" } ], "related-to-property": [ { "property-key": "vserver.vserver-name", "property-value": "demofwl01pgn" } ] }, { "related-to": "vserver", "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/50b190410b2a4c229d8a6044a80ab7c1/vservers/vserver/4c45d0a4-a873-4d95-87ca-2a198322c9c4", "relationship-data": [ { "relationship-key": "cloud-region.cloud-owner", "relationship-value": "CloudOwner" }, { "relationship-key": "cloud-region.cloud-region-id", "relationship-value": "RegionOne" }, { "relationship-key": "tenant.tenant-id", "relationship-value": "50b190410b2a4c229d8a6044a80ab7c1" }, { "relationship-key": "vserver.vserver-id", "relationship-value": "4c45d0a4-a873-4d95-87ca-2a198322c9c4" } ], "related-to-property": [ { "property-key": "vserver.vserver-name", "property-value": "demofwl01snk" } ] }, { "related-to": "vserver", "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/50b190410b2a4c229d8a6044a80ab7c1/vservers/vserver/b96416ef-fc4e-49cb-8120-1d56686d2e90", "relationship-data": [ { "relationship-key": "cloud-region.cloud-owner", "relationship-value": "CloudOwner" }, { "relationship-key": "cloud-region.cloud-region-id", "relationship-value": "RegionOne" }, { "relationship-key": "tenant.tenant-id", "relationship-value": "50b190410b2a4c229d8a6044a80ab7c1" }, { "relationship-key": "vserver.vserver-id", "relationship-value": "b96416ef-fc4e-49cb-8120-1d56686d2e90" } ], "related-to-property": [ { "property-key": "vserver.vserver-name", "property-value": "vfw7f5a57d6" } ] } ] } }
APPC API Interaction
vFirewall - APPC Request Expand source
{ "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" }] } } }
vFirewall - APPC Responses Expand source
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 } } TODO FAILED response
vCPE
Policy Creation and Pushing
vCPE - TCA Configuration Policy Payload Expand source
tca_policy: "{ "domain": "measurementsForVfScaling", "metricsPerEventName": [{ "eventName": "Measurement_vGMUX", "controlLoopSchemaType": "VNF", "policyScope": "DCAE", "policyName": "DCAE.Config_tca-hi-lo", "policyVersion": "v0.0.1", "thresholds": [{ "closedLoopControlName": "ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e", "version": "1.0.2", "fieldPath": "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value", "thresholdValue": 0, "direction": "EQUAL", "severity": "MAJOR", "closedLoopEventStatus": "ABATED" }, { "closedLoopControlName": "ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e", "version": "1.0.2", "fieldPath": "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value", "thresholdValue": 0, "direction": "GREATER", "severity": "CRITICAL", "closedLoopEventStatus": "ONSET" }] }] }"
vCPE - Create Config Policy Expand source
curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ "configBody": "{ \"service\": \"tca_policy\", \"location\": \"SampleServiceLocation\", \"uuid\": \"test\", \"policyName\": \"MicroServicevCPE\", \"description\": \"MicroService vCPE Policy\", \"configName\": \"SampleConfigName\", \"templateVersion\": \"OpenSource.version.1\", \"version\": \"1.1.0\", \"priority\": \"1\", \"policyScope\": \"resource=SampleResource,service=SampleService,type=SampleType,closedLoopControlName=ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\", \"riskType\": \"SampleRiskType\", \"riskLevel\": \"1\", \"guard\": \"False\", \"content\": { \"tca_policy\": { \"domain\": \"measurementsForVfScaling\", \"metricsPerEventName\": [{ \"eventName\": \"Measurement_vGMUX\", \"controlLoopSchemaType\": \"VNF\", \"policyScope\": \"DCAE\", \"policyName\": \"DCAE.Config_tca-hi-lo\", \"policyVersion\": \"v0.0.1\", \"thresholds\": [{ \"closedLoopControlName\": \"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\", \"version\": \"1.0.2\", \"fieldPath\": \"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\", \"thresholdValue\": 0, \"direction\": \"EQUAL\", \"severity\": \"MAJOR\", \"closedLoopEventStatus\": \"ABATED\" }, { \"closedLoopControlName\": \"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\", \"version\": \"1.0.2\", \"fieldPath\": \"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\", \"thresholdValue\": 0, \"direction\": \"GREATER\", \"severity\": \"CRITICAL\", \"closedLoopEventStatus\": \"ONSET\" }] }] } } }", "policyConfigType": "MicroService", "policyName": "com.MicroServicevCPE", "onapName": "DCAE" }' 'http://pdp:8081/pdp/api/createPolicy'
vCPE Operational Policy Expand source
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
vCPE - Create Operational Policy Expand source
curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/html' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ "policyConfigType": "BRMS_PARAM", "policyName": "com.BRMSParamvCPE", "policyDescription": "BRMS Param vCPE policy", "policyScope": "com", "attributes": { "MATCHING": { "controller" : "amsterdam" }, "RULE": { "templateName": "ClosedLoopControlName", "closedLoopControlName": "ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e", "controlLoopYaml": "controlLoop%3A%0D%0A++version%3A+2.0.0%0D%0A++controlLoopName%3A+ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e%0D%0A++trigger_policy%3A+unique-policy-id-1-restart%0D%0A++timeout%3A+3600%0D%0A++abatement%3A+true%0D%0A+%0D%0Apolicies%3A%0D%0A++-+id%3A+unique-policy-id-1-restart%0D%0A++++name%3A+Restart+the+VM%0D%0A++++description%3A%0D%0A++++actor%3A+APPC%0D%0A++++recipe%3A+Restart%0D%0A++++target%3A%0D%0A++++++type%3A+VM%0D%0A++++retry%3A+3%0D%0A++++timeout%3A+1200%0D%0A++++success%3A+final_success%0D%0A++++failure%3A+final_failure%0D%0A++++failure_timeout%3A+final_failure_timeout%0D%0A++++failure_retries%3A+final_failure_retries%0D%0A++++failure_exception%3A+final_failure_exception%0D%0A++++failure_guard%3A+final_failure_guard" } } }' 'http://pdp:8081/pdp/api/createPolicy'
vCPE - Push Policies Expand source
curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ "pdpGroup": "default", "policyName": "com.BRMSParamvCPE", "policyType": "BRMS_Param" }' 'http://pdp:8081/pdp/api/pushPolicy' curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ "pdpGroup": "default", "policyName": "com.MicroServicevCPE", "policyType": "MicroService" }' 'http://pdp:8081/pdp/api/pushPolicy'
DCAE Events and A&AI Enrichment (if necessary)
vCPE - DCAE Control Loop Event (TCA) - NOT Enriched Expand source
{ "closedLoopControlName": "ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e", "version": "1.0.2", "requestID": "0abc0000-b032-4e4b-bd30-88260f444888", "closedLoopAlarmStart": 1478189220547, "closedLoopEventClient": "DCAE_INSTANCE_ID.dcae-tca", "target_type": "VNF", "target": "generic-vnf.vnf-name", "AAI": { "generic-vnf.vnf-name" : "vCPE_Infrastructure_vGMUX_demo_app" }, "from": "DCAE", "policyScope": "DCAE", "policyName": "DCAE.Config_tca-hi-lo", "policyVersion": "v0.0.1", "closedLoopEventStatus": "ONSET" }
vCPE - A&AI generic-vnf query Expand source
vCPE - A&AI generic-vnf query response Expand source
vCPE - DCAE Control Loop Event (TCA) - A&AI Enriched Expand source
DCAE ABATED Control Loop Event Expand source
{ "closedLoopControlName": "ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e", "version": "1.0.2", "requestID": "0abc0000-b032-4e4b-bd30-88260f444888", "closedLoopAlarmStart": 1478189220547, "closedLoopAlarmEnd": 1478589220547, "closedLoopEventClient": "DCAE_INSTANCE_ID.dcae-tca", "target_type": "VNF", "target": "generic-vnf.vnf-name", "AAI": { "generic-vnf.vnf-name" : "vCPE_Infrastructure_vGMUX_demo_app" }, "from": "DCAE", "policyScope": "DCAE", "policyName": "DCAE.Config_tca-hi-lo", "policyVersion": "v0.0.1", "closedLoopEventStatus": "ABATED" }
APPC API Interaction
APPC request Expand source
{ "body": { "input": { "common-header": { "timestamp": "2017-08-25T21:06:23.037Z", "api-ver": "2.00", "originator-id": "a20e2073-30b1-4357-893b-f5ed57b66ef0", "request-id": "a20e2073-30b1-4357-893b-f5ed57b66ef0", "sub-request-id": "1", "flags": {} }, "action": "Restart", "action-identifiers": { "vnf-id": "vCPE_Infrastructure_vGMUX_demo_app" } } }, "version": "2.0", "rpc-name": "restart", "correlation-id": "a20e2073-30b1-4357-893b-f5ed57b66ef0-1", "type": "request" }
APPC response Expand source
{ "body": { "output": { "common-header": { "timestamp": "2017-08-25T21:06:23.037Z", "api-ver": "2.00", "originator-id": "a20e2073-30b1-4357-893b-f5ed57b66ef0", "request-id": "a20e2073-30b1-4357-893b-f5ed57b66ef0", "sub-request-id": "1", "flags": {} }, "status": { "code": 400, "message": "Restart Successful" } } }, "version": "2.00", "rpc-name": "restart", "correlation-id": "a20e2073-30b1-4357-893b-f5ed57b66ef0-1", "type": "response" }