Date: Mon, 29 Jan 2018 23:53:53 +0000 (UTC) From: Alan Somers <asomers@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r328572 - in projects/zfsd/head/tests/sys/cddl/zfs: include tests/hotplug Message-ID: <201801292353.w0TNrrU8069899@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: asomers Date: Mon Jan 29 23:53:53 2018 New Revision: 328572 URL: https://svnweb.freebsd.org/changeset/base/328572 Log: Enable some of the ZFS test suite's hotplug tests. The hotplug subdirectory has never previously been ported to FreeBSD, because its tests relied on the Solaris-specific lofiadm(8) command. I ported three of them, taking advantage of gnop(8) to simulate device departure and arrival. I left the other 8 disabled because they're redundant, Solaris-specific, or useless. tests/sys/cddl/zfs/include/Makefile tests/sys/cddl/zfs/include/libgnop.kshlib Add a library for manipulating gnop devices. In the future, I intend to adapt the zfsd tests to use this library rather than libsas.kshlib. tests/sys/cddl/zfs/tests/hotplug/cleanup.ksh tests/sys/cddl/zfs/tests/hotplug/hotplug.cfg tests/sys/cddl/zfs/tests/hotplug/hotplug.kshlib tests/sys/cddl/zfs/tests/hotplug/hotplug_001_pos.ksh tests/sys/cddl/zfs/tests/hotplug/hotplug_008_pos.ksh tests/sys/cddl/zfs/tests/hotplug/hotplug_011_pos.ksh tests/sys/cddl/zfs/tests/hotplug/setup.ksh Port all this stuff to FreeBSD: * Remove all references to FMA * Instead of lofiadm(8) (roughly equivalent to vnode-backed md(4) devices), use gnop(8) on top of real disks. * Remove references to zones * Don't bother doing background I/O. It's completely superfluous to the purpose of these tests. * Use ATF cleanup routines instead of the log_onexitmethod. * Remove superfluous references to the autoreplace property. tests/sys/cddl/zfs/tests/hotplug/hotplug_011_pos.ksh Instead of unloading the ZFS module to simulate a reboot, simply export the pool. It's the same thing from ZFS's perspective. tests/sys/cddl/zfs/tests/hotplug/hotplug_test.sh Enable the three aforementioned tests. Add comments to the others indicating why I'm skipping them. Reduce extra-long timeouts to the default 5 minutes. Sponsored by: Spectra Logic Corp Added: projects/zfsd/head/tests/sys/cddl/zfs/include/libgnop.kshlib Modified: projects/zfsd/head/tests/sys/cddl/zfs/include/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/hotplug/cleanup.ksh projects/zfsd/head/tests/sys/cddl/zfs/tests/hotplug/hotplug.cfg projects/zfsd/head/tests/sys/cddl/zfs/tests/hotplug/hotplug.kshlib projects/zfsd/head/tests/sys/cddl/zfs/tests/hotplug/hotplug_001_pos.ksh projects/zfsd/head/tests/sys/cddl/zfs/tests/hotplug/hotplug_008_pos.ksh projects/zfsd/head/tests/sys/cddl/zfs/tests/hotplug/hotplug_011_pos.ksh projects/zfsd/head/tests/sys/cddl/zfs/tests/hotplug/hotplug_test.sh projects/zfsd/head/tests/sys/cddl/zfs/tests/hotplug/setup.ksh Modified: projects/zfsd/head/tests/sys/cddl/zfs/include/Makefile ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/include/Makefile Mon Jan 29 23:43:04 2018 (r328571) +++ projects/zfsd/head/tests/sys/cddl/zfs/include/Makefile Mon Jan 29 23:53:53 2018 (r328572) @@ -13,6 +13,7 @@ FILESDIR= ${TESTSBASE}/sys/cddl/zfs/include ${PACKAGE}FILES+= constants.cfg ${PACKAGE}FILES+= libremote.kshlib ${PACKAGE}FILES+= libsas.kshlib +${PACKAGE}FILES+= libgnop.kshlib ${PACKAGE}FILES+= logapi.kshlib ${PACKAGE}FILES+= libtest.kshlib ${PACKAGE}FILES+= stf.shlib Added: projects/zfsd/head/tests/sys/cddl/zfs/include/libgnop.kshlib ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/zfsd/head/tests/sys/cddl/zfs/include/libgnop.kshlib Mon Jan 29 23:53:53 2018 (r328572) @@ -0,0 +1,89 @@ +# +# Copyright (c) 2017 Spectra Logic Corporation +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions, and the following disclaimer, +# without modification. +# 2. Redistributions in binary form must reproduce at minimum a disclaimer +# substantially similar to the "NO WARRANTY" disclaimer below +# ("Disclaimer") and any redistribution must be conditioned upon +# including a substantially similar Disclaimer requirement for further +# binary redistribution. +# +# NO WARRANTY +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING +# IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGES. +# +# $FreeBSD$ +# + +# +# Routines that use gnop(8) to simulate devices that can disappear at any time +# + +# Create a gnop device on top of a real device. Don't use the full extent; use +# a portion in the middle so that any ZFS label present on the real device +# won't be present on the gnop device and vice versa. +function create_gnop +{ + typeset disk=$1 + # size of disk in bytes + typeset -li disk_size + # disk size, rounded down to multiple of 16384 + typeset -li disk_size_rounded + # size of the nop device in bytes + typeset -li nop_size + # offset of the beginning of the nop device in bytes + typeset -li nop_offset + + disk_size=`diskinfo da0 | cut -f 3` + # Round it down so the nop device will be 4k-aligned + disk_size_rounded=$(( ${disk_size} / 16384 * 16384 )) + nop_size=$(( ${disk_size_rounded} / 4 )) + nop_offset=${nop_size} + + gnop create -s ${nop_size} -o ${nop_offset} ${disk} +} + +# Create multiple gnop devices +function create_gnops +{ + typeset disk + for disk in $@; do + create_gnop "$disk" || return 1 + done + return 0 +} + +# Destroy a gnop device. +function destroy_gnop +{ + # Name of the underlying (non-gnop) device + typeset disk=$1 + + # Use "-f" so we can destroy a gnop with a consumer (like ZFS) + gnop destroy -f ${disk}.nop +} + +# Destroy multiple gnop devices. Attempt to destroy them all, ignoring errors +function destroy_gnops +{ + typeset disk + for disk in $@; do + destroy_gnop "$disk" + done + return 0 +} Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/hotplug/cleanup.ksh ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/hotplug/cleanup.ksh Mon Jan 29 23:43:04 2018 (r328571) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/hotplug/cleanup.ksh Mon Jan 29 23:53:53 2018 (r328572) @@ -29,22 +29,5 @@ . $STF_SUITE/tests/hotplug/hotplug.kshlib -if ! $LOFIADM -f > /dev/null 2>&1; then - log_unsupported -fi - -verify_runnable "global" - cleanup_testenv $TESTPOOL -log_must destroy_lofi_device $ALL_FILES - -# -# record repair to resource(s) to cleanup fma faulty -# -log_must repair_faulty - -if [[ -d $VDEV_DIR ]]; then - log_must $RM -rf $VDEV_DIR -fi - -log_pass +destroy_gnops $ALL_DISKS Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/hotplug/hotplug.cfg ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/hotplug/hotplug.cfg Mon Jan 29 23:43:04 2018 (r328571) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/hotplug/hotplug.cfg Mon Jan 29 23:53:53 2018 (r328572) @@ -26,16 +26,8 @@ # ident "@(#)hotplug.cfg 1.3 08/08/15 SMI" # -export STF_TIMEOUT=1800 +export DEV_DISKS="$DISK0 $DISK1 $DISK2" +export SPARE_DISKS="$DISK3" +export ALL_DISKS="$DEV_DISKS $SPARE_DISKS" -export BG_PID='' - -export VDEV_DIR=/disk.${TESTCASE_ID} -export FILE_EVENT_ID=$VDEV_DIR/fma-event-id - -export NEWFILE=$VDEV_DIR/e -export SMALLFILE=$VDEV_DIR/smalldisk - -export DEV_FILES="$VDEV_DIR/a $VDEV_DIR/b $VDEV_DIR/c" -export SPARE_FILES="$VDEV_DIR/d" -export ALL_FILES="$DEV_FILES $SPARE_FILES $NEWFILE $SMALLFILE" +set_disks Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/hotplug/hotplug.kshlib ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/hotplug/hotplug.kshlib Mon Jan 29 23:43:04 2018 (r328571) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/hotplug/hotplug.kshlib Mon Jan 29 23:53:53 2018 (r328572) @@ -27,6 +27,8 @@ # . $STF_SUITE/include/libtest.kshlib +. $STF_SUITE/include/libgnop.kshlib +. $STF_SUITE/tests/hotplug/hotplug.cfg # # create lofi devices @@ -76,33 +78,20 @@ function destroy_lofi_device } # -# Setup test environment using FILE[1-4] +# Setup test environment using DISKS[1-4] # -# $1 pool name -# $2 pool type +# $1 pool type # function setup_testenv { - typeset pool=$1 - typeset type=$2 + typeset type=$1 - if [[ -z $pool || -z $type ]]; then - log_fail "Usage: setup_testenv <pool> <type>" + if [[ -z $type ]]; then + log_fail "Usage: setup_testenv <type>" fi - log_must repair_faulty - - log_must create_lofi_device $DEV_FILES $SPARE_FILES - - typeset devlist=$(convert_lofi $DEV_FILES) - typeset sparelist=$(convert_lofi $SPARE_FILES) - typeset spare=$(random_get_with_non "spare") log_must $ZPOOL create -f \ - $pool $type $devlist $spare $sparelist - log_must start_bg_write $pool - - # Provide 10 seconds for background process to write - $SLEEP 10 + $TESTPOOL $type ${DISK0}.nop ${DISK1}.nop ${DISK2}.nop ${DISK3}.nop } # @@ -112,35 +101,7 @@ function setup_testenv # function cleanup_testenv { - typeset pool=$1 - - if [[ -z $pool ]]; then - log_fail "Usage: cleanup_testenv <pool>" - fi - - log_must repair_faulty - - kill_bg_write - log_must $SYNC - $SLEEP 10 - - typeset -i i=0 - if datasetexists $pool; then - typeset mntpnt=$(get_prop mountpoint $pool) - # Try three times in order to ensure successful pool destruction - while ((i < 3)); do - $ZPOOL destroy -f $pool - if (($? == 0)); then - break - fi - $SLEEP 5 - ((i += 1)) - done - fi - - if ((i == 3)); then - log_fail "Unable to destroy $pool, even after 3 attempts." - fi + destroy_pool $TESTPOOL } @@ -350,22 +311,6 @@ function getfmri start = 0 } (start == 3) {print $4}' > $output_file -} - -# -# Repair all the fma error in current system -# -function repair_faulty -{ - getfmri $FILE_EVENT_ID - while read item; do - $FMADM repair $item > /dev/null 2>&1 - if (($? != 0)); then - return 1 - fi - done < $FILE_EVENT_ID - - return 0 } # Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/hotplug/hotplug_001_pos.ksh ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/hotplug/hotplug_001_pos.ksh Mon Jan 29 23:43:04 2018 (r328571) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/hotplug/hotplug_001_pos.ksh Mon Jan 29 23:53:53 2018 (r328572) @@ -37,7 +37,7 @@ # # DESCRIPTION: # When removing a device from a redundant pool, the device's state will -# be indicated as 'REMOVED'. No FMA faulty message. +# be indicated as 'REMOVED'. # # STRATEGY: # 1. Create mirror/raidz/raidz2 pool. @@ -56,31 +56,19 @@ # ################################################################################ -verify_runnable "global" - -function cleanup -{ - cleanup_testenv $TESTPOOL -} - log_assert "When removing a device from a redundant pool, the device's " \ - "state will be indicated as 'REMOVED'. No FMA faulty message." -log_onexit cleanup + "state will be indicated as 'REMOVED'." for type in "mirror" "raidz" "raidz2"; do log_note "Start $type testing ..." - setup_testenv $TESTPOOL $type + setup_testenv $type - typeset file=$(random_get $DEV_FILES) - typeset device=$(convert_lofi $file) - log_must remove_device $device - log_must $ZPOOL clear $TESTPOOL + log_must destroy_gnop $DISK0 + log_must check_state $TESTPOOL ${DISK0}.nop 'REMOVED' - log_must verify_device_status $TESTPOOL $device 'REMOVED' - log_must fma_faulty 'FALSE' - + log_must create_gnop $DISK0 cleanup_testenv $TESTPOOL done log_pass "When removing a device from a redundant pool, the device's " \ - "state will be indicated as 'REMOVED'. No FMA faulty message." + "state will be indicated as 'REMOVED'." Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/hotplug/hotplug_008_pos.ksh ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/hotplug/hotplug_008_pos.ksh Mon Jan 29 23:43:04 2018 (r328571) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/hotplug/hotplug_008_pos.ksh Mon Jan 29 23:53:53 2018 (r328572) @@ -56,33 +56,16 @@ # ################################################################################ -log_unsupported "Hotplugging of hotspare devices is not supported." - -verify_runnable "global" - -function cleanup -{ - cleanup_testenv $TESTPOOL -} - log_assert "When removing hotspare device, verify device status is 'REMOVED'." -log_onexit cleanup for type in "mirror" "raidz" "raidz2"; do - log_must create_lofi_device $DEV_FILES $SPARE_FILES - log_must $ZPOOL create -f $TESTPOOL $type $DEV_FILES spare $SPARE_FILES - log_must start_bg_write $TESTPOOL - typeset val=$(random_get "on" "off") - log_must $ZPOOL set autoreplace=$val $TESTPOOL + log_must $ZPOOL create -f $TESTPOOL $type $DISK0.nop $DISK1.nop $DISK2.nop spare $DISK3.nop - typeset file=$(random_get $SPARE_FILES) - typeset device=$(convert_lofi $file) - log_must remove_device $device - log_must $ZPOOL clear $TESTPOOL + log_must destroy_gnop $DISK3 + wait_for 15 1 check_state $TESTPOOL $DISK3.nop 'REMOVED' + log_must check_state $TESTPOOL $DISK3.nop 'REMOVED' - log_must verify_device_status $TESTPOOL $device 'REMOVED' - log_must fma_faulty 'TRUE' - + log_must create_gnop $DISK3 cleanup_testenv $TESTPOOL done Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/hotplug/hotplug_011_pos.ksh ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/hotplug/hotplug_011_pos.ksh Mon Jan 29 23:43:04 2018 (r328571) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/hotplug/hotplug_011_pos.ksh Mon Jan 29 23:53:53 2018 (r328572) @@ -58,62 +58,25 @@ # ################################################################################ -verify_runnable "global" +log_assert "If a vdev is missing when a pool is imported, its status will be " \ + "UNAVAIL" -fstype=$(get_fstype '/') -if [[ $fstype == 'zfs' ]]; then - log_unsupported "This test cases is not supported on ZFS root system." -fi - -function cleanup -{ - typeset fmri - for fmri in 'sysevent' 'fmd'; do - typeset stat=$($SVCS -H -o STATE $fmri) - if [[ $stat != 'online' ]]; then - log_must $SVCADM enable $fmri - fi - $SLEEP 5 - done - - cleanup_testenv $TESTPOOL -} - -log_assert "Removing device offlined, verify device status is UNAVAIL, " \ - "when the system is onlined." -log_onexit cleanup - for type in "mirror" "raidz" "raidz2"; do - setup_testenv $TESTPOOL $type - typeset val=$(random_get 'off' 'on') - log_must $ZPOOL set autoreplace=$val $TESTPOOL + setup_testenv $type - # - # Piror to unmount, stop background writing to avoid mount failed - # due to mountpoint is not empty - # - log_must kill_bg_write + log_must $ZPOOL export $TESTPOOL - # - # Unloading ZFS module to simulate system powered off - # - log_must unload_zfs - # Random remove one of devices - typeset file=$(random_get $DEV_FILES) - typeset device=$(convert_lofi $file) - log_must remove_device $device + log_must destroy_gnop $DISK0 - # Reload ZFS module - log_must load_zfs + # reimport the pool + log_must $ZPOOL import $TESTPOOL - # After mount, restart background writing process - log_must start_bg_write $TESTPOOL - log_must verify_device_status $TESTPOOL $device 'UNAVAIL' - log_must fma_faulty 'FALSE' + log_must check_state $TESTPOOL $DISK0.nop 'UNAVAIL' + log_must create_gnop $DISK0 cleanup_testenv $TESTPOOL done -log_pass "Removing device offlined, verify device status is UNAVAIL, " \ - "when the system is onlined." +log_pass "If a vdev is missing when a pool is imported, its status will be " \ + "UNAVAIL" Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/hotplug/hotplug_test.sh ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/hotplug/hotplug_test.sh Mon Jan 29 23:43:04 2018 (r328571) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/hotplug/hotplug_test.sh Mon Jan 29 23:53:53 2018 (r328572) @@ -27,9 +27,8 @@ atf_test_case hotplug_001_pos cleanup hotplug_001_pos_head() { - atf_set "descr" "When removing a device from a redundant pool, the device'sstate will be indicated as 'REMOVED'. No FMA faulty message." - atf_set "require.progs" zpool lofiadm - atf_set "timeout" 1800 + atf_set "descr" "When removing a device from a redundant pool, the device'sstate will be indicated as 'REMOVED'." + atf_set "require.progs" zpool gnop } hotplug_001_pos_body() { @@ -37,6 +36,7 @@ hotplug_001_pos_body() . $(atf_get_srcdir)/hotplug.kshlib . $(atf_get_srcdir)/hotplug.cfg + verify_disk_count "$DISKS" 4 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" ksh93 $(atf_get_srcdir)/hotplug_001_pos.ksh || atf_fail "Testcase failed" } @@ -53,9 +53,8 @@ hotplug_001_pos_cleanup() atf_test_case hotplug_002_pos cleanup hotplug_002_pos_head() { - atf_set "descr" "When removing and reinserting a device, the device status isONLINE with no FMA errors." - atf_set "require.progs" zpool lofiadm - atf_set "timeout" 1800 + atf_set "descr" "When removing and reinserting a device, the device status is ONLINE." + atf_set "require.progs" zpool gnop } hotplug_002_pos_body() { @@ -63,6 +62,8 @@ hotplug_002_pos_body() . $(atf_get_srcdir)/hotplug.kshlib . $(atf_get_srcdir)/hotplug.cfg + atf_skip "redundant with zfsd_replace_001_pos" + verify_disk_count "$DISKS" 4 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" ksh93 $(atf_get_srcdir)/hotplug_002_pos.ksh || atf_fail "Testcase failed" } @@ -89,6 +90,7 @@ hotplug_003_pos_body() . $(atf_get_srcdir)/hotplug.kshlib . $(atf_get_srcdir)/hotplug.cfg + atf_skip "redundant with zfsd_autoreplace_00[12]*" ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" ksh93 $(atf_get_srcdir)/hotplug_003_pos.ksh || atf_fail "Testcase failed" } @@ -115,6 +117,7 @@ hotplug_004_pos_body() . $(atf_get_srcdir)/hotplug.kshlib . $(atf_get_srcdir)/hotplug.cfg + atf_skip "Does not apply to FreeBSD" ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" ksh93 $(atf_get_srcdir)/hotplug_004_pos.ksh || atf_fail "Testcase failed" } @@ -141,6 +144,7 @@ hotplug_005_pos_body() . $(atf_get_srcdir)/hotplug.kshlib . $(atf_get_srcdir)/hotplug.cfg + atf_skip "TODO: move to the zfsd directory" ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" ksh93 $(atf_get_srcdir)/hotplug_005_pos.ksh || atf_fail "Testcase failed" } @@ -167,6 +171,7 @@ hotplug_006_pos_body() . $(atf_get_srcdir)/hotplug.kshlib . $(atf_get_srcdir)/hotplug.cfg + atf_skip "redundant with hotplug_050_pos" ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" ksh93 $(atf_get_srcdir)/hotplug_006_pos.ksh || atf_fail "Testcase failed" } @@ -193,6 +198,7 @@ hotplug_007_pos_body() . $(atf_get_srcdir)/hotplug.kshlib . $(atf_get_srcdir)/hotplug.cfg + atf_skip "TODO: move to cli_root/zpool_replace" ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" ksh93 $(atf_get_srcdir)/hotplug_007_pos.ksh || atf_fail "Testcase failed" } @@ -210,8 +216,7 @@ atf_test_case hotplug_008_pos cleanup hotplug_008_pos_head() { atf_set "descr" "When removing hotspare device, verify device status is 'REMOVED'." - atf_set "require.progs" zpool lofiadm - atf_set "timeout" 1800 + atf_set "require.progs" zpool gnop } hotplug_008_pos_body() { @@ -219,6 +224,7 @@ hotplug_008_pos_body() . $(atf_get_srcdir)/hotplug.kshlib . $(atf_get_srcdir)/hotplug.cfg + verify_disk_count "$DISKS" 4 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" ksh93 $(atf_get_srcdir)/hotplug_008_pos.ksh || atf_fail "Testcase failed" } @@ -245,6 +251,7 @@ hotplug_009_pos_body() . $(atf_get_srcdir)/hotplug.kshlib . $(atf_get_srcdir)/hotplug.cfg + atf_skip "redundant with zfsd_import_001_pos" ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" ksh93 $(atf_get_srcdir)/hotplug_009_pos.ksh || atf_fail "Testcase failed" } @@ -271,6 +278,7 @@ hotplug_010_pos_body() . $(atf_get_srcdir)/hotplug.kshlib . $(atf_get_srcdir)/hotplug.cfg + atf_skip "redundant with zfsd_replace_001_pos" ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" ksh93 $(atf_get_srcdir)/hotplug_010_pos.ksh || atf_fail "Testcase failed" } @@ -288,8 +296,7 @@ atf_test_case hotplug_011_pos cleanup hotplug_011_pos_head() { atf_set "descr" "Removing device offlined, verify device status is UNAVAIL,when the system is onlined." - atf_set "require.progs" zpool lofiadm svcadm svcs - atf_set "timeout" 1800 + atf_set "require.progs" zpool gnop } hotplug_011_pos_body() { @@ -297,6 +304,7 @@ hotplug_011_pos_body() . $(atf_get_srcdir)/hotplug.kshlib . $(atf_get_srcdir)/hotplug.cfg + verify_disk_count "$DISKS" 4 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" ksh93 $(atf_get_srcdir)/hotplug_011_pos.ksh || atf_fail "Testcase failed" } Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/hotplug/setup.ksh ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/hotplug/setup.ksh Mon Jan 29 23:43:04 2018 (r328571) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/hotplug/setup.ksh Mon Jan 29 23:53:53 2018 (r328572) @@ -29,23 +29,5 @@ . $STF_SUITE/tests/hotplug/hotplug.kshlib -if ! $LOFIADM -f > /dev/null 2>&1; then - log_unsupported -fi - -verify_runnable "global" - -if [[ -d $VDEV_DIR ]]; then - log_must $RM -rf $VDEV_DIR -fi - -log_must $MKDIR -p $VDEV_DIR -log_must $TRUNCATE -s 100M $DEV_FILES $SPARE_FILES $NEWFILE -log_must create_lofi_device $DEV_FILES $SPARE_FILES - -# -# record repair to resource(s) to cleanup fma faulty -# -log_must repair_faulty - +log_must create_gnops $ALL_DISKS log_pass
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201801292353.w0TNrrU8069899>