Update AAI setup
This change includes instructions to setup a development
environment for a AAI project provided in the wiki entry:
* https://wiki.onap.org/pages/viewpage.action?pageId=10782088
Change-Id: I1e60d6cc1d2fd12c56990aded6f385f11dca5b9c
Signed-off-by: Victor Morales <victor.morales@intel.com>
diff --git a/bootstrap/vagrant-onap/lib/aai b/bootstrap/vagrant-onap/lib/aai
index d048c2b..336a446 100755
--- a/bootstrap/vagrant-onap/lib/aai
+++ b/bootstrap/vagrant-onap/lib/aai
@@ -6,25 +6,88 @@
source /var/onap/asserts
hbase_version=1.2.3
+src_folder=$git_src_folder/aai
+aai_repos=("aai-common" "aai-config" "aai-data" "aai-service" "data-router" "logging-service" "model-loader" "resources" "rest-client" "router-core" "search-data-service" "sparky-be" "sparky-fe" "test-config" "traversal")
+
+# install_hadoop() - Function that installs Hadoop
+function install_hadoop {
+ local release=titan
+ local version=1.0.0
+ local filename=$release-$version-hadoop1
+ local dest_folder=/opt/hadoop/current
+
+ if [ ! -d $dest_folder ]; then
+ curl http://s3.thinkaurelius.com/downloads/$release/$filename.zip -o /tmp/${filename}.zip
+ install_package unzip
+ mkdir -p $dest_folder
+ unzip /tmp/${filename}.zip -d $dest_folder
+ pushd $dest_folder/${filename}
+ ./bin/titan.sh start
+ popd
+ fi
+}
+
+# install_haproxy() - Function that install HAProxy
+function install_haproxy {
+ install_package haproxy
+ sed -i "s|ENABLED=0|ENABLED=1|g" /etc/default/haproxy
+# cp /var/onap/files/haproxy.cfg /etc/haproxy/
+ cp /var/onap/files/aai.pem /etc/ssl/private/
+ chmod 640 /etc/ssl/private/aai.pem
+ chown root:ssl-cert /etc/ssl/private/aai.pem
+ mkdir /usr/local/etc/haproxy
+ echo "127.0.0.1 localhost aai-traversal.api.simpledemo.openecomp.org aai-resources.api.simpledemo.openecomp.org" >> /etc/hosts
+
+ service haproxy restart
+}
# clone_all_aai_repos() - Function that clones AAI source repo.
function clone_all_aai_repos {
- local src_folder=/opt/aai
-
- for dirc in aai-common aai-config aai-data aai-service data-router logging-service model-loader resources rest-client router-core search-data-service sparky-be sparky-fe test-config traversal; do
+ for dirc in ${aai_repos[@]}; do
clone_repo aai/$dirc $src_folder/$dirc
done
}
-# compile_all_aai_repos() - Function that compiles AAI source repo.
-function compile_all_aai_repos {
- local src_folder=/opt/aai
+# compile_aai_repos() - Function that compiles AAI source repo.
+function compile_aai_repos {
+ local repos=("aai-common" "resources" "logging-service" "traversal")
+ if [[ "$compile_repo" == "True" ]]; then
+ repos=aai_repos
+ fi
- for dirc in aai-common aai-config aai-data aai-service data-router logging-service model-loader resources rest-client router-core search-data-service sparky-be sparky-fe test-config traversal; do
+ for dirc in ${repos[@]}; do
compile_src $src_folder/$dirc
done
}
+# setup_titan() - Function that configures AAI services to connect to Hadoop Titan
+function setup_titan {
+ local $subdirectory=bundleconfig-local/etc/appprops
+ install_python_package crudini
+
+ for dirc in resources/aai-resources traversal/aai-travers; do
+ for file in titan-cached.properties titan-realtime.properties; do
+ crudini --set --existing $src_folder/$dirc/$subdirectory/$file "" storage.backend cassandra
+ crudini --set --existing $src_folder/$dirc/$subdirectory/$file "" storage.hostname localhost
+ done
+ done
+
+ # Addthe schema to the local isntance
+ pushd $src_folder
+ java -DAJSC_HOME=$src_folder/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
+ popd
+}
+
+# start_aai_microservices() - Function that starts AAI microservices
+function start_aai_microservices {
+ MAVEN_OPTS="-Xms1024m -Xmx5120m -XX:PermSize=2024m -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=9446,server=y,suspend=n"
+ for svc in resources traversal; do
+ pushd $src_folder/resources
+ mvn -P runAjsc
+ popd
+ done
+}
+
# pull_hbase_image() - Pull HBase container image from a Docker Registry Hub
function pull_hbase_image {
docker_openecomp_login
@@ -109,13 +172,17 @@
# init_aai() - Function that initialize AAI services
function init_aai {
- mkdir -p /opt/openecomp/aai/logs
- mkdir -p /opt/openecomp/aai/data
+ install_hadoop
+ install_haproxy
clone_all_aai_repos
- if [[ "$compile_repo" == "True" ]]; then
- compile_all_aai_repos
- fi
+ compile_aai_repos
+
+ setup_titan
+ start_aai_microservices
+
+ mkdir -p /opt/openecomp/aai/logs
+ mkdir -p /opt/openecomp/aai/data
install_hbase