diff options
author | Morgan Richomme <morgan.richomme@orange.com> | 2016-08-17 07:25:24 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@172.30.200.206> | 2016-08-17 07:25:25 +0000 |
commit | 7b1f258c63b98ea17fa7b9b7559b94fe0b9cafcb (patch) | |
tree | 6ba428331192ecc619d8edcc71ebb0dafd090f93 /utils | |
parent | b3f1bdf8725c5b5fd6df02d165503c6220aec2f4 (diff) | |
parent | 3c4de6f3f4e74e032d3724ac6683e7326266787e (diff) |
Merge "update testapi only with one command"
Diffstat (limited to 'utils')
-rw-r--r-- | utils/test/result_collection_api/update/README.md | 28 | ||||
-rwxr-xr-x | utils/test/result_collection_api/update/playbook-update.sh | 90 | ||||
-rw-r--r-- | utils/test/result_collection_api/update/test.yml | 12 |
3 files changed, 113 insertions, 17 deletions
diff --git a/utils/test/result_collection_api/update/README.md b/utils/test/result_collection_api/update/README.md index 738f30ab7..cb0e67b33 100644 --- a/utils/test/result_collection_api/update/README.md +++ b/utils/test/result_collection_api/update/README.md @@ -79,27 +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 -mode=build -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/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 }}" |