Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

0- This process requires 2 VMs. Both VMs should be accessible from each other. Here we'll provide instructions for VM1 setup and then on VM2 setup.


1- Install the basic packages on VM1 and VM2.

Code Block
languagebash
firstline1
titlebasic_packages
$ sudo apt-get update
$ sudo apt-get install -y openjdk-8-jdk docker docker-compose zip unzip curl wget ssh telnet maven
# make sure docker can be launched with normal user
$ sudo groupadd docker
$ sudo gpasswd -a $USER docker
$ newgrp docker


Policy API VM Setup: VM1

2- Download and build policy API and its docker image.

Code Block
languagebash
firstline6
titlePolicy API Docker Image Build
$ cd ~/

$ git clone https://gerrit.onap.org/r/oparent
$ cd oparent/
$ cp settings.xml ~/.m2/
$ mvn clean install

$ cd ../
$ git clone https://gerrit.onap.org/r/policy/parent
$ cd parent/
$ mvn clean install


$ cd ../
$ git clone https://gerrit.onap.org/r/policy/api
$ cd api/
$ mvn clean install -Pdocker

3- Check if the images are indeed built and then run the docker  image.

Code Block
languagebash
firstline6
titlePolicy API Docker Image Run
$ docker images
REPOSITORY                     TAG                            IMAGE ID            CREATED             SIZE
onap/policy-api                2.0.0-SNAPSHOT                 891f162e17fc        28 hours ago        1e+03MB
onap/policy-api                2.0.0-SNAPSHOT-20190212T1205   891f162e17fc        28 hours ago        1e+03MB
onap/policy-api                2.0.0-SNAPSHOT-latest          891f162e17fc        28 hours ago        1e+03MB
onap/policy-api                latest                         891f162e17fc        28 hours ago        1e+03MB

# Run policy-api container
docker run -d --name policy-api -p 6969:6969 -it onap/policy-api:2.0.0-SNAPSHOT-latest

35- Check health status of the API service with following command. Please ensure to:

Code Block
languagebash
titleHealth Check
curl --user healthcheck:zb\!XztG34 -H “Accept=application/json, Content-Type=application/json” -k https://<VM_IP_ADDRESS>:6969/healthcheck
e.g,
$ curl --user healthcheck:zb\!XztG34 -H “Accept=application/json, Content-Type=application/json” -k https://10.12.6.93:6969/healthcheck

4- Health Check should return following output:

Code Block
languagebash
titleHealth Check Output

{"name":"Policy API","url":"self","healthy":true,"code":200,"message":"alive"}

56- Check for statistics API with Sample Output

Code Block
languagebash
titleStatistics API
$ curl --user healthcheck:zb\!XztG34 -H “Accept=application/json, Content-Type=application/json” -k https://10.12.6.93:6969/statistics

6- Sample output:

Code Block
languagebash
titleStatistics output

{"code":200,"totalApiCallCount":0,"apiCallSuccessCount":0,"apiCallFailureCount":0,"totalPolicyGetCount":0,"totalPolicyPostCount":0,"totalTemplateGetCount":0,"totalTemplatePostCount":0,"policyGetSuccessCount":0,"policyGetFailureCount":0,"policyPostSuccessCount":0,"policyPostFailureCount":0,"templateGetSuccessCount":0,"templateGetFailureCount":0,"templatePostSuccessCount":0,"templatePostFailureCount":0}


JMeter VM Setup: VM2

7- Install JMeter on VM2.

Code Block
languagebash
titleJMeter Install
$ cd ~/
$ wget http://mirrors.whoishostingthis.com/apache//jmeter/binaries/apache-jmeter-5.0.zip
$ unzip apache-jmeter-5.0.zip 


8- Run JMeter Stability Tests.

      Jduration is time in seconds to run the tests.

      Jusers is the number of threads to be started.

    Results of the run are stored in stability.log file.

    To check for any failures search for any "failed"/"Failed" message.

Code Block
languagebash
titleStability Tests
# Go into the directory where stability tests are placed.
~/apache-jmeter-5.0/bin/jmeter.sh -n -t stability.jmx  -Jretry=200 -Jduration=3600 -Jusers=1 -l stability.log
cat stability.log | grep "failed"