ODLUX DB API
- 1 Requirements
- 2 Entities
- 3 Architecture
- 4 Table Screenshot Examples
- 4.1 Table footer
- 4.2 Fault
- 4.3 Log
- 4.4 Language (deferred)
Requirements
Entity with unique name
contains properties
filterable (logical and between properties), pagable(size: 10, 20, 50, 100), sortable (multiple properties,ascending, descending, default)
properties have unique names per entity (not translated - will be translated through seperate service if neccessary)
CRUD (Create, Read, Update, Delete)-functionalities
auth required, token based (has to be optimized - maybe independent from odl)
export function
additional result information:
page number (1..n, if requested page>n page=n)
page size (number of current filtered elements)
result size (number of all elements for filter)
payload: JSON (no '-' for properties, entities)
yang spec !
Language
Localization
change events via websocket (needs subscription for this entity)
Term "Mountpoint" code consolidation
Server: The terms "mountpoint", "mountpoint-id" (different writings) and "node-name" will be consolidated and replaced by the single term "node-id" in the code and in the database types.
ODLUX Apps: There are different names used for the same id. Should be consolidated to "Nodename"
Filter specification according to UX-Framework Tablefilter
Further points&questions:
Entities:
NetworkElementConnection (filter: isRequired:boolean, connectionState: enum<string>)
connection-state=enum("connected","mounted","unmounted","connecting","disconnected",("idle"))
NetworkElementConnectionLog
NetworkElementConfiguration (only proxy for restconf) → implemented in APIGateway
FaultCurrent
FaultLog
(Log)
PMData15m
PMData24h
MediatorServer
Inventory
Maintenance
Status
Request-Url:
POST /restconf/operations/data-provider:{lowercase(REQ_METHOD)}-{entity}[-list]
e.g.:
POST /restconf/operations/data-provider:read-mediator-server-list
POST /restconf/operations/data-provider:create-mediator-server
POST /restconf/operations/data-provider:update-mediator-server
POST /restconf/operations/data-provider:delete-mediator-server
for default request-methods:
CREATE, READ, UPDATE, DELETE
Filter-Object: (See UX-Framework Tablefilter)
Each answer contains "output" to specify the request related to the table behind:
"output": {
"pagination":{
"size":20, <-- Number of requested objects
"page":1, <-- Page delivered back
"total": 3 <-- Total number of Objects in overall list
},
{ <-- List of objects on this page. Number of objects are the really available one's on this page. Could be less requested.
Request Entity-Example:
Entities
NetworkElementConnection (network-element-connection)
create: (create-network-element-connection)
ConnectionLog (connectionlog)
FaultCurrent (faultcurrent)
FaultLog (faultlog)
PMData15m (pmdata-15m)
PMData24h (pmdata-24h)
MediatorServer (mediator-server)
read (read-mediator-server-list)
(POST /restconf/operations/data-provider:read-mediator-server-list)
create (create-mediator-server)
POST /restconf/operations/data-provider:create-mediator-server
delete (delete-mediator-server)
POST /restconf/operations/data-provider:delete-mediator-server
update: (update-mediator-server)
POST /restconf/operations/data-provider:update-mediator-server
Inventory (inventory)
Maintenance (maintenance)
Status
Architecture
Table Screenshot Examples
Table footer
Fault
Log
Language (deferred)
things to translate:
table-header
header
menu-title
inline text
lang-code examples:
en-US
de-DE
de-AT
fr-FR
key-spec:
only uppercase + underscore
not too long
single words and complete sentences