AAF docker installation
THIS PAGE DRAFT IS IN PROGRESS
This document will illustrates how to build and deploy all AAF components.
Clone AAF Code:
bharath@bharath:~$ git clone https://git.onap.org/aaf/authz
Build AAF with settings.xml:
Copy the settings.xml from here and paste in ~/.m2/settings.xml
Then run the following command
bharath@bharath:~$ cd authz && mvn clean install -DskipTests
If the build is successful, then you can see a folder in "authz/auth" called "aaf_VERSION-SNAPSHOT" which contains all binaries of the components
bharath@bharath:~/authz/auth$ ls
aaf_2.1.1-SNAPSHOT auth-cass auth-cmd auth-deforg auth-gui auth-locate auth-service pom.xml target
auth-batch auth-certman auth-core auth-fs auth-hello auth-oauth docker sample
Build Docker Images:
Now after building binaries, the next step is to build docker images for each aaf component.
bharath@bharath:~/authz/auth/docker$ chmod +x *.sh
bharath@bharath:~/authz/auth/docker$ ./dbuild.sh
The above command will build the following images:
aaf_service
aaf_oauth
aaf_locate
aaf_hello
aaf_gui
aaf_fs
aaf_cm
Modify the properties file:
Modify the contents of the "authz/auth/docker/d.props
bharath@bharath:~/authz/auth/docker$ cat d.props
# Variables for building Docker entities
ORG=onap
PROJECT=aaf
DOCKER_REPOSITORY=nexus3.onap.org:10003
OLD_VERSION=2.1.0-SNAPSHOT
VERSION=2.1.1-SNAPSHOT
CONF_ROOT_DIR=/opt/app/osaaf
# Local Env info
HOSTNAME="<HOSTNAME>"
HOST_IP="<HOST_IP>"
#Cassandra Database information
CASS_HOST="<HOSTNAME>:<HOST_IP>"
Replace the <HOSTNAME> with your hostname and HOST_IP with your host IP.
Add the following entry to your /etc/hosts file
127.0.0.1 aaf.osaaf.org
Mount the sample to /opt/app/osaaf:
As you can see there is a parameter "CONF_ROOT_DIR" which is set to "/opt/app/osaaf". So we have to create a folder "/opt/app/osaaf" and copy the contents of authz/auth/sample to /opt/app/osaaf
bharath@bharath:~/authz/auth$ mkdir -p /opt/app/osaaf
bharath@bharath:~/authz/auth$ cp -r sample/* /opt/app/osaaf/
Bring up the cassandra docker container:
As drun.sh script needs a link to the container in which the cassandra is running. So have the cassandra container installed before running the script.
prakash@verizon:~/authz$ cd auth/auth-cass/docker
prakash@verizon:~/authz/auth/auth-cass/docker$ ls
backup dbash.sh dinstall.sh
prakash@verizon:~/authz/auth/auth-cass/docker$ chmod +x dinstall.sh
prakash@verizon:~/authz/auth/auth-cass/docker$ ./dinstall.sh
Running DInstall
starting Cass from 'run'
Unable to find image 'cassandra:3.11' locally
3.11: Pulling from library/cassandra
683abbb4ea60: Pull complete
acfbefadae23: Pull complete
abd305f8ee0d: Pull complete
14d836521a71: Pull complete
fb8cdeea37d8: Pull complete
c50ebe138311: Pull complete
a3b44ff80256: Pull complete
c39c3f5c4464: Pull complete
138ba6f9dc60: Pull complete
0df431e1105f: Pull complete
Digest: sha256:c8c1a190423473b1051fb767db1399ea0b6132c05b29f07c25e5f60b0b05ca23
Status: Downloaded newer image for cassandra:3.11
4af38a3fd3965734371fae00f1c2ed66c6023d586a22d01b92777f14668df759
aaf_cass Starting
Sleep 10
Sleep 10
Sleep 10
Running Phase 2 DInstall
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4af38a3fd396 cassandra:3.11 "docker-entrypoint.s…" 31 seconds ago Up 30 seconds 7000-7001/tcp, 7199/tcp, 9042/tcp, 9160/tcp aaf_cass
Run the docker containers:
bharath@bharath:~/authz/auth/docker$ ls
dbash.sh dbuild.sh dclean.sh Dockerfile d.props dpush.sh drun.sh dstart.sh dstop.sh
bharath@bharath:~/authz/auth/docker$ ./drun.sh