Attachments (including meeting recording)

  File Modified
Multimedia File Recorded Session - 2019-05-16.mp4 May 16, 2019 by James Forsyth
Multimedia File Data Modeling - 2019-05-16.mp4 May 16, 2019 by James Forsyth







Agenda Items


TitleResponsibleStatusLast discussedNotes
1Unreleased docker images in helm chartTeam


2019-05-16Merge change if artifacts are released in timely fashion, need to add release notes (or documentation somewhere) on the various options in the helm charts, things like replica count for cassandra local/shared, enabling/disabling sidecar, aaf, etc.
2Optimise ad-hoc retrieval of any resource with any of its cousin relationships


Raised as JIRA case AAI-2437 - Getting issue details... STATUS

but holding back the gerrit review until after the Dublin branch is cut so it doesn't count against release criteria.

Would like to gather opinions on the implementation (see the comments in the JIRA case). The query has been tested in my dev environment but unsure if the query is done the best way.

  • SoumyaNaikis invited to a future session to discuss further
3Dublin Branching



El Alto runs Jun - Sep - technical debt and S3P/deployability release

Frankfurt starts in Sep 

As of now, master will accept feature development for Frankfurt

We tag dublin at release time (early June)

The Dublin branch becomes El Alto (similar to a Dublin Maintenance Release)

El Alto changes will be cherry picked back to master

4Review El Alto proposals

AAI Epics in JIRA: Getting issues...

5Cached vs realtime connection


9th May 2019

Have been testing with Traversal custom queries and Resources bulkadd API.

It appears that the caching causes a delay of approx. 1 to 10 seconds between creating new objects in Resources API and observing them in Traversal API (seems to have 2 or 3 modes which are fairly consistent).

What is the reasoning for using cached rather than realtime connection mode for some clients but not others? Cache being out-of-date would seem to be a cause of problems.

There is some discrepancy in the default configs for AAI microservices:

  • In graphadmin\src\main\resources\etc\appprops\
    Line 47: aai.realtime.clients=RO,SDNC,MSO,SO
  • In resources\aai-resources\src\main\resources\etc\appprops\
    Line 92: aai.realtime.clients=RO,SDNC,MSO,SO
  • In traversal\aai-traversal\src\main\resources\etc\appprops\
    Line 69: aai.realtime.clients=SDNC,SO,MSO

Apparently the HTTP header "Real-Time: true" can be used to force a realtime connection. Would this refresh the Traversal cache so that all clients can immediately observe new objects? (Further testing shows the cache is not refreshed; should this be raised in a JIRA bug?)

Is there some way to know how far behind a cached connection is from realtime? e.g. by observing the latest resource-version value? Would want to avoid polling the microservice.

Assuming that the "Real-Time" header has not been specified, is there any part of the response that indicates whether a "Real-Time" connection was used by default or not?

9th May: AAI-2416 - Getting issue details... STATUS

6debugging Traversal custom query problem


10th May 2019

Calling Traversal custom query with curl:

curl --verbose --silent --insecure --user AAI:AAI --header 'Accept: application/json' --header 'X-TransactionId: testaai' --header 'Content-Type: application/json' --header 'X-FromAppId: AAI' --header 'Real-Time: true' --upload-file data-customquery-count-vnf.json https://<IPADDR>:30233/aai/v14/query

Request body for PUT is:

 "start": [
 "query": "query/count-vnf-byVnfType"

Response returns error:

  "requestError": {
    "serviceException": {
      "messageId": "SVC3002",
      "text": "Error writing output performing %1 on %2 (msg=%3) (ec=%4)",
      "variables": [
        "Internal Error:java.lang.ClassCastException: java.util.HashMap$Node cannot be cast to org.apache.tinkerpop.gremlin.structure.Vertex",

Stored-query definition appears to be:

      "stored-query":"builder.getVerticesByProperty('aai-node-type', 'generic-vnf').groupCount().by('vnf-type').store('x').unfold()"

How do I debug/fix this query?

9th May: Venkata Harish Kajur  could you take a quick look at this and email me?

Keong Lim This custom query seems to only support one format which is the console. The reason is the output of this query just return a list of counts grouped by vnf type. It doesn't make sense to be able to support any other format. The default format I believe is the graphson so thats why its failing. Add the query parameter format=console and it should fix this issue. We should probably update the documentation to say that this custom query will only be working with format=console

10th May: added to AAI-2408 - Getting issue details... STATUS . Also raised AAI-2417 - Getting issue details... STATUS

7GraphGraph demoPavel Paroulek


2nd May 2019

A 5-10 minute demo of GraphGraph AAI-531 - Getting issue details... STATUS .

Feedback needed!

8AAI Modeling Multi-part key for schema elements


25th Apr 2019



  • The cloud-region schema element is unusual in that it has a two-part key i.e. "cloud-owner" and "cloud-region-id". There are not many other usages of it ("ctag-pool" , "service-capability" and "route-target" are three others, out of over 100 other schema elements)
  • Is it possible to enhance the error message to indicate that part of the key value is missing from the relationship-data?  AAI-2391 - Getting issue details... STATUS
  • Is it time to deprecate the relationship-data and switch over to using the related-link only?
  • Is there any modeling guidance that would steer new designs away from using multi-part key for schema elements?
  • Are there other caveats to using the multi-part key design for schema elements?
  • Can we get feedback from Chandra Cinthalaon the key design for multi-part keys and whether this will be more common going forward?

    Sent: Tuesday, April 30, 2019 12:16 AM
    To: Keong Lim <>; FORSYTH, JAMES <>
    Subject: Re: [confluence] Keong Lim has assigned tasks to you in "2019-05-02 AAI Developers Meeting"


    I think we have no plans to deprecate the relation-data option the in the A&AI relationship payload.

    It's another option for the client to specify the relationship.



  • See also email from Marco Platania in
9Return codes and messages for WS


25th Apr 2019

Is there a guide for the description of the error message and the error codes? How are new error states (message + code) added?

  • William LaMont will send James Forsyth the output of a script that formats the file to make a wiki page and readthedocs
  • James Forsyth should commit that script and create a wiki for the error properties
10AAI test data bootstrapKeong Lim


25th Apr 2019

3rd May: See also AAI Simulator in Policy:;a=blob;f=models-interactions/model-simulators/src/main/java/org/onap/policy/simulators/;hb=HEAD . Was recently updated for custom query and contains hard-coded AAI data/schema. Maybe discuss with Pamela Dragosh about how this data is maintained?

25th Apr: Wiki page OOF - HPA guide for integration testing updated for

Similarly, Scott Seabolt and J Armstrong / Joss Armstrong wrote for APPC Sample A&AI Data Setup for vLB/vDNS for APPC Consumption and Script to load vLB into AAI:

The below script can be used to submit the vLB data to A&AI in order to run ConfigScaleOut use case. This script and referenced JSON files are used on an AAI instance where the cloud-region and tenant are already defined.


Related AAI-1948 - Getting issue details... STATUS on the brittleness of the ReadTheDocs links to data files.

One for VIM: How-To: Register a VIM/Cloud Instance to ONAP and AAI-1928 - Getting issue details... STATUS

Potential issues:

  • fragility of static import data file w.r.t. schema changes and version upgrades for each ONAP release?
  • how "common" is this knowledge, i.e. what to load, where to get it, who else should be using it, etc?
  • should it be automated/scripted, rather than manual steps to bootstrap?
  • should it be a simulator program or test harness, rather than a static data file?
  • should it reside within AAI CI/CD jobs for maintenance and upgrade of schema versions?
  • who maintains the data itself? Is there a "data repository" which can be delegated to other teams, e.g. like documentation repository links in git?
  • how many other teams have similar private stashes of AAI bootstrap data?
  • does it need to be published at a stable URL to avoid linkrot?

Possible solution/action:

  • Look at the examples API and possibly enhance it to get the desired behavior
  • Collect all the known data samples, commit to test-config repo, update the teams/wiki to point to test-config repo instead of keeping private stash of AAI data AAI-2399 - Getting issue details... STATUS
11Purpose of fields in AAI


18th April 2019

Dénes Németh wrote in AAI-1104 - Getting issue details... STATUS :

In think it would be good to answer what is the meaning of the field (collection of PEMs of the CA xor URL)


1. Is AAI intended to strictly prescribe how the fields are used and what contents are in the values?
2. Or does AAI simply reflect the wishes of all the client projects that use it to store and retrieve data?

Even if (1) is true, AAI is not really in any position to enforce how clients use the data, so really (2) is always true and we need to consult the original producers of the data and the ultimate consumers of the data to document their intended meanings.

How do we push to have documentation on the purpose and meaning of the fields in AAI?

Where does all this documentation go?

Should the documentation be backed up by validation code?

See also discussion about AAI in 2018-11-28 ExtAPI Meeting notes

29th Nov: Started on new wiki page AAI Schema Producer-Consumer Pairings

18th Apr: Can we have this documentation go into ONAP in a generic way?

24th Apr: See also questions about "sw-version" in

12range query


7th Feb 2019
  • Invite Arul Nambi and CT Paterson to next week's dev call to talk about how sparky/elastic does partial/range matches

132 Types of logging in A&AI WS


1st Nov 2018

There are 2 types of logging in the services

  • one read from EELFManager
  • the other Logger log = Logger.getLogger( ...

Is that correct? Shouldn't there be just 1 type?

1st Nov:

After Casablanca release investigate logging guidelines and figure out what library to use in order to unify logging within A&AI

26th Nov: See also ONAP Application Logging Specification - Post Dublin

29th Nov: how does this fit with LOG-877 - Getting issue details... STATUS ?

14Schema-service roadmap


21st Mar 2019

31st Jan 2019:

The schema-service is ready. Currently it provides file-sharing capabilities in terms of schema/edgerule files.

In order for GraphGraph to take advantage of the schema parsing/processing in schema-service additional abstractions have to be implemented on top of the crude file2string functionality currently in schema-service.

  • Venkata Harish Kajurwill ask Manisha Aggarwalif the current functionality of the schema-service is the final version for Dublin and if there will be further enhancements in next releases. 

GraphGraph needs the following functionality:

Venkata Harish Kajur  and Manisha Aggarwal What is missing in schema service that is needed in graphgraph is the following:

  • rest call to get available schemas
  • list of all schema nodes/items (like vserver, tenant, p-interfaces..) for example on a REST path /schemas/{schema}/nodes
  • all relevant attributes of a given node/item for example on REST path /schemas/{schema}/nodes/{node}
  • edges/relationships with their attributes between schema nodes/items (for example on REST path /schemas/{schema}/edges where you specify a "from" "to" schema items as query params)
  • subgraph of the schema, where you specify 1. initial (root) items/node (like tenant or vserver) 2. schema version and 3. number of parent/cousin/child hops from the initial item/node
  • all paths in a given schema graph between 2 items/nodes (like vserver and tenant) for a given schema version
  • edges in the schema graph should be composed of edges in the schema file + edges created from the edgerules file
  • edges should contain basic attributes when delivered via the subgraph call (like parent/child relationship and important properties from edgerules) and have additional (or all) attributes when queries via /schemas/{schema}/edges REST endpoint.

20. Mar 2019:

Open questions for schema-service:

  1. what is the current implemented functionality?
  2. what are the business use-cases in ONAP for schema-service? Description of functionality in relation to other services/projects is needed. In other words who needs it and why?
  3. if no business use-cases can be formulated we should consider removing schema-service from A&AI and replacing it with standard file-sharing mechanisms.

21st Mar 2019:

Based on William Reehil comments what is "our future proposed functionality"?

15New AAF Certificates at startupJimmy Forsyth 


24th Jan 2019

AAF will generate certificates to the be used by the containers at startup; AAI services should use the run-time generated certs instead of the ones that are in the repos or oom charts.

In dublin the services will mount a volume with certificates. This is on the roadmap for Dublin as a feature.

  • is this for all service and/or HAProxy?
  • Where are the certificates coming from (OOM/gerrit/generated by AAF)

  • James Forsythwill ask Jonathan Gatham when the certificate init image is going to be available in ONAP and wether it is documented  
16Change PNF to use pnf-id as unique key


7th March 2019

Potentially breaking change: AAI-2096 - Getting issue details... STATUS / blocked by ONAPARC-409 - Getting issue details... STATUS

See also:


  • how to minimise impact of the transition from pnf-name as unique to pnf-id as unique key?
    • would the v14 URL be different from the v15 URL? would both paths be equally supported for GET/PUT/etc?
  • what forwards-compatibility or backwards-compatibility will be supported?
  • how to migrate forwards or backwards database versions, ONAP versions, etc, across this transition?
  • who is going to implement it? Test it?
  • what is the impact of this not going ahead?
  • William LaMont will check for existing migration utility that handles this use case (changing the key from one existing attribute to another). Changes to pnf object in all oxm versions would be needed, and a migration similar to what was done in UrlMigration but limited to pnf node-type to update the aai-uri, and a schema mode to add an index on pnf-id.
  • James Forsyth will socialize the breaking change on the PNF in the next PTL call so clients can prepare to do a search for ?pnf-name=${pnf-name} instead of /pnfs/pnf/${pnf-name}. They also need to handle doing the PUT operation differently - Added to PTL agenda PTL 2019-02-19
17A&AI monitoring and failure prevention initiative


24th Jan 2019

Mike Elliott wrote in OOM Meeting Notes - 2018-12-5

f. AAI team wanted to get notified of AAI Cassandra issues automatically
                i. Can we setup a Nagios or equivalent to monitor both rancher/k8 and the applications for rancher/k8 issues ?

Keep an eye out for new issues!

This should be part of a larger A&AI monitoring and failure prevention initiative!

18AAI HAProxy and 2-way-TLS


29th Nov

Technical solution to either decommission the proxy or make design changes to AAF to enable client side certificates.

After VF2F we will know if this is a requirement in Dublin. We discuss after this date.

question raised: MSB - would client authentication be supported?

15th Dec:

19AAI too slow for OOF/HASKeong Lim


25th Apr 2019

Under OOF Homing and Allocation Service (HAS) section, Dileep Ranganathan wrote about Project Specific enhancements:

Optimize - AAI cache

  • Use MUSIC or any other alternative in memory caching like Redis etc?
  • Optimize flavor retrieval from A&AI and Cache the information if necessary

See also OPTFRA-268 - Getting issue details... STATUS / OPTFRA-291 - Getting issue details... STATUS

Similarly to the "AAI too slow for Holmes" item below, this introduction of extra caching of AAI data is a worrisome development and sad indictment of the performance of the system architecture.

For holmes, we could possibly create a custom query to address it.

What can we do about this?

Would the AAI Cacher AAI-1337 - Getting issue details... STATUS help to improve performance?

20MultiCloud usage of AAI for HPA telemetry/time-series data to OOF


18th April 2019

Bin Yang and Lianhao Lu wrote in MULTICLOUD-274 - Getting issue details... STATUS :

HPA telemetry data collection and make it persistent in A&AI, from which OOF can leverage during its decision making process.

1.  Multi-cloud to collect the data from time-series data services like Prometheus ( or openstack Gnocchi, and push them to A&AI based on the data recording & aggregation rules.


The reason why we propose here is that VES mechanism doesn't store the telemetry data into A&AI. And OOF now can only get those kind of data from A&AI.

Some concerns:

  • how much additional load will this place on AAI?
  • will AAI cope with this load?
  • is AAI suitable for "time-series data"?
  • is "telemetry data" considered to be "active & available inventory"?
  • should OOF access the telemetry/time-series data via other means (not AAI)?
  • AAI API latency (4~6 second per request as benchmarked in CMCC lab) could be a problem
21AAI Backup and Restore


10th Jan 2019

Brian Freeman asked on Re: Backup and Restore Solution: ONAP-OOM :

what would be the approach to backup an entire ONAP instance particualarly SDC, AAI, SDNC data ? would it be a script with all the references to the helm deploy releases or something that does a helm list and then for each entry does  the ark backup ?

What is the AAI strategy for backup and restore?

What is the overall ONAP strategy for backup and restore?

Should it be unified with the data migration strategy as per "Hbase to Cassandra migration" on 2018-11-14 AAI Meeting Notes?

  • James Forsythwill raise the topic of having backups and restore functionality in ONAP - if it is feasible, on the roadmap and what others PTL think

Jimmy didn't directly raise the topic but there was movement - Keong Lim asked "if istio service mesh is a no-go, is there a replacement for secure onap communications?
is backup/restore/upgradability included in s3p?"

Michael O'Brien replied that a reference tool set for backup and restore was introduced in Casablanca:  Backup and Restore Solution: ONAP-OOM

Mike Elliott said he would look at Brian's question, AAI will provide support as needed.