diff options
Diffstat (limited to 'utils/test')
8 files changed, 153 insertions, 27 deletions
diff --git a/utils/test/reporting/functest/reporting-status.py b/utils/test/reporting/functest/reporting-status.py index 622c375cc..7c943d8b3 100644 --- a/utils/test/reporting/functest/reporting-status.py +++ b/utils/test/reporting/functest/reporting-status.py @@ -99,8 +99,9 @@ for version in conf.versions: for test_case in testValid: test_case.checkRunnable(installer, s, test_case.getConstraints()) - logger.debug("testcase %s is %s" % + logger.debug("testcase %s (%s) is %s" % (test_case.getDisplayName(), + test_case.getName(), test_case.isRunnable)) time.sleep(1) if test_case.isRunnable: @@ -131,8 +132,10 @@ for version in conf.versions: for test_case in otherTestCases: test_case.checkRunnable(installer, s, test_case.getConstraints()) - logger.info("testcase %s is %s" % - (test_case.getName(), test_case.isRunnable)) + logger.debug("testcase %s (%s) is %s" % + (test_case.getDisplayName(), + test_case.getName(), + test_case.isRunnable)) time.sleep(1) if test_case.isRunnable: dbName = test_case.getDbName() diff --git a/utils/test/reporting/functest/reportingConf.py b/utils/test/reporting/functest/reportingConf.py index a58eeecc9..1c0b0577d 100644 --- a/utils/test/reporting/functest/reportingConf.py +++ b/utils/test/reporting/functest/reportingConf.py @@ -10,14 +10,13 @@ # # **************************************************** installers = ["apex", "compass", "fuel", "joid"] -# installers = ["apex"] # list of test cases declared in testcases.yaml but that must not be # taken into account for the scoring -blacklist = ["odl", "ovno", "security_scan", "copper", "moon"] +blacklist = ["ovno", "odl", "security_scan"] # versions = ["brahmaputra", "master"] versions = ["master"] -PERIOD = 10 -MAX_SCENARIO_CRITERIA = 18 +PERIOD = 50 +MAX_SCENARIO_CRITERIA = 50 # get the last 5 test results to determinate the success criteria NB_TESTS = 5 # REPORTING_PATH = "/usr/share/nginx/html/reporting/functest" diff --git a/utils/test/reporting/functest/testCase.py b/utils/test/reporting/functest/testCase.py index e19853a09..a906f0da8 100644 --- a/utils/test/reporting/functest/testCase.py +++ b/utils/test/reporting/functest/testCase.py @@ -35,7 +35,12 @@ class TestCase(object): 'promise': 'Promise', 'moon': 'moon', 'copper': 'copper', - 'security_scan': 'security' + 'security_scan': 'security', + 'multisite': 'multisite', + 'domino': 'domino', + 'odl-sfc': 'SFC', + 'onos_sfc': 'SFC', + 'parser':'parser' } try: self.displayName = display_name_matrix[self.name] @@ -122,8 +127,13 @@ class TestCase(object): 'doctor': 'doctor-notification', 'promise': 'promise', 'moon': 'moon', - 'copper': 'copper', - 'security_scan': 'security' + 'copper': 'copper-notification', + 'security_scan': 'security', + 'multisite': 'multisite', + 'domino': 'domino-multinode', + 'odl-sfc': 'odl-sfc', + 'onos_sfc': 'onos_sfc', + 'parser':'parser-basics' } try: return test_match_matrix[self.name] diff --git a/utils/test/result_collection_api/update/README.md b/utils/test/result_collection_api/update/README.md index d3aef7efe..cb0e67b33 100644 --- a/utils/test/result_collection_api/update/README.md +++ b/utils/test/result_collection_api/update/README.md @@ -79,26 +79,21 @@ install ansible, please refer: ``` http://docs.ansible.com/ansible/intro_installation.html ``` -run update.yml + +playbook-update.sh + arguments: -: host: remote server, must provide -user: user used to access to remote server, default to root -port: exposed port used to access to testapi, default to 8000 -image: testapi's docker image, default to opnfv/testapi:latest -update_path: templates directory in remote server, default to /tmp/testapi -mongodb_url: url of mongodb, default to 172.17.0.1, docker0 ip -swagger_url: swagger access url, default to http://host:port +: -h|--help show this help text +-r|--remote remote server +-u|--user ssh username used to access to remote server +-i|--identity ssh PublicKey file used to access to remote server +-e|--execute execute update, if not set just check the ansible connectivity usage: ``` -ansible-playbook update.yml --extra-vars " -host=10.63.243.17 -user=zte -port=8000 -image=opnfv/testapi -update_path=/tmp/testapi -mongodb_url=mongodb://172.17.0.1:27017 -swagger_url=http://10.63.243.17:8000"``` +ssh-agent ./playbook-update.sh -r testresults.opnfv.org -u serena -i ~/.ssh/id_rsa -e +``` + > **Note:** > - If documents need to be changed, please modify file diff --git a/utils/test/result_collection_api/update/playbook-update.sh b/utils/test/result_collection_api/update/playbook-update.sh new file mode 100755 index 000000000..86d30e4b2 --- /dev/null +++ b/utils/test/result_collection_api/update/playbook-update.sh @@ -0,0 +1,90 @@ +#!/bin/bash + +# +# Author: Serena Feng (feng.xiaoewi@zte.com.cn) +# Update testapi on remote server using ansible playbook automatically +# +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +# + +set -e + +usage="Script to trigger update automatically. + +usage: + bash $(basename "$0") [-h|--help] [-h <host>] [-u username] [-i identityfile] [-e|--execute] + +where: + -h|--help show this help text + -r|--remote remote server + -u|--user ssh username used to access to remote server + -i|--identity ssh PublicKey file used to access to remote server + -e|--execute execute update, if not set just check the ansible connectivity" + +remote=testresults.opnfv.org +user=root +identity=~/.ssh/id_rsa +hosts=./hosts +execute=false + +# Parse parameters +while [[ $# > 0 ]] + do + key="$1" + case $key in + -h|--help) + echo "$usage" + exit 0 + shift + ;; + -r|--remote) + remote="$2" + shift + ;; + -u|--user) + user="$2" + shift + ;; + -i|--identity) + identity="$2" + shift + ;; + -e|--execute) + execute=true + ;; + *) + echo "unknown option" + exit 1 + ;; + esac + shift # past argument or value +done + +echo $remote > $hosts + +echo "add authentication" +ssh-add $identity + +echo "test ansible connectivity" +ansible -i ./hosts $remote -m ping -u $user + +echo "test playbook connectivity" +ansible-playbook -i $hosts test.yml -e "host=$remote user=$user" + +if [ $execute == true ]; then + echo "do update" + ansible-playbook -i $hosts update.yml -e "host=$remote \ + user=$user \ + port=8082 \ + image=opnfv/testapi \ + update_path=/home/$user/testapi \ + mongodb_url=mongodb://172.17.0.1:27017 \ + swagger_url=http://testresults.opnfv.org/test" +fi + +rm -fr $hosts +ssh-agent -k diff --git a/utils/test/result_collection_api/update/templates/rm_images.sh b/utils/test/result_collection_api/update/templates/rm_images.sh new file mode 100755 index 000000000..6722573b4 --- /dev/null +++ b/utils/test/result_collection_api/update/templates/rm_images.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +number=`docker images | awk 'NR != 1' | grep testapi | wc -l` +if [ $number -gt 0 ]; then + images=`docker images -a | awk 'NR != 1' | grep testapi | awk '{print $1}'` + echo "begin to rm images $images" + docker images | awk 'NR != 1' | grep testapi | awk '{print $3}' | xargs docker rmi -f &>/dev/null +fi diff --git a/utils/test/result_collection_api/update/test.yml b/utils/test/result_collection_api/update/test.yml new file mode 100644 index 000000000..a8868720d --- /dev/null +++ b/utils/test/result_collection_api/update/test.yml @@ -0,0 +1,12 @@ +--- +- hosts: "{{ host }}" + remote_user: "{{ user }}" + become: yes + become_method: sudo + vars: + user: "root" + tasks: + - name: test connectivity + command: "echo hello {{ host }}" + register: result + - debug: msg="{{ result }}" diff --git a/utils/test/result_collection_api/update/update.yml b/utils/test/result_collection_api/update/update.yml index 08839564a..e6663d905 100644 --- a/utils/test/result_collection_api/update/update.yml +++ b/utils/test/result_collection_api/update/update.yml @@ -8,6 +8,7 @@ port: "8000" update_path: "/tmp/testapi" image: "opnfv/testapi" + mode: "pull" mongodb_url: "mongodb://172.17.0.1:27017" swagger_url: "http://{{ host }}:{{ port }}" tasks: @@ -19,6 +20,11 @@ copy: src: templates/ dest: "{{ update_path }}" + - name: transfer Dockerfile + copy: + src: ../docker/Dockerfile + dest: "{{ update_path }}" + when: mode == "build" - name: backup mongodb database command: "python {{ update_path }}/backup_mongodb.py -u {{ mongodb_url }} -o {{ update_path }}" - name: stop and remove old versions @@ -26,10 +32,13 @@ register: rm_result - debug: msg="{{ rm_result.stderr }}" - name: delete old docker images - command: docker rmi "{{ image }}" + command: bash "{{ update_path }}/rm_images.sh" ignore_errors: true - name: update mongodb command: "python {{ update_path }}/update_mongodb.py -u {{ mongodb_url }}" + - name: docker build image + command: "docker build -t {{ image }} {{ update_path }}" + when: mode == "build" - name: docker start testapi server command: docker run -dti -p "{{ port }}:8000" -e "mongodb_url={{ mongodb_url }}" |