From 38b2b514cde92be5e213089a9b8bb3713ef6f074 Mon Sep 17 00:00:00 2001 From: jimmy Date: Wed, 25 Oct 2017 17:11:04 -0400 Subject: Moved docs to correct location Issue-ID: AAI-255 Change-Id: I9c542dcd99d30cf0d13c81866d86231b6e36f4c7 Signed-off-by: jimmy --- .../AAI_Developer_Environment_Setup.rst | 265 --------------- docs/Getting Started/Edge_Rules.rst | 161 --------- ...o_AAI_data_snapshot_and_restore_in_ONAP_1_1.rst | 46 --- .../How_to_Docker_setup_on_Single_VM.rst | 56 ---- .../Getting Started/Queries/Policy_Named_Query.rst | 182 ---------- .../Queries/vnf_to_esr_system_info_Named_Query.rst | 368 --------------------- docs/index.rst | 4 +- .../AAI_Developer_Environment_Setup.rst | 265 +++++++++++++++ docs/platform/Getting Started/Edge_Rules.rst | 161 +++++++++ ...o_AAI_data_snapshot_and_restore_in_ONAP_1_1.rst | 46 +++ .../How_to_Docker_setup_on_Single_VM.rst | 56 ++++ .../Getting Started/Queries/Policy_Named_Query.rst | 182 ++++++++++ .../Queries/vnf_to_esr_system_info_Named_Query.rst | 368 +++++++++++++++++++++ docs/release-notes/index.rst | 4 +- 14 files changed, 1082 insertions(+), 1082 deletions(-) delete mode 100644 docs/Getting Started/AAI_Developer_Environment_Setup.rst delete mode 100644 docs/Getting Started/Edge_Rules.rst delete mode 100644 docs/Getting Started/How_to_AAI_data_snapshot_and_restore_in_ONAP_1_1.rst delete mode 100644 docs/Getting Started/How_to_Docker_setup_on_Single_VM.rst delete mode 100644 docs/Getting Started/Queries/Policy_Named_Query.rst delete mode 100644 docs/Getting Started/Queries/vnf_to_esr_system_info_Named_Query.rst create mode 100644 docs/platform/Getting Started/AAI_Developer_Environment_Setup.rst create mode 100644 docs/platform/Getting Started/Edge_Rules.rst create mode 100644 docs/platform/Getting Started/How_to_AAI_data_snapshot_and_restore_in_ONAP_1_1.rst create mode 100644 docs/platform/Getting Started/How_to_Docker_setup_on_Single_VM.rst create mode 100644 docs/platform/Getting Started/Queries/Policy_Named_Query.rst create mode 100644 docs/platform/Getting Started/Queries/vnf_to_esr_system_info_Named_Query.rst (limited to 'docs') diff --git a/docs/Getting Started/AAI_Developer_Environment_Setup.rst b/docs/Getting Started/AAI_Developer_Environment_Setup.rst deleted file mode 100644 index 10f45dfa..00000000 --- a/docs/Getting Started/AAI_Developer_Environment_Setup.rst +++ /dev/null @@ -1,265 +0,0 @@ -.. contents:: - :depth: 3 -.. _dev-setup: - - -A&AI Developer Environment Setup -================================ - -This guide will illustrate setting up an A&AI development environment in -Ubuntu 16.04.   - -For this exercise, I set up a new instance of Ubuntu in Virtualbox and -gave it 16G RAM, 200GB dynamically allocated storage, and 3 processors. - -1. install openjdk 8 - - 1. sudo apt install openjdk-8-jdk - -2. Install single node hadoop/titan - - 1. $ wget - http://s3.thinkaurelius.com/downloads/titan/titan-1.0.0-hadoop1.zip - - 2. $ unzip titan-1.0.0-hadoop1.zip - - 3. $ cd titan-1.0.0-hadoop1 - - 4. $ sudo ./bin/titan.sh start - -3. Install haproxy - - 1. $ sudo apt-get -y install haproxy - - 2. | $ haproxy -v - | HA-Proxy version 1.6.3 2015/12/25 - | Copyright 2000-2015 Willy Tarreau - `__> - - 3. Install this haproxy.cfg file in /etc/haproxy - - `haproxy.cfg `__ - -1. $ sudo cp aai.pem /etc/ssl/private/aai.pem - -2. $ sudo chmod 640 /etc/ssl/private/aai.pem - -3. | $ sudo chown root:ssl-cert /etc/ssl/private/aai.pem - | `aai.pem `__ - -4. sudo mkdir /usr/local/etc/haproxy - -5. Add these hostnames to the loopback interface in /etc/hosts:  - - 1. 127.0.0.1 localhost - `aai-traversal.api.simpledemo.openecomp.org `__ - aai-resour\ `ces.api.simpledemo.openecomp.or `__\ g - -6. $ sudo service haproxy restart - -1. Set up repos. First, follow the initial setup instructions - in \ `Setting Up Your Development - Environment `__ - - 1. $ mkdir -p ~/LF/AAI - - 2. $ cd ~/LF/AAI - - 3. $ git clone - ssh://%3Cusername%3E@gerrit.onap.org:29418/aai/aai-common - - 4. $ git - clone \ `ssh://@gerrit.onap.org:29418/aai/traversal `__ - - 5. $ git - clone \ `ssh://@gerrit.onap.org:29418/aai/resources `__ - - 6. $ git clone - ssh://%3Cusername%3E@gerrit.onap.org:29418/aai/logging-service - - 7. If you did not originally create a settings.xml file when setting - up the dev environment, you may get an error on some of the repos - saying that oparent is unresolvable.  Using the example - settings.xml file should solve this problem: \ `Setting Up Your - Development - Environment#MavenExamplesettings.xml `__ - -2. Build aai-common, traversal, and resources - - 1. $ cd ~/LF/AAI/aai-common - - 2. | $ mvn clean install - | Should result in BUILD SUCCESS - - 3. $ cd ~/LF/AAI/resources - - 4. | $ mvn clean install - | Should result in BUILD SUCCESS - - 5. $ cd ~/LF/AAI/logging-service - - 6. | $ mvn clean install - | Should result in BUILD SUCCESS - - 7. | $ cd ~/LF/AAI/traversal - | I had to add the following to traversal/pom.xml to get - traversal to build:  - - 8. - - 9. - - 10. maven-restlet - - 11. Restlet repository - - 12. https://maven.restlet.com - - 13. - - - -1. | mvn clean install - | Should result in BUILD SUCCESS - -1. Titan setup - - 1. | Modify both titan-cached.properties and - titan-realtime.properties to the following (for all MS’s that - will connect to the local Cassandra backend) - | storage.backend=\ *cassandra* - | storage.hostname=\ *localhost* - - 2. update - ~/LF/AAI/resources/aai-resources/bundleconfig-local/etc/appprops/titan-cached.properties - - 3. update - ~/LF/AAI/resources/aai-resources/bundleconfig-local/etc/appprops/titan-realtime.properties - - 4. update - ~/LF/AAI/traversal/aai-traversal/bundleconfig-local/etc/appprops/titan-cached.properties - - 5. update - ~/LF/AAI/traversal/aai-traversal/bundleconfig-local/etc/appprops/titan-realtime.properties - - 6. | The following property can be added to specify the keyspace - name, each time you do this step (g) should be done. If not - specified Titan will try to create/use a defaulted keyspace - named titan. - | storage.cassandra.keyspace= - - 7. From the resources MS run the create db schema standalone program. - - 8. ***NOTE***: The first thing that would need to be done is adding - the schema to the local instance. (this will need to be done - whenever using a new keyspace or after wiping the data). - - Runnable class com.att.aai.dbgen.GenTester with the following vm - args. - -                 -DAJSC\_HOME=~/LF/AAI/resources - -DBUNDLECONFIG\_DIR="bundleconfig-local" - -1. | Here's the command I used, and it worked: - | $ cd ~/LF/AAI; java - -DAJSC\_HOME=/home/jimmy/LF/AAI/resources/aai-resources - -DBUNDLECONFIG\_DIR="bundleconfig-local" -cp - aai-common/aai-core/target/aai-core-1.1.0-SNAPSHOT.jar:resources/aai-resources/target/aai-resources.jar:resources/aai-resources/target/userjars/\* - org.openecomp.aai.dbgen.GenTester - -1. Start the "resources" microservice - - 1. | Resources runs on port 8446.  Go to the resources directory - | $ cd ~/LF/AAI/resources - - 2. | Set the debug port to 9446 - | $ export MAVEN\_OPTS="-Xms1024m -Xmx5120m -XX:PermSize=2024m - -Xdebug -Xnoagent -Djava.compiler=NONE - -Xrunjdwp:transport=dt\_socket,address=9446,server=y,suspend=n" - - 3. | Start the microservice - | $ mvn -P runAjsc - -2. Verify the resources microservice (this example uses Postman utility - for Google Chrome) - - 1. Use basic auth, user = AAI, pw = AAI - - 2. Set the X-TransactionId header (in the example below, the value is - 9999) - - 3. Set the X-FromAppId header (in the example below, the value is - jimmy-postman) - - 4. Perform a GET of https://127.0.0.1:8443/aai/v11/network/vces - - 5. You should see an error as below, 404 Not Found, ERR.5.4.6114.  - This indicates that the service is functioning normally: - -+------------------------------------------+ -| |C:\\9cb03b5a507d917b3f460df1c1d95eea| | -+------------------------------------------+ - -1. -2. Start the "traversal" microservice - - 1. | Traversal runs on port 8447.  Go to the traversal directory - | $ cd ~/LF/AAI/traversal - - 2. | Set the debug port to 9447 - | $ export MAVEN\_OPTS="-Xms1024m -Xmx5120m -XX:PermSize=2024m - -Xdebug -Xnoagent -Djava.compiler=NONE - -Xrunjdwp:transport=dt\_socket,address=9447,server=y,suspend=n" - - 3. | Start the microservice - | $ mvn -P runAjsc  - | Should see something like this: 2017-07-26 - 12:46:35.524:INFO:oejs.Server:com.att.ajsc.runner.Runner.main(): - Started @25827ms - -3. Verify the traversal microservice - - 1. | Set up the widget models - | This will set up the postman to add widget models: \ `Add Widget - Models.postman\_collection.json `__\ `NamedQuery.postman\_collection.json `__ - - 2. Create a runner using this - file: \ `models.csv `__ - - 3. | Run the test runner - | |C:\\de01805e8408f48478705feb59a27e02| - - 4. | Add a named query called "getComponentList" (this named query is - used by - VID): \ `NamedQuery.postman\_collection.json `__ - | |C:\\5cdb29c4d0655cf5ede2011736938e58| - - 5. Add objects: \ `Add Instances for Named - Query.postman\_collection.json `__ (replacing - the xmlns "http://org.openecomp.aai.inventory/v11" with - "http://org.onap.aai.inventory/v11" in the Body of the PUT - request) - - 6. | Execute named-query: \ `Execute Named - Query.postman\_collection.json `__ - | You should see something like the following: - | |C:\\a67954cfbcfebb8d7a7f48bba2a26195| - -4. Your A&AI instance is now running, both the resources and traversal - microservices are working properly with a local titan graph.  - -5. Next: \ `Tutorial: Making and Testing a Schema Change in - A&AI `__ - -.. |C:\\9cb03b5a507d917b3f460df1c1d95eea| image:: media/image1.png - :width: 4.87500in - :height: 2.87500in -.. |C:\\de01805e8408f48478705feb59a27e02| image:: media/image2.tmp - :width: 4.87500in - :height: 3.75000in -.. |C:\\5cdb29c4d0655cf5ede2011736938e58| image:: media/image3.png - :width: 4.87500in - :height: 4.15000in -.. |C:\\a67954cfbcfebb8d7a7f48bba2a26195| image:: media/image4.png - :width: 4.87500in - :height: 4.15000in diff --git a/docs/Getting Started/Edge_Rules.rst b/docs/Getting Started/Edge_Rules.rst deleted file mode 100644 index 8950d3eb..00000000 --- a/docs/Getting Started/Edge_Rules.rst +++ /dev/null @@ -1,161 +0,0 @@ -.. contents:: - :depth: 3 -.. - -Edge Rules -========== - -- `Edge Rules Location <#EdgeRules-EdgeRulesLocation>`__ - -- `How to Interpret an Edge - Rule <#EdgeRules-HowtoInterpretanEdgeRule>`__ - - - `Mentally Constructing an - Edge <#EdgeRules-MentallyConstructinganEdge>`__ - - - `Quick guide for which is your in node and which is your out - node <#EdgeRules-Quickguideforwhichisyourinnod>`__ - -- `How to Read Multiplicity <#EdgeRules-HowtoReadMultiplicity>`__ - -- `Internal Edge Properties <#EdgeRules-InternalEdgeProperties>`__ - - - `Quick guide to our direction - syntax: <#EdgeRules-Quickguidetoourdirectionsynta>`__ - -Edge Rules Location -------------------- - -The edge rules json files are located in -aai-common/aai-core/src/main/resources/dbedgerules. - -How to Interpret an Edge Rule ------------------------------ - -Mentally Constructing an Edge -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Read the from/to/direction as a recipe for how to construct the edge. - -{ - - | "from": "tenant", - | "to": "vserver", - | "label": "owns", - | "direction": "OUT", - | "multiplicity": "One2Many", - | "contains-other-v": "${direction}", - | "delete-other-v": "NONE", - | "SVC-INFRA": "!${direction}", - | "prevent-delete": "${direction}" - -} - -1. Start by drawing the "from" node. - -2. Draw an edge off this node in the specified. So if it's OUT, point - the edge out away from the from node, if it's IN, point it into the - node. - -3. Draw the "to" node on the empty end of that edge. - -Essentially, "from" and "to" do not imply direction. Think of them as -more like "NodeA" and "NodeB". - -Quick guide for which is your in node and which is your out node -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -+-----------------+---------------+----------------+ -| **direction** | **in node** | **out node** | -+=================+===============+================+ -| OUT | to | from | -+-----------------+---------------+----------------+ -| IN | from | to | -+-----------------+---------------+----------------+ - -How to Read Multiplicity ------------------------- - -Multiplicity, by itself, has nothing to do with the edge direction or -the from/to nodes. Think of it as a property of the edge label. It -defines how many IN edges of this label and how many OUT edges of this -label are allowed. The format we use is defined by Titan to be In2Out. - -Ex: One2Many means on a node, there may be only one IN edge, and many -OUT edges. - -The from and to node types come in on top of this at the A&AI layer. -A&AI's code defines which node types may have those IN and OUT edges of -this label. - -{ - - | "from": "tenant", - | "to": "vserver", - | "label": "owns", - | "direction": "OUT", - | "multiplicity": "One2Many", - | "contains-other-v": "${direction}", - | "delete-other-v": "NONE", - | "SVC-INFRA": "!${direction}", - | "prevent-delete": "${direction}" - -} - -In this example, the vserver gets the IN edge, so it may have only one -edge from a tenant. The tenant gets the OUT edge, so it may get many -edges to vservers. - -Internal Edge Properties ------------------------- - -A&AI uses the following edge properties for internal processing. - -- contains-other-v - - - This property defines whether or not the other vertex is contained - within another when rendering the resources view - - - This property was previously known as isParent - - - If contains-other-v=OUT, this means that the outVertex contains - the inVertex - - - Or in other words, you can read contains-other-v=OUT as "I am an - edge, my OUT vertex contains my IN vertex" - -- delete-other-v - - - defines whether or not the other vertex is automatically included - in delete processing - - - this property was previously known as hasDelTarget - - - if delete-other-v=IN, this means that when deleting the inVertex - also delete the outVertex - -- SVC-INFRA - - - what direction should the traverser continue in when running - edge-tag-query - - - if SVC-INFRA=OUT, when on the outVertex traverse to the inVertex - and continue - -- prevent-delete - - - defines whether or not this edge can be deleted from a particular - direction - - - if prevent-delete=IN, prevent the deletion of the inVertex of the - edge, allow the outVertex to be deleted. - - - Or in other words, you can read it as "I am an edge, my IN vertex - cannot be deleted" - -Quick guide to our direction syntax: -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -${direction} = same as value of "direction" property - -!${direction} = opposite diff --git a/docs/Getting Started/How_to_AAI_data_snapshot_and_restore_in_ONAP_1_1.rst b/docs/Getting Started/How_to_AAI_data_snapshot_and_restore_in_ONAP_1_1.rst deleted file mode 100644 index 004a0c98..00000000 --- a/docs/Getting Started/How_to_AAI_data_snapshot_and_restore_in_ONAP_1_1.rst +++ /dev/null @@ -1,46 +0,0 @@ -.. contents:: - :depth: 3 -.. - -How to A&AI data snapshot and restore in ONAP 1.1 -================================================= - -1. Check the containers that are running and get the container name for - resources micro service as this container contains both dataSnapshot - and restore scripts - -2. If the deployment was followed properly, then the container name - would have been - testconfig\_aai-resources.api.simpledemo.openecomp.org\_1 - -3. Run the following command to save the current snapshot of your data: - - docker exec -u aaiadmin -it - testconfig\_aai-resources.api.simpledemo.openecomp.org\_1 - /opt/app/aai-resources/bin/dataSnapshot.sh - -1. After running that command, you should see the following line in the - standard output: - - Snapshot written to - /opt/app/aai-resources/logs/data/dataSnapshots/dataSnapshot.graphSON.201709221713 - -1. This file dataSnapshot.graphSON.201709221713 can be found in - /opt/aai/logroot/AAI-RESOURCES/data/dataSnapshots on the host vm - -2. If you want to restore the data from the snapshot, then you would run - this command: - - docker exec -u aaiadmin -it - testconfig\_aai-resources.api.simpledemo.openecomp.org\_1 - /opt/app/aai-resources/bin/dataRestoreFromSnapshot.sh - dataSnapshot.graphSON.201709221713 - -1. The argument to the dataRestoreFromSnapshot.sh is the dataSnapshot - graphson file and it only needs the base name and expects to be found - in the host vm /opt/aai/logroot/AAI-RESOURCES/data/dataSnapshots. - -2. Once that command is run, you will be given a warning of 5 seconds to - quit the process as it will replace whatever you have in your A&AI - data with that snapshot and any current data thats not saved into a - snapshot will be lost. diff --git a/docs/Getting Started/How_to_Docker_setup_on_Single_VM.rst b/docs/Getting Started/How_to_Docker_setup_on_Single_VM.rst deleted file mode 100644 index 7776ebdb..00000000 --- a/docs/Getting Started/How_to_Docker_setup_on_Single_VM.rst +++ /dev/null @@ -1,56 +0,0 @@ -.. contents:: - :depth: 3 -.. - -How to Docker setup on Single VM -================================ - -Step-by-step guide ------------------- - -1. You would need to have root access to the vm - -2. sudo su - root - -3. cd /opt - -4. git clone http://gerrit.onap.org/r/aai/test-config - -5. cd test-config - -6. In deploy\_vm1.sh comment out the lines 89-94 which should be an if - statement checking for the /opt/message-router folder - -7. Create a directory called /opt/config - - 1. mkdir /opt/config/ - -8. Create a file called /opt/config/nexus\_username.txt containing the - text: docker - - 1. echo "docker" > /opt/config/nexus\_username.txt - -9. Create a file called /opt/config/nexus\_password.txt containing the - text: docker - - 1. echo "docker" > /opt/config/nexus\_password.txt - -10. Create a file called /opt/config/dmaap\_topic.txt containing the - text: AAI-EVENT - - 1. echo " AAI-EVENT" > /opt/config/dmaap\_topic.txt - -11. Create a file called /opt/config/nexus\_docker\_repo.txt containing - text: nexus3.onap.org:10001 - - echo "nexus3.onap.org:10001" > /opt/config/nexus\_docker\_repo.txt - -1. Create a file called /opt/config/docker\_version.txt containing text: - 1.1-STAGING-latest - - echo "1.1-STAGING-latest" > /opt/config/docker\_version.txt - -1. Please note that in the previous step, docker version is currently - 1.1-STAGING-latest and this will be changed later - - ./deploy\_vm2.sh && ./deploy\_vm1.sh diff --git a/docs/Getting Started/Queries/Policy_Named_Query.rst b/docs/Getting Started/Queries/Policy_Named_Query.rst deleted file mode 100644 index 0dd004d0..00000000 --- a/docs/Getting Started/Queries/Policy_Named_Query.rst +++ /dev/null @@ -1,182 +0,0 @@ -.. contents:: - :depth: 3 -.. - -Policy Named Query -================== - -**Example Request** - -POST /aai/search/named-query - -{ - -"query-parameters": { - -"named-query": { - -"named-query-uuid": "a93ac487-409c-4e8c-9e5f-334ae8f99087" - -} - -}, - -"instance-filters":{ - -"instance-filter":[ { - -"generic-vnf": { - -"vnf-id": "de7cc3ab-0212-47df-9e64-da1c79234deb" - -} - -} ] } - -} - -**Example Response** - -{ - -"inventory-response-item": [ - -{ - -"model-name": "service-instance", - -"generic-vnf": { - -"vnf-id": "de7cc3ab-0212-47df-9e64-da1c79234deb", - -"vnf-name": "ZRDM2MMEX39", - -"vnf-type": "vMME Svc Jul 14/vMME VF Jul 14 1", - -"service-id": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", - -"orchestration-status": "active", - -"in-maint": false, - -"is-closed-loop-disabled": false, - -"resource-version": "1503082370097", - -"model-invariant-id": "82194af1-3c2c-485a-8f44-420e22a9eaa4", - -"model-version-id": "46b92144-923a-4d20-b85a-3cbd847668a9" - -}, - -"extra-properties": {}, - -"inventory-response-items": { - -"inventory-response-item": [ - -{ - -"model-name": "service-instance", - -"service-instance": { - -"service-instance-id": "37b8cdb7-94eb-468f-a0c2-4e3c3546578e", - -"service-instance-name": "Changed Service Instance NAME", - -"model-invariant-id": "82194af1-3c2c-485a-8f44-420e22a9eaa4", - -"model-version-id": "46b92144-923a-4d20-b85a-3cbd847668a9", - -"resource-version": "1503082993532", - -"orchestration-status": "Active" - -}, - -"extra-properties": {}, - -"inventory-response-items": { - -"inventory-response-item": [ - -{ - -"model-name": "pnf", - -"generic-vnf": { - -"vnf-id": "jimmy-test", - -"vnf-name": "jimmy-test-vnf", - -"vnf-type": "vMME Svc Jul 14/vMME VF Jul 14 1", - -"service-id": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", - -"orchestration-status": "active", - -"in-maint": false, - -"is-closed-loop-disabled": false, - -"resource-version": "1504013830207", - -"model-invariant-id": "862b25a1-262a-4961-bdaa-cdc55d69785a", - -"model-version-id": "e9f1fa7d-c839-418a-9601-03dc0d2ad687" - -}, - -"extra-properties": {} - -}, - -{ - -"model-name": "service-instance", - -"generic-vnf": { - -"vnf-id": "jimmy-test-vnf2", - -"vnf-name": "jimmy-test-vnf2-named", - -"vnf-type": "vMME Svc Jul 14/vMME VF Jul 14 1", - -"service-id": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", - -"orchestration-status": "active", - -"in-maint": false, - -"is-closed-loop-disabled": false, - -"resource-version": "1504014833841", - -"model-invariant-id": "82194af1-3c2c-485a-8f44-420e22a9eaa4", - -"model-version-id": "46b92144-923a-4d20-b85a-3cbd847668a9" - -}, - -"extra-properties": {} - -} - -] - -} - -} - -] - -} - -} - -] - -} diff --git a/docs/Getting Started/Queries/vnf_to_esr_system_info_Named_Query.rst b/docs/Getting Started/Queries/vnf_to_esr_system_info_Named_Query.rst deleted file mode 100644 index 7ad412a9..00000000 --- a/docs/Getting Started/Queries/vnf_to_esr_system_info_Named_Query.rst +++ /dev/null @@ -1,368 +0,0 @@ -.. contents:: - :depth: 3 -.. - -vnf to esr-system-info Named Query -================================== - -**Example Request** - -POST https://127.0.0.1:8443/aai/search/named-query - -{ - -"query-parameters": { - -"named-query": { - -"named-query-uuid": "037eb932-edac-48f5-9782-c19c0aa5a031" - -} - -}, - -"instance-filters":{ - -"instance-filter":[ { - -"generic-vnf": { - -"vnf-id": "de7cc3ab-0212-47df-9e64-da1c79234deb" - -} - -} ] - -} - -} - -**Example Response** - -{ - -"inventory-response-item": [ - -{ - -"model-name": "service-instance", - -"generic-vnf": { - -"vnf-id": "de7cc3ab-0212-47df-9e64-da1c79234deb", - -"vnf-name": "ZRDM2MMEX39", - -"vnf-type": "vMME Svc Jul 14/vMME VF Jul 14 1", - -"service-id": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", - -"orchestration-status": "active", - -"in-maint": false, - -"is-closed-loop-disabled": false, - -"resource-version": "1504805258328", - -"model-invariant-id": "82194af1-3c2c-485a-8f44-420e22a9eaa4", - -"model-version-id": "46b92144-923a-4d20-b85a-3cbd847668a9" - -}, - -"extra-properties": {}, - -"inventory-response-items": { - -"inventory-response-item": [ - -{ - -"vserver": { - -"vserver-id": "example-vserver-id-val-90579", - -"vserver-name": "example-vserver-name-val-92986", - -"vserver-name2": "example-vserver-name2-val-77692", - -"prov-status": "example-prov-status-val-23854", - -"vserver-selflink": "example-vserver-selflink-val-14328", - -"in-maint": true, - -"is-closed-loop-disabled": true, - -"resource-version": "1504808495581" - -}, - -"extra-properties": {}, - -"inventory-response-items": { - -"inventory-response-item": [ - -{ - -"tenant": { - -"tenant-id": "example-tenant-id-val-89637", - -"tenant-name": "example-tenant-name-val-36717", - -"resource-version": "1504808495527" - -}, - -"extra-properties": {}, - -"inventory-response-items": { - -"inventory-response-item": [ - -{ - -"cloud-region": { - -"cloud-owner": "example-cloud-owner-val-44086", - -"cloud-region-id": "example-cloud-region-id-val-67393", - -"cloud-type": "example-cloud-type-val-13758", - -"owner-defined-type": "example-owner-defined-type-val-38571", - -"cloud-region-version": "example-cloud-region-version-val-130", - -"identity-url": "example-identity-url-val-73825", - -"cloud-zone": "example-cloud-zone-val-97510", - -"complex-name": "example-complex-name-val-28459", - -"sriov-automation": false, - -"resource-version": "1504808495472" - -}, - -"extra-properties": {}, - -"inventory-response-items": { - -"inventory-response-item": [ - -{ - -"esr-system-info": { - -"esr-system-info-id": "example-esr-system-info-id-val-25777", - -"system-name": "example-system-name-val-29070", - -"type": "example-type-val-85254", - -"vendor": "example-vendor-val-94515", - -"version": "example-version-val-71880", - -"service-url": "example-service-url-val-36193", - -"user-name": "example-user-name-val-77399", - -"password": "example-password-val-46071", - -"system-type": "example-system-type-val-76197", - -"protocal": "example-protocal-val-52954", - -"ssl-cacert": "example-ssl-cacert-val-75021", - -"ssl-insecure": true, - -"ip-address": "example-ip-address-val-44431", - -"port": "example-port-val-93234", - -"cloud-domain": "example-cloud-domain-val-76370", - -"default-tenant": "example-tenant-id-val-89637", - -"resource-version": "1504808496522" - -}, - -"extra-properties": {} - -} - -] - -} - -} - -] - -} - -} - -] - -} - -}, - -{ - -"vserver": { - -"vserver-id": "example-vserver-id-val-2", - -"vserver-name": "example-vserver-name-val-2", - -"vserver-name2": "example-vserver-name2-val-2", - -"prov-status": "example-prov-status-val-2", - -"vserver-selflink": "example-vserver-selflink-val-2", - -"in-maint": true, - -"is-closed-loop-disabled": true, - -"resource-version": "1504817435622" - -}, - -"extra-properties": {}, - -"inventory-response-items": { - -"inventory-response-item": [ - -{ - -"tenant": { - -"tenant-id": "example-tenant-id-val-2", - -"tenant-name": "example-tenant-name-val-2", - -"resource-version": "1504817435574" - -}, - -"extra-properties": {}, - -"inventory-response-items": { - -"inventory-response-item": [ - -{ - -"cloud-region": { - -"cloud-owner": "example-cloud-owner-val-2", - -"cloud-region-id": "example-cloud-region-id-val-2", - -"cloud-type": "example-cloud-type-val-2", - -"owner-defined-type": "example-owner-defined-type-val-2", - -"cloud-region-version": "example-cloud-region-version-val-2", - -"identity-url": "example-identity-url-val-2", - -"cloud-zone": "example-cloud-zone-val-2", - -"complex-name": "example-complex-name-val-2", - -"sriov-automation": false, - -"resource-version": "1504817435502" - -}, - -"extra-properties": {}, - -"inventory-response-items": { - -"inventory-response-item": [ - -{ - -"esr-system-info": { - -"esr-system-info-id": "example-esr-system-info-id-val-2", - -"system-name": "example-system-name-val-2", - -"type": "example-type-val-2", - -"vendor": "example-vendor-val-2", - -"version": "example-version-val-2", - -"service-url": "example-service-url-val-2", - -"user-name": "example-user-name-val-2", - -"password": "example-password-val-2", - -"system-type": "example-system-type-val-2", - -"protocal": "example-protocal-val-2", - -"ssl-cacert": "example-ssl-cacert-val-2", - -"ssl-insecure": true, - -"ip-address": "example-ip-address-val-2", - -"port": "example-port-val-2", - -"cloud-domain": "example-cloud-domain-val-2", - -"default-tenant": "example-tenant-id-val-2", - -"resource-version": "1504817436023" - -}, - -"extra-properties": {} - -} - -] - -} - -} - -] - -} - -} - -] - -} - -} - -] - -} - -} - -] - -} diff --git a/docs/index.rst b/docs/index.rst index 716d04e2..409d6517 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -11,9 +11,9 @@ The key AAI repos for running the AAI REST APIs: - aai/resources: AAI Resources Micro Service providing CRUD REST APIs for inventory resources .. toctree:: - :maxdepth: 3 + :maxdepth: 2 - AAI REST API Documentation/AAIRESTAPI_AMSTERDAM platform/index.rst release-notes/index.rst + AAI REST API Documentation/AAIRESTAPI_AMSTERDAM diff --git a/docs/platform/Getting Started/AAI_Developer_Environment_Setup.rst b/docs/platform/Getting Started/AAI_Developer_Environment_Setup.rst new file mode 100644 index 00000000..10f45dfa --- /dev/null +++ b/docs/platform/Getting Started/AAI_Developer_Environment_Setup.rst @@ -0,0 +1,265 @@ +.. contents:: + :depth: 3 +.. _dev-setup: + + +A&AI Developer Environment Setup +================================ + +This guide will illustrate setting up an A&AI development environment in +Ubuntu 16.04.   + +For this exercise, I set up a new instance of Ubuntu in Virtualbox and +gave it 16G RAM, 200GB dynamically allocated storage, and 3 processors. + +1. install openjdk 8 + + 1. sudo apt install openjdk-8-jdk + +2. Install single node hadoop/titan + + 1. $ wget + http://s3.thinkaurelius.com/downloads/titan/titan-1.0.0-hadoop1.zip + + 2. $ unzip titan-1.0.0-hadoop1.zip + + 3. $ cd titan-1.0.0-hadoop1 + + 4. $ sudo ./bin/titan.sh start + +3. Install haproxy + + 1. $ sudo apt-get -y install haproxy + + 2. | $ haproxy -v + | HA-Proxy version 1.6.3 2015/12/25 + | Copyright 2000-2015 Willy Tarreau + `__> + + 3. Install this haproxy.cfg file in /etc/haproxy + + `haproxy.cfg `__ + +1. $ sudo cp aai.pem /etc/ssl/private/aai.pem + +2. $ sudo chmod 640 /etc/ssl/private/aai.pem + +3. | $ sudo chown root:ssl-cert /etc/ssl/private/aai.pem + | `aai.pem `__ + +4. sudo mkdir /usr/local/etc/haproxy + +5. Add these hostnames to the loopback interface in /etc/hosts:  + + 1. 127.0.0.1 localhost + `aai-traversal.api.simpledemo.openecomp.org `__ + aai-resour\ `ces.api.simpledemo.openecomp.or `__\ g + +6. $ sudo service haproxy restart + +1. Set up repos. First, follow the initial setup instructions + in \ `Setting Up Your Development + Environment `__ + + 1. $ mkdir -p ~/LF/AAI + + 2. $ cd ~/LF/AAI + + 3. $ git clone + ssh://%3Cusername%3E@gerrit.onap.org:29418/aai/aai-common + + 4. $ git + clone \ `ssh://@gerrit.onap.org:29418/aai/traversal `__ + + 5. $ git + clone \ `ssh://@gerrit.onap.org:29418/aai/resources `__ + + 6. $ git clone + ssh://%3Cusername%3E@gerrit.onap.org:29418/aai/logging-service + + 7. If you did not originally create a settings.xml file when setting + up the dev environment, you may get an error on some of the repos + saying that oparent is unresolvable.  Using the example + settings.xml file should solve this problem: \ `Setting Up Your + Development + Environment#MavenExamplesettings.xml `__ + +2. Build aai-common, traversal, and resources + + 1. $ cd ~/LF/AAI/aai-common + + 2. | $ mvn clean install + | Should result in BUILD SUCCESS + + 3. $ cd ~/LF/AAI/resources + + 4. | $ mvn clean install + | Should result in BUILD SUCCESS + + 5. $ cd ~/LF/AAI/logging-service + + 6. | $ mvn clean install + | Should result in BUILD SUCCESS + + 7. | $ cd ~/LF/AAI/traversal + | I had to add the following to traversal/pom.xml to get + traversal to build:  + + 8. + + 9. + + 10. maven-restlet + + 11. Restlet repository + + 12. https://maven.restlet.com + + 13. + + + +1. | mvn clean install + | Should result in BUILD SUCCESS + +1. Titan setup + + 1. | Modify both titan-cached.properties and + titan-realtime.properties to the following (for all MS’s that + will connect to the local Cassandra backend) + | storage.backend=\ *cassandra* + | storage.hostname=\ *localhost* + + 2. update + ~/LF/AAI/resources/aai-resources/bundleconfig-local/etc/appprops/titan-cached.properties + + 3. update + ~/LF/AAI/resources/aai-resources/bundleconfig-local/etc/appprops/titan-realtime.properties + + 4. update + ~/LF/AAI/traversal/aai-traversal/bundleconfig-local/etc/appprops/titan-cached.properties + + 5. update + ~/LF/AAI/traversal/aai-traversal/bundleconfig-local/etc/appprops/titan-realtime.properties + + 6. | The following property can be added to specify the keyspace + name, each time you do this step (g) should be done. If not + specified Titan will try to create/use a defaulted keyspace + named titan. + | storage.cassandra.keyspace= + + 7. From the resources MS run the create db schema standalone program. + + 8. ***NOTE***: The first thing that would need to be done is adding + the schema to the local instance. (this will need to be done + whenever using a new keyspace or after wiping the data). + + Runnable class com.att.aai.dbgen.GenTester with the following vm + args. + +                 -DAJSC\_HOME=~/LF/AAI/resources + -DBUNDLECONFIG\_DIR="bundleconfig-local" + +1. | Here's the command I used, and it worked: + | $ cd ~/LF/AAI; java + -DAJSC\_HOME=/home/jimmy/LF/AAI/resources/aai-resources + -DBUNDLECONFIG\_DIR="bundleconfig-local" -cp + aai-common/aai-core/target/aai-core-1.1.0-SNAPSHOT.jar:resources/aai-resources/target/aai-resources.jar:resources/aai-resources/target/userjars/\* + org.openecomp.aai.dbgen.GenTester + +1. Start the "resources" microservice + + 1. | Resources runs on port 8446.  Go to the resources directory + | $ cd ~/LF/AAI/resources + + 2. | Set the debug port to 9446 + | $ export MAVEN\_OPTS="-Xms1024m -Xmx5120m -XX:PermSize=2024m + -Xdebug -Xnoagent -Djava.compiler=NONE + -Xrunjdwp:transport=dt\_socket,address=9446,server=y,suspend=n" + + 3. | Start the microservice + | $ mvn -P runAjsc + +2. Verify the resources microservice (this example uses Postman utility + for Google Chrome) + + 1. Use basic auth, user = AAI, pw = AAI + + 2. Set the X-TransactionId header (in the example below, the value is + 9999) + + 3. Set the X-FromAppId header (in the example below, the value is + jimmy-postman) + + 4. Perform a GET of https://127.0.0.1:8443/aai/v11/network/vces + + 5. You should see an error as below, 404 Not Found, ERR.5.4.6114.  + This indicates that the service is functioning normally: + ++------------------------------------------+ +| |C:\\9cb03b5a507d917b3f460df1c1d95eea| | ++------------------------------------------+ + +1. +2. Start the "traversal" microservice + + 1. | Traversal runs on port 8447.  Go to the traversal directory + | $ cd ~/LF/AAI/traversal + + 2. | Set the debug port to 9447 + | $ export MAVEN\_OPTS="-Xms1024m -Xmx5120m -XX:PermSize=2024m + -Xdebug -Xnoagent -Djava.compiler=NONE + -Xrunjdwp:transport=dt\_socket,address=9447,server=y,suspend=n" + + 3. | Start the microservice + | $ mvn -P runAjsc  + | Should see something like this: 2017-07-26 + 12:46:35.524:INFO:oejs.Server:com.att.ajsc.runner.Runner.main(): + Started @25827ms + +3. Verify the traversal microservice + + 1. | Set up the widget models + | This will set up the postman to add widget models: \ `Add Widget + Models.postman\_collection.json `__\ `NamedQuery.postman\_collection.json `__ + + 2. Create a runner using this + file: \ `models.csv `__ + + 3. | Run the test runner + | |C:\\de01805e8408f48478705feb59a27e02| + + 4. | Add a named query called "getComponentList" (this named query is + used by + VID): \ `NamedQuery.postman\_collection.json `__ + | |C:\\5cdb29c4d0655cf5ede2011736938e58| + + 5. Add objects: \ `Add Instances for Named + Query.postman\_collection.json `__ (replacing + the xmlns "http://org.openecomp.aai.inventory/v11" with + "http://org.onap.aai.inventory/v11" in the Body of the PUT + request) + + 6. | Execute named-query: \ `Execute Named + Query.postman\_collection.json `__ + | You should see something like the following: + | |C:\\a67954cfbcfebb8d7a7f48bba2a26195| + +4. Your A&AI instance is now running, both the resources and traversal + microservices are working properly with a local titan graph.  + +5. Next: \ `Tutorial: Making and Testing a Schema Change in + A&AI `__ + +.. |C:\\9cb03b5a507d917b3f460df1c1d95eea| image:: media/image1.png + :width: 4.87500in + :height: 2.87500in +.. |C:\\de01805e8408f48478705feb59a27e02| image:: media/image2.tmp + :width: 4.87500in + :height: 3.75000in +.. |C:\\5cdb29c4d0655cf5ede2011736938e58| image:: media/image3.png + :width: 4.87500in + :height: 4.15000in +.. |C:\\a67954cfbcfebb8d7a7f48bba2a26195| image:: media/image4.png + :width: 4.87500in + :height: 4.15000in diff --git a/docs/platform/Getting Started/Edge_Rules.rst b/docs/platform/Getting Started/Edge_Rules.rst new file mode 100644 index 00000000..8950d3eb --- /dev/null +++ b/docs/platform/Getting Started/Edge_Rules.rst @@ -0,0 +1,161 @@ +.. contents:: + :depth: 3 +.. + +Edge Rules +========== + +- `Edge Rules Location <#EdgeRules-EdgeRulesLocation>`__ + +- `How to Interpret an Edge + Rule <#EdgeRules-HowtoInterpretanEdgeRule>`__ + + - `Mentally Constructing an + Edge <#EdgeRules-MentallyConstructinganEdge>`__ + + - `Quick guide for which is your in node and which is your out + node <#EdgeRules-Quickguideforwhichisyourinnod>`__ + +- `How to Read Multiplicity <#EdgeRules-HowtoReadMultiplicity>`__ + +- `Internal Edge Properties <#EdgeRules-InternalEdgeProperties>`__ + + - `Quick guide to our direction + syntax: <#EdgeRules-Quickguidetoourdirectionsynta>`__ + +Edge Rules Location +------------------- + +The edge rules json files are located in +aai-common/aai-core/src/main/resources/dbedgerules. + +How to Interpret an Edge Rule +----------------------------- + +Mentally Constructing an Edge +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Read the from/to/direction as a recipe for how to construct the edge. + +{ + + | "from": "tenant", + | "to": "vserver", + | "label": "owns", + | "direction": "OUT", + | "multiplicity": "One2Many", + | "contains-other-v": "${direction}", + | "delete-other-v": "NONE", + | "SVC-INFRA": "!${direction}", + | "prevent-delete": "${direction}" + +} + +1. Start by drawing the "from" node. + +2. Draw an edge off this node in the specified. So if it's OUT, point + the edge out away from the from node, if it's IN, point it into the + node. + +3. Draw the "to" node on the empty end of that edge. + +Essentially, "from" and "to" do not imply direction. Think of them as +more like "NodeA" and "NodeB". + +Quick guide for which is your in node and which is your out node +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + ++-----------------+---------------+----------------+ +| **direction** | **in node** | **out node** | ++=================+===============+================+ +| OUT | to | from | ++-----------------+---------------+----------------+ +| IN | from | to | ++-----------------+---------------+----------------+ + +How to Read Multiplicity +------------------------ + +Multiplicity, by itself, has nothing to do with the edge direction or +the from/to nodes. Think of it as a property of the edge label. It +defines how many IN edges of this label and how many OUT edges of this +label are allowed. The format we use is defined by Titan to be In2Out. + +Ex: One2Many means on a node, there may be only one IN edge, and many +OUT edges. + +The from and to node types come in on top of this at the A&AI layer. +A&AI's code defines which node types may have those IN and OUT edges of +this label. + +{ + + | "from": "tenant", + | "to": "vserver", + | "label": "owns", + | "direction": "OUT", + | "multiplicity": "One2Many", + | "contains-other-v": "${direction}", + | "delete-other-v": "NONE", + | "SVC-INFRA": "!${direction}", + | "prevent-delete": "${direction}" + +} + +In this example, the vserver gets the IN edge, so it may have only one +edge from a tenant. The tenant gets the OUT edge, so it may get many +edges to vservers. + +Internal Edge Properties +------------------------ + +A&AI uses the following edge properties for internal processing. + +- contains-other-v + + - This property defines whether or not the other vertex is contained + within another when rendering the resources view + + - This property was previously known as isParent + + - If contains-other-v=OUT, this means that the outVertex contains + the inVertex + + - Or in other words, you can read contains-other-v=OUT as "I am an + edge, my OUT vertex contains my IN vertex" + +- delete-other-v + + - defines whether or not the other vertex is automatically included + in delete processing + + - this property was previously known as hasDelTarget + + - if delete-other-v=IN, this means that when deleting the inVertex + also delete the outVertex + +- SVC-INFRA + + - what direction should the traverser continue in when running + edge-tag-query + + - if SVC-INFRA=OUT, when on the outVertex traverse to the inVertex + and continue + +- prevent-delete + + - defines whether or not this edge can be deleted from a particular + direction + + - if prevent-delete=IN, prevent the deletion of the inVertex of the + edge, allow the outVertex to be deleted. + + - Or in other words, you can read it as "I am an edge, my IN vertex + cannot be deleted" + +Quick guide to our direction syntax: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +${direction} = same as value of "direction" property + +!${direction} = opposite diff --git a/docs/platform/Getting Started/How_to_AAI_data_snapshot_and_restore_in_ONAP_1_1.rst b/docs/platform/Getting Started/How_to_AAI_data_snapshot_and_restore_in_ONAP_1_1.rst new file mode 100644 index 00000000..004a0c98 --- /dev/null +++ b/docs/platform/Getting Started/How_to_AAI_data_snapshot_and_restore_in_ONAP_1_1.rst @@ -0,0 +1,46 @@ +.. contents:: + :depth: 3 +.. + +How to A&AI data snapshot and restore in ONAP 1.1 +================================================= + +1. Check the containers that are running and get the container name for + resources micro service as this container contains both dataSnapshot + and restore scripts + +2. If the deployment was followed properly, then the container name + would have been + testconfig\_aai-resources.api.simpledemo.openecomp.org\_1 + +3. Run the following command to save the current snapshot of your data: + + docker exec -u aaiadmin -it + testconfig\_aai-resources.api.simpledemo.openecomp.org\_1 + /opt/app/aai-resources/bin/dataSnapshot.sh + +1. After running that command, you should see the following line in the + standard output: + + Snapshot written to + /opt/app/aai-resources/logs/data/dataSnapshots/dataSnapshot.graphSON.201709221713 + +1. This file dataSnapshot.graphSON.201709221713 can be found in + /opt/aai/logroot/AAI-RESOURCES/data/dataSnapshots on the host vm + +2. If you want to restore the data from the snapshot, then you would run + this command: + + docker exec -u aaiadmin -it + testconfig\_aai-resources.api.simpledemo.openecomp.org\_1 + /opt/app/aai-resources/bin/dataRestoreFromSnapshot.sh + dataSnapshot.graphSON.201709221713 + +1. The argument to the dataRestoreFromSnapshot.sh is the dataSnapshot + graphson file and it only needs the base name and expects to be found + in the host vm /opt/aai/logroot/AAI-RESOURCES/data/dataSnapshots. + +2. Once that command is run, you will be given a warning of 5 seconds to + quit the process as it will replace whatever you have in your A&AI + data with that snapshot and any current data thats not saved into a + snapshot will be lost. diff --git a/docs/platform/Getting Started/How_to_Docker_setup_on_Single_VM.rst b/docs/platform/Getting Started/How_to_Docker_setup_on_Single_VM.rst new file mode 100644 index 00000000..7776ebdb --- /dev/null +++ b/docs/platform/Getting Started/How_to_Docker_setup_on_Single_VM.rst @@ -0,0 +1,56 @@ +.. contents:: + :depth: 3 +.. + +How to Docker setup on Single VM +================================ + +Step-by-step guide +------------------ + +1. You would need to have root access to the vm + +2. sudo su - root + +3. cd /opt + +4. git clone http://gerrit.onap.org/r/aai/test-config + +5. cd test-config + +6. In deploy\_vm1.sh comment out the lines 89-94 which should be an if + statement checking for the /opt/message-router folder + +7. Create a directory called /opt/config + + 1. mkdir /opt/config/ + +8. Create a file called /opt/config/nexus\_username.txt containing the + text: docker + + 1. echo "docker" > /opt/config/nexus\_username.txt + +9. Create a file called /opt/config/nexus\_password.txt containing the + text: docker + + 1. echo "docker" > /opt/config/nexus\_password.txt + +10. Create a file called /opt/config/dmaap\_topic.txt containing the + text: AAI-EVENT + + 1. echo " AAI-EVENT" > /opt/config/dmaap\_topic.txt + +11. Create a file called /opt/config/nexus\_docker\_repo.txt containing + text: nexus3.onap.org:10001 + + echo "nexus3.onap.org:10001" > /opt/config/nexus\_docker\_repo.txt + +1. Create a file called /opt/config/docker\_version.txt containing text: + 1.1-STAGING-latest + + echo "1.1-STAGING-latest" > /opt/config/docker\_version.txt + +1. Please note that in the previous step, docker version is currently + 1.1-STAGING-latest and this will be changed later + + ./deploy\_vm2.sh && ./deploy\_vm1.sh diff --git a/docs/platform/Getting Started/Queries/Policy_Named_Query.rst b/docs/platform/Getting Started/Queries/Policy_Named_Query.rst new file mode 100644 index 00000000..0dd004d0 --- /dev/null +++ b/docs/platform/Getting Started/Queries/Policy_Named_Query.rst @@ -0,0 +1,182 @@ +.. contents:: + :depth: 3 +.. + +Policy Named Query +================== + +**Example Request** + +POST /aai/search/named-query + +{ + +"query-parameters": { + +"named-query": { + +"named-query-uuid": "a93ac487-409c-4e8c-9e5f-334ae8f99087" + +} + +}, + +"instance-filters":{ + +"instance-filter":[ { + +"generic-vnf": { + +"vnf-id": "de7cc3ab-0212-47df-9e64-da1c79234deb" + +} + +} ] } + +} + +**Example Response** + +{ + +"inventory-response-item": [ + +{ + +"model-name": "service-instance", + +"generic-vnf": { + +"vnf-id": "de7cc3ab-0212-47df-9e64-da1c79234deb", + +"vnf-name": "ZRDM2MMEX39", + +"vnf-type": "vMME Svc Jul 14/vMME VF Jul 14 1", + +"service-id": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", + +"orchestration-status": "active", + +"in-maint": false, + +"is-closed-loop-disabled": false, + +"resource-version": "1503082370097", + +"model-invariant-id": "82194af1-3c2c-485a-8f44-420e22a9eaa4", + +"model-version-id": "46b92144-923a-4d20-b85a-3cbd847668a9" + +}, + +"extra-properties": {}, + +"inventory-response-items": { + +"inventory-response-item": [ + +{ + +"model-name": "service-instance", + +"service-instance": { + +"service-instance-id": "37b8cdb7-94eb-468f-a0c2-4e3c3546578e", + +"service-instance-name": "Changed Service Instance NAME", + +"model-invariant-id": "82194af1-3c2c-485a-8f44-420e22a9eaa4", + +"model-version-id": "46b92144-923a-4d20-b85a-3cbd847668a9", + +"resource-version": "1503082993532", + +"orchestration-status": "Active" + +}, + +"extra-properties": {}, + +"inventory-response-items": { + +"inventory-response-item": [ + +{ + +"model-name": "pnf", + +"generic-vnf": { + +"vnf-id": "jimmy-test", + +"vnf-name": "jimmy-test-vnf", + +"vnf-type": "vMME Svc Jul 14/vMME VF Jul 14 1", + +"service-id": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", + +"orchestration-status": "active", + +"in-maint": false, + +"is-closed-loop-disabled": false, + +"resource-version": "1504013830207", + +"model-invariant-id": "862b25a1-262a-4961-bdaa-cdc55d69785a", + +"model-version-id": "e9f1fa7d-c839-418a-9601-03dc0d2ad687" + +}, + +"extra-properties": {} + +}, + +{ + +"model-name": "service-instance", + +"generic-vnf": { + +"vnf-id": "jimmy-test-vnf2", + +"vnf-name": "jimmy-test-vnf2-named", + +"vnf-type": "vMME Svc Jul 14/vMME VF Jul 14 1", + +"service-id": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", + +"orchestration-status": "active", + +"in-maint": false, + +"is-closed-loop-disabled": false, + +"resource-version": "1504014833841", + +"model-invariant-id": "82194af1-3c2c-485a-8f44-420e22a9eaa4", + +"model-version-id": "46b92144-923a-4d20-b85a-3cbd847668a9" + +}, + +"extra-properties": {} + +} + +] + +} + +} + +] + +} + +} + +] + +} diff --git a/docs/platform/Getting Started/Queries/vnf_to_esr_system_info_Named_Query.rst b/docs/platform/Getting Started/Queries/vnf_to_esr_system_info_Named_Query.rst new file mode 100644 index 00000000..7ad412a9 --- /dev/null +++ b/docs/platform/Getting Started/Queries/vnf_to_esr_system_info_Named_Query.rst @@ -0,0 +1,368 @@ +.. contents:: + :depth: 3 +.. + +vnf to esr-system-info Named Query +================================== + +**Example Request** + +POST https://127.0.0.1:8443/aai/search/named-query + +{ + +"query-parameters": { + +"named-query": { + +"named-query-uuid": "037eb932-edac-48f5-9782-c19c0aa5a031" + +} + +}, + +"instance-filters":{ + +"instance-filter":[ { + +"generic-vnf": { + +"vnf-id": "de7cc3ab-0212-47df-9e64-da1c79234deb" + +} + +} ] + +} + +} + +**Example Response** + +{ + +"inventory-response-item": [ + +{ + +"model-name": "service-instance", + +"generic-vnf": { + +"vnf-id": "de7cc3ab-0212-47df-9e64-da1c79234deb", + +"vnf-name": "ZRDM2MMEX39", + +"vnf-type": "vMME Svc Jul 14/vMME VF Jul 14 1", + +"service-id": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", + +"orchestration-status": "active", + +"in-maint": false, + +"is-closed-loop-disabled": false, + +"resource-version": "1504805258328", + +"model-invariant-id": "82194af1-3c2c-485a-8f44-420e22a9eaa4", + +"model-version-id": "46b92144-923a-4d20-b85a-3cbd847668a9" + +}, + +"extra-properties": {}, + +"inventory-response-items": { + +"inventory-response-item": [ + +{ + +"vserver": { + +"vserver-id": "example-vserver-id-val-90579", + +"vserver-name": "example-vserver-name-val-92986", + +"vserver-name2": "example-vserver-name2-val-77692", + +"prov-status": "example-prov-status-val-23854", + +"vserver-selflink": "example-vserver-selflink-val-14328", + +"in-maint": true, + +"is-closed-loop-disabled": true, + +"resource-version": "1504808495581" + +}, + +"extra-properties": {}, + +"inventory-response-items": { + +"inventory-response-item": [ + +{ + +"tenant": { + +"tenant-id": "example-tenant-id-val-89637", + +"tenant-name": "example-tenant-name-val-36717", + +"resource-version": "1504808495527" + +}, + +"extra-properties": {}, + +"inventory-response-items": { + +"inventory-response-item": [ + +{ + +"cloud-region": { + +"cloud-owner": "example-cloud-owner-val-44086", + +"cloud-region-id": "example-cloud-region-id-val-67393", + +"cloud-type": "example-cloud-type-val-13758", + +"owner-defined-type": "example-owner-defined-type-val-38571", + +"cloud-region-version": "example-cloud-region-version-val-130", + +"identity-url": "example-identity-url-val-73825", + +"cloud-zone": "example-cloud-zone-val-97510", + +"complex-name": "example-complex-name-val-28459", + +"sriov-automation": false, + +"resource-version": "1504808495472" + +}, + +"extra-properties": {}, + +"inventory-response-items": { + +"inventory-response-item": [ + +{ + +"esr-system-info": { + +"esr-system-info-id": "example-esr-system-info-id-val-25777", + +"system-name": "example-system-name-val-29070", + +"type": "example-type-val-85254", + +"vendor": "example-vendor-val-94515", + +"version": "example-version-val-71880", + +"service-url": "example-service-url-val-36193", + +"user-name": "example-user-name-val-77399", + +"password": "example-password-val-46071", + +"system-type": "example-system-type-val-76197", + +"protocal": "example-protocal-val-52954", + +"ssl-cacert": "example-ssl-cacert-val-75021", + +"ssl-insecure": true, + +"ip-address": "example-ip-address-val-44431", + +"port": "example-port-val-93234", + +"cloud-domain": "example-cloud-domain-val-76370", + +"default-tenant": "example-tenant-id-val-89637", + +"resource-version": "1504808496522" + +}, + +"extra-properties": {} + +} + +] + +} + +} + +] + +} + +} + +] + +} + +}, + +{ + +"vserver": { + +"vserver-id": "example-vserver-id-val-2", + +"vserver-name": "example-vserver-name-val-2", + +"vserver-name2": "example-vserver-name2-val-2", + +"prov-status": "example-prov-status-val-2", + +"vserver-selflink": "example-vserver-selflink-val-2", + +"in-maint": true, + +"is-closed-loop-disabled": true, + +"resource-version": "1504817435622" + +}, + +"extra-properties": {}, + +"inventory-response-items": { + +"inventory-response-item": [ + +{ + +"tenant": { + +"tenant-id": "example-tenant-id-val-2", + +"tenant-name": "example-tenant-name-val-2", + +"resource-version": "1504817435574" + +}, + +"extra-properties": {}, + +"inventory-response-items": { + +"inventory-response-item": [ + +{ + +"cloud-region": { + +"cloud-owner": "example-cloud-owner-val-2", + +"cloud-region-id": "example-cloud-region-id-val-2", + +"cloud-type": "example-cloud-type-val-2", + +"owner-defined-type": "example-owner-defined-type-val-2", + +"cloud-region-version": "example-cloud-region-version-val-2", + +"identity-url": "example-identity-url-val-2", + +"cloud-zone": "example-cloud-zone-val-2", + +"complex-name": "example-complex-name-val-2", + +"sriov-automation": false, + +"resource-version": "1504817435502" + +}, + +"extra-properties": {}, + +"inventory-response-items": { + +"inventory-response-item": [ + +{ + +"esr-system-info": { + +"esr-system-info-id": "example-esr-system-info-id-val-2", + +"system-name": "example-system-name-val-2", + +"type": "example-type-val-2", + +"vendor": "example-vendor-val-2", + +"version": "example-version-val-2", + +"service-url": "example-service-url-val-2", + +"user-name": "example-user-name-val-2", + +"password": "example-password-val-2", + +"system-type": "example-system-type-val-2", + +"protocal": "example-protocal-val-2", + +"ssl-cacert": "example-ssl-cacert-val-2", + +"ssl-insecure": true, + +"ip-address": "example-ip-address-val-2", + +"port": "example-port-val-2", + +"cloud-domain": "example-cloud-domain-val-2", + +"default-tenant": "example-tenant-id-val-2", + +"resource-version": "1504817436023" + +}, + +"extra-properties": {} + +} + +] + +} + +} + +] + +} + +} + +] + +} + +} + +] + +} + +} + +] + +} diff --git a/docs/release-notes/index.rst b/docs/release-notes/index.rst index 7abcda3d..5f5d2dc1 100644 --- a/docs/release-notes/index.rst +++ b/docs/release-notes/index.rst @@ -19,11 +19,11 @@ - **New Features** + **New Features** Initial release of Active and Available Inventory (AAI) for Open Network Automation Platform (ONAP) - **Bug Fixes** + **Bug Fixes** - `CIMAN-65 `_ and a sentence explaining what this defect is addressing. **Known Issues** -- cgit 1.2.3-korg