...
VFC API Interaction
CCVPN
Policy Creation
DCAE Events and A&AI Enrichment (if necessary)
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
controlLoop:
version: 2.0.0
controlLoopName: ControlLoop-CCVPN-2179b738-fd36-4843-a71a-a8c24c70c55b
trigger_policy: unique-policy-id-16-receateE2EService
timeout: 3600
abatement: false
policies:
- id: unique-policy-id-16-recreateE2EService
name: Recreate E2E Service
description:
actor: SO
recipe: Recreate_E2E_Service
target:
type: VM
retry: 3
timeout: 1200
success: final_success
failure: final_failure
failure_timeout: final_failure_timeout
failure_retries: final_failure_retries
failure_exception: final_failure_exception
failure_guard: final_failure_guard |
DCAE Events and A&AI Enrichment (if necessary)
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{
"closedLoopEventClient": "DCAE.HolmesInstance",
"policyVersion": "1.0.0.5",
"policyName": "CCVPN",
"policyScope": "service=SOTNService,type=SampleType,closedLoopControlName=CL-CCVPN-d925ed73-8231-4d02-9545-db4e101f88f8",
"target_type": "VM",
"AAI": {
"vserver.vserver-name": "TBD",
"service-instance.service-instance-id" : "service-instance-example-1,service-instance-example-2,service-instance-example-3",
"service-instance-example-1.input-parameters" : "input-parameters-1",
"service-instance-example-2.input-parameters" : "input-parameters-2",
"service-instance-example-3.input-parameters" : "input-parameters-3"
},
"closedLoopAlarmStart": 1484677482204798,
"closedLoopEventStatus": "null",
"closedLoopControlName": "ControlLoop-CCVPN-2179b738-fd36-4843-a71a-a8c24c70c55b",
"version": "1.0.2",
"target": "vserver.vserver-name",
"requestID": "97964e10-686e-4790-8c45-bdfa61df770f",
"from": "DCAE"
} |
Status Update
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
URL: https://<AAI host>:<AAI port>/aai/v14/network/network-resources/network-resource/{networkId}/pnfs/pnf/{pnfName}/p-interfaces/p-interface/{ifName}
Method: PATCH
Request Body:
{
"operational-status": "some status"
} |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
URL: https://<AAI host>:<AAI port>/aai/v14/network/logical-links/logical-link/{linkName}
Method: PATCH
Request Body:
{
"operational-status": "some status"
} |
Alarm Correlation
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
URL: https://<AAI host>:<AAI port>/aai/v14/network/pnfs/pnf/{pnfName}/p-interfaces?interface-name={ifName}&operational-status={status}
Method: GET
Resquest Body:
{
}
Response Body:
{
"results" : [
{
"p-interface" : {
"interface-name":{ifName}",
"network-ref": "some ref",
"transparent": "some blue",
"operational-status":"[status}",
"speed-value" : "some speed",
"relationship-list":
"relationship" : [
{
"related-to" : "logic-link",
"related-link" :'url of logical-link",
"relationship-data":[
"relationship-key" : "logical-link.link.name",
"relationship-value"; "some name"
]
}
]
}
]
} |
Service Instance Information Query
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
URL: https://<AAI host>:<AAI port>/aai/v14/network/network-resources/network-resource/{networkId}/pnfs/pnf/{pnfName}/p-interfaces?interface-name={ifName}&operational-status={status}
Method: GET
Request Body:
{
}
Response Body:
{
"results": [
{
"p-interface": {
"interface-name": "{ifName}",
"network-ref": "some ref",
"transparent": "some value",
"operational-status ": "{status}",
"speed-value": "some speed",
"relationship-list": {
"relationship" : [
{
"related-to": "vpn-binding",
"related-link": "url of vpn-binding",
"relationship-data": [
"relationship-key": "vpn-binding.vpn-id",
"relationship-value": "some id"
]
}
]
}
}
}
]
} |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
URL: https://<AAI host>:<AAI port>/aai/v14/network/vpn-bindings?vpn-id={vpnId}
Method: GET
Request Body:
{
}
Response Body:
{
"results": [
{
"vpn-binding": {
"vpn-id": "{vpnId}",
"vpn-name": "some name",
"access-provider-id": "provider id",
"access-client-id": "client id",
"access-topology-id": "topology id",
"src-access-node-id": "src node id",
"src-access-ltp-id": "src ltp id",
"dst-access-node-id": "dst node id",
"dst-access-ltp-id": "dst ltp id,
"operational-status": "some status",
"relationship-list": {
"relationship" : [
{
"related-to": "connectivity",
"related-link": "url of connectivity",
"relationship-data": [
"relationship-key": "connectivity. connectivity-id",
"relationship-value": "some id"
]
}
]
}
}
}
]
} |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
URL: https://<AAI host>:<AAI port>/aai/v14/network/connectivities/connectivity/{connectivityId}
Method: Get
Request Body:
{
}
Response Body:
{
"results": [
{
"connectivity": {
"connectivity-id": "{connectivityId}",
"bandwidth-profile-name": "some profile",
"vpn-type": "some type",
"cir": "cir value",
"eir": "eir value",
"cbs": "cbs value",
"ebs": "ebs value",
"color-aware": "color value",
"coupling-flag": "flag value",
"etht-svc-name": "some name",
"access-provider-id": "provider id",
"access-client-id": "client id",
"access-topology-id": "topology id",
"access-node-id": "node id",
"access-ltp-id": "ltp id",
"connectivity-selflink": "some URL",
"cvlan ": "some tag",
"operational-status": "some status",
"relationship-list": {
"relationship" : [
{
"related-to": "service-instance",
"related-link": "url of service-instance",
"relationship-data": [
"relationship-key": "service-instance.service-instance-id",
"relationship-value": "some id"
]
}
]
}
}
] |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
From service-instance URL:
URL: https://<AAI host>:<AAI port>/aai/v14/business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances?service-instance-id={servId}
Derive the service-subscription URL:
URL: https://<AAI host>:<AAI port>/aai/v14/business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}
Method: GET
Request Body:
{
}
Response Body:
{
"results": [
{
"service-subscription": {
"service-type": "{service-type}",
"temp-ub-sub-account-id": "some sub account",
"service-instances": {
"service-instance": [
{
"service-instance-id": "some id 1",
"service-instance-name": "some name 1",
"environment-context": "some context 1",
"workload-context": "some workload 1",
"relationship-list": {
"relationship" : [
]
}
},
{
"service-instance-id": "some id 2",
"service-instance-name": "some name 2",
"environment-context": "some context 2",
"workload-context": "some workload 2",
"relationship-list": {
"relationship" : [
]
}
},
{
"service-instance-id": "some id 3",
"service-instance-name": "some name 3",
"environment-context": "some context 3",
"workload-context": "some workload 3",
"relationship-list": {
"relationship" : [
]
}
}
]
},
"relationship-list": {
"relationship" : [
]
}
}
}
]
}
|
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
URL: https://<AAI host>:<AAI port>/aai/v14/business/customers/customer/{global-custoner-id}/service-subscriptions/service-subscription/{service-type}/service-instances?service-instance-id={serviceId}
Method: GET
Request Body:
{
}
Response Body:
{
"service-instance-id": "{service-instance-id}",
"service-instance-name" : "instance name",
"service-type": "some type",
"service-role": "some role",
"model-invariant-id": "model id",
"model-version-id": "model version",
"input-parameters:"request parameters", // ... This is the service instance recreation input looked up by CL.
"resource-version": "some version"
}
Example of response body:
{
"service-instance-id": "176d9eba-1662-4289-8396-0097b50fd485",
"service-type": "E2E Service",
"service-role": "E2E Service",
"model-invariant-id": "c22a9483-d2b6-49cc-b1f7-ef34c93572a1",
"model-version-id": "71d0e396-e246-4c23-aa57-6da2043d6209",
"input-parameters:".....;", // ... This is the service instance recreation input looked up by CL.
"resource-version": "1528975017336"
"relationship-list": {
"relationship": [
{
"related-to": "pnf",
"related-link": "/aai/v11/network/pnfs/pnf/MME-0001",
"relationship-data": [
{
"relationship-key": "pnf.pnf-id",
"relationship-value": "176d9eba-1662-4289-8396-0097b50fd466"
}
],
"related-to-property": [
{
"property-key": "pnf.pnf-name",
"property-value": "MME-0001"
}
]
}
]
}
} |