1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-22 17:35:59 +03:00

test: add make check_lvmlockd_test

Which runs lvmlockd in --test mode, without
any lock manager.

Also make some adjustments to the check_lvmlockd
variations using the lock managds.
This commit is contained in:
David Teigland 2016-01-14 16:12:46 -06:00
parent ed5e5c38b5
commit 161ae36363
11 changed files with 100 additions and 19 deletions

View File

@ -3365,6 +3365,11 @@ static void *worker_thread_main(void *arg_in)
int run_sanlock = lm_is_running_sanlock(); int run_sanlock = lm_is_running_sanlock();
int run_dlm = lm_is_running_dlm(); int run_dlm = lm_is_running_dlm();
if (daemon_test) {
run_sanlock = gl_use_sanlock;
run_dlm = gl_use_dlm;
}
if (run_sanlock && run_dlm) if (run_sanlock && run_dlm)
act->result = -EXFULL; act->result = -EXFULL;
else if (!run_sanlock && !run_dlm) else if (!run_sanlock && !run_dlm)

View File

@ -74,6 +74,7 @@ help:
@echo " check_lvmpolld Run tests with lvmpolld daemon." @echo " check_lvmpolld Run tests with lvmpolld daemon."
@echo " check_lvmlockd_sanlock Run tests with lvmlockd and sanlock." @echo " check_lvmlockd_sanlock Run tests with lvmlockd and sanlock."
@echo " check_lvmlockd_dlm Run tests with lvmlockd and dlm." @echo " check_lvmlockd_dlm Run tests with lvmlockd and dlm."
@echo " check_lvmlockd_test Run tests with lvmlockd --test."
@echo " clean Clean dir." @echo " clean Clean dir."
@echo " help Display callable targets." @echo " help Display callable targets."
@echo -e "\nSupported variables:" @echo -e "\nSupported variables:"
@ -146,26 +147,21 @@ ifeq ("@BUILD_LVMLOCKD@", "yes")
check_lvmlockd_sanlock: .tests-stamp check_lvmlockd_sanlock: .tests-stamp
VERBOSE=$(VERBOSE) ./lib/runner \ VERBOSE=$(VERBOSE) ./lib/runner \
--testdir . --outdir results \ --testdir . --outdir results \
--flavours udev-lvmlockd-sanlock --only shell/sanlock-prepare.sh --flavours udev-lvmlockd-sanlock --only shell/aa-lvmlockd-sanlock-prepare.sh,$(T),shell/zz-lvmlockd-sanlock-remove.sh --skip $(S)
VERBOSE=$(VERBOSE) ./lib/runner \
--testdir . --outdir results \
--flavours udev-lvmlockd-sanlock --only $(T) --skip $(S)
VERBOSE=$(VERBOSE) ./lib/runner \
--testdir . --outdir results \
--flavours udev-lvmlockd-sanlock --only shell/sanlock-remove.sh
endif endif
ifeq ("@BUILD_LVMLOCKD@", "yes") ifeq ("@BUILD_LVMLOCKD@", "yes")
check_lvmlockd_dlm: .tests-stamp check_lvmlockd_dlm: .tests-stamp
VERBOSE=$(VERBOSE) ./lib/runner \ VERBOSE=$(VERBOSE) ./lib/runner \
--testdir . --outdir results \ --testdir . --outdir results \
--flavours udev-lvmlockd-dlm --only shell/dlm-prepare.sh --flavours udev-lvmlockd-dlm --only shell/aa-lvmlockd-dlm-prepare.sh,$(T),shell/zz-lvmlockd-dlm-remove.sh --skip $(S)
endif
ifeq ("@BUILD_LVMLOCKD@", "yes")
check_lvmlockd_test: .tests-stamp
VERBOSE=$(VERBOSE) ./lib/runner \ VERBOSE=$(VERBOSE) ./lib/runner \
--testdir . --outdir results \ --testdir . --outdir results \
--flavours udev-lvmlockd-dlm --only $(T) --skip $(S) --flavours udev-lvmlockd-test --only shell/aa-lvmlockd-test-prepare.sh,$(T),shell/zz-lvmlockd-test-remove.sh --skip $(S)
VERBOSE=$(VERBOSE) ./lib/runner \
--testdir . --outdir results \
--flavours udev-lvmlockd-dlm --only shell/dlm-remove.sh
endif endif
DATADIR = $(datadir)/lvm2-testsuite DATADIR = $(datadir)/lvm2-testsuite
@ -185,6 +181,7 @@ LIB_FLAVOURS = \
flavour-udev-lvmpolld\ flavour-udev-lvmpolld\
flavour-udev-lvmlockd-sanlock\ flavour-udev-lvmlockd-sanlock\
flavour-udev-lvmlockd-dlm\ flavour-udev-lvmlockd-dlm\
flavour-udev-lvmlockd-test\
flavour-udev-vanilla flavour-udev-vanilla
LIB_LVMLOCKD_CONF = \ LIB_LVMLOCKD_CONF = \

View File

@ -0,0 +1,6 @@
export LVM_TEST_LOCKING=1
export LVM_TEST_LVMETAD=1
export LVM_TEST_LVMPOLLD=1
export LVM_TEST_LVMLOCKD=1
export LVM_TEST_LVMLOCKD_TEST=1
export LVM_TEST_DEVDIR=/dev

View File

@ -1,2 +1,2 @@
# created by lvm test suite # created by lvm test suite
SANLOCKOPTS="-U sanlock -G sanlock -w 0" use_watchdog=0

View File

@ -16,7 +16,7 @@ test_description='Set up things to run tests with sanlock'
[ -z "$LVM_TEST_LOCK_TYPE_SANLOCK" ] && skip; [ -z "$LVM_TEST_LOCK_TYPE_SANLOCK" ] && skip;
SANLOCK_CONF="/etc/sysconfig/sanlock" SANLOCK_CONF="/etc/sanlock/sanlock.conf"
create_sanlock_conf() { create_sanlock_conf() {
if test -a $SANLOCK_CONF; then if test -a $SANLOCK_CONF; then
if ! grep "created by lvm test suite" $SANLOCK_CONF; then if ! grep "created by lvm test suite" $SANLOCK_CONF; then
@ -43,9 +43,7 @@ prepare_lvmlockd_sanlock() {
create_sanlock_conf create_sanlock_conf
# FIXME: use 'systemctl start sanlock' once we can pass options systemctl start sanlock
sanlock daemon -U sanlock -G sanlock -w 0 -e testhostname
sleep 1
if ! pgrep sanlock; then if ! pgrep sanlock; then
echo "Failed to start sanlock" echo "Failed to start sanlock"
exit 1 exit 1

View File

@ -0,0 +1,44 @@
#!/bin/sh
# Copyright (C) 2008-2012 Red Hat, Inc. All rights reserved.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions
# of the GNU General Public License v.2.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software Foundation,
# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
test_description='Set up things to run tests with lvmlockd'
. lib/utils
. lib/inittest
[ -z "$LVM_TEST_LVMLOCKD_TEST" ] && skip;
# TODO: allow this to be configured sanlock/dlm
LVM_TEST_LVMLOCKD_TEST_DLM=1
prepare_lvmlockd_test() {
if pgrep lvmlockd ; then
echo "Cannot run while existing lvmlockd process exists"
exit 1
fi
if test -n "$LVM_TEST_LVMLOCKD_TEST_SANLOCK"; then
lvmlockd --test -g sanlock
fi
if test -n "$LVM_TEST_LVMLOCKD_TEST_DLM"; then
lvmlockd --test -g dlm
fi
sleep 1
if ! pgrep lvmlockd ; then
echo "Failed to start lvmlockd"
exit 1
fi
}
prepare_lvmlockd_test

View File

@ -27,6 +27,12 @@ LOCKARGS2="dlm"
LOCKARGS3="dlm" LOCKARGS3="dlm"
fi fi
if test -n "$LVM_TEST_LVMLOCKD_TEST" ; then
LOCKARGS1="dlm"
LOCKARGS2="dlm"
LOCKARGS3="dlm"
fi
aux prepare_devs 5 aux prepare_devs 5
vgcreate --shared $vg "$dev1" "$dev2" "$dev3" "$dev4" "$dev5" vgcreate --shared $vg "$dev1" "$dev2" "$dev3" "$dev4" "$dev5"

View File

@ -27,10 +27,12 @@ vgremove --config 'devices { global_filter=["a|GL_DEV|", "r|.*|"] filter=["a|GL_
# sanlock log_dump > sanlock-debug.txt # sanlock log_dump > sanlock-debug.txt
killall lvmlockd killall lvmlockd
sleep 1
killall sanlock killall sanlock
sleep 1
killall -9 lvmlockd killall -9 lvmlockd || true
killall -9 sanlock killall -9 sanlock || true
# FIXME: dmsetup remove LVMTEST*-lvmlock # FIXME: dmsetup remove LVMTEST*-lvmlock

View File

@ -0,0 +1,23 @@
#!/bin/sh
# Copyright (C) 2008-2012 Red Hat, Inc. All rights reserved.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions
# of the GNU General Public License v.2.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software Foundation,
# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
test_description='Remove the dlm test setup'
. lib/inittest
[ -z "$LVM_TEST_LVMLOCKD_TEST" ] && skip;
killall lvmlockd
sleep 1
killall lvmlockd || true
sleep 1
killall -9 lvmlockd || true