Date: Tue, 29 Jan 2019 09:28:55 -0800 From: Enji Cooper <yaneurabeya@gmail.com> To: rgrimes@freebsd.org Cc: Kyle Evans <kevans@freebsd.org>, 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: <84917F83-B4CD-4AD3-97EA-528366468880@gmail.com> In-Reply-To: <201901291706.x0TH6iKg009239@pdx.rh.CN85.dnsmgr.net> References: <201901291706.x0TH6iKg009239@pdx.rh.CN85.dnsmgr.net>
next in thread | previous in thread | raw e-mail | index | archive | help
> On Jan 29, 2019, at 09:06, Rodney W. Grimes <freebsd@pdx.rh.cn85.dnsmgr.ne= t> wrote: >=20 > [ Charset UTF-8 unsupported, converting... ] >> On Jan 28, 2019, at 20:31, Rodney W. Grimes <freebsd@pdx.rh.cn85.dnsmgr.n= et> wrote: >>=20 >>>>> On Mon, Jan 28, 2019 at 10:09 PM Kyle Evans <kevans@freebsd.org> wrote= : >>>>>=20 >>>>> Author: kevans >>>>> Date: Tue Jan 29 04:08:49 2019 >>>>> New Revision: 343543 >>>>> URL: https://svnweb.freebsd.org/changeset/base/343543 >>>>>=20 >>>>> Log: >>>>> bectl(8) test: Force destroy the zpool in cleanup >>>>>=20 >>>>> This is a wild guess as to why bectl tests failed once upon a time in C= I, >>>>> given no apparent way to see a transcript of cleanup routines with Kyu= a. 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 tes= t, but >>>>> the previous test had succeeded so it's not clear how the mount remain= ed >>>>> leftover unless the `zpool get health ${pool}` had somehow failed. >>>>>=20 >>>>=20 >>>> 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. >>=20 >> Hi Rod, >>=20 >>> =46rom my experience as a hardware test engineer the test >>> setup was required to make sure any of those assumptions >>> are valid. Meaning that the test would have to validate >>> that no left over cruft was going to interfere with the >>> test about to be run. >>>=20 >>> Ie, you should probably do a force destroy of the pool >>> *before* the test too. >>=20 >> While this approach makes sense and is valid, it would leave open/orphane= d resources after each test run (in this case a single zpool). It?s best to f= ix the underlying issue with how the test formulates, sets up, and tears dow= n the zpool. >=20 > I did not advocate in any way that the post run cleanup > should be removed. Infact you should have both a pre-test > assurance that the environment is correct and a post-test > cleanup trying to removall all artifacts. >=20 > You can fix the current issue, but eventually if you get > enough testing going on your going to start to find that > things fail in ways that do not clean up (machine crash > is one instance) and not doing a pretest cleanup is eventually > going to run aground of this pitfall. I understand what you mean, but we don=E2=80=99t have to worry about this. O= ur CI runs don=E2=80=99t persist today as the bhyve instance is setup at sta= rt and torn down at exit (it was a problem in the first few iterations). Fur= thermore, resources like zpools that the bectl tests construct are should tr= ansient in nature at import (don=E2=80=99t affect the zpool.cache file), mea= ning that it should not be reconnected on the next boot. Assuming $TMPDIR is set to /tmp (or unset for that matter) and a standard rc= .conf configuration (or better yet, a tmpfs/md-backed filesystem), all lefto= ver remnants on disk will be cleaned up at next boot on test hosts that are m= ore persistent. Cheers, -Enji=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?84917F83-B4CD-4AD3-97EA-528366468880>