AAI Release Notes

Version: 1.4.0

Release Data:2019-06-08

New Features

The R4 Dublin release of ONAP is a balanced release, focusing on platform maturity and deployablity while also bringing in significant new features and use cases . AAI continued to leverage oom and kubernetes, and added new data types in support of multiple R4 use cases. AAI added a new schema service which moves AAI closer to being more model-driven and flexible.

AAI is more model driven in Casablanca, which means it dynamically operationalize new and updated models at run-time, with minimal downtime and coding, so that the latest service and resource models can be delivered quickly. To do this, AAI must update its internal model, external API and behavior to respond to change to service and resource models, including schema changes. The schema service provides ONAP users the ability to quickly change the AAI data model without re-building key microservices.

AAI delivered 55%+ test coverage on all Java-based repos.

See AAI-1779 for details on the schema updates in R4.

Some AAI services can be configured to leverage the ONAP Pluggable Security Sidecar proof of concept (disabled by default, see the charts under aai/oom for more details).

AAI now manages its own helm charts. See aai/oom

Known Issues

The AAI UI is now integrated with Portal and AAF. However, the AAF default boostrap does not include a role that is necessary the demo user to access the AAI UI.

Run the following as a workaround, adjust the URL and credentials according to your environment. The user in CRED must be able to update the org.onap.aai namespace. The following example has been tested from inside the AAI resources pod.

URL='https://aaf-service.onap:8100'
CRED='aai@aai.onap.org:demo123456!'

curl -v -k -u "$CRED" -H "Content-Type: application/RoleRequest+json" $URL/authz/role -d '{"name":"org.onap.aai.aaiui"}'

curl -v -k -u "$CRED" -H "Content-Type: application/UserRoleRequest+json" $URL/authz/userRole -d '{ "user":"demo@people.osaaf.org", "role":"org.onap.aai.aaiui" }'

Future releases will include the role and role assignment in the default bootstrap data (being tracked under AAI-2475)

Security Notes

Fixed Security Issues

  • OJSI-114 In default deployment AAI (aai) exposes HTTP port 30232 outside of cluster.

Known Security Issues

Known Vulnerabilities in Used Modules

AAI code has been formally scanned during build time using NexusIQ and all Critical vulnerabilities have been addressed, items that remain open have been assessed for risk and determined to be false positive. The AAI open Critical security vulnerabilities and their risk assessment have been documented as part of the R4 project wiki.

Quick Links:

Version: 1.3.2

Release Date:2019-03-31

Updates

AAI demo certificates were going to expire before Dublin release, so they’ve been refreshed to last until 2020.

  • AAI-2282 Update certifcate for Casablanca 3.0.2

Version: 1.3.1

Release Date:2019-01-31

New Features

The Casablanca Maintenance Release provides a number of security and bug fixes. Highlights of the issues corrected in the Casablanca Maintenance Release:

  • AAI-2047 Make success of createDbSchema job required to proceed in AAI startup
  • AAI-1923 Problem deleting due to EdgeRules in CCVPN usecase Casablanca
  • AAI-1776 Champ fails to start
  • AAI-1958 [graphadmin] createDbSchema.sh job loses detailed logfile
  • AAI-1973 Schema update wiki is out of data of Casablanca
  • AAI-2058 Upgrade to latest jetty-security
  • AAI-2076 A&AI healthcheck timeout
  • AAI-2079 aai-traversal and aai container failure to deploy issues in casablanca 3.0.0-ONAP

Dependencies were updated in multiple repos to patch security vulnerabilities.

Known Issues

  • AAI-2090 aai-data-router pod enters CrashLoopBackOff state

This issue can still present itself if you use the OOM chart which references version 1.3.2 (which is the version specified in the casablanca branch of oom), data-router will not start. The workaround is to set 1.3.3 in the values.yaml file for data-router, or use the docker-manifest to override. File is oom/kubernetes/aai/charts/aai-data-router/values.yaml

Users should pay special attention to AAI-2064 and should consult this page for instructions on how to properly secure it if they are concerned about the issue.

Security Notes

AAI code has been formally scanned during build time using NexusIQ and all Critical vulnerabilities have been addressed, items that remain open have been assessed for risk and determined to be false positive. The AAI open Critical security vulnerabilities and their risk assessment have been documented as part of the R3 project wiki.

Quick Links:

Version: 1.3.0

Release Date:2018-11-30

New Features

The R3 Casablanca release of ONAP again focuses on platform maturity and deployablity. AAI continued to leverage oom and kubernetes, and added new data types in support of multiple R3 use cases. AAI added a new schema ingest library which moves AAI closer to being more model-driven and a new microservice called “graphadmin” which provides graph maintenance and configuration facilities.

AAI is more model driven in Casablanca, which means it dynamically operationalize new and updated models at run-time, with minimal downtime and coding, so that the latest service and resource models can be delivered quickly. To do this, AAI must update its internal model, external API and behavior to respond to change to service and resource models, including schema changes. There are changes required to align on implementation across different ONAP components to provide a more strategic model-driven A&AI implementation. For this release decomposing AAI model/schema artifacts (OXM/XSD) into a more granular approach better enables extensibility and support logical subdivision of models.

AAI added support fo the Cross Domain and Carrier Layer VPN use case by adding new object types, models, and edge rules.

AAI delivered 50%+ test coverage on all Java-based repos.

Added support Support for SR-IOV.

Authentication and Authorization is performed using AAF with the CADI framework. We use basic authentication with RBAC (Role Based Access Control) to secure the AAI REST APIs.

AAI added automation support for orchestrating SR-IOV Provider Networks that are compatible with the Network Cloud 1.0 infrastructure solution based on standard SR-IOV. Allow for standard SR-IOV Provider Networks to be defined with a set of one or more VLAN associations.

AAI added suport to allow clients to specify the format on GET operations in the resources micoservices to output like the custom query API does.

Added support for VLAN tagging.

Known Issues

Please find at this link the list of issues that will be fixed in the Casablanca Maintenance Release

Security Notes

AAI code has been formally scanned during build time using NexusIQ and all Critical vulnerabilities have been addressed, items that remain open have been assessed for risk and determined to be false positive. The AAI open Critical security vulnerabilities and their risk assessment have been documented as part of the R2 project wiki.

Quick Links:

Version: 1.2.0

Release Date:2018-06-07

New Features

The R2 Beijing release of ONAP focuses on platform maturity - to that end, AAI has switched from Titan on hbase to JanusGraph on a multi-replica cassandra deployment. We have added several microservices which will be fully operational in R3 Casablanca. Another significant change in R2 is that we converted our Microservices from ASJC 2 to Springboot 1.5. AAI provides configurations for orchestration via HEAT or via OOM / kubernetes for scaling and resiliency.

AAI added champ, a graph abstraction microservice, and Gizmo, a new way to perform CRUD operations on the graph in a more atomic way that exposes more of the underlying graph infrastructure. Babel is a new microservice that does TOSCA model translation on behalf of model loader. Event client provides an abstraction for dmaap events.

ONAP AAI R2 includes the following components:

  • AAI Data Management
  • Resources (CRUD operations)
  • Traversal (Advanced search operations)
  • Data Router (Route/persist AAI event data for consumption by the UI)
  • Model Loader (Obtains SDC artifacts and loads them into the A&AI Resources service for storage)
  • Search Data Service (Abstraction layer for searchengine, supporting queries and updates)
  • Babel (TOSCA translation for model-loader)
  • Event-client (DMaaP abstraction
  • Champ (Graph abstraction microservice)
  • Applications
  • Sparky (AAI User Interface)

Source code of AAI is released under the following repositories at https://gerrit.onap.org

  • aai/aai-common
  • aai/event-client
  • aai/babel
  • aai/champ
  • aai/data-router
  • aai/esr-gui
  • aai/esr-server
  • aai/gizmo
  • aai/logging-service
  • aai/model-loader
  • aai/resources
  • aai/rest-client
  • aai/router-core
  • aai/search-data-service
  • aai/sparky-be
  • aai/sparky-fe
  • aai/test-config
  • aai/traversal

Epic

  • AAI-16 A&AI Platform Deployment
  • AAI-17 Seed code stabilization
  • AAI-21 Gizmo
  • AAI-24 Move to Active Open Source Graph Database
  • AAI-38 AAI Microservice to generate AAI model XML
  • AAI-280 This epic groups together the various requests for making AAI more configurable
  • AAI-466 Beijing R2 AAI Schema Updates
  • AAI-680 HPA Use Case Support in AAI
  • AAI-681 Change Management Use Case Support in AAI
  • AAI-682 Scale Out Use Case Support in AAI
  • AAI-769 Required updates to the v13 REST API

Bug Fixes

  • AAI-129 RestClientBuilder SSL protocol should be configurable
  • AAI-131 Model-Loader service of A&AI has it’s Log Provider Configuration File sealed inside the WAR
  • AAI-175 aai core service of A&AI has it’s Log Provider Configuration File configurable from startup.sh
  • AAI-295 ChampDAO tests failing in gizmo
  • AAI-460 vm1-aai-inst1 aai-resources fails to start
  • AAI-463 Wrong Error message when we use PUT instead of POST to create the relationship
  • AAI-521 A&AI resources container sporadically hangs on startup
  • AAI-523 Sparky UI does not display RelationshipList nodes
  • AAI-558 aai-resources java daily jenkins job is failing
  • AAI-559 CSIT jobs should use a set of streams, not a list of branches
  • AAI-561 aai-traversal java daily jenkins job is failing
  • AAI-568 aai/logging-api build fails on license.txt not found when run outside of aai/logging-service dir - for root CI builds
  • AAI-601 AAI search-data-service build failing on 1.1 JAX-RS instead of required 2.0 library only on clean Ubuntu 16.04/JDK1.8.0_151
  • AAI-603 Sonar only push to master
  • AAI-666 aai/datarouter startup fails to find logback.xml
  • AAI-679 A&AI UI failed to search service-instance based on service-instance-id
  • AAI-699 SDC Tosca does not generate Groups from resource yaml
  • AAI-738 When register service to MSB, esr-server still will register to MSB automaticly
  • AAI-788 fix the cookie decryption algorithm
  • AAI-796 AAI is logging %PARSER_ERROR instead of REMOTE_USER
  • AAI-833 The url of query vim type from multiCloud is incorrect
  • AAI-838 Add back the properties that got removed
  • AAI-874 Fix the test-config traversal aaiconfig to use proper timeout keys
  • AAI-948 aai-rest-client build fails with non-resolvable parent POM
  • AAI-961 Fix aai-sparky-be-master-aai-docker-java-daily
  • AAI-985 Sparky-be: Change dependency to make use of sparky-fe war file from Beijing version
  • AAI-987 Update ML with the latest changes
  • AAI-993 Champ docker image name incorrect
  • AAI-994 Crud-service (Gizmo) docker tag version is incorrect
  • AAI-995 Gizmo docker image name incorrect
  • AAI-996 Change ML pom file to address build failure problems
  • AAI-1005 Fix docker-compose-db.yml in test-config
  • AAI-1006 Babel start script does not set all required properties
  • AAI-1007 Babel: java.lang.NoClassDefFoundError: com/att/aft/dme2/internal/gson/JsonSyntaxException
  • AAI-1016 Model-loader: properties files are incorrectly named and have errors
  • AAI-1017 Fix Champ build - incorrect definition of Java system path
  • AAI-1018 Model-loader: CONF_INVALID_MSG_BUS_ADDRESS
  • AAI-1019 aai-resources: does not require username/password after springboot upgrade
  • AAI-1020 aai-traversal: does not require username/password after springboot upgrade
  • AAI-1024 Test-config: model-loader MSG_BUS_ADDRESSES not set
  • AAI-1025 Test-config: traversal updateQueryData.sh fails to update models and queries
  • AAI-1026 test-config: model-loader is attempting 2-way TLS with AAI
  • AAI-1027 ModelLoader basic auth failure with aai-resources
  • AAI-1029 The DOC about ESR installation should be update
  • AAI-1034 [sparky-be] Portal API Proxy missing from Spring Boot Sparky
  • AAI-1035 Security: Springboot 1.5.10 has new nexusIQ critical exceptions
  • AAI-1038 Babel missing .gitreview file
  • AAI-1049 [Model Loader] - Remove dependency on PowerMockito
  • AAI-1051 API Spec is specifying v12 in v13 file
  • AAI-1052 AAI is using -SNAPSHOT artifacts; remove -SNAPSHOT dependencies
  • AAI-1077 [Babel] master daily build job is not creating an autorelease staging repo
  • AAI-1082 Champ janus version incompatible with Resources janus version
  • AAI-1084 POST with PATCH override call is returning 405
  • AAI-1086 Babel: Compressed files contain proprietary markings
  • AAI-1088 aai-common: version.properties refers to previous patch release
  • AAI-1089 haproxy, aai-resources, and aai-traversal using outdated certificate in HEAT config
  • AAI-1090 v13 does not support External System under cloud region
  • AAI-1091 ESR fails to register EMS
  • AAI-1094 Model-loader: failure to negotiate with message router in OOM
  • AAI-1096 Increase length for field:password in ESR-GUI VIM registration page
  • AAI-1100 OOM Resources and Traversal Config map missing release
  • AAI-1101 haproxy, aai-resources, and aai-traversal using outdated certificate in OOM config
  • AAI-1105 aai-traversal job is failing when trying to start OOM
  • AAI-1106 aai-resources: scripts do not work properly with spring-boot
  • AAI-1107 Security: babel and m-l brings in springboot jersey starter, which includes logback 1.1.11
  • AAI-1108 [Babel] Remove license violations in latest commit.
  • AAI-1110 Model Loader logback.xml errors
  • AAI-1111 Update test-config project for Babel
  • AAI-1113 ESR VIM registration portal: Physical Location Id does not populate any data
  • AAI-1114 Security: [Champ] add Dockerfile and remove additional AJSC files
  • AAI-1116 [Gizmo] addressing Security vulnerabilities (Nexus IQ)
  • AAI-1117 [Champ] addressing Security vulnerabilities (Nexus IQ)
  • AAI-1118 [Gizmo] upgrade artefacts from aai-common to 1.2.4
  • AAI-1119 [Champ] Prevent deployment of Champ service jar
  • AAI-1120 [Gizmo] Fix Jacoco configuration
  • AAI-1121 Add the default realtime clients
  • AAI-1123 Babel logback.xml errors
  • AAI-1124 [router-core] NexusIQ reporting httpclient 4.5 vulnerability
  • AAI-1125 [data-router] NexusIQ reporting httpclient 4.5 vulnerability
  • AAI-1126 [Babel] Authorisation mechanism is not functioning
  • AAI-1127 [sparky-be] doesn’t release artifacts because it is missing the staging plugin
  • AAI-1132 AAI’s OOM server certificate doesn’t include all k8 names
  • AAI-1133 AAI’s haproxy server config doesn’t include all k8 names
  • AAI-1134 OOF not defined in AAI realm properties files
  • AAI-1135 [traversal] closed loop named-query is missing property-collect-list
  • AAI-1136 Babel doesnt start in HEAT due to log directory permissions
  • AAI-1138 [Champ] Bump to 1.2.1-SNAPSHOT and 1.2.1 in version.properties
  • AAI-1139 [resources and traversal] do not release artifacts properly
  • AAI-1141 [champ] duplicate dependency in pom.xml
  • AAI-1142 [champ] doesn’t create release artifacts
  • AAI-1143 [resources] createDbSchema.sh tries to add -SNAPSHOT version to classpath
  • AAI-1144 [oom and test-config] robot-ete is missing from realtime clients list
  • AAI-1146 [champ] daily build job is failing
  • AAI-1148 [Model-Loader] Rollback of VNF Images fails
  • AAI-1151 [Champ & Gizmo] Fix JJB jenkins jobs
  • AAI-1153 [Champ] Bump to 1.2.2-SNAPSHOT and 1.2.2 in version.properties

Known Issues

If the either the aai-resources or aai-traversal pod is deleted, haproxy will not automatically detect when the pod is re-instantiated. As a temporary workaround, you can delete the haproxy pod (the one named “aai”, for example, “dev-aai-8794fbff5-clx7d”) and when the aai pod restarts the service should operate normally. A proposed fix is here: https://gerrit.onap.org/r/#/c/51075/1 if you want to see how to configure the haproxy service to auto-recover when the IP address of either the aai-resources or aai-traversal pod changes.

Security Notes

AAI code has been formally scanned during build time using NexusIQ and all Critical vulnerabilities have been addressed, items that remain open have been assessed for risk and determined to be false positive. The AAI open Critical security vulnerabilities and their risk assessment have been documented as part of the project.

Quick Links:

Version: 1.1.1

Release Date:2018-01-18

Bug Fixes

  • AAI-456 AAI named-query for policy not returning extra-properties
  • AAI-458 [aai] ML, Search, DR, and Sparky Jenkins jobs not creating autorelease repo
  • AAI-459 aai-common child pom still depends on openecomp artifacts
  • AAI-461 AAI mS configuration files are using old openecomp params in test-config
  • AAI-462 Fix the resources junit tests broken in windows environment
  • AAI-558 aai-resources java daily jenkins job is failing
  • AAI-561 aai-traversal java daily jenkins job is failing
  • AAI-566 AAI Eclipse build failure - aai-traversal pom as hardcoded 1.8.0_101 jdk.tools version
  • AAI-621 Update the snapshot in test-config for v1.1.1-SNAPSHOT

Version: 1.1.0

Release Date:2017-11-16

New Features

Initial release of Active and Available Inventory (AAI) for Open Network Automation Platform (ONAP). AAI provides ONAP with its logically centralized view of inventory data, taking in updates from orchestrators, controllers, and assurance systems. AAI provides core REST services.

ONAP AAI R1 includes the following components:

  • AAI Data Management
  • Resources (CRUD operations)
  • Traversal (Advanced search operations)
  • Data Router (Route/persist AAI event data for consumption by the UI)
  • Model Loader (Obtains SDC artifacts and loads them into the A&AI Resources service for storage)
  • Search Data Service (Abstraction layer for searchengine, supporting queries and updates)
  • Applications
  • Sparky (AAI User Interface)

Source code of AAI is released under the following repositories at https://gerrit.onap.org .

  • aai/aai-common
  • aai/aai-config
  • aai/aai-data
  • aai/aai-service
  • aai/babel
  • aai/champ
  • aai/data-router
  • aai/esr-gui
  • aai/esr-server
  • aai/gizmo
  • aai/logging-service
  • aai/model-loader
  • aai/resources
  • aai/rest-client
  • aai/router-core
  • aai/search-data-service
  • aai/sparky-be
  • aai/sparky-fe
  • aai/test-config
  • aai/traversal

Epic

  • AAI-17 Seed code stabilization
  • AAI-20 Champ Library
  • AAI-22 Amsterdam User Case Schema Updates
  • AAI-23 Model Loader Support for R1
  • AAI-58 Define and build functional test cases for CSIT
  • AAI-72 External System Register
  • AAI-254 Documentation of REST APIs, dev guides, onboarding, etc.
  • AAI-280 Confguration enhancements

Bug Fixes

  • AAI-11 robot_vm: demo.sh failing - ‘200’ does not match ‘^(201|412)$’ on vanilla openstack
  • AAI-13 VM_init is failing to get sparky
  • AAI-31 Compilation failure in aai-traversal
  • AAI-48 AAI Common REST Client returns an error on a 204 (No Content) server response
  • AAI-49 Health check is failing in DFW 1.1 RS. Connection refused
  • AAI-62 Search Data Service should not implicitly create indexes on document write
  • AAI-63 Data Router must handle Search Service document create failures if index does not exit
  • AAI-73 Sparky sync issues
  • AAI-76 Jenkins stage-site builds failing on resources and traversal
  • AAI-94 AAI Certificate will expire 30 Nov 2017 - fyi
  • AAI-146 Both esr-server and esr-gui Jenkins failed
  • AAI-192 Model Loader depends on httpclient version 4.4.1
  • AAI-205 Having an invalid xml namespace for v11, named-query api returns 500 error, model query return incorrect error message
  • AAI-206 Model based delete is failing
  • AAI-217 Remove internal references from A&AI seed code
  • AAI-222 the version property of esr-server is incorrect
  • AAI-224 aai/esr-gui daily build failed
  • AAI-225 aai/esr-server daily build failed
  • AAI-265 EdgePropertyMap throws NullPointer if edge rule does not include property
  • AAI-266 auth-info edge rule does not include contains-other-v
  • AAI-273 Fix the esr-server setup error issue
  • AAI-278 AAI throws exception about mismatch keys adding esr-system-info to cloud-region
  • AAI-293 Jenkins job failing for aai-sparky-fe-master-release-version-java-daily
  • AAI-377 esr-gui docker build failed
  • AAI-393 The jjb defiend in a error way that cause CSIT build failed.
  • AAI-398 If a cloud-region didn’t contain a external system info, there will be an null pointer error
  • AAI-400 Register ServiceTest to microservice
  • AAI-401 Remove DMaaP router duplication
  • AAI-407 There is an error to startup esr-gui docker
  • AAI-412 Replace the type specification in this constructor call with the diamond operator (“<>”)
  • AAI-417 Rackspace 20170928 fails to authenticate nexus3 on 10003 during _init.sh (sdnc for example)
  • AAI-420 Can not get the MSB address in esr-server
  • AAI-422 The esr-server csit failed
  • AAI-424 The integration catalog is not in use, should be removed
  • AAI-425 Fix the artifact of esr-gui
  • AAI-426 Fix the artifact of esr-server
  • AAI-431 esr-gui files did not contained in webapp of tomcat
  • AAI-433 Failed to pre-load vCPE data to AAI. No response from AAI
  • AAI-434 Can not visit ESR portal with demo deployment
  • AAI-435 default tenant need be input to A&AI while register VIM
  • AAI-436 Call the API from MultiCloud failed
  • AAI-440 The version input box should be changed in a more easy to use when register a VIM
  • AAI-441 Can not input the vendor and version information to EMS, but there is a default data for the two parameter
  • AAI-442 Can’t instantiate a service
  • AAI-444 Cannot associate multiple service-instances to PNFs
  • AAI-446 vnf to esr-system-info named-query is missing vnfc
  • AAI-448 Remove snapshot dependencies from aai-common, data-router, and rest-client
  • AAI-450 Named Query needs to be updated to return VNFC Info
  • AAI-453 Fix stage-site jenkins job for aai-common
  • AAI-454 LoggingContext.requestId required NULL handling in aai/aai-common (20170607) - during demo.sh init_customer

Known Issues

  • AAI-61 AAI cleaned up references to OpenECOMP but in order to keep the release stable for R1, the XML namespace still contains openecomp.

Client systems should use http://org.openecomp.aai.inventory/v11 as the XML namespace for ONAP AAI R1.

Security Issues

See Common Vulnerabilities and Exposures CVE <https://cve.mitre.org>

ONAP docker images and repos include demo TLS server certificates that are signed by a demo Certificate Authority. DO NOT use the demo certificates in a production environment.

AAI uses HTTPS Basic Authentication.

Upgrade Notes

This is an initial release

Deprecation Notes

AAI Amsterdam provides support for legacy versions of the API, v8 and v11 in this release. v11 is the latest and preferred version.

Other


End of Release Notes