... | ... |
@@ -1,4 +1,4 @@ |
1 |
-#!/usr/bin/env bash |
|
1 |
+#!/bin/bash |
|
2 | 2 |
|
3 | 3 |
# **clean.sh** |
4 | 4 |
|
... | ... |
@@ -83,7 +83,10 @@ if [[ -d $TOP_DIR/extras.d ]]; then |
83 | 83 |
fi |
84 | 84 |
|
85 | 85 |
# Clean projects |
86 |
-cleanup_cinder |
|
86 |
+ |
|
87 |
+# BUG: cinder tgt doesn't exit cleanly if it's not running. |
|
88 |
+cleanup_cinder || /bin/true |
|
89 |
+ |
|
87 | 90 |
cleanup_glance |
88 | 91 |
cleanup_keystone |
89 | 92 |
cleanup_nova |
90 | 93 |
new file mode 100755 |
... | ... |
@@ -0,0 +1,24 @@ |
0 |
+#!/bin/bash -xe |
|
1 |
+# |
|
2 |
+# An up / down test for gate functional testing |
|
3 |
+# |
|
4 |
+# Note: this is expected to start running as jenkins |
|
5 |
+ |
|
6 |
+# Step 1: give back sudoers permissions to devstack |
|
7 |
+TEMPFILE=`mktemp` |
|
8 |
+echo "stack ALL=(root) NOPASSWD:ALL" >$TEMPFILE |
|
9 |
+chmod 0440 $TEMPFILE |
|
10 |
+sudo chown root:root $TEMPFILE |
|
11 |
+sudo mv $TEMPFILE /etc/sudoers.d/51_stack_sh |
|
12 |
+ |
|
13 |
+# TODO: do something to start a guest to create crud that should |
|
14 |
+# disappear |
|
15 |
+ |
|
16 |
+# Step 2: unstack |
|
17 |
+echo "Running unstack.sh" |
|
18 |
+sudo -H -u stack stdbuf -oL -eL bash -ex ./unstack.sh |
|
19 |
+ |
|
20 |
+# Step 3: clean |
|
21 |
+echo "Running clean.sh" |
|
22 |
+sudo -H -u stack stdbuf -oL -eL bash -ex ./clean.sh |
|
23 |
+ |
... | ... |
@@ -28,17 +28,14 @@ function cleanup_database_mysql { |
28 | 28 |
stop_service $MYSQL |
29 | 29 |
if is_ubuntu; then |
30 | 30 |
# Get ruthless with mysql |
31 |
- stop_service $MYSQL |
|
32 | 31 |
apt_get purge -y mysql* mariadb* |
33 | 32 |
sudo rm -rf /var/lib/mysql |
34 | 33 |
sudo rm -rf /etc/mysql |
35 | 34 |
return |
36 | 35 |
elif is_fedora; then |
37 |
- stop_service mariadb |
|
38 | 36 |
uninstall_package mariadb-server |
39 | 37 |
sudo rm -rf /var/lib/mysql |
40 | 38 |
elif is_suse; then |
41 |
- stop_service mysql |
|
42 | 39 |
uninstall_package mysql-community-server |
43 | 40 |
sudo rm -rf /var/lib/mysql |
44 | 41 |
else |
... | ... |
@@ -40,7 +40,10 @@ function start_dstat { |
40 | 40 |
|
41 | 41 |
# stop_dstat() stop dstat process |
42 | 42 |
function stop_dstat { |
43 |
- screen_stop dstat |
|
43 |
+ # dstat runs as a console, not as a service, and isn't trackable |
|
44 |
+ # via the normal mechanisms for devstack. So lets just do a |
|
45 |
+ # killall and move on. |
|
46 |
+ killall dstat || /bin/true |
|
44 | 47 |
} |
45 | 48 |
|
46 | 49 |
# Restore xtrace |
... | ... |
@@ -74,7 +74,8 @@ function cleanup_rpc_backend { |
74 | 74 |
if is_service_enabled rabbit; then |
75 | 75 |
# Obliterate rabbitmq-server |
76 | 76 |
uninstall_package rabbitmq-server |
77 |
- sudo killall epmd || sudo killall -9 epmd |
|
77 |
+ # in case it's not actually running, /bin/true at the end |
|
78 |
+ sudo killall epmd || sudo killall -9 epmd || /bin/true |
|
78 | 79 |
if is_ubuntu; then |
79 | 80 |
# And the Erlang runtime too |
80 | 81 |
apt_get purge -y erlang* |
... | ... |
@@ -1,4 +1,4 @@ |
1 |
-#!/usr/bin/env bash |
|
1 |
+#!/bin/bash |
|
2 | 2 |
|
3 | 3 |
# **unstack.sh** |
4 | 4 |
|
... | ... |
@@ -138,10 +138,13 @@ fi |
138 | 138 |
|
139 | 139 |
SCSI_PERSIST_DIR=$CINDER_STATE_PATH/volumes/* |
140 | 140 |
|
141 |
+# BUG: tgt likes to exit 1 on service stop if everything isn't |
|
142 |
+# perfect, we should clean up cinder stop paths. |
|
143 |
+ |
|
141 | 144 |
# Get the iSCSI volumes |
142 | 145 |
if is_service_enabled cinder; then |
143 |
- stop_cinder |
|
144 |
- cleanup_cinder |
|
146 |
+ stop_cinder || /bin/true |
|
147 |
+ cleanup_cinder || /bin/true |
|
145 | 148 |
fi |
146 | 149 |
|
147 | 150 |
if [[ -n "$UNSTACK_ALL" ]]; then |
... | ... |
@@ -181,4 +184,5 @@ if [[ -n "$SCREEN" ]]; then |
181 | 181 |
fi |
182 | 182 |
fi |
183 | 183 |
|
184 |
-clean_lvm_volume_group $DEFAULT_VOLUME_GROUP_NAME |
|
184 |
+# BUG: maybe it doesn't exist? We should isolate this further down. |
|
185 |
+clean_lvm_volume_group $DEFAULT_VOLUME_GROUP_NAME || /bin/true |