...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
Page Status:
...
Completed
Component Status:
...
Reviewed on Architecture Subcomittee
Last Reviewed on: 2020-08-11
Certified by: wr148d@att.com
AAI (Available and Active Inventory):
1. High Level Component Definition and Architectural Relationships
Drawio | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...
Realtime views of the managed resources and services and their relationships
The relevance of the managed resources and services to the ONAP components.
It is a registry of the active, available and assigned assets.
It maintains a multidimentional relationship amongst the managed services and resources.
- It provides interfaces for canned and ad-hoc complex network topology queries
2. API definitions
AAI provides the following interfaces:
Interface Name | Interface Definition | Interface Capabilities | Version | Status | API Spec (Swagger) |
---|---|---|---|---|---|
AAIE-1 | Inventory Service Interface. CRUD & Queries | An interface to create, update, retrieve, query, delete the service, resources and relationship inventory information for:
AAI provides multiple interfaces to use canned queries, dynamic queries (DSL), and CRUD operations (Resources) | v20 | ||
AAIE-2 | AAI Graphical User Interfaces | Provides the capability to view the inventory |
...
The current API documents can be found at:
...
Interface Name | Purpose Reason For Use | API Spec (Swagger) |
---|---|---|
SDCE-6 | To receive the service and resource artifacts from SDC. | N/A No exposed InterfaceInterface Details |
3. Component Description:
A more detailed figure and description of the component.
...
Grey is deprecated (according to Resources and Repositories)
Blue are configured in oom.
...
Taken from AAI Microservices Diagram
Below taken from Resources and Repositories (Deprecated)
Release Artifacts
Release Components Name
Components Name | Components Repository name | Maven Group ID | Components Description |
---|---|---|---|
aai-common | aai/aai-common | org.onap.aai.aai-common | This holds the model, annotations and common modules used across the Resources and Traversal micro services |
data-router | aai/data-router | org.onap.aai.data-router | AAI Micro Service used to route/persist AAI event data for consumption by the UI |
logging-service | aai/logging-service | org.onap.aai.logging-service | AAI common logging library |
model-loader | aai/model-loader | org.onap.aai.model-loader | Loads SDC Models into A&AI |
resources | aai/resources | org.onap.aai.resources | AAI Resources Micro Service providing CRUD REST APIs for inventory resources |
rest-client | aai/rest-client | org.onap.aai.rest-client | Library for making REST calls |
router-core | aai/router-core | org.onap.aai.router-core | Library containing the core camel components for the data router |
search-data-service | aai/search-data-service | org.onap.aai.search-data-service | Service for persisting data to a search database |
sparky-be | aai/sparky-be | org.onap.aai.sparky-be | AAI user interface back end |
sparky-fe | aai/sparky-fe | org.onap.aai.sparky-fe | AAI user interface front end |
test-config | aai/test-config | org.onap.aai.test-config | Repository containing test configuration for use in continuous integration |
traversal | aai/traversal | org.onap.aai.traversal | AAI Traversal Micro Service providing REST APIs for traversal/search of inventory resources |
babel | aai/babel | org.onap.aai.babel | AAI Microservice to generate AAI model XML from SDC TOSCA CSAR artifacts |
esr-server | aai/esr-server | org.onap.aai.esr-server | ESR backend, mainly include the function of external system reachable check and data pretreatment |
esr-gui | aai/esr-gui | org.onap.aai.esr-gui | External system management ui |
event-client | aai/event-client | org.onap.aai.event-client | Library to manage interactions with an event bus |
graphadmin | aai/graphadmin | org.onap.aai.graphadmin | Microservice with various functions for graph management |
cacher | aai/cacher | org.onap.aai.cacher | The Response Caching Microservice (Cacher) is built to deliver multiple mechanisms of making API calls and populating the responses into a JSON datastore |
validation | aai/validation | org.onap.aai.validation | Microservice used to invoke validation mechanism |
schema-service | aai/schema-service | org.onap.aai.schema-service | Microservice to provide centralized run-time schema information for AAI's microservice |
graphgraph | aai/graphgraph | org.onap.aai.graphgraph | Microservice used to provide view of AAI model, schema and edge rules |
oom | aai/oom | org.onap.aai.oom | AAI's helm chart repo, is a submodule of the oom project, but will be brought back into the main project in the Guilin release. This will need to remain open for as long as Frankfurt and El Alto are supported and then can be locked. |
spike | aai/spike | org.onap.aai.spike | Microservice used to generate events describing changes to the graph data (deprecated) |
tabular-data-service | aai/tabular-data-service | org.onap.aai.tabular-data-service | Microservice which serves as an abstraction layer to a tabular data store (deprecated) |
gap | aai/gap | org.onap.aai.gap | A get and publish microservice which extracts entities from A&AI and publishes them to an event topic (deprecated) |
eis | aai/eis | org.onap.aai.eis | Microservice used to manage entity identities across systems (deprecated) |
chameleon | aai/chameleon | org.onap.aai.chameleon | Abstraction service for historical database (deprecated) |
gallifrey | aai/gallifrey | org.onap.aai.gallifrey | Transformation service between AAI-modelled data, operations and gallifrey representation (deprecated) |
enricher | aai/enricher | org.onap.aai.enricher | Enables complementing AT&T data with federated data from additional sources (deprecated) |
aai-service | aai/aai-service | org.onap.aai.service | AAI REST based services (deprecated) |
aai-config | aai/aai-config | org.onap.aai.aai-config | AAI Chef cookbooks |
aai-data | aai/aai-data | org.onap.aai.aai-data | AAI Chef environment files (deprecated) |
gizmo | aai/gizmo | org.onap.aai.gizmo | CRUD Rest API endpoint for resources and relationships, delivering atomic interactions with the graph for improved scalability. (deprecated) |
champ | aai/champ | org.onap.aai.champ | Abstraction from underlying graph storage systems that A&AI would interface with.(deprecated) |
Note: OOM is moving back with the OOM team for Guilin
4. known system limitations
- Eventually consistent database (CAP Theorem - Performance over Consistency) - see Warning! AAI REST API Not Safe With Concurrent Access (i.e. more than 1 REST client)
- Basic issue is when running multiple instances and calls are made to the same objects concurrently, there runs the risk of creating duplicates or ghost vertices, see https://docs.janusgraph.org/advanced-topics/eventual-consistency/ for more
- We have provided a sticky config in HAProxy, to keep clients operating on the same instance for X mins and data grooming (via GraphAdmin) to clean up bad data
5. Used Models
AAI uses the following models:
- Inventory Model
6. System Deployment Architecture
FFSSee component section.
7. New Capabilities in this Release
This release, AAI adds the following Capabilities:
- No new platform functionality in Guilin
- Use Cases supported: AAI R7 Guilin Release: Functional Use Cases
8. References
...