diff options
author | 2017-11-08 17:11:13 -0500 | |
---|---|---|
committer | 2017-11-08 17:11:25 -0500 | |
commit | 8303a591949e603ad4ad58cef8f6adef6d1140fb (patch) | |
tree | 065bcfe7741cfdd75f7611509cc7170c7ba65b17 /docs/platform/Getting Started/AAI_Developer_Environment_Setup.rst | |
parent | 73b743c9ed4c92b191c4809035a03a5aab710199 (diff) |
Fix dev setup guide to include images
Issue-ID: AAI-255
Signed-off-by: Jimmy Forsyth <jf2512@att.com>
Change-Id: I4c0fa8de83bab29e0f89a0af7fb639eb38e6944a
Diffstat (limited to 'docs/platform/Getting Started/AAI_Developer_Environment_Setup.rst')
-rw-r--r-- | docs/platform/Getting Started/AAI_Developer_Environment_Setup.rst | 279 |
1 files changed, 144 insertions, 135 deletions
diff --git a/docs/platform/Getting Started/AAI_Developer_Environment_Setup.rst b/docs/platform/Getting Started/AAI_Developer_Environment_Setup.rst index 10f45dfa..a5809ec2 100644 --- a/docs/platform/Getting Started/AAI_Developer_Environment_Setup.rst +++ b/docs/platform/Getting Started/AAI_Developer_Environment_Setup.rst @@ -1,9 +1,10 @@ + .. contents:: :depth: 3 .. _dev-setup: -A&AI Developer Environment Setup +AAI Developer Environment Setup ================================ This guide will illustrate setting up an A&AI development environment in @@ -12,123 +13,122 @@ 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 +- install openjdk 8 - 1. sudo apt install openjdk-8-jdk + ..code:: bash -2. Install single node hadoop/titan + sudo apt install openjdk-8-jdk - 1. $ wget - http://s3.thinkaurelius.com/downloads/titan/titan-1.0.0-hadoop1.zip +- Install single node hadoop/titan - 2. $ unzip titan-1.0.0-hadoop1.zip + ..code:: bash - 3. $ cd titan-1.0.0-hadoop1 + wget http://s3.thinkaurelius.com/downloads/titan/titan-1.0.0-hadoop1.zip - 4. $ sudo ./bin/titan.sh start + unzip titan-1.0.0-hadoop1.zip -3. Install haproxy + cd titan-1.0.0-hadoop1 + + sudo ./bin/titan.sh start - 1. $ sudo apt-get -y install haproxy +- Install haproxy - 2. | $ haproxy -v - | HA-Proxy version 1.6.3 2015/12/25 - | Copyright 2000-2015 Willy Tarreau - <willy@`haproxy.org <http://haproxy.org/>`__> + ..code:: bash - 3. Install this haproxy.cfg file in /etc/haproxy + sudo apt-get -y install haproxy - `haproxy.cfg <file:///C:\download\attachments\10782088\haproxy.cfg%3fversion=2&modificationDate=1501018863000&api=v2>`__ + haproxy -v + HA-Proxy version 1.6.3 2015/12/25 + Copyright 2000-2015 Willy Tarreau + willy@haproxy.org http://haproxy.org/ -1. $ sudo cp aai.pem /etc/ssl/private/aai.pem +- Install this haproxy.cfg file in /etc/haproxy -2. $ sudo chmod 640 /etc/ssl/private/aai.pem + `haproxy.cfg <https://wiki.onap.org/download/attachments/10782088/haproxy.cfg?version=2&modificationDate=1501018863000&api=v2>`__ -3. | $ sudo chown root:ssl-cert /etc/ssl/private/aai.pem - | `aai.pem <file:///C:\download\attachments\10782088\aai.pem%3fversion=1&modificationDate=1501019585000&api=v2>`__ + ..code:: bash -4. sudo mkdir /usr/local/etc/haproxy + sudo cp aai.pem /etc/ssl/private/aai.pem -5. Add these hostnames to the loopback interface in /etc/hosts: + sudo chmod 640 /etc/ssl/private/aai.pem - 1. 127.0.0.1 localhost - `aai-traversal.api.simpledemo.openecomp.org <http://aai-traversal.api.simpledemo.openecomp.org>`__ - aai-resour\ `ces.api.simpledemo.openecomp.or <http://ces.api.simpledemo.openecomp.org>`__\ g + sudo chown root:ssl-cert /etc/ssl/private/aai.pem -6. $ sudo service haproxy restart + `aai.pem <https://wiki.onap.org/download/attachments/10782088/aai.pem?version=1&modificationDate=1501019585000&api=v2>`__ -1. Set up repos. First, follow the initial setup instructions - in \ `Setting Up Your Development - Environment <file:///C:\display\DW\Setting+Up+Your+Development+Environment>`__ + ..code::bash - 1. $ mkdir -p ~/LF/AAI + sudo mkdir /usr/local/etc/haproxy - 2. $ cd ~/LF/AAI +- Add these hostnames to the loopback interface in /etc/hosts: - 3. $ git clone - ssh://%3Cusername%3E@gerrit.onap.org:29418/aai/aai-common + ..code:: bash - 4. $ git - clone \ `ssh://<username>@gerrit.onap.org:29418/aai/traversal <ssh://%253Cusername%253E@gerrit.onap.org:29418/aai/traversal>`__ + 127.0.0.1 localhost aai-traversal.api.simpledemo.openecomp.org aai-resouces.api.simpledemo.openecomp.org - 5. $ git - clone \ `ssh://<username>@gerrit.onap.org:29418/aai/resources <ssh://%25253Cusername%25253E@gerrit.onap.org:29418/aai/resources>`__ +- Restart haproxy - 6. $ git clone - ssh://%3Cusername%3E@gerrit.onap.org:29418/aai/logging-service + ..code:: bash - 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 <file:///C:\display\DW\Setting+Up+Your+Development+Environment#SettingUpYourDevelopmentEnvironment-MavenExamplesettings.xml>`__ + sudo service haproxy restart -2. Build aai-common, traversal, and resources +- Set up repos. First, follow the initial setup instructions in + `Setting Up Your Development Environment <https://wiki.onap.org/display/DW/Setting+Up+Your+Development+Environment>`__ - 1. $ cd ~/LF/AAI/aai-common + ..code:: bash - 2. | $ mvn clean install - | Should result in BUILD SUCCESS + mkdir -p ~/LF/AAI - 3. $ cd ~/LF/AAI/resources + cd ~/LF/AAI - 4. | $ mvn clean install - | Should result in BUILD SUCCESS + git clone ssh://<username>@gerrit.onap.org:29418/aai/aai-common - 5. $ cd ~/LF/AAI/logging-service + git clone ssh://<username>@gerrit.onap.org:29418/aai/traversal - 6. | $ mvn clean install - | Should result in BUILD SUCCESS + git clone ssh://<username>@gerrit.onap.org:29418/aai/resources - 7. | $ cd ~/LF/AAI/traversal - | I had to add the following to traversal/pom.xml to get - traversal to build: + git clone ssh://<username>@gerrit.onap.org:29418/aai/logging-service + +- 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 <https://wiki.onap.org/display/DW/Setting+Up+Your+Development+Environment#SettingUpYourDevelopmentEnvironment-MavenExamplesettings.xml>`__ + +- Build aai-common, traversal, and resources + + ..code:: bash + + cd ~/LF/AAI/aai-common - 8. <repositories> + mvn clean install # Should result in BUILD SUCCESS - 9. <repository> + cd ~/LF/AAI/resources - 10. <id>maven-restlet</id> + mvn clean install # Should result in BUILD SUCCESS - 11. <name>Restlet repository</name> + cd ~/LF/AAI/logging-service - 12. <url>https://maven.restlet.com</url> + mvn clean install # Should result in BUILD SUCCESS - 13. </repository> + cd ~/LF/AAI/traversal # I had to add the following to traversal/pom.xml to get + traversal to build: - </repositories> + ..code:: xml + <repositories><repository><id>maven-restlet</id><name>Restlet repository</name><url>https://maven.restlet.com</url></repository></repositories> -1. | mvn clean install - | Should result in BUILD SUCCESS + mvn clean install # Should result in BUILD SUCCESS -1. Titan setup +- Titan setup - 1. | Modify both titan-cached.properties and + 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* + + ..code:: bash + + storage.backend=\ *cassandra* + storage.hostname=\ *localhost* 2. update ~/LF/AAI/resources/aai-resources/bundleconfig-local/etc/appprops/titan-cached.properties @@ -142,11 +142,14 @@ gave it 16G RAM, 200GB dynamically allocated storage, and 3 processors. 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 + 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=<keyspace name> + + ..code:: bash + + storage.cassandra.keyspace=<keyspace name> 7. From the resources MS run the create db schema standalone program. @@ -154,112 +157,118 @@ gave it 16G RAM, 200GB dynamically allocated storage, and 3 processors. 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 + Runnable class org.onap.aai.dbgen.GenTester with the following vm args. - -DAJSC\_HOME=~/LF/AAI/resources - -DBUNDLECONFIG\_DIR="bundleconfig-local" + ..code:: bash -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 + -DAJSC_HOME=~/LF/AAI/resources -DBUNDLECONFIG\_DIR="bundleconfig-local" -1. Start the "resources" microservice + 9. Here's the command I used, and it worked: - 1. | Resources runs on port 8446. Go to the resources directory - | $ cd ~/LF/AAI/resources + ..code:: bash - 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" + 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.onap.aai.dbgen.GenTester - 3. | Start the microservice - | $ mvn -P runAjsc +- Start the "resources" microservice + + 1. Resources runs on port 8446. Go to the resources directory + + ..code:: bash + cd ~/LF/AAI/resources + + 2. Set the debug port to 9446 + + ..code:: bash + + export MAVEN_OPTS="-Xms1024m -Xmx5120m -XX:PermSize=2024m + -Xdebug -Xnoagent -Djava.compiler=NONE + -Xrunjdwp:transport=dt_socket,address=9446,server=y,suspend=n" -2. Verify the resources microservice (this example uses Postman utility + 3. Start the microservice + + ..code::bash + + mvn -P runAjsc + +16. Verify the resources microservice (this example uses Postman utility for Google Chrome) - 1. Use basic auth, user = AAI, pw = AAI + 1. | Use basic auth, user = AAI, pw = AAI - 2. Set the X-TransactionId header (in the example below, the value is - 9999) + 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) + 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 + 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: + 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| | +| |image1| | +------------------------------------------+ -1. -2. Start the "traversal" microservice + +18. Start the "traversal" microservice 1. | Traversal runs on port 8447. Go to the traversal directory - | $ cd ~/LF/AAI/traversal + ..code:: bash + $ cd ~/LF/AAI/traversal 2. | Set the debug port to 9447 - | $ export MAVEN\_OPTS="-Xms1024m -Xmx5120m -XX:PermSize=2024m + | $ export MAVEN_OPTS="-Xms1024m -Xmx5120m -XX:PermSize=2024m -Xdebug -Xnoagent -Djava.compiler=NONE - -Xrunjdwp:transport=dt\_socket,address=9447,server=y,suspend=n" + -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 + | $ 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 +- 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 <file:///C:\download\attachments\10782088\Add%20Widget%20Models.postman_collection.json%3fversion=2&modificationDate=1501102559000&api=v2>`__\ `NamedQuery.postman\_collection.json <file:///C:\download\attachments\10782088\NamedQuery.postman_collection.json%3fversion=2&modificationDate=1501102582000&api=v2>`__ + | This will set up the postman to add widget models: `Add Widget Models.postman_collection.json <https://wiki.onap.org/download/attachments/10782088/Add%20Widget%20Models.postman_collection.json?version=2&modificationDate=1501102559000&api=v2>`__ `NamedQuery.postman_collection.json <https://wiki.onap.org/download/attachments/10782088/NamedQuery.postman_collection.json?version=2&modificationDate=1501102582000&api=v2>`__ - 2. Create a runner using this - file: \ `models.csv <file:///C:\download\attachments\10782088\models.csv%3fversion=1&modificationDate=1501100140000&api=v2>`__ + 2. | Create a runner using this file: + `models.csv <https://wiki.onap.org/download/attachments/10782088/models.csv?version=1&modificationDate=1501100140000&api=v2>`__ 3. | Run the test runner - | |C:\\de01805e8408f48478705feb59a27e02| + | |image2| - 4. | Add a named query called "getComponentList" (this named query is - used by - VID): \ `NamedQuery.postman\_collection.json <file:///C:\download\attachments\10782088\NamedQuery.postman_collection.json%3fversion=2&modificationDate=1501102582000&api=v2>`__ - | |C:\\5cdb29c4d0655cf5ede2011736938e58| + 4. | Add a named query called "getComponentList" (this named query is used by VID): + `NamedQuery.postman_collection.json <ificationDate=1501102582000&api=v2>`__ + | |image3| - 5. Add objects: \ `Add Instances for Named - Query.postman\_collection.json <file:///C:\download\attachments\10782088\Add%20Instances%20for%20Named%20Query.postman_collection.json%3fversion=1&modificationDate=1501102617000&api=v2>`__ (replacing - the xmlns "http://org.openecomp.aai.inventory/v11" with - "http://org.onap.aai.inventory/v11" in the Body of the PUT - request) + 5. | Add objects: + `Add Instances for Named Query.postman_collection.json <https://wiki.onap.org/download/attachments/10782088/Add%20Instances%20for%20Named%20Query.postman_collection.json?version=1&modificationDate=1501102617000&api=v2>`__ - 6. | Execute named-query: \ `Execute Named - Query.postman\_collection.json <file:///C:\download\attachments\10782088\Execute%20Named%20Query.postman_collection.json%3fversion=1&modificationDate=1501102658000&api=v2>`__ + 6. | Execute named-query: + `Execute Named Query.postman_collection.json <https://wiki.onap.org/download/attachments/10782088/Execute%20Named%20Query.postman_collection.json?version=1&modificationDate=1501102658000&api=v2>`__ | You should see something like the following: - | |C:\\a67954cfbcfebb8d7a7f48bba2a26195| + | |image4| -4. Your A&AI instance is now running, both the resources and traversal - microservices are working properly with a local titan graph. +- 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 <file:///C:\pages\viewpage.action%3fpageId=10783023>`__ +- Next: `Tutorial: Making and Testing a Schema Change in A&AI <https://wiki.onap.org/pages/viewpage.action?pageId=10783023>`__ -.. |C:\\9cb03b5a507d917b3f460df1c1d95eea| image:: media/image1.png +.. |image1| image:: media/image1.png :width: 4.87500in :height: 2.87500in -.. |C:\\de01805e8408f48478705feb59a27e02| image:: media/image2.tmp +.. |image2| image:: media/image2.png :width: 4.87500in :height: 3.75000in -.. |C:\\5cdb29c4d0655cf5ede2011736938e58| image:: media/image3.png +.. |image3| image:: media/image3.png :width: 4.87500in :height: 4.15000in -.. |C:\\a67954cfbcfebb8d7a7f48bba2a26195| image:: media/image4.png +.. |image4| image:: media/image4.png :width: 4.87500in :height: 4.15000in |