2017-07-02 22:38:32 +03:00
#!/usr/bin/env bash
2012-10-10 14:33:48 +04:00
# Copyright (C) 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,
2016-01-21 13:49:46 +03:00
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
2012-10-10 14:33:48 +04:00
2016-02-23 01:13:42 +03:00
SKIP_WITH_LVMLOCKD = 1
2015-10-27 02:45:37 +03:00
SKIP_WITHOUT_LVMETAD = 1
SKIP_WITH_LVMPOLLD = 1
2012-10-10 14:33:48 +04:00
2015-10-27 02:45:37 +03:00
. lib/inittest
2015-05-09 02:59:18 +03:00
2016-04-18 21:07:11 +03:00
aux prepare_devs 2
2017-07-10 11:40:09 +03:00
kill " $( < LOCAL_LVMETAD) "
2014-01-24 18:59:38 +04:00
while test -e " $TESTDIR /lvmetad.socket " ; do echo -n .; sleep .1; done # wait for the socket close
test ! -e " $LVM_LVMETAD_PIDFILE "
2012-10-10 14:33:48 +04:00
2016-04-18 21:07:11 +03:00
aux lvmconf "global/use_lvmetad = 0"
2018-05-01 19:32:15 +03:00
pvcreate " $dev1 "
2016-04-18 21:07:11 +03:00
pvcreate " $dev2 "
2018-05-01 19:32:15 +03:00
vgcreate $vg1 " $dev1 "
2016-04-18 21:07:11 +03:00
vgcreate $vg2 " $dev2 "
2018-05-01 19:32:15 +03:00
lvcreate -n $lv1 -l1 $vg1
2016-04-18 21:07:11 +03:00
pvs 2>& 1 | tee out
grep " $dev1 " out
grep " $dev2 " out
vgs 2>& 1 | tee out
grep $vg1 out
grep $vg2 out
aux lvmconf "global/use_lvmetad = 1"
2012-10-10 14:33:48 +04:00
lvmetad
2014-01-24 18:59:38 +04:00
while ! test -e " $TESTDIR /lvmetad.socket " ; do echo -n .; sleep .1; done # wait for the socket
test -e " $LVM_LVMETAD_PIDFILE "
cp " $LVM_LVMETAD_PIDFILE " LOCAL_LVMETAD
2018-05-01 19:32:15 +03:00
pvscan --cache
pvs 2>& 1 | tee out
grep " $dev1 " out
grep " $dev2 " out
not grep "WARNING: Not using lvmetad" out
# We don't care about the repair, and we know it's
# not valid on this lv. We are just running repair
# because we know one side effect is to disable lvmetad.
# FIXME: we should install lvmetactl so that we can
# use that to directly disable lvmetad for tests like this.
not lvconvert --repair $vg1 /$lv1 2>& 1 | tee out
2016-04-18 21:07:11 +03:00
grep "WARNING: Disabling lvmetad cache" out
2018-05-01 19:32:15 +03:00
pvs -vvvv 2>& 1 | tee out
2016-04-18 21:07:11 +03:00
grep " $dev1 " out
grep " $dev2 " out
grep "WARNING: Not using lvmetad" out
vgs 2>& 1 | tee out
grep $vg1 out
grep $vg2 out
grep "WARNING: Not using lvmetad" out
2018-05-01 19:32:15 +03:00
vgchange -an $vg1
vgremove -y $vg1 2>& 1 | tee out
2016-04-18 21:07:11 +03:00
grep "WARNING: Not using lvmetad" out
pvremove " $dev1 " 2>& 1 | tee out
grep "WARNING: Not using lvmetad" out
pvscan --cache 2>& 1 | tee out
not grep "WARNING: Disabling lvmetad cache" out
pvs 2>& 1 | tee out
not grep " $dev1 " out
grep " $dev2 " out
not grep "WARNING: Not using lvmetad" out
vgs 2>& 1 | tee out
not grep $vg1 out
grep $vg2 out
not grep "WARNING: Not using lvmetad" out
pvs --config 'global/use_lvmetad=0' 2>& 1 | tee out
not grep " $dev1 " out
grep " $dev2 " out
grep "WARNING: Not using lvmetad" out
grep "use_lvmetad=0" out
vgs --config 'global/use_lvmetad=0' 2>& 1 | tee out
not grep $vg1 out
grep $vg2 out
grep "WARNING: Not using lvmetad" out
grep "use_lvmetad=0" out
2012-10-10 14:33:48 +04:00