Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

TimeItemWhoNotes

Review Proposed Epic

Epic:
 
A subsystem is needed to track the history of the A&AI real-time database at an attribute/entity level for every resource (nodes & edges). The following is what would need to be tracked for the attribute value and entity assertions

  • source of change (provenance)
  • timestamp of when the change (add/update/delete) was made in the database
  • timestamp of when the change (add/update/delete) was made in the network as per provided by the client (preferred that client sends this but not mandatory)


The client will need a streamlined way to access this history via URIs and a GUI. For Casablanca only singular entity history queries will be supported showing the state of the entity at a given time. The design needs to be extensible enough to easily support history queries over a range of time, retrieving complicated topology history, traversal mS endpoints (custom query/dsl), and aggregations post Casablanca. 
Any data populated in A&AI before this feature was implemented, would not have historical information.
If the results have a subset of attributes that did not exist in the range of the data requested, A&AI will display the partial history available
Data retention limits will be enforced on the historical database to truncate history, this data retention timeframe will be configurable 

Jira
serverONAP JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyAAI-953

 


Review Proposed User Stories

Stories:

  • Create the A&AI history subsystem framework (scaffolding)
  • Develop functionality for the history subsystem to handle storing the historical data within the database layer, recording the database entry time as a meta property on a value/entity/relationship update along with the source of the update
  • Develop functionality for the history subsystem to handle storing the network sequence time as a meta property on a value/entity/relationship update (if the network sequence timestamp was passed in), also store the source of the update
  • Develop functionality for the history subsystem to retrieve the state of an entity/relationship at a given database timestamp
  • Develop functionality for the history subsystem to retrieve the state of an entity/relationship at a given network sequence timestamp (will only pull entity/relationships that have a network sequence timestamp)
  • Develop functionality for the history subsystem to truncate history data after a configurable range of time
  • Update the existing A&AI GUI to include functionality to query historical data for an entity/relationship at a particular point in time
  • Ensure the history subsystem is properly updating the logs per ONAP guidelines

Action items

  •  James Forsyth will create the epic and skeleton stories for this initiative, Due