blob: 86d30e4b2903c6216a2f60ee324642b428e58fe5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
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
|