Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 29 Jan 2019 11:10:55 -0600
From:      Kyle Evans <kevans@freebsd.org>
To:        Enji Cooper <yaneurabeya@gmail.com>
Cc:        src-committers <src-committers@freebsd.org>, svn-src-all@freebsd.org,  svn-src-head@freebsd.org
Subject:   Re: svn commit: r343543 - head/sbin/bectl/tests
Message-ID:  <CACNAnaG8oL1hODGNoZZ3fGpqQFsD1DVpqNDCcN7cBr%2Bm-rsf-A@mail.gmail.com>
In-Reply-To: <5687EE07-74FB-4233-B51D-C8948641E8CB@gmail.com>
References:  <201901290408.x0T48oJQ080243@repo.freebsd.org> <CACNAnaEmeQLwB%2Ba8KWyqB3GFWDn7on4gYtDrH7i5G6mj3zfSJw@mail.gmail.com> <674E01AB-49C7-4B40-B2FD-6EB4AFEAB1FD@gmail.com> <CACNAnaH5Qnfzenkwe1obM0DOfUZbvTjWg79o7FAobPrT6WYcaA@mail.gmail.com> <5687EE07-74FB-4233-B51D-C8948641E8CB@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Jan 29, 2019 at 10:55 AM Enji Cooper <yaneurabeya@gmail.com> wrote:
>
>
> > On Jan 29, 2019, at 08:39, Kyle Evans <kevans@freebsd.org> wrote:
> >
> >> On Tue, Jan 29, 2019 at 10:32 AM Enji Cooper <yaneurabeya@gmail.com> w=
rote:
> >>
> >>
> >>>> On Jan 28, 2019, at 20:10, Kyle Evans <kevans@freebsd.org> wrote:
> >>>>
> >>>> On Mon, Jan 28, 2019 at 10:09 PM Kyle Evans <kevans@freebsd.org> wro=
te:
> >>>>
> >>>> Author: kevans
> >>>> Date: Tue Jan 29 04:08:49 2019
> >>>> New Revision: 343543
> >>>> URL: https://svnweb.freebsd.org/changeset/base/343543
> >>>>
> >>>> Log:
> >>>> bectl(8) test: Force destroy the zpool in cleanup
> >>>>
> >>>> This is a wild guess as to why bectl tests failed once upon a time i=
n CI,
> >>>> given no apparent way to see a transcript of cleanup routines with K=
yua. The
> >>>> bectl tests construct a new, clean zpool for every test. The failure
> >>>> indicated was because of a mount that was leftover from a previous t=
est, but
> >>>> the previous test had succeeded so it's not clear how the mount rema=
ined
> >>>> leftover unless the `zpool get health ${pool}` had somehow failed.
> >>>>
> >>>
> >>> I left out: the tests are supposed to be constructed to clean up any
> >>> mounts that were left over in the course of the test, hence the
> >>> assumption that the failure lies in the cleanup.
> >>
> >> Hi Kyle,
> >>
> >> The tests use a deterministic zpool name defined locally (not globally=
), and will only destroy the zpool if =E2=80=9Czpool get health=E2=80=9D su=
cceeds.
> >>
> >> The tests will work the first time (when the zpool doesn=E2=80=99t exi=
st), but I believe they=E2=80=99re actually introducing nondeterminism by a=
ccident. I will propose a fix for this.
> >>
> >> There=E2=80=99s a way to decipher why things failed from /var/log/mess=
ages and kyua output. It=E2=80=99s just nontrivial to those who don=E2=80=
=99t know what to look for. Can you please provide a failing ci run?
> >>
> >
> > Hi,
> >
> > Thanks! Any help is appreciated -- my inquiry to -testing@ in response
> > to the weekly report where the failing test [1] was mentioned has been
> > met with silence. The failure is consistent in the i386-test job, but
> > amd64-test sees nothing of the sort (and neither does my local
> > testing).
>
> Thanks for the reminder to rejoin that list.
>
> > [1] https://ci.freebsd.org/job/FreeBSD-stable-12-i386-test/426/testRepo=
rt/sbin.bectl/bectl_test/bectl_mount/
>
> It=E2=80=99s pretty obvious from the above run what=E2=80=99s going on fr=
om the output. A similarly named zpool (same prefix; suffixed with a 2) is =
being matched by grep, even though the test sets up one with a suffix in th=
e preceding steps.
>

Right- this is the part that makes sense to me. =3D) The 'default2' BE
is clearly a leftover from a previous test, but it should've been
unmounted in the process and the zpool cleaned up.

What's not clear is how the cleanup routine is failing; the `zpool get
health` shouldn't have any reason to fail (though I can't test it
here, apparently =3D() and `zpool destroy -f` should've unmounted this
BE even if that hadn't happened throughout the course of the test, but
the failure remains (even if probably incorrectly fixed) following the
above commit.

Setting the zpool name globally with a suffix unique to this test
would likely be a great idea -- I think there's something else going
on as well, though.

Thanks,

Kyle Evans



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CACNAnaG8oL1hODGNoZZ3fGpqQFsD1DVpqNDCcN7cBr%2Bm-rsf-A>