Istanbul data-provider improvements
Extend inventory handling
CCSDK-3223: data-provider interface to write all inventory in one step per nodeClosed
Inventory of a device should not langer be handled as an independent list of equipment entries.
Problem to be solved:
* Inventory "treeview" requires consistent relations between different inventory modules data fields.
* Actually there is no verification of this structure and ODLUX Invetory treeview has "strange" output elements.
Solution implemented in data-provider:
* Interface changed to write all inventory items by one call
* Add new interface type DeviceInventory to data-provider yang
* If write is called the existing" List will be removed for device.
* data-provider is implementing a consistency check between single inventory elements.
data-provider model for inventory is "grouping inventory-entity".
The following elements contain information for building the ODLUX treeview and managing the data:
leaf (Tree view key is bold) | Table column | Description |
---|---|---|
uuid | Name | Unique inventory id of this equipment, provided by network element |
parent-uuid | Parent | Unique (network element) inventory id of holder. |
tree-level | Containment Level | Starting with 0 .. ( 0 :root level) |
During write into database the elements "uuid", "parent-uuid" and "tree-level" are verified for consistency. Inconsist elements are collected under the new created node "unbound".
Inconsistent:
parent-uuid: If uuid is not existing → to unbound node with tree-level1
parent-uuid: Null or empty for tree-level=0, else → to unbound
uuid: not unique → Remove element with related LOG entry
tree-level: Wrong tree-level (child level = parent level +1)→ to unbound
uuid not unique: Remove second element with related LOG entry
The elements "list contained-holder", "id" and "node-id" are not used for tree-view.
leaf | Table column | Description |
---|---|---|
list contained-holder | <none> | List of uuid of contained equipment. |
id | databaseId | not used in read direction. Needs to be null. |
node-id | NodeId of device | unique nodeId to identify owner of inventory. |