|
Navigation
In AAI, when the "orchestration-status", "service-instance-location-id", "input-params" for a Service Instance changes, notify ExtAPI so it does not need to poll AAI
From Jimmy Forsyth (AT&T) to Everyone: 01:51 AM
@Brian, yes, AAI sends notification on all changes to DMaaP to the AAI_EVENT (or maybe it’s AAI-EVENT) topic
In the case you are interested in, the service-instance can be CREATED, UPDATED, or DELETED (which you find in “action” in the event-header) either as a standalone object or as part of a nested structure. You can use the top-entity-type to tell you which is the containing object, and then use that to determine if a service-instance might be impacted by the operation. In the case of a service-instance update, the top-entity-type will be either customer, service-subscription, or service-instance.
For a customer or service-subscription, you would then look for a service-instance child object - in the example above, the service-instance would be in the position of the p-interface on a service-subscription and in the position of sriov-pf on a customer. All of that depends on how the client uses the interface, and AAI has no control over it. Since users can perform the operation at any of the 3 levels (with a DELETE object, sometimes there are rules about cascading deletes, I’d have to figure out of the customer/service-subscription/service-instance object hierarchy is subject to any of those rules (like it might not let you delete the service-subscription until all the service-instances are gone first; I just don’t recall the rules off the top of my head).
{ "cambria.partition": "AAI", "entity": { "fqdn": "test.onap.org", "hostname": "pserver-onap", "in-maint": false, "p-interfaces": { "p-interface": [ { "in-maint":true, "interface-name":"p-interface-02-test", "resource-version":"1547072232613", "sriov-pfs":{ "sriov-pf":[ { "pf-pci-id": "sriov-02-test", "resource-version":"1547072232613" } ] } }, { "in-maint":true, "interface-name":"p-interface-test", "resource-version":"1547072232613", "sriov-pfs":{ "sriov-pf":[ { "pf-pci-id": "sriov-test", "resource-version":"1547072232613" } ] } } ] }, "resource-version": "1547072232618" }, "event-header": { "action": "CREATE", "domain": "ONAP", "entity-link":"/aai/v14/cloud-infrastructure/pservers/pserver/pserver-onap", "entity-type": "pserver", "event-type": "AAI-EVENT", "id": "ece20816-1c1b-4f22-9192-62459ee170c5", "sequence-number": "0", "severity": "NORMAL", "source-name": "jimmy-curl", "timestamp": "20190109-22:17:12:660", "top-entity-type": "pserver", "version": "v14" } } |
Regarding the "input-parameters", it was added for CCVPN use case (originally as "customer-requests") and there is an example in the comments of: AAI-CCVPN Schema Proposal for Casablanca Release For convenience, the comment is copied below:
{ "service":{ "name":"ONAP_223531", "description":"ONAP_1546", "serviceInvariantUuid":"4a09419a-c9fd-4a53-b1bd-b49603169ca1", "serviceUuid":"1bd0eae6-2dcc-4461-9ae6-56d641f369d6", "globalSubscriberId":"test_custormer", "serviceType":"example-service-type", "parameters":{ "locationConstraints":[ ], "resources":[ { "resourceName":"vEPC_ONAP01", "resourceInvariantUuid":"36ebe421-283a-4ee8-92f1-d09e7c44b911", "resourceUuid":"27a0e235-b67a-4ea4-a0cf-25761afed111", "resourceCustomizationUuid":"47a0e235-b67a-4ea4-a0cf-25761afed231", "parameters":{ "locationConstraints":[ { "vnfProfileId":"b244d433-8c9c-49ad-9c70-8e34b8dc8328", "locationConstraints":{ "vimId":"vmware_vio" } }, { "vnfProfileId":"8a9f7c48-21ce-41b7-95b8-a8ac61ccb1ff", "locationConstraints":{ "vimId":"core-dc_RegionOne" } } ], "resources":[ ], "requestInputs":{ "sdncontroller":"" } } }, { "resourceName":"VL OVERLAYTUNNEL", "resourceInvariantUuid":"184494cf-472f-436f-82e2-d83dddde21cb", "resourceUuid":"95bc3e59-c9c5-458f-ad6e-78874ab4b3cc", "resourceCustomizationUuid":"27a0e235-b67a-4ea4-a0cf-25761afed232", "parameters":{ "locationConstraints":[ ], "resources":[ ], "requestInputs":{ } } } ], "requestInputs":{ "vlunderlayvpn0_name":"l3connect", "vlunderlayvpn0_site1_id":"IP-WAN-Controller-1", "vlunderlayvpn0_site2_id":"SPTNController", "vlunderlayvpn0_site1_networkName":"network1,network2", "vlunderlayvpn0_site2_networkName":"network3,network4", "vlunderlayvpn0_site1_routerId":"a8098c1a-f86e-11da-bd1a-00112444be1a", "vlunderlayvpn0_site2_routerId":"a8098c1a-f86e-11da-bd1a-00112444be1e", "vlunderlayvpn0_site2_importRT1":"200:1,200:2", "vlunderlayvpn0_site1_exportRT1":"300:1,300:2", "vlunderlayvpn0_site2_exportRT1":"400:1,400:2", "vlunderlayvpn0_site1_vni":"2000", "vlunderlayvpn0_site2_vni":"3000", "vlunderlayvpn0_tunnelType":"L3-DCI" } } } } |
In client code using AAI API, make use of "nodes query" as shown in newly published documentation to optimise some queries on AAI data:
From Jimmy Forsyth (AT&T) to Everyone: 01:51 AM
@Adrian the answers are yes, service-instance-id is unique in ONAP and you can query it directly with the nodes query (see link above)
Refer to discussion on https://groups.io/g/onap-bbs/topic/29523804 . Possible extra field in PNF to assist nomadic ONT scenario.
See also item 6 below:
Attachment Point (Not a real BBS modeling property, since its constituent parts are captured in other model properties) | Logical Link object (bridged to the PNF object representing ONT) link-name: string (will hold attachment point in the form of olt-name/pon-slot/pon-port e.g. olt1/1/1) link-type: string (will hold literal value 'attachmentPoint') | None (EdgeRule logical-link-to-pnf already exists) |
Change PNF unique key to be pnf-id instead of pnf-name attribute: /
Refer to discussion https://lists.onap.org/g/onap-discuss/message/15390 on https://lists.onap.org/g/onap-discuss/topic/29688799 and
Refer to BBS Modeling Model Design diagram for "HSIA CFS":
BBS Properties Use Case Reference | A&AI Implementation Decision | A&AI Schema Impact | Possible Future Work |
---|---|---|---|
RG MAC Address | Metadata Entry (under HSIA CFS Service Instance) CPE PNF object relates to it Internet Profile Generic-VNF relates to it | Metadatum EdgeRules only | |
Service Type | Metadata Entry (under HSIA CFS Service Instance) Access Connectivity Generic-VNF relates to it Internet Profile Generic-VNF relates to it | Metadatum EdgeRules only | |
Access ID | Metadata Entry (under HSIA Internet Service Instance) | Metadatum EdgeRules only | |
Upstream Speed | Metadata Entry (under HSIA CFS Service Instance) Access Connectivity Generic-VNF relates to it Internet Profile Generic-VNF relates to it | Metadatum EdgeRules only | |
Downstream Speed | Metadata Entry (under HSIA CFS Service Instance) Access Connectivity Generic-VNF relates to it Internet Profile Generic-VNF relates to it | Metadatum EdgeRules only | |
OLT Name | Metadata Entry (under HSIA Access Service Instance) PON_UNI cp relates to it OLT_NNI cp relates to it | Metadatum EdgeRules only | |
OLT PON port | Metadata Entry (under HSIA Access Service Instance) PON_UNI cp relates to it | Metadatum EdgeRules only | |
OLT PON slot | Metadata Entry (under HSIA Access Service Instance) PON_UNI cp relates to it | Metadatum EdgeRules only | |
CVLAN | Metadata Entry (under HSIA Access Service Instance) PON_UNI cp relates to it | Metadatum EdgeRules only | |
SVLAN | Metadata Entry (under HSIA Access Service Instance) OLT_NNI cp relates to it | Metadatum EdgeRules only | |
Expected ONT ID | Metadata Entry (under HSIA Access Service Instance) PON_UNI cp relates to it | Metadatum EdgeRules only | |
CPE Manufacturer | PNF object equip-vendor: string | None | |
CPE Model | PNF object equip-model: string | None | |
CPE Equipment Type | PNF object equip-type: string | None | |
CPE Serial Number | PNF object serial-number: string | None | |
CPE SW Version | PNF object sw-version: string | None | |
Attachment Point (Not a real BBS modeling property, since its constituent parts are captured in other model properties) | Logical Link object (bridged to the PNF object representing ONT) link-name: string (will hold attachment point in the form of olt-name/pon-slot/pon-port e.g. olt1/1/1) link-type: string (will hold literal value 'attachmentPoint') | None (EdgeRule logical-link-to-pnf already exists) | |
ONT NNI Port | Metadata Entry (under HSIA Access Service Instance) ONT_NNI cp relates to it | Metadatum EdgeRules only | |
OLT NNI Slot | Metadata Entry (under HSIA Access Service Instance) | Metadatum EdgeRules only | |
OLT NNI Port | Metadata Entry (under HSIA Access Service Instance) | Metadatum EdgeRules only | |
BNG Name (Static configuration. Put into A&AI via a script) | Metadata Entry (under HSIA Edge Service Instance) BNG Generic-VNF relates to it | Metadatum EdgeRules only | |
BNG UNI Slot (Static configuration. Put into A&AI via a script) | Metadata Entry (under HSIA Edge Service Instance) BNG-UNI cp relates to it | Metadatum EdgeRules only | |
BNG UNI Port (Static configuration. Put into A&AI via a script) | Metadata Entry (under HSIA Edge Service Instance) BNG Generic-VNF relates to it | Metadatum EdgeRules only |
Moving forward based on https://groups.io/g/onap-bbs/message/160
and https://groups.io/g/onap-bbs/message/161
tbc