... | ... |
@@ -32,6 +32,12 @@ source $TOP_DIR/functions |
32 | 32 |
# Import configuration |
33 | 33 |
source $TOP_DIR/openrc |
34 | 34 |
|
35 |
+# Import quantum functions if needed |
|
36 |
+if is_service_enabled quantum; then |
|
37 |
+ source $TOP_DIR/lib/quantum |
|
38 |
+ setup_quantum |
|
39 |
+fi |
|
40 |
+ |
|
35 | 41 |
# Import exercise configuration |
36 | 42 |
source $TOP_DIR/exerciserc |
37 | 43 |
|
... | ... |
@@ -168,6 +174,10 @@ nova floating-ip-delete $FLOATING_IP || \ |
168 | 168 |
# Delete a secgroup |
169 | 169 |
nova secgroup-delete $SECGROUP || die "Failure deleting security group $SECGROUP" |
170 | 170 |
|
171 |
+if is_service_enabled quantum; then |
|
172 |
+ teardown_quantum |
|
173 |
+fi |
|
174 |
+ |
|
171 | 175 |
set +o xtrace |
172 | 176 |
echo "*********************************************************************" |
173 | 177 |
echo "SUCCESS: End DevStack Exercise: $0" |
... | ... |
@@ -33,6 +33,12 @@ source $TOP_DIR/functions |
33 | 33 |
# Import EC2 configuration |
34 | 34 |
source $TOP_DIR/eucarc |
35 | 35 |
|
36 |
+# Import quantum functions if needed |
|
37 |
+if is_service_enabled quantum; then |
|
38 |
+ source $TOP_DIR/lib/quantum |
|
39 |
+ setup_quantum |
|
40 |
+fi |
|
41 |
+ |
|
36 | 42 |
# Import exercise configuration |
37 | 43 |
source $TOP_DIR/exerciserc |
38 | 44 |
|
... | ... |
@@ -169,6 +175,10 @@ fi |
169 | 169 |
# Delete group |
170 | 170 |
euca-delete-group $SECGROUP || die "Failure deleting security group $SECGROUP" |
171 | 171 |
|
172 |
+if is_service_enabled quantum; then |
|
173 |
+ teardown_quantum |
|
174 |
+fi |
|
175 |
+ |
|
172 | 176 |
set +o xtrace |
173 | 177 |
echo "*********************************************************************" |
174 | 178 |
echo "SUCCESS: End DevStack Exercise: $0" |
... | ... |
@@ -31,6 +31,12 @@ source $TOP_DIR/functions |
31 | 31 |
# Import configuration |
32 | 32 |
source $TOP_DIR/openrc |
33 | 33 |
|
34 |
+# Import quantum functions if needed |
|
35 |
+if is_service_enabled quantum; then |
|
36 |
+ source $TOP_DIR/lib/quantum |
|
37 |
+ setup_quantum |
|
38 |
+fi |
|
39 |
+ |
|
34 | 40 |
# Import exercise configuration |
35 | 41 |
source $TOP_DIR/exerciserc |
36 | 42 |
|
... | ... |
@@ -155,14 +161,16 @@ nova add-floating-ip $VM_UUID $FLOATING_IP || \ |
155 | 155 |
# test we can ping our floating ip within ASSOCIATE_TIMEOUT seconds |
156 | 156 |
ping_check "$PUBLIC_NETWORK_NAME" $FLOATING_IP $ASSOCIATE_TIMEOUT |
157 | 157 |
|
158 |
-# Allocate an IP from second floating pool |
|
159 |
-TEST_FLOATING_IP=`nova floating-ip-create $TEST_FLOATING_POOL | grep $TEST_FLOATING_POOL | get_field 1` |
|
160 |
-die_if_not_set TEST_FLOATING_IP "Failure creating floating IP in $TEST_FLOATING_POOL" |
|
158 |
+if ! is_service_enabled quantum; then |
|
159 |
+ # Allocate an IP from second floating pool |
|
160 |
+ TEST_FLOATING_IP=`nova floating-ip-create $TEST_FLOATING_POOL | grep $TEST_FLOATING_POOL | get_field 1` |
|
161 |
+ die_if_not_set TEST_FLOATING_IP "Failure creating floating IP in $TEST_FLOATING_POOL" |
|
161 | 162 |
|
162 |
-# list floating addresses |
|
163 |
-if ! timeout $ASSOCIATE_TIMEOUT sh -c "while ! nova floating-ip-list | grep $TEST_FLOATING_POOL | grep -q $TEST_FLOATING_IP; do sleep 1; done"; then |
|
164 |
- echo "Floating IP not allocated" |
|
165 |
- exit 1 |
|
163 |
+ # list floating addresses |
|
164 |
+ if ! timeout $ASSOCIATE_TIMEOUT sh -c "while ! nova floating-ip-list | grep $TEST_FLOATING_POOL | grep -q $TEST_FLOATING_IP; do sleep 1; done"; then |
|
165 |
+ echo "Floating IP not allocated" |
|
166 |
+ exit 1 |
|
167 |
+ fi |
|
166 | 168 |
fi |
167 | 169 |
|
168 | 170 |
# dis-allow icmp traffic (ping) |
... | ... |
@@ -171,12 +179,13 @@ nova secgroup-delete-rule $SECGROUP icmp -1 -1 0.0.0.0/0 || die "Failure deletin |
171 | 171 |
# FIXME (anthony): make xs support security groups |
172 | 172 |
if [ "$VIRT_DRIVER" != "xenserver" -a "$VIRT_DRIVER" != "openvz" ]; then |
173 | 173 |
# test we can aren't able to ping our floating ip within ASSOCIATE_TIMEOUT seconds |
174 |
- ping_check "$PUBLIC_NETWORK_NAME" $FLOATING_IP $ASSOCIATE_TIMEOUT |
|
174 |
+ ping_check "$PUBLIC_NETWORK_NAME" $FLOATING_IP $ASSOCIATE_TIMEOUT Fail |
|
175 | 175 |
fi |
176 | 176 |
|
177 |
-# Delete second floating IP |
|
178 |
-nova floating-ip-delete $TEST_FLOATING_IP || die "Failure deleting floating IP $TEST_FLOATING_IP" |
|
179 |
- |
|
177 |
+if ! is_service_enabled quantum; then |
|
178 |
+ # Delete second floating IP |
|
179 |
+ nova floating-ip-delete $TEST_FLOATING_IP || die "Failure deleting floating IP $TEST_FLOATING_IP" |
|
180 |
+fi |
|
180 | 181 |
|
181 | 182 |
# de-allocate the floating ip |
182 | 183 |
nova floating-ip-delete $FLOATING_IP || die "Failure deleting floating IP $FLOATING_IP" |
... | ... |
@@ -193,6 +202,10 @@ fi |
193 | 193 |
# Delete a secgroup |
194 | 194 |
nova secgroup-delete $SECGROUP || die "Failure deleting security group $SECGROUP" |
195 | 195 |
|
196 |
+if is_service_enabled quantum; then |
|
197 |
+ teardown_quantum |
|
198 |
+fi |
|
199 |
+ |
|
196 | 200 |
set +o xtrace |
197 | 201 |
echo "*********************************************************************" |
198 | 202 |
echo "SUCCESS: End DevStack Exercise: $0" |
... | ... |
@@ -52,13 +52,17 @@ source $TOP_DIR/functions |
52 | 52 |
# Import configuration |
53 | 53 |
source $TOP_DIR/openrc |
54 | 54 |
|
55 |
-# Import exercise configuration |
|
56 |
-source $TOP_DIR/exerciserc |
|
57 |
- |
|
58 | 55 |
# If quantum is not enabled we exit with exitcode 55 which mean |
59 | 56 |
# exercise is skipped. |
60 | 57 |
is_service_enabled quantum && is_service_enabled q-agt && is_service_enabled q-dhcp || exit 55 |
61 | 58 |
|
59 |
+# Import quantum fucntions |
|
60 |
+source $TOP_DIR/lib/quantum |
|
61 |
+setup_quantum |
|
62 |
+ |
|
63 |
+# Import exercise configuration |
|
64 |
+source $TOP_DIR/exerciserc |
|
65 |
+ |
|
62 | 66 |
#------------------------------------------------------------------------------ |
63 | 67 |
# Test settings for quantum |
64 | 68 |
#------------------------------------------------------------------------------ |
... | ... |
@@ -76,14 +80,14 @@ DEMO1_NUM_NET=1 |
76 | 76 |
DEMO2_NUM_NET=2 |
77 | 77 |
|
78 | 78 |
PUBLIC_NET1_CIDR="200.0.0.0/24" |
79 |
-DEMO1_NET1_CIDR="10.1.0.0/24" |
|
80 |
-DEMO2_NET1_CIDR="10.2.0.0/24" |
|
81 |
-DEMO2_NET2_CIDR="10.2.1.0/24" |
|
79 |
+DEMO1_NET1_CIDR="10.10.0.0/24" |
|
80 |
+DEMO2_NET1_CIDR="10.20.0.0/24" |
|
81 |
+DEMO2_NET2_CIDR="10.20.1.0/24" |
|
82 | 82 |
|
83 | 83 |
PUBLIC_NET1_GATEWAY="200.0.0.1" |
84 |
-DEMO1_NET1_GATEWAY="10.1.0.1" |
|
85 |
-DEMO2_NET1_GATEWAY="10.2.0.1" |
|
86 |
-DEMO2_NET2_GATEWAY="10.2.1.1" |
|
84 |
+DEMO1_NET1_GATEWAY="10.10.0.1" |
|
85 |
+DEMO2_NET1_GATEWAY="10.20.0.1" |
|
86 |
+DEMO2_NET2_GATEWAY="10.20.1.1" |
|
87 | 87 |
|
88 | 88 |
PUBLIC_NUM_VM=1 |
89 | 89 |
DEMO1_NUM_VM=1 |
... | ... |
@@ -188,7 +192,7 @@ function get_flavor_id { |
188 | 188 |
|
189 | 189 |
function confirm_server_active { |
190 | 190 |
local VM_UUID=$1 |
191 |
- if ! timeout $ACTIVE_TIMEOUT sh -c "while ! nova --no_cache show $VM_UUID | grep status | grep -q ACTIVE; do sleep 1; done"; then |
|
191 |
+ if ! timeout $ACTIVE_TIMEOUT sh -c "while ! nova show $VM_UUID | grep status | grep -q ACTIVE; do sleep 1; done"; then |
|
192 | 192 |
echo "server '$VM_UUID' did not become active!" |
193 | 193 |
false |
194 | 194 |
fi |
... | ... |
@@ -232,6 +236,7 @@ function create_tenants { |
232 | 232 |
source $TOP_DIR/openrc admin admin |
233 | 233 |
add_tenant demo1 demo1 demo1 |
234 | 234 |
add_tenant demo2 demo2 demo2 |
235 |
+ source $TOP_DIR/openrc demo demo |
|
235 | 236 |
} |
236 | 237 |
|
237 | 238 |
function delete_tenants_and_users { |
... | ... |
@@ -241,6 +246,7 @@ function delete_tenants_and_users { |
241 | 241 |
remove_user demo2 |
242 | 242 |
remove_tenant demo2 |
243 | 243 |
echo "removed all tenants" |
244 |
+ source $TOP_DIR/openrc demo demo |
|
244 | 245 |
} |
245 | 246 |
|
246 | 247 |
function create_network { |
... | ... |
@@ -256,12 +262,8 @@ function create_network { |
256 | 256 |
source $TOP_DIR/openrc $TENANT $TENANT |
257 | 257 |
local NET_ID=$(quantum net-create --tenant_id $TENANT_ID $NET_NAME $EXTRA| grep ' id ' | awk '{print $4}' ) |
258 | 258 |
quantum subnet-create --ip_version 4 --tenant_id $TENANT_ID --gateway $GATEWAY $NET_ID $CIDR |
259 |
- #T0DO(nati) comment out until l3-agent is merged |
|
260 |
- #local ROUTER_ID=$($QUANTUM router-create --tenant_id $TENANT_ID $ROUTER_NAME| grep ' id ' | awk '{print $4}' ) |
|
261 |
- #for NET_NAME in ${NET_NAMES//,/ };do |
|
262 |
- # SUBNET_ID=`get_subnet_id $NET_NAME` |
|
263 |
- # $QUANTUM router-interface-create $NAME --subnet_id $SUBNET_ID |
|
264 |
- #done |
|
259 |
+ quantum-debug probe-create $NET_ID |
|
260 |
+ source $TOP_DIR/openrc demo demo |
|
265 | 261 |
} |
266 | 262 |
|
267 | 263 |
function create_networks { |
... | ... |
@@ -285,7 +287,7 @@ function create_vm { |
285 | 285 |
done |
286 | 286 |
#TODO (nati) Add multi-nic test |
287 | 287 |
#TODO (nati) Add public-net test |
288 |
- local VM_UUID=`nova --no_cache boot --flavor $(get_flavor_id m1.tiny) \ |
|
288 |
+ local VM_UUID=`nova boot --flavor $(get_flavor_id m1.tiny) \ |
|
289 | 289 |
--image $(get_image_id) \ |
290 | 290 |
$NIC \ |
291 | 291 |
$TENANT-server$NUM | grep ' id ' | cut -d"|" -f3 | sed 's/ //g'` |
... | ... |
@@ -301,32 +303,26 @@ function ping_ip { |
301 | 301 |
# Test agent connection. Assumes namespaces are disabled, and |
302 | 302 |
# that DHCP is in use, but not L3 |
303 | 303 |
local VM_NAME=$1 |
304 |
- IP=`nova --no_cache show $VM_NAME | grep 'network' | awk '{print $5}'` |
|
305 |
- if ! timeout $BOOT_TIMEOUT sh -c "while ! ping -c1 -w1 $IP; do sleep 1; done"; then |
|
306 |
- echo "Could not ping $VM_NAME" |
|
307 |
- false |
|
308 |
- fi |
|
304 |
+ local NET_NAME=$2 |
|
305 |
+ IP=`nova show $VM_NAME | grep 'network' | awk '{print $5}'` |
|
306 |
+ ping_check $NET_NAME $IP $BOOT_TIMEOUT |
|
309 | 307 |
} |
310 | 308 |
|
311 | 309 |
function check_vm { |
312 | 310 |
local TENANT=$1 |
313 | 311 |
local NUM=$2 |
314 | 312 |
local VM_NAME="$TENANT-server$NUM" |
313 |
+ local NET_NAME=$3 |
|
315 | 314 |
source $TOP_DIR/openrc $TENANT $TENANT |
316 |
- ping_ip $VM_NAME |
|
315 |
+ ping_ip $VM_NAME $NET_NAME |
|
317 | 316 |
# TODO (nati) test ssh connection |
318 | 317 |
# TODO (nati) test inter connection between vm |
319 |
- # TODO (nati) test namespace dhcp |
|
320 | 318 |
# TODO (nati) test dhcp host routes |
321 | 319 |
# TODO (nati) test multi-nic |
322 |
- # TODO (nati) use test-agent |
|
323 |
- # TODO (nati) test L3 forwarding |
|
324 |
- # TODO (nati) test floating ip |
|
325 |
- # TODO (nati) test security group |
|
326 | 320 |
} |
327 | 321 |
|
328 | 322 |
function check_vms { |
329 |
- foreach_tenant_vm 'check_vm ${%TENANT%_NAME} %NUM%' |
|
323 |
+ foreach_tenant_vm 'check_vm ${%TENANT%_NAME} %NUM% ${%TENANT%_VM%NUM%_NET}' |
|
330 | 324 |
} |
331 | 325 |
|
332 | 326 |
function shutdown_vm { |
... | ... |
@@ -334,12 +330,12 @@ function shutdown_vm { |
334 | 334 |
local NUM=$2 |
335 | 335 |
source $TOP_DIR/openrc $TENANT $TENANT |
336 | 336 |
VM_NAME=${TENANT}-server$NUM |
337 |
- nova --no_cache delete $VM_NAME |
|
337 |
+ nova delete $VM_NAME |
|
338 | 338 |
} |
339 | 339 |
|
340 | 340 |
function shutdown_vms { |
341 | 341 |
foreach_tenant_vm 'shutdown_vm ${%TENANT%_NAME} %NUM%' |
342 |
- if ! timeout $TERMINATE_TIMEOUT sh -c "while nova --no_cache list | grep -q ACTIVE; do sleep 1; done"; then |
|
342 |
+ if ! timeout $TERMINATE_TIMEOUT sh -c "while nova list | grep -q ACTIVE; do sleep 1; done"; then |
|
343 | 343 |
echo "Some VMs failed to shutdown" |
344 | 344 |
false |
345 | 345 |
fi |
... | ... |
@@ -347,17 +343,22 @@ function shutdown_vms { |
347 | 347 |
|
348 | 348 |
function delete_network { |
349 | 349 |
local TENANT=$1 |
350 |
+ local NUM=$2 |
|
351 |
+ local NET_NAME="${TENANT}-net$NUM" |
|
350 | 352 |
source $TOP_DIR/openrc admin admin |
351 | 353 |
local TENANT_ID=$(get_tenant_id $TENANT) |
352 | 354 |
#TODO(nati) comment out until l3-agent merged |
353 | 355 |
#for res in port subnet net router;do |
354 |
- for res in port subnet net;do |
|
355 |
- quantum ${res}-list -F id -F tenant_id | grep $TENANT_ID | awk '{print $2}' | xargs -I % quantum ${res}-delete % |
|
356 |
+ for net_id in `quantum net-list -c id -c name | grep $NET_NAME | awk '{print $2}'`;do |
|
357 |
+ delete_probe $net_id |
|
358 |
+ quantum subnet-list | grep $net_id | awk '{print $2}' | xargs -I% quantum subnet-delete % |
|
359 |
+ quantum net-delete $net_id |
|
356 | 360 |
done |
361 |
+ source $TOP_DIR/openrc demo demo |
|
357 | 362 |
} |
358 | 363 |
|
359 | 364 |
function delete_networks { |
360 |
- foreach_tenant 'delete_network ${%TENANT%_NAME}' |
|
365 |
+ foreach_tenant_net 'delete_network ${%TENANT%_NAME} ${%NUM%}' |
|
361 | 366 |
#TODO(nati) add secuirty group check after it is implemented |
362 | 367 |
# source $TOP_DIR/openrc demo1 demo1 |
363 | 368 |
# nova secgroup-delete-rule default icmp -1 -1 0.0.0.0/0 |
... | ... |
@@ -474,6 +475,7 @@ main() { |
474 | 474 |
} |
475 | 475 |
|
476 | 476 |
|
477 |
+teardown_quantum |
|
477 | 478 |
#------------------------------------------------------------------------------- |
478 | 479 |
# Kick off script. |
479 | 480 |
#------------------------------------------------------------------------------- |
... | ... |
@@ -30,6 +30,12 @@ source $TOP_DIR/functions |
30 | 30 |
# Import configuration |
31 | 31 |
source $TOP_DIR/openrc |
32 | 32 |
|
33 |
+# Import quantum functions if needed |
|
34 |
+if is_service_enabled quantum; then |
|
35 |
+ source $TOP_DIR/lib/quantum |
|
36 |
+ setup_quantum |
|
37 |
+fi |
|
38 |
+ |
|
33 | 39 |
# Import exercise configuration |
34 | 40 |
source $TOP_DIR/exerciserc |
35 | 41 |
|
... | ... |
@@ -206,6 +212,10 @@ fi |
206 | 206 |
# Delete a secgroup |
207 | 207 |
nova secgroup-delete $SECGROUP || die "Failure deleting security group $SECGROUP" |
208 | 208 |
|
209 |
+if is_service_enabled quantum; then |
|
210 |
+ teardown_quantum |
|
211 |
+fi |
|
212 |
+ |
|
209 | 213 |
set +o xtrace |
210 | 214 |
echo "*********************************************************************" |
211 | 215 |
echo "SUCCESS: End DevStack Exercise: $0" |
... | ... |
@@ -872,7 +872,11 @@ function yum_install() { |
872 | 872 |
# ping check |
873 | 873 |
# Uses globals ``ENABLED_SERVICES`` |
874 | 874 |
function ping_check() { |
875 |
- _ping_check_novanet "$1" $2 $3 |
|
875 |
+ if is_service_enabled quantum; then |
|
876 |
+ _ping_check_quantum "$1" $2 $3 $4 |
|
877 |
+ return |
|
878 |
+ fi |
|
879 |
+ _ping_check_novanet "$1" $2 $3 $4 |
|
876 | 880 |
} |
877 | 881 |
|
878 | 882 |
# ping check for nova |
... | ... |
@@ -881,19 +885,39 @@ function _ping_check_novanet() { |
881 | 881 |
local from_net=$1 |
882 | 882 |
local ip=$2 |
883 | 883 |
local boot_timeout=$3 |
884 |
+ local expected=${4:-"True"} |
|
885 |
+ local check_command="" |
|
884 | 886 |
MULTI_HOST=`trueorfalse False $MULTI_HOST` |
885 | 887 |
if [[ "$MULTI_HOST" = "True" && "$from_net" = "$PRIVATE_NETWORK_NAME" ]]; then |
886 | 888 |
sleep $boot_timeout |
887 | 889 |
return |
888 | 890 |
fi |
889 |
- if ! timeout $boot_timeout sh -c "while ! ping -c1 -w1 $ip; do sleep 1; done"; then |
|
890 |
- echo "Couldn't ping server" |
|
891 |
+ if [[ "$expected" = "True" ]]; then |
|
892 |
+ check_command="while ! ping -c1 -w1 $ip; do sleep 1; done" |
|
893 |
+ else |
|
894 |
+ check_command="while ping -c1 -w1 $ip; do sleep 1; done" |
|
895 |
+ fi |
|
896 |
+ if ! timeout $boot_timeout sh -c "$check_command"; then |
|
897 |
+ if [[ "$expected" = "True" ]]; then |
|
898 |
+ echo "[Fail] Couldn't ping server" |
|
899 |
+ else |
|
900 |
+ echo "[Fail] Could ping server" |
|
901 |
+ fi |
|
891 | 902 |
exit 1 |
892 | 903 |
fi |
893 | 904 |
} |
894 | 905 |
|
895 | 906 |
# ssh check |
907 |
+ |
|
896 | 908 |
function ssh_check() { |
909 |
+ if is_service_enabled quantum; then |
|
910 |
+ _ssh_check_quantum "$1" $2 $3 $4 $5 |
|
911 |
+ return |
|
912 |
+ fi |
|
913 |
+ _ssh_check_novanet "$1" $2 $3 $4 $5 |
|
914 |
+} |
|
915 |
+ |
|
916 |
+function _ssh_check_novanet() { |
|
897 | 917 |
local NET_NAME=$1 |
898 | 918 |
local KEY_FILE=$2 |
899 | 919 |
local FLOATING_IP=$3 |
... | ... |
@@ -5,6 +5,8 @@ |
5 | 5 |
XTRACE=$(set +o | grep xtrace) |
6 | 6 |
set +o xtrace |
7 | 7 |
|
8 |
+export QUANTUM_TEST_CONFIG_FILE=${QUANTUM_TEST_CONFIG_FILE:-"/etc/quantum/debug.ini"} |
|
9 |
+ |
|
8 | 10 |
# Configures keystone integration for quantum service and agents |
9 | 11 |
function quantum_setup_keystone() { |
10 | 12 |
local conf_file=$1 |
... | ... |
@@ -57,5 +59,72 @@ function is_quantum_ovs_base_plugin() { |
57 | 57 |
return 1 |
58 | 58 |
} |
59 | 59 |
|
60 |
+function _get_net_id() { |
|
61 |
+ quantum --os-tenant-name admin --os-username admin --os-password $ADMIN_PASSWORD net-list | grep $1 | awk '{print $2}' |
|
62 |
+} |
|
63 |
+ |
|
64 |
+function _get_probe_cmd_prefix() { |
|
65 |
+ local from_net="$1" |
|
66 |
+ net_id=`_get_net_id $from_net` |
|
67 |
+ probe_id=`quantum-debug --os-tenant-name admin --os-username admin --os-password $ADMIN_PASSWORD probe-list -c id -c network_id | grep $net_id | awk '{print $2}' | head -n 1` |
|
68 |
+ echo "sudo ip netns exec qprobe-$probe_id" |
|
69 |
+} |
|
70 |
+ |
|
71 |
+function delete_probe() { |
|
72 |
+ local from_net="$1" |
|
73 |
+ net_id=`_get_net_id $from_net` |
|
74 |
+ probe_id=`quantum-debug --os-tenant-name admin --os-username admin --os-password $ADMIN_PASSWORD probe-list -c id -c network_id | grep $net_id | awk '{print $2}'` |
|
75 |
+ quantum-debug --os-tenant-name admin --os-username admin probe-delete $probe_id |
|
76 |
+} |
|
77 |
+ |
|
78 |
+function _ping_check_quantum() { |
|
79 |
+ local from_net=$1 |
|
80 |
+ local ip=$2 |
|
81 |
+ local timeout_sec=$3 |
|
82 |
+ local expected=${4:-"True"} |
|
83 |
+ local check_command="" |
|
84 |
+ probe_cmd=`_get_probe_cmd_prefix $from_net` |
|
85 |
+ if [[ "$expected" = "True" ]]; then |
|
86 |
+ check_command="while ! $probe_cmd ping -c1 -w1 $ip; do sleep 1; done" |
|
87 |
+ else |
|
88 |
+ check_command="while $probe_cmd ping -c1 -w1 $ip; do sleep 1; done" |
|
89 |
+ fi |
|
90 |
+ if ! timeout $timeout_sec sh -c "$check_command"; then |
|
91 |
+ if [[ "$expected" = "True" ]]; then |
|
92 |
+ echo "[Fail] Couldn't ping server" |
|
93 |
+ else |
|
94 |
+ echo "[Fail] Could ping server" |
|
95 |
+ fi |
|
96 |
+ exit 1 |
|
97 |
+ fi |
|
98 |
+} |
|
99 |
+ |
|
100 |
+# ssh check |
|
101 |
+function _ssh_check_quantum() { |
|
102 |
+ local from_net=$1 |
|
103 |
+ local key_file=$2 |
|
104 |
+ local ip=$3 |
|
105 |
+ local user=$4 |
|
106 |
+ local timeout_sec=$5 |
|
107 |
+ local probe_cmd = "" |
|
108 |
+ probe_cmd=`_get_probe_cmd_prefix $from_net` |
|
109 |
+ if ! timeout $timeout_sec sh -c "while ! $probe_cmd ssh -o StrictHostKeyChecking=no -i $key_file ${user}@$ip echo success ; do sleep 1; done"; then |
|
110 |
+ echo "server didn't become ssh-able!" |
|
111 |
+ exit 1 |
|
112 |
+ fi |
|
113 |
+} |
|
114 |
+ |
|
115 |
+function setup_quantum() { |
|
116 |
+ public_net_id=`_get_net_id $PUBLIC_NETWORK_NAME` |
|
117 |
+ quantum-debug --os-tenant-name admin --os-username admin --os-password $ADMIN_PASSWORD probe-create $public_net_id |
|
118 |
+ private_net_id=`_get_net_id $PRIVATE_NETWORK_NAME` |
|
119 |
+ quantum-debug --os-tenant-name admin --os-username admin --os-password $ADMIN_PASSWORD probe-create $private_net_id |
|
120 |
+} |
|
121 |
+ |
|
122 |
+function teardown_quantum() { |
|
123 |
+ delete_probe $PUBLIC_NETWORK_NAME |
|
124 |
+ delete_probe $PRIVATE_NETWORK_NAME |
|
125 |
+} |
|
126 |
+ |
|
60 | 127 |
# Restore xtrace |
61 | 128 |
$XTRACE |
... | ... |
@@ -73,5 +73,5 @@ export COMPUTE_API_VERSION=${COMPUTE_API_VERSION:-$NOVA_VERSION} |
73 | 73 |
# export KEYSTONECLIENT_DEBUG=1 |
74 | 74 |
# export NOVACLIENT_DEBUG=1 |
75 | 75 |
|
76 |
-# set qunatum debug command |
|
77 |
-export TEST_CONFIG_FILE=/etc/quantum/debug.ini |
|
76 |
+# set quantum debug command |
|
77 |
+export QUANTUM_TEST_CONFIG_FILE=${QUANTUM_TEST_CONFIG_FILE:-"/etc/quantum/debug.ini"} |
... | ... |
@@ -342,6 +342,8 @@ Q_USE_NAMESPACE=${Q_USE_NAMESPACE:-True} |
342 | 342 |
Q_USE_ROOTWRAP=${Q_USE_ROOTWRAP:-True} |
343 | 343 |
# Meta data IP |
344 | 344 |
Q_META_DATA_IP=${Q_META_DATA_IP:-$HOST_IP} |
345 |
+# Use quantum-debug command |
|
346 |
+Q_USE_DEBUG_COMMAND=${Q_USE_DEBUG_COMMAND:-False} |
|
345 | 347 |
|
346 | 348 |
RYU_DIR=$DEST/ryu |
347 | 349 |
# Ryu API Host |
... | ... |
@@ -1465,6 +1467,15 @@ if is_service_enabled quantum; then |
1465 | 1465 |
iniset $Q_CONF_FILE DEFAULT rabbit_host $RABBIT_HOST |
1466 | 1466 |
iniset $Q_CONF_FILE DEFAULT rabbit_password $RABBIT_PASSWORD |
1467 | 1467 |
fi |
1468 |
+ if [[ "$Q_USE_DEBUG_COMMAND" == "True" ]]; then |
|
1469 |
+ Q_DEBUG_CONF_FILE=/etc/quantum/debug.ini |
|
1470 |
+ cp $QUANTUM_DIR/etc/l3_agent.ini $Q_DEBUG_CONF_FILE |
|
1471 |
+ iniset $Q_L3_CONF_FILE DEFAULT verbose False |
|
1472 |
+ iniset $Q_L3_CONF_FILE DEFAULT debug False |
|
1473 |
+ iniset $Q_L3_CONF_FILE DEFAULT metadata_ip $Q_META_DATA_IP |
|
1474 |
+ iniset $Q_L3_CONF_FILE DEFAULT use_namespaces $Q_USE_NAMESPACE |
|
1475 |
+ iniset $Q_L3_CONF_FILE DEFAULT root_helper "sudo" |
|
1476 |
+ fi |
|
1468 | 1477 |
fi |
1469 | 1478 |
|
1470 | 1479 |
|