/
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" } ] }





Rules