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

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. 
Not existing or null parent-uuid are root elements.

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

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.
Shouldn't be empty or null.