[autotest-client-tests][PATCH 0/1] Remove zfs-related packages after test
Po-Hsu Lin
po-hsu.lin at canonical.com
Wed Apr 27 08:42:34 UTC 2022
On Tue, Apr 26, 2022 at 6:24 PM Dimitri John Ledkov
<dimitri.ledkov at canonical.com> wrote:
>
> On Tue, 26 Apr 2022 at 05:04, Po-Hsu Lin <po-hsu.lin at canonical.com> wrote:
> >
> > On Mon, Apr 25, 2022 at 11:42 PM Dimitri John Ledkov
> > <dimitri.ledkov at canonical.com> wrote:
> > >
> > > Hi,
> > >
> > > This regressess running zfs related tests, on zfs-root machines, which
> > > I do when preparing zfs upgrades.
> > >
> > > I wonder what we can do here. I.e. check/store some markers at setup
> > > to see if setup actually did anything? I.e. if zfs was already loaded,
> > > and zfsutils were already installed, it means they shouldn't be
> > > attempted to be removed or unloaded.
> > >
> > > Or can we add a further check to the cleanup test name to see if the
> > > machine is using zfs root anyway?
> > >
> > >
> >
> > Hello,
> >
> > Sorry for the hassle!
>
> No need to worry, I think the changes you made are an improvement.
>
> > This change is meant to keep zfs module stay away from our s390x
> > instances when running the kernel_tainted check in ubuntu_boot test
> > (lp:1892124). So another approach is to revert this patch and add
> > exceptions in the ubuntu_boot test, tell it to ignore all the
> > zfs-related modules (btw we are gonna add exceptions for modules like
> > mlx5_ib on DGX systems).
> >
>
> We want that.
>
> > Or, just like you mentioned here, I think we can only run the cleanup
> > if the root file system is zfs, by checking something like:
> > df -T | grep "/$" | awk '{print $2}'
> > Proceed the clean up if it's not "zfs"
> >
>
> Yeap, something like that would be nice.
>
Thanks for the feedback,
I will try to fix these tests in this way.
Cheers
Sam
> > I would like to know do we need to run ubuntu_boot test on zfs-root machines?
>
> I don't think so. The ones that I run are all zfs specific, ie. zfs
> stress test / smoke test / xfstests and so on.
>
> --
> okurrr,
>
> Dimitri
>
> > If that's the case revert this one and modify ubuntu_boot test will be
> > the only solution.
> >
> > Sam
> >
> > > --
> > > okurrr,
> > >
> > > Dimitri
> > >
> > > On Wed, 20 Apr 2022 at 13:40, Po-Hsu Lin <po-hsu.lin at canonical.com> wrote:
> > > >
> > > > BugLink: https://bugs.launchpad.net/bugs/1892124
> > > >
> > > > Stop zfs daemon and remove zfs related packages after test to prevent
> > > > manually provisioned system from booting with out-of-tree zfs modules
> > > > and failed with the kernel_tainted test in ubuntu_boot like:
> > > > Kernel taint value is 4097
> > > > Taint bit value: 0 (proprietary module was loaded)
> > > > * Modules with GPL Incompatible Licenses:
> > > > zfs: CDDL
> > > > zunicode: CDDL
> > > > zcommon: CDDL
> > > > znvpair: CDDL
> > > > zavl: CDDL
> > > > icp: CDDL
> > > > Taint bit value: 12 (externally-built ('out-of-tree') module was loaded)
> > > > * Modules not in-tree:
> > > > zfs
> > > > zunicode
> > > > zzstd
> > > > zlua
> > > > zcommon
> > > > znvpair
> > > > zavl
> > > > icp
> > > > spl
> > > >
> > > > This is done by adding a sub-test called post-test-zfs-cleanup and
> > > > catch it in run_once(). Not using cleanup() because it will be
> > > > triggered after each sub test. It's fine for test like
> > > > ubuntu_zfs_stress, but it will be complicated for test with multiple
> > > > sub-tests e.g. ubuntu_zfs_xfs_generic
> > > >
> > > > The downside of this is that if you're trying to run it again on
> > > > the same SUT manully without removing the autotest/client/tmp/
> > > > directory, the setup task won't be triggered as the test version
> > > > didn't change. To workaround this we will need to move the code in
> > > > setup() to initialize() like what we did for ubuntu_sysdig_smoke_test,
> > > > to trigger the package installation, or, remove the .version file in
> > > > autotest/client/tmp/TESTNAME/
> > > >
> > > > Search criteria to locate tests that need this change:
> > > > grep -r zfsutils-linux *
> > > >
> > > > Manually tested on s390x LPAR s2lp4 with the following two tests,
> > > > each test has been executed twice to make sure the .version removal
> > > > workaround works. Test performed without rebooting this SUT:
> > > > * ubuntu_zfs_smoke_test
> > > > * ubuntu_zfs_xfs_generic
> > > >
> > > > The zfs module will be unloaded and removed in the end of the test
> > > > as expected, SUT rebooted and with no tainted flag.
> > > >
> > > > Po-Hsu Lin (1):
> > > > UBUNTU: SAUCE: Remove zfs-related packages after test
> > > >
> > > > ubuntu_performance_fio/control | 1 +
> > > > ubuntu_performance_fio/ubuntu_performance_fio.py | 9 +++++++++
> > > > ubuntu_performance_zfs_encryption/control | 1 +
> > > > .../ubuntu_performance_zfs_encryption.py | 10 ++++++++++
> > > > ubuntu_zfs/control | 6 ++++--
> > > > ubuntu_zfs/ubuntu_zfs.py | 9 +++++++++
> > > > ubuntu_zfs_fstest/control | 5 +++--
> > > > ubuntu_zfs_fstest/ubuntu_zfs_fstest.py | 11 ++++++++++-
> > > > ubuntu_zfs_smoke_test/control | 1 +
> > > > ubuntu_zfs_smoke_test/ubuntu_zfs_smoke_test.py | 10 ++++++++++
> > > > ubuntu_zfs_stress/control | 5 ++---
> > > > ubuntu_zfs_stress/ubuntu_zfs_stress.py | 10 ++++++++++
> > > > ubuntu_zfs_xfs_generic/control | 3 ++-
> > > > ubuntu_zfs_xfs_generic/ubuntu_zfs_xfs_generic.py | 12 +++++++++++-
> > > > 14 files changed, 83 insertions(+), 10 deletions(-)
> > > >
> > > > --
> > > > 2.25.1
> > > >
> > > >
> > > > --
> > > > kernel-team mailing list
> > > > kernel-team at lists.ubuntu.com
> > > > https://lists.ubuntu.com/mailman/listinfo/kernel-team
More information about the kernel-team
mailing list