/
POMBA Validation Service
POMBA Validation Service
Casablanca Release
The Validation Service for POMBA was introduced in the Casablanca Release, though the Validation Service is actually an existing component in the A&AI project.
Overview
The Validation Service is re-used in POMBA in order to process service instance data from various contexts and compare the data to each other. In this way, it could be confirmed that the real-life deployment does or does not reflect what is known by the A&AI, for example.
Messaging
Messaging to and from other POMBA components is done through DMaaP topics.
POA-RULE-VALIDATION event
This event type is posted by the Pomba Context Aggregator and picked up by the Validation Service.
POST http://<dmaap-message-router-ip>:3904/events/POA-RULE-VALIDATION (header: Content-Type:application/json)
{
"entity": {
"poa-event": {
"modelVersionId": "7b4beec3-04a6-4513-8341-959589d2bd01",
"modelInvariantId": "58f20afd-6ed1-4451-a19d-4fbee4aefa08",
"serviceInstanceId": "68352304-7bba-4609-8551-0d0b819376c3",
"xTransactionId": "1111111",
"xFromAppId": "Data-Router"
},
"context-list": {
"sdc": {
"service": {
"name": "vcpesvc_vgmux",
"uuid": "7b4beec3-04a6-4513-8341-959589d2bd01",
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"invariantUUID": "58f20afd-6ed1-4451-a19d-4fbee4aefa08"
},
"dataQuality": {
"status": "ok"
},
"vfList": [
{
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"name": "vcpevsp_vgmux_0830 0",
"vfModuleList": [
{
"minInstances": 1,
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"invariantUUID": "ced468ed-46ec-4e18-9bb7-1a861c98087c",
"vmList": [],
"maxInstances": 1,
"networkList": [],
"uuid": "d2f0ea48-d996-4d9e-893e-f649cbb969aa"
}
],
"invariantUUID": "17e561e9-d0c2-4959-a709-9335b2233966",
"type": "org.openecomp.resource.vf.VcpevspVgmux0830",
"uuid": "eaabc15d-c084-4e40-9d46-4d963a4c079b",
"vnfcList": [
{
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"name": "abstract_vgmux",
"invariantUUID": "e709ddef-8aa2-4019-beb2-48b06c27285e",
"type": "vgmux",
"uuid": "0f5a18b5-7470-41df-b221-8bc933d2d0fc"
}
]
}
],
"attributeList": []
},
"aai": {
"service": {
"name": "vcpe_svc_vcpesvc_vgmux_201809061919",
"uuid": "7b4beec3-04a6-4513-8341-959589d2bd01",
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"invariantUUID": "58f20afd-6ed1-4451-a19d-4fbee4aefa08"
},
"dataQuality": {
"status": "ok"
},
"vfList": [
{
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"name": "vcpe_vnf_vcpevsp_vgmux_0830_201809061919",
"vfModuleList": [
{
"minInstances": 0,
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"invariantUUID": "ced468ed-46ec-4e18-9bb7-1a861c98087c",
"vmList": [],
"maxInstances": 1,
"networkList": [],
"uuid": "d2f0ea48-d996-4d9e-893e-f649cbb969aa"
}
],
"invariantUUID": "17e561e9-d0c2-4959-a709-9335b2233966",
"type": "vcpesvc_vgmux/vcpevsp_vgmux_0830 0",
"uuid": "eaabc15d-c084-4e40-9d46-4d963a4c079b",
"vnfcList": []
}
],
"attributeList": []
},
"sdnc": {
"dataQuality": {
"status": "ok"
},
"vfList": [
{
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"name": "vcpevsp_vgmux_0830 0",
"vfModuleList": [
{
"minInstances": 1,
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"invariantUUID": "ced468ed-46ec-4e18-9bb7-1a861c98087c",
"vmList": [],
"maxInstances": 1,
"networkList": [],
"uuid": "d2f0ea48-d996-4d9e-893e-f649cbb969aa"
}
],
"invariantUUID": "17e561e9-d0c2-4959-a709-9335b2233966",
"type": "org.openecomp.resource.vf.VcpevspVgmux0830",
"uuid": "eaabc15d-c084-4e40-9d46-4d963a4c079b",
"vnfcList": [
{
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"name": "abstract_vgmux",
"invariantUUID": "e709ddef-8aa2-4019-beb2-48b06c27285e",
"type": "vgmux",
"uuid": "0f5a18b5-7470-41df-b221-8bc933d2d0fc"
}
]
}
],
"service": {
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"name": "vcpesvc_vgmux1",
"invariantUUID": "58f20afd-6ed1-4451-a19d-4fbee4aefa08",
"uuid": "7b4beec3-04a6-4513-8341-959589d2bd01"
},
"attributeList": []
},
"ndcb": {
"dataQuality": {
"status": "ok"
},
"vfList": [
{
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"vfModuleList": [
{
"minInstances": 0,
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"vmList": [
{
"dataQuality": {
"status": "ok"
},
"attributeList": [
{
"dataQuality": {
"status": "ok"
},
"name": "hostName",
"value": "kll0123"
}
],
"nfNamingCode": "vserver",
"uuid": "0714ea3e-2126-4c31-b405-6796ffc955fb"
}
],
"maxInstances": 0,
"networkList": []
}
],
"vnfcList": []
}
],
"service": {
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"uuid": "68352304-7bba-4609-8551-0d0b819376c3"
},
"attributeList": []
}
}
},
"event-header": {
"entity-type": "poa-entity",
"top-entity-type": "poa-entity",
"event-type": "POA-EVENT",
"domain": "onap",
"id": "5fb3ec28-835b-4053-9fb2-31f6b3e5ef71",
"topic-name": "POA-RULE-VALIDATION",
"source-name": "RO",
"event-id": "ea981d89-ea97-4757-9e28-10ab86f08065"
}
}
POA-AUDIT-RESULT event
This event type is published to DMaaP by the Validation Service.
POST http://message-router:3904/events/POA-AUDIT-RESULT
{
"entity": {
"poa-event": {
"modelVersionId": "7b4beec3-04a6-4513-8341-959589d2bd01",
"modelInvariantId": "58f20afd-6ed1-4451-a19d-4fbee4aefa08",
"serviceInstanceId": "68352304-7bba-4609-8551-0d0b819376c3",
"xTransactionId": "1111111",
"xFromAppId": "Data-Router"
},
"context-list": {
"sdnc": {
"dataQuality": {
"status": "ok"
},
"vfList": [
{
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"name": "vcpevsp_vgmux_0830 0",
"vfModuleList": [
{
"minInstances": 1,
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"invariantUUID": "ced468ed-46ec-4e18-9bb7-1a861c98087c",
"vmList": [],
"maxInstances": 1,
"networkList": [],
"uuid": "d2f0ea48-d996-4d9e-893e-f649cbb969aa"
}
],
"invariantUUID": "17e561e9-d0c2-4959-a709-9335b2233966",
"type": "org.openecomp.resource.vf.VcpevspVgmux0830",
"uuid": "eaabc15d-c084-4e40-9d46-4d963a4c079b",
"vnfcList": [
{
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"name": "abstract_vgmux",
"invariantUUID": "e709ddef-8aa2-4019-beb2-48b06c27285e",
"type": "vgmux",
"uuid": "0f5a18b5-7470-41df-b221-8bc933d2d0fc"
}
]
}
],
"service": {
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"name": "vcpesvc_vgmux1",
"invariantUUID": "58f20afd-6ed1-4451-a19d-4fbee4aefa08",
"uuid": "7b4beec3-04a6-4513-8341-959589d2bd01"
},
"attributeList": []
},
"sdc": {
"dataQuality": {
"status": "ok"
},
"vfList": [
{
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"name": "vcpevsp_vgmux_0830 0",
"vfModuleList": [
{
"minInstances": 1,
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"invariantUUID": "ced468ed-46ec-4e18-9bb7-1a861c98087c",
"vmList": [],
"maxInstances": 1,
"networkList": [],
"uuid": "d2f0ea48-d996-4d9e-893e-f649cbb969aa"
}
],
"invariantUUID": "17e561e9-d0c2-4959-a709-9335b2233966",
"type": "org.openecomp.resource.vf.VcpevspVgmux0830",
"uuid": "eaabc15d-c084-4e40-9d46-4d963a4c079b",
"vnfcList": [
{
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"name": "abstract_vgmux",
"invariantUUID": "e709ddef-8aa2-4019-beb2-48b06c27285e",
"type": "vgmux",
"uuid": "0f5a18b5-7470-41df-b221-8bc933d2d0fc"
}
]
}
],
"service": {
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"name": "vcpesvc_vgmux",
"invariantUUID": "58f20afd-6ed1-4451-a19d-4fbee4aefa08",
"uuid": "7b4beec3-04a6-4513-8341-959589d2bd01"
},
"attributeList": []
},
"ndcb": {
"dataQuality": {
"status": "ok"
},
"vfList": [
{
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"vfModuleList": [
{
"minInstances": 0,
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"vmList": [
{
"dataQuality": {
"status": "ok"
},
"attributeList": [
{
"dataQuality": {
"status": "ok"
},
"name": "hostName",
"value": "kll0123"
}
],
"nfNamingCode": "vserver",
"uuid": "0714ea3e-2126-4c31-b405-6796ffc955fb"
}
],
"maxInstances": 0,
"networkList": []
}
],
"vnfcList": []
}
],
"service": {
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"uuid": "68352304-7bba-4609-8551-0d0b819376c3"
},
"attributeList": []
},
"aai": {
"dataQuality": {
"status": "ok"
},
"vfList": [
{
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"name": "vcpe_vnf_vcpevsp_vgmux_0830_201809061919",
"vfModuleList": [
{
"minInstances": 0,
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"invariantUUID": "ced468ed-46ec-4e18-9bb7-1a861c98087c",
"vmList": [],
"maxInstances": 1,
"networkList": [],
"uuid": "d2f0ea48-d996-4d9e-893e-f649cbb969aa"
}
],
"invariantUUID": "17e561e9-d0c2-4959-a709-9335b2233966",
"type": "vcpesvc_vgmux/vcpevsp_vgmux_0830 0",
"uuid": "eaabc15d-c084-4e40-9d46-4d963a4c079b",
"vnfcList": []
}
],
"service": {
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"name": "vcpe_svc_vcpesvc_vgmux_201809061919",
"invariantUUID": "58f20afd-6ed1-4451-a19d-4fbee4aefa08",
"uuid": "7b4beec3-04a6-4513-8341-959589d2bd01"
},
"attributeList": []
}
}
},
"validationId": "1f2d7a60-b39c-4c51-ac53-d2965043cc00",
"validationTimestamp": "20181207T143528Z",
"entityId": {},
"entityType": "poa-entity",
"entityLink": "",
"resourceVersion": null,
"violations": [
{
"violationId": "948482aea330c3282680ae320f536de01b1b685808f82dcf38d88116d395cdfe",
"modelName": null,
"category": "Attribute Mismatch",
"severity": "ERROR",
"violationType": "Rule",
"validationRule": "NDCB-AAI-attribute-comparison",
"violationDetails": {
"context-list.aai.service": {
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"name": "vcpe_svc_vcpesvc_vgmux_201809061919",
"invariantUUID": "58f20afd-6ed1-4451-a19d-4fbee4aefa08",
"uuid": "7b4beec3-04a6-4513-8341-959589d2bd01"
},
"context-list.ndcb.service": {
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"uuid": "68352304-7bba-4609-8551-0d0b819376c3"
}
},
"errorMessage": "Error found with attribute \"uuid\"; Network-Discovery value does not match AAI value \"7b4beec3-04a6-4513-8341-959589d2bd01\""
},
{
"violationId": "44084c451103c177676cb3465cec6eb25762e5a10965ddeb47b1c75a2f640436",
"modelName": null,
"category": "Attribute Mismatch",
"severity": "ERROR",
"violationType": "Rule",
"validationRule": "NDCB-AAI-attribute-comparison",
"violationDetails": {
"context-list.aai.vfList[*].vfModuleList[*]": [
{
"minInstances": 0,
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"invariantUUID": "ced468ed-46ec-4e18-9bb7-1a861c98087c",
"vmList": [],
"maxInstances": 1,
"networkList": [],
"uuid": "d2f0ea48-d996-4d9e-893e-f649cbb969aa"
}
],
"context-list.ndcb.vfList[*].vfModuleList[*]": [
{
"minInstances": 0,
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"vmList": [
{
"dataQuality": {
"status": "ok"
},
"attributeList": [
{
"dataQuality": {
"status": "ok"
},
"name": "hostName",
"value": "kll0123"
}
],
"nfNamingCode": "vserver",
"uuid": "0714ea3e-2126-4c31-b405-6796ffc955fb"
}
],
"maxInstances": 0,
"networkList": []
}
]
},
"errorMessage": "Error found with attribute \"maxInstances\"; Network-Discovery value does not match AAI value \"1\""
},
{
"violationId": "e04b85a1414bcbf6812ac581a10de63e14c49a4c9de2fdc466970fbac0f614ca",
"modelName": null,
"category": "Attribute Mismatch",
"severity": "ERROR",
"violationType": "Rule",
"validationRule": "SDNC-AAI-attribute-comparison",
"violationDetails": {
"context-list.sdnc.service": {
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"name": "vcpesvc_vgmux1",
"invariantUUID": "58f20afd-6ed1-4451-a19d-4fbee4aefa08",
"uuid": "7b4beec3-04a6-4513-8341-959589d2bd01"
},
"context-list.aai.service": {
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"name": "vcpe_svc_vcpesvc_vgmux_201809061919",
"invariantUUID": "58f20afd-6ed1-4451-a19d-4fbee4aefa08",
"uuid": "7b4beec3-04a6-4513-8341-959589d2bd01"
}
},
"errorMessage": "Error found with attribute \"name\"; SDN-C value does not match AAI value \"vcpe_svc_vcpesvc_vgmux_201809061919\""
},
{
"violationId": "df78e9f9029170bde8ecb98d91e18e97256d298fd8169b343304c44cd0db2c54",
"modelName": null,
"category": "Attribute Mismatch",
"severity": "ERROR",
"violationType": "Rule",
"validationRule": "SDNC-AAI-attribute-comparison",
"violationDetails": {
"context-list.aai.vfList[*]": [
{
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"name": "vcpe_vnf_vcpevsp_vgmux_0830_201809061919",
"vfModuleList": [
{
"minInstances": 0,
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"invariantUUID": "ced468ed-46ec-4e18-9bb7-1a861c98087c",
"vmList": [],
"maxInstances": 1,
"networkList": [],
"uuid": "d2f0ea48-d996-4d9e-893e-f649cbb969aa"
}
],
"invariantUUID": "17e561e9-d0c2-4959-a709-9335b2233966",
"type": "vcpesvc_vgmux/vcpevsp_vgmux_0830 0",
"uuid": "eaabc15d-c084-4e40-9d46-4d963a4c079b",
"vnfcList": []
}
],
"context-list.sdnc.vfList[*]": [
{
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"name": "vcpevsp_vgmux_0830 0",
"vfModuleList": [
{
"minInstances": 1,
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"invariantUUID": "ced468ed-46ec-4e18-9bb7-1a861c98087c",
"vmList": [],
"maxInstances": 1,
"networkList": [],
"uuid": "d2f0ea48-d996-4d9e-893e-f649cbb969aa"
}
],
"invariantUUID": "17e561e9-d0c2-4959-a709-9335b2233966",
"type": "org.openecomp.resource.vf.VcpevspVgmux0830",
"uuid": "eaabc15d-c084-4e40-9d46-4d963a4c079b",
"vnfcList": [
{
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"name": "abstract_vgmux",
"invariantUUID": "e709ddef-8aa2-4019-beb2-48b06c27285e",
"type": "vgmux",
"uuid": "0f5a18b5-7470-41df-b221-8bc933d2d0fc"
}
]
}
]
},
"errorMessage": "Error found with attribute \"name\"; SDN-C value does not match AAI value \"vcpe_vnf_vcpevsp_vgmux_0830_201809061919\""
},
{
"violationId": "9cb4678f111204ce40d4116a142d837c3a70f03c3aa9636317be8926d60d65a3",
"modelName": null,
"category": "Attribute Mismatch",
"severity": "ERROR",
"violationType": "Rule",
"validationRule": "SDNC-AAI-attribute-comparison",
"violationDetails": {
"context-list.sdnc.vfList[*].vfModuleList[*]": [
{
"minInstances": 1,
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"invariantUUID": "ced468ed-46ec-4e18-9bb7-1a861c98087c",
"vmList": [],
"maxInstances": 1,
"networkList": [],
"uuid": "d2f0ea48-d996-4d9e-893e-f649cbb969aa"
}
],
"context-list.aai.vfList[*].vfModuleList[*]": [
{
"minInstances": 0,
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"invariantUUID": "ced468ed-46ec-4e18-9bb7-1a861c98087c",
"vmList": [],
"maxInstances": 1,
"networkList": [],
"uuid": "d2f0ea48-d996-4d9e-893e-f649cbb969aa"
}
]
},
"errorMessage": "Error found with attribute \"minInstances\"; SDN-C value does not match AAI value \"0\""
},
{
"violationId": "7762a0621cd5328fd993acfac8223b2f177ed97d0974aeb74a079bc3ed42f8d3",
"modelName": null,
"category": "Attribute Mismatch",
"severity": "ERROR",
"violationType": "Rule",
"validationRule": "SDNC-NDCB-attribute-comparison",
"violationDetails": {
"context-list.sdnc.service": {
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"name": "vcpesvc_vgmux1",
"invariantUUID": "58f20afd-6ed1-4451-a19d-4fbee4aefa08",
"uuid": "7b4beec3-04a6-4513-8341-959589d2bd01"
},
"context-list.ndcb.service": {
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"uuid": "68352304-7bba-4609-8551-0d0b819376c3"
}
},
"errorMessage": "Error found with attribute \"uuid\"; SDN-C value does not match Network-Discovery value \"68352304-7bba-4609-8551-0d0b819376c3\""
},
{
"violationId": "863764712cf5cbabf3f600d120766181c50698627bbd68851510d9e5198855b2",
"modelName": null,
"category": "Attribute Mismatch",
"severity": "ERROR",
"violationType": "Rule",
"validationRule": "SDNC-NDCB-attribute-comparison",
"violationDetails": {
"context-list.sdnc.vfList[*].vfModuleList[*]": [
{
"minInstances": 1,
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"invariantUUID": "ced468ed-46ec-4e18-9bb7-1a861c98087c",
"vmList": [],
"maxInstances": 1,
"networkList": [],
"uuid": "d2f0ea48-d996-4d9e-893e-f649cbb969aa"
}
],
"context-list.ndcb.vfList[*].vfModuleList[*]": [
{
"minInstances": 0,
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"vmList": [
{
"dataQuality": {
"status": "ok"
},
"attributeList": [
{
"dataQuality": {
"status": "ok"
},
"name": "hostName",
"value": "kll0123"
}
],
"nfNamingCode": "vserver",
"uuid": "0714ea3e-2126-4c31-b405-6796ffc955fb"
}
],
"maxInstances": 0,
"networkList": []
}
]
},
"errorMessage": "Error found with attribute \"maxInstances\"; SDN-C value does not match Network-Discovery value \"0\""
},
{
"violationId": "1e0b4a98e9d9a5f7d9a9d7165aa5b57948c5029efac42be2eca306340597fd94",
"modelName": null,
"category": "VNFC Consistency",
"severity": "WARNING",
"violationType": "Rule",
"validationRule": "SDC-AAI-vnfc-node-count",
"violationDetails": {
"context-list.aai.vfList[*].vnfcList[*]": [],
"context-list.sdc.vfList[*].vnfcList[*]": [
{
"dataQuality": {
"status": "ok"
},
"attributeList": [],
"name": "abstract_vgmux",
"invariantUUID": "e709ddef-8aa2-4019-beb2-48b06c27285e",
"type": "vgmux",
"uuid": "0f5a18b5-7470-41df-b221-8bc933d2d0fc"
}
]
},
"errorMessage": "Design has specified types but not all of them exist in AAI"
}
]
}