Project Name:
- Proposed name for the project:
AAI
- Proposed name for the repository:
aai
Project description:
Active and Available Inventory (AAI) is the ONAP subsystem that provides real-time views of Resources and Services and their relationships. AAI not only forms a registry of active, available, and assigned assets, it also maintains up-to-date views of the multidimensional relationships among these assets, including their relevance to different components of ONAP.
This project targets a logically centralized reference point for service and resource details serving other ONAP components and non-ONAP systems to enable fulfillment, closed loop, reporting, and other operational use cases. The existing sources of truth do not provide a cross domain view and are not designed to serve this information to multiple clients.
Scope:
Inventory for services and resources
a central registry to create a global view of inventory and network topology
receives updates from various inventory masters distributed throughout the ONAP infrastructure, and persists just enough to maintain the global view.
As transactions occur, AAI persists asset attributes and relationships into the federated view based on configurable metadata definitions for each activity that determine what is relevant to the AAI inventory.
Provides standard APIs to enable queries from various clients regarding inventory and topology. Queries can be supported for a specific asset or a collection of assets. The AAI global view of relationships is necessary for forming aggregate views of detailed inventory across the distributed master data sources.
- metadata-driven, new resources and services can be added quickly with Service Design and Creation (SDC) catalog definitions, using the AAI model loader
Move to Active OS Graph Database (e.g.Janus) (R1 candidate)
- Titan has no active Open Source community. No community updates for over 1 year.
- Technical evaluation of open source graph database options
- Janus good candidate (http://janusgraph.org/)
- Janus supports Tinkerpop Abstraction implemented today in AAI.
- Janus is an evolution of Titan
Scalable, HA AAI (assumed covered by ONAP level project)
- Back end needs to be HA. Need to confirm, explore.
- Testing vs performance, throughput
- Scaling AAI
AAI Reconciliation from Network/Cloud. (dependences on Multi VIM project- assume R2 earliest)
- Need to refresh from VIM
- data integrity checks and reconciliation
- event based updates from VIM/SO/Controller
- Different VIMs have different levels of detail.
- MSO has this UC also.
- Variety of different options here (VIM/SO/Controller).
Extend Model-driven AAI Use cases (R1 candidate)
- Move forward the AAI model-driven story, driven by3 use-case requirements
- For Resource, service and schema change.
- Includes definition of (model-driven) API
- Model evolution
- Track Change through Time (R2+ candidate)
- Tracking the Service, Resource changes across time
- Support for point in time service/resource detail, e.g. for assurance
- Distributed AAI (assumed covered by ONAP level project)
- How does AAI serve local orchestrator, local DCAE across large geographical regions
- Resource data, interim data cant be centralized - too costly.
Describe the functionality to be provided by the project. Please provide the full intended scope of the project; not just what is intended for the project's first release.
- Specify any interface/API specification proposed,
- Updated REST API for AAI aligned with updated model as per the 3 use cases
- Updated API to support query of time series data
- Identity a list of features and functionality will be developed.
- Identify what is in or out of scope. During the development phase, it helps reduce discussion.
- Scalable, HS AAI
- This could be covered by an ONAP level requirement for HA
- Scaling may be ONAP Controller domain
Architecture Alignment:
Architecture diagram
- What other ONAP projects does this project depend on?
- SDC / Modelling
- Multi VIM / SO / SDN-C
- CommServ1 /MSB
- Integration
- OpenLab
- How does this align with external standards/specifications?
- APIs/Interfaces - TinkerPop, Gremlin
- Information/data models - ONAP TOSCA model
- Are there dependencies with other open source projects?
- APIs/Interfaces
- Integration Testing
- Tinkerpop
- etc.
Resources:
- Primary Contact Person - Colin Burns colin.burns@amdocs.com, Steven Blimkie Steven.Blimkie@amdocs.com
- Names, gerrit IDs, and company affiliations of the committers
- Names and affiliations of any other contributors
- Project Roles (include RACI chart, if applicable)
Other Information:
- link to seed code (if applicable)
- Vendor Neutral
- if the proposal is coming from an existing proprietary codebase, have you ensured that all proprietary trademarks, logos, product names, etc., have been removed?
- Meets Board policy (including IPR)
Use the above information to create a key project facts section on your project page
Key Project Facts
Primary Contact: Steven Blimkie Steven.Blimkie@amdocs.com - amdocs
Project Lead: Steven Blimkie Steven.Blimkie@amdocs.com - amdocs
Project Name:
- JIRA project name:
- JIRA project prefix:
Repo name: Lifecycle State: Primary Contact: Project Lead: mailing list tag [Should match Jira Project Prefix] Committers: foo@bar.com baz@qux.com *Link to TSC approval:
Link to approval of additional submitters: