summaryrefslogtreecommitdiff
path: root/qa
diff options
context:
space:
mode:
authorSage Weil <sage@inktank.com>2012-05-17 18:18:10 -0700
committerSage Weil <sage@inktank.com>2012-05-18 16:23:58 -0700
commit777b739b10e1122196255b897c02d695d06f916e (patch)
tree04e60301c314b4921b2eb473285e4abdda00ecbc /qa
parent3920ce308a07f5b393c3fe9263a273c10069e1e1 (diff)
downloadceph-777b739b10e1122196255b897c02d695d06f916e.tar.gz
qa: add mon test for seeding bootstrap mon peers via admin socket
Signed-off-by: Sage Weil <sage@inktank.com>
Diffstat (limited to 'qa')
-rwxr-xr-xqa/mon/bootstrap/initial_members_asok.sh66
1 files changed, 66 insertions, 0 deletions
diff --git a/qa/mon/bootstrap/initial_members_asok.sh b/qa/mon/bootstrap/initial_members_asok.sh
new file mode 100755
index 00000000000..473f8dec815
--- /dev/null
+++ b/qa/mon/bootstrap/initial_members_asok.sh
@@ -0,0 +1,66 @@
+#!/bin/sh -ex
+
+cwd=`pwd`
+cat > conf <<EOF
+[mon]
+log file = $cwd/\$name.log
+debug mon = 20
+debug ms = 1
+debug asok = 20
+mon initial members = a,b,d
+admin socket = $cwd/\$name.asok
+EOF
+
+rm -f mm
+fsid=`uuidgen`
+
+rm -f keyring
+ceph-authtool --create-keyring keyring --gen-key -n client.admin
+ceph-authtool keyring --gen-key -n mon.
+
+ceph-mon -c conf -i a --mkfs --fsid $fsid --mon-data mon.a -k keyring
+ceph-mon -c conf -i b --mkfs --fsid $fsid --mon-data mon.b -k keyring
+ceph-mon -c conf -i c --mkfs --fsid $fsid --mon-data mon.c -k keyring
+
+ceph-mon -c conf -i a --mon-data mon.a --public-addr 127.0.0.1:6789
+ceph-mon -c conf -i b --mon-data mon.c --public-addr 127.0.0.1:6790
+ceph-mon -c conf -i c --mon-data mon.b --public-addr 127.0.0.1:6791
+
+sleep 1
+
+if timeout 5 ceph -c conf -k keyring -m localhost mon stat | grep "a,b,c" ; then
+ echo WTF
+ exit 1
+fi
+
+ceph --admin-daemon mon.a.asok add_bootstrap_peer_hint 127.0.0.1:6790
+
+while true; do
+ if ceph -c conf -k keyring -m 127.0.0.1 mon stat | grep 'a,b'; then
+ break
+ fi
+ sleep 1
+done
+
+ceph --admin-daemon mon.c.asok add_bootstrap_peer_hint 127.0.0.1:6790
+
+while true; do
+ if ceph -c conf -k keyring -m 127.0.0.1 mon stat | grep 'a,b,c'; then
+ break
+ fi
+ sleep 1
+done
+
+ceph-mon -c conf -i d --mkfs --fsid $fsid --mon-data mon.d -k keyring
+ceph-mon -c conf -i d --mon-data mon.d --public-addr 127.0.0.1:6792
+ceph --admin-daemon mon.d.asok add_bootstrap_peer_hint 127.0.0.1:6790
+
+while true; do
+ if ceph -c conf -k keyring -m 127.0.0.1 mon stat | grep 'a,b,c,d'; then
+ break
+ fi
+ sleep 1
+done
+
+killall ceph-mon
+echo OK