blob: 053c9da4ead80fa6368576d4c3b8b01485b70f0c (
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
|
#!/bin/bash
##############################################################################
# Copyright (c) 2017 Huawei Technologies Co.,Ltd and others.
# 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
##############################################################################
# This file is to prepare the openstack certs and pod description that required
# for Bottlenecks tests.
usage="Script to prepare the configurations before testing.
usage:
bash $(basename "$0") [-h|--help] [-i <installer>] [--debug]
where:
-h|--help show the help text
-i|--installer input the name of the installer
<installer> one of the following:
(compass, fuel, joid, apex)
--debug
debug option switch
examples:
$(basename "$0") -i compass"
# Debug option
redirect="/dev/null"
# Process input variables
while [[ $# > 0 ]]
do
key="$1"
case $key in
-h|--help)
echo "$usage"
exit 0
shift
;;
-i|--installer)
INSTALLER_TYPE="$2"
shift
;;
--debug)
redirect="/dev/stdout"
shift
;;
esac
shift
done
# Define alias for log printing
info () {
logger -s -t "BOTTLENECKS INFO" "$*"
}
error () {
logger -s -t "BOTTLENECKS ERROR" "$*"
exit 1
}
# Define Variables
echo "BOTTLENECKS INFO: Downloading Releng"
RELENG_REPO="/home/releng"
[ -d ${RELENG_REPO} ] && rm -rf ${RELENG_REPO}
git clone https://gerrit.opnfv.org/gerrit/releng ${RELENG_REPO} >${redirect}
echo "BOTTLENECKS INFO: Downloading Yardstick"
YARDSTICK_REPO="/home/yardstick"
[ -d ${YARDSTICK_REPO} ] && rm -rf ${YARDSTICK_REPO}
git clone https://gerrit.opnfv.org/gerrit/yardstick ${YARDSTICK_REPO} >${redirect}
BOTTLENECKS_CONFIG=/tmp
OPENRC=${BOTTLENECKS_CONFIG}/admin_rc.sh
OS_CACERT=${BOTTLENECKS_CONFIG}/os_cacert
# Preparing configuration files for testing
if [[ ${INSTALLER_TYPE} != "" ]]; then
# Preparing OpenStack RC and Cacert files
info "fetching os credentials from $INSTALLER_TYPE"
if [[ $INSTALLER_TYPE == 'compass' ]]; then
export BRANCH="master"
INSTALLER_IP=192.168.200.2
if [[ ${BRANCH} == 'master' ]]; then
${RELENG_REPO}/utils/fetch_os_creds.sh -d ${OPENRC} -i ${INSTALLER_TYPE} -a ${INSTALLER_IP} -o ${OS_CACERT} >${redirect}
if [[ -f ${OS_CACERT} ]]; then
echo "BOTTLENECKS INFO: successfully fetching os_cacert for openstack: ${OS_CACERT}"
else
echo "BOTTLENECKS ERROR: couldn't find os_cacert file: ${OS_CACERT}, please check if the it's been properly provided."
exit 1
fi
else
${RELENG_REPO}/utils/fetch_os_creds.sh -d ${OPENRC} -i ${INSTALLER_TYPE} -a ${INSTALLER_IP} >${redirect}
fi
else
error "The isntaller is not specified"
exit 1
fi
if [[ -f ${OPENRC} ]]; then
echo "BOTTLENECKS INFO: openstack credentials path is ${OPENRC}"
if [[ $INSTALLER_TYPE == 'compass' && ${BRANCH} == 'master' ]]; then
echo "BOTTLENECKS INFO: writing ${OS_CACERT} to ${OPENRC}"
echo "export OS_CACERT=${OS_CACERT}" >> ${OPENRC}
fi
cat ${OPENRC}
else
echo "BOTTLENECKS ERROR: couldn't find openstack rc file: ${OPENRC}, please check if the it's been properly provided."
exit 1
fi
# Finding and crearting POD description files from different deployments
ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
if [ "$INSTALLER_TYPE" == "fuel" ]; then
echo "Fetching id_rsa file from jump_server $INSTALLER_IP..."
sshpass -p r00tme sudo scp $ssh_options root@${INSTALLER_IP}:~/.ssh/id_rsa ${BOTTLENECKS_CONFIG}/id_rsa
fi
if [ "$INSTALLER_TYPE" == "apex" ]; then
echo "Fetching id_rsa file from jump_server $INSTALLER_IP..."
sudo scp $ssh_options stack@${INSTALLER_IP}:~/.ssh/id_rsa ${BOTTLENECKS_CONFIG}/id_rsa
fi
if [[ ${INSTALLER_TYPE} == compass ]]; then
options="-u root -p root"
elif [[ ${INSTALLER_TYPE} == fuel ]]; then
options="-u root -p r00tme"
elif [[ ${INSTALLER_TYPE} == apex ]]; then
options="-u stack -k /root/.ssh/id_rsa"
else
echo "Don't support to generate pod.yaml on ${INSTALLER_TYPE} currently."
fi
if [[ ${INSTALLER_TYPE} != compass ]]; then
cmd="sudo python ${RELENG_REPO}/utils/create_pod_file.py -t ${INSTALLER_TYPE} \
-i ${INSTALLER_IP} ${options} -f ${BOTTLENECKS_CONFIG}/pod.yaml \
-s ${BOTTLENECKS_CONFIG}/id_rsa"
echo ${cmd}
${cmd}
else
cmd="sudo cp ${YARDSTICK_REPO}/etc/yardstick/nodes/compass_sclab_virtual/pod.yaml \
${BOTTLENECKS_CONFIG}"
echo ${cmd}
${cmd}
fi
if [ -f ${BOTTLENECKS_CONFIG}/pod.yaml ]; then
echo "FILE: ${BOTTLENECKS_CONFIG}/pod.yaml:"
cat ${BOTTLENECKS_CONFIG}/pod.yaml
else
echo "ERROR: cannot find file ${BOTTLENECKS_CONFIG}/pod.yaml. Please check if it is existing."
sudo ls -al ${BOTTLENECKS_CONFIG}
fi
fi
|