Rebuilt for latest 4.18 kernel.
Related: rhbz#2173037 Signed-off-by: Susan LeGendre-McGhee <slegendr@redhat.com>
This commit is contained in:
parent
00f12af0fe
commit
b408c947c9
@ -1,12 +1,12 @@
|
||||
%global commit c3fab428a1fdc02cb0d5f4bba7e88ec94056e96f
|
||||
%global gittag 6.2.8.7
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%define spec_release 88
|
||||
%define spec_release 89
|
||||
|
||||
%define kmod_name kvdo
|
||||
%define kmod_driver_version %{gittag}
|
||||
%define kmod_rpm_release %{spec_release}
|
||||
%define kmod_kernel_version 4.18.0-458.el8
|
||||
%define kmod_kernel_version 4.18.0-481.el8
|
||||
%define kmod_headers_version %(rpm -qa kernel-devel | sed 's/^kernel-devel-//')
|
||||
%define kmod_kbuild_dir .
|
||||
%define kmod_dependencies %{nil}
|
||||
@ -165,6 +165,10 @@ install -m 644 -D source/greylist.txt $RPM_BUILD_ROOT/usr/share/doc/kmod-%{kmod_
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
%changelog
|
||||
* Wed Mar 22 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 6.2.8.7-89
|
||||
- Rebuilt for latest 4.18 kernel.
|
||||
- Related: rhbz#2173037
|
||||
|
||||
* Tue Feb 14 2023 - Susan LeGendre-McGhee <slegendr@redhat.com> - 6.2.8.7-88
|
||||
- Fixed bug in read-only rebuild when the logical size of the volume is an
|
||||
exact multiple of 821 4K blocks.
|
||||
|
1
tests/.fmf/version
Normal file
1
tests/.fmf/version
Normal file
@ -0,0 +1 @@
|
||||
1
|
4
tests/provision.fmf
Normal file
4
tests/provision.fmf
Normal file
@ -0,0 +1,4 @@
|
||||
---
|
||||
standard-inventory-qcow2:
|
||||
qemu:
|
||||
m: 4G
|
62
tests/sanity/Makefile
Normal file
62
tests/sanity/Makefile
Normal file
@ -0,0 +1,62 @@
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Makefile of /kernel/test_beakertask/Sanity/beaker_test
|
||||
# Description: Install VDO
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2018 Red Hat, Inc.
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License as
|
||||
# published by the Free Software Foundation, either version 2 of
|
||||
# the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see http://www.gnu.org/licenses/.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
export TEST=/beaker_test
|
||||
export TESTVERSION=1.0
|
||||
|
||||
BUILT_FILES=
|
||||
|
||||
FILES=$(METADATA) runtest.sh Makefile PURPOSE
|
||||
|
||||
.PHONY: all install download clean
|
||||
|
||||
run: $(FILES) build
|
||||
./runtest.sh
|
||||
|
||||
build: $(BUILT_FILES)
|
||||
test -x runtest.sh || chmod a+x runtest.sh
|
||||
|
||||
clean:
|
||||
rm -f *~ $(BUILT_FILES)
|
||||
|
||||
|
||||
include /usr/share/rhts/lib/rhts-make.include
|
||||
|
||||
$(METADATA): Makefile
|
||||
@echo "Owner: Andy Walsh <awalsh@redhat.com>" > $(METADATA)
|
||||
@echo "Name: $(TEST)" >> $(METADATA)
|
||||
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||
@echo "Description: Installs VDO" >> $(METADATA)
|
||||
@echo "Type: Sanity" >> $(METADATA)
|
||||
@echo "TestTime: 5m" >> $(METADATA)
|
||||
@echo "RunFor: test_beakertask" >> $(METADATA)
|
||||
@echo "Requires: test_beakertask" >> $(METADATA)
|
||||
@echo "Priority: Normal" >> $(METADATA)
|
||||
@echo "License: GPLv2+" >> $(METADATA)
|
||||
@echo "Confidential: no" >> $(METADATA)
|
||||
@echo "Destructive: no" >> $(METADATA)
|
||||
@echo "Releases: -RHEL4 -RHELClient5 -RHELServer5" >> $(METADATA)
|
||||
|
||||
rhts-lint $(METADATA)
|
3
tests/sanity/PURPOSE
Normal file
3
tests/sanity/PURPOSE
Normal file
@ -0,0 +1,3 @@
|
||||
PURPOSE Test the kmod-kvdo package for driver siguatures
|
||||
Description: Installs the kmod-kvdo package and loads the modules into the kernel, checking for the unsigned taint flag
|
||||
Author: Andy Walsh <awalsh@redhat.com>
|
62
tests/sanity/runtest.sh
Normal file
62
tests/sanity/runtest.sh
Normal file
@ -0,0 +1,62 @@
|
||||
#!/bin/bash
|
||||
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# runtest.sh of kmod-kvdo/sanity
|
||||
# Description: Checking that the kmod-kvdo kernel modules can be loaded.
|
||||
# Author: Andy Walsh <awalsh@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2019 Red Hat, Inc.
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License as
|
||||
# published by the Free Software Foundation, either version 2 of
|
||||
# the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see http://www.gnu.org/licenses/.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
# Include Beaker environment
|
||||
. /usr/bin/rhts-environment.sh || exit 1
|
||||
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartSetup
|
||||
# Collect information
|
||||
rlLog "uname: $(uname -a)"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest "Confirm modules are installed"
|
||||
rlRun "find /lib/modules -type f -name uds.ko"
|
||||
rlRun "find /lib/modules -type f -name kvdo.ko"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest "Validate module information"
|
||||
rlRun "modinfo -l uds"
|
||||
rlRun "modinfo -l kvdo"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest "Confirm the modules can be loaded"
|
||||
rlRun "modprobe uds"
|
||||
rlRun "lsmod | grep uds"
|
||||
rlRun "modprobe kvdo"
|
||||
rlRun "lsmod | grep kvdo"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartCleanup "Unload the modules"
|
||||
rlRun "modprobe -r kvdo"
|
||||
rlRun "modprobe -r uds"
|
||||
rlPhaseEnd
|
||||
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
||||
|
62
tests/smoke/Makefile
Normal file
62
tests/smoke/Makefile
Normal file
@ -0,0 +1,62 @@
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Makefile of /kernel/test_beakertask/Sanity/beaker_test
|
||||
# Description: Install VDO
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2018 Red Hat, Inc.
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License as
|
||||
# published by the Free Software Foundation, either version 2 of
|
||||
# the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see http://www.gnu.org/licenses/.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
export TEST=/beaker_test
|
||||
export TESTVERSION=1.0
|
||||
|
||||
BUILT_FILES=
|
||||
|
||||
FILES=$(METADATA) runtest.sh Makefile PURPOSE
|
||||
|
||||
.PHONY: all install download clean
|
||||
|
||||
run: $(FILES) build
|
||||
./runtest.sh
|
||||
|
||||
build: $(BUILT_FILES)
|
||||
test -x runtest.sh || chmod a+x runtest.sh
|
||||
|
||||
clean:
|
||||
rm -f *~ $(BUILT_FILES)
|
||||
|
||||
|
||||
include /usr/share/rhts/lib/rhts-make.include
|
||||
|
||||
$(METADATA): Makefile
|
||||
@echo "Owner: Andy Walsh <awalsh@redhat.com>" > $(METADATA)
|
||||
@echo "Name: $(TEST)" >> $(METADATA)
|
||||
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||
@echo "Description: Installs VDO" >> $(METADATA)
|
||||
@echo "Type: Sanity" >> $(METADATA)
|
||||
@echo "TestTime: 5m" >> $(METADATA)
|
||||
@echo "RunFor: test_beakertask" >> $(METADATA)
|
||||
@echo "Requires: test_beakertask" >> $(METADATA)
|
||||
@echo "Priority: Normal" >> $(METADATA)
|
||||
@echo "License: GPLv2+" >> $(METADATA)
|
||||
@echo "Confidential: no" >> $(METADATA)
|
||||
@echo "Destructive: no" >> $(METADATA)
|
||||
@echo "Releases: -RHEL4 -RHELClient5 -RHELServer5" >> $(METADATA)
|
||||
|
||||
rhts-lint $(METADATA)
|
3
tests/smoke/PURPOSE
Normal file
3
tests/smoke/PURPOSE
Normal file
@ -0,0 +1,3 @@
|
||||
PURPOSE Test the kmod-kvdo package for driver siguatures
|
||||
Description: Installs the kmod-kvdo package and loads the modules into the kernel, checking for the unsigned taint flag
|
||||
Author: Andy Walsh <awalsh@redhat.com>
|
167
tests/smoke/runtest.sh
Normal file
167
tests/smoke/runtest.sh
Normal file
@ -0,0 +1,167 @@
|
||||
#!/bin/bash
|
||||
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# runtest.sh of VDO smoke test
|
||||
# Description: Check that VDO is able to read/write data and start/stop
|
||||
# Author: Andy Walsh <awalsh@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2018 Red Hat, Inc.
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License as
|
||||
# published by the Free Software Foundation, either version 2 of
|
||||
# the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see http://www.gnu.org/licenses/.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
# Include Beaker environment
|
||||
. /usr/bin/rhts-environment.sh || exit 1
|
||||
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||
|
||||
rlJournalStart
|
||||
|
||||
rlPhaseStartSetup "Create backing device"
|
||||
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
|
||||
rlRun "pushd $TmpDir"
|
||||
rlRun "df ."
|
||||
|
||||
# If we end up with less than 15G of available space, then we can't
|
||||
# create a VDO volume sufficient for testing. We should bail out as a
|
||||
# result.
|
||||
loopbackSize=$(($(df --sync --output=avail / | tail -1) * 1024 - 1024*1024*1024))
|
||||
if [ ${loopbackSize} -lt $((1024*1024*1024*15)) ]; then
|
||||
rlDie "Not enough space to create loopback device."
|
||||
fi
|
||||
rlRun "truncate -s ${loopbackSize} $TmpDir/loop0.bin" 0 "Laying out loopfile backing"
|
||||
rlRun "losetup /dev/loop0 $TmpDir/loop0.bin" 0 "Creating loopdevice"
|
||||
rlRun "mkdir -p /mnt/testmount" 0 "Creating test mountpoint dir"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest "Gather Relevant Info"
|
||||
# Gather some system information for debug purposes
|
||||
rlRun "uname -a"
|
||||
rlRun "find /lib/modules -name kvdo.ko"
|
||||
rlRun "modinfo uds" || insertModuleWithDMesgOutput uds
|
||||
rlRun "modinfo kvdo" || insertModuleWithDMesgOutput kvdo
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest "Generate Test Data"
|
||||
# Write some data, check statistics
|
||||
rlRun "dd if=/dev/urandom of=${TmpDir}/urandom_fill_file bs=1M count=100"
|
||||
rlRun "ls -lh ${TmpDir}/urandom_fill_file"
|
||||
rlPhaseEnd
|
||||
|
||||
for partition_type in "raw" "lvm" "part"
|
||||
do
|
||||
case $partition_type in
|
||||
"raw"*)
|
||||
backing_device=/dev/loop0
|
||||
;;
|
||||
"lvm"*)
|
||||
rlPhaseStartTest "Create LVM backing device"
|
||||
rlRun "pvcreate /dev/loop0" 0 "Creating PV"
|
||||
rlRun "vgcreate vdo_base /dev/loop0" 0 "Creating VG"
|
||||
rlRun "lvcreate -n vdo_base -l100%FREE vdo_base" 0 "Creating LV"
|
||||
rlPhaseEnd
|
||||
backing_device=/dev/vdo_base/vdo_base
|
||||
;;
|
||||
"part"*)
|
||||
rlPhaseStartTest "Create partitioned backing device"
|
||||
rlRun "parted -s /dev/loop0 mklabel msdos" 0 "Creating label"
|
||||
rlRun 'parted -s /dev/loop0 mkpart primary "" 1M -- -1M' 0 "Creating partition"
|
||||
rlPhaseEnd
|
||||
backing_device=/dev/loop0p1
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
rlPhaseStartTest "Smoke Test"
|
||||
# Create the VDO volume and get the initial statistics
|
||||
rlRun "vdo create --name=vdo1 --device=${backing_device} --verbose" 0 "Creating VDO volume vdo1"
|
||||
rlRun "vdostats vdo1"
|
||||
|
||||
# Create a filesystem and mount the device, check statistics
|
||||
rlRun "mkfs.xfs -K /dev/mapper/vdo1" 0 "Making xfs filesystem on VDO volume"
|
||||
rlRun "mount -o discard /dev/mapper/vdo1 /mnt/testmount" 0 "Mounting xfs filesystem on VDO volume"
|
||||
rlRun "df --sync /mnt/testmount"
|
||||
rlRun "vdostats vdo1"
|
||||
|
||||
# Copy the test data onto VDO volume 4 times to get some deduplication
|
||||
for i in {1..4}
|
||||
do
|
||||
rlRun "cp ${TmpDir}/urandom_fill_file /mnt/testmount/test_file-${i}"
|
||||
done
|
||||
rlRun "df --sync /mnt/testmount"
|
||||
rlRun "vdostats vdo1"
|
||||
|
||||
# Verify the data
|
||||
for i in {1..4}
|
||||
do
|
||||
rlRun "cmp ${TmpDir}/urandom_fill_file /mnt/testmount/test_file-${i}"
|
||||
done
|
||||
|
||||
# Unmount and stop the volume, check statistics
|
||||
rlRun "umount /mnt/testmount" 0 "Unmounting testmount"
|
||||
rlRun "vdostats vdo1"
|
||||
rlRun "vdo stop --name=vdo1 --verbose" 0 "Stopping VDO volume vdo1"
|
||||
|
||||
# Start the VDO volume, mount it, check statistics, verify data.
|
||||
rlRun "vdo start --name=vdo1 --verbose" 0 "Starting VDO volume vdo1"
|
||||
rlRun "mount -o discard /dev/mapper/vdo1 /mnt/testmount" 0 "Mounting xfs filesystem on VDO volume"
|
||||
|
||||
rlRun "df --sync /mnt/testmount"
|
||||
rlRun "vdostats vdo1"
|
||||
|
||||
# Verify the data
|
||||
for i in {1..4}
|
||||
do
|
||||
rlRun "cmp ${TmpDir}/urandom_fill_file /mnt/testmount/test_file-${i}"
|
||||
done
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartCleanup
|
||||
rlRun "umount /mnt/testmount" 0 "Unmounting testmount"
|
||||
rlRun "vdo remove --name=vdo1 --verbose" 0 "Removing VDO volume vdo1"
|
||||
case $partition_type in
|
||||
"lvm"*)
|
||||
rlPhaseStartCleanup
|
||||
rlRun "lvremove -ff ${backing_device}" 0 "Removing LV"
|
||||
rlRun "vgremove vdo_base" 0 "Removing VG"
|
||||
rlRun "pvremove /dev/loop0" 0 "Removing PV"
|
||||
rlPhaseEnd
|
||||
;;
|
||||
"part"*)
|
||||
rlPhaseStartCleanup
|
||||
rlRun "parted -s /dev/loop0 rm 1" 0 "Removing partition"
|
||||
rlPhaseEnd
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
rlRun "dd if=/dev/zero of=/dev/loop0 bs=1M count=10 oflag=direct" 0 "Wiping Block Device"
|
||||
|
||||
rlPhaseEnd
|
||||
done
|
||||
|
||||
rlPhaseStartCleanup
|
||||
rlRun "losetup -d /dev/loop0" 0 "Deleting loopdevice"
|
||||
rlRun "rm -f $TmpDir/loop0.bin" 0 "Removing loopfile backing"
|
||||
rlRun "popd"
|
||||
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
|
||||
rlPhaseEnd
|
||||
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
10
tests/tests.yml
Normal file
10
tests/tests.yml
Normal file
@ -0,0 +1,10 @@
|
||||
- hosts: localhost
|
||||
tags:
|
||||
- classic
|
||||
roles:
|
||||
- role: standard-test-beakerlib
|
||||
tests:
|
||||
- sanity
|
||||
- smoke
|
||||
required_packages:
|
||||
- vdo
|
Loading…
Reference in New Issue
Block a user