From 0607657738d2fb731c658028cb30b32e149e74da Mon Sep 17 00:00:00 2001 From: Andrew Walsh Date: Tue, 10 Aug 2021 00:10:28 +0000 Subject: [PATCH] Updated to version 8.1.0.316 Fixed up gating test to accommodate the removal of python-based VDO Manager. - Related: rhbz#1949159 Rebased to upstream candidate. - Resolves: rhbz#1955374 Removed all python based tools, and all management should now be done with LVM. - Resolves: rhbz#1949159 vdostats is now a C program - Resolves: rhbz#1972302 --- .gitignore | 1 + sources | 2 +- tests/smoke/runtest.sh | 42 ++++++++---- vdo.spec | 148 +++++------------------------------------ 4 files changed, 46 insertions(+), 147 deletions(-) diff --git a/.gitignore b/.gitignore index 9b72aa6..d38056a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /vdo-1cf3a0b.tar.gz /vdo-860e625.tar.gz +/vdo-f695290.tar.gz diff --git a/sources b/sources index a9c5e0e..37cf5c7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (vdo-860e625.tar.gz) = f560471d7fc4e9bbc2c6e957b230e251a6336be3b417dee09bed936c92d609744b0758812751f4de97e973d8e8849c9544abcd0d815341a3862f7150574d4ea9 +SHA512 (vdo-f695290.tar.gz) = bf076540a14d05033bf883c1b820f1e87f01a316fd55bdcd8e395645069f0393857e5a06593b0b6f43dc8a404e2d919f54d042e71363c86141203b8cef73239d diff --git a/tests/smoke/runtest.sh b/tests/smoke/runtest.sh index cf0200b..fa9723a 100644 --- a/tests/smoke/runtest.sh +++ b/tests/smoke/runtest.sh @@ -29,6 +29,21 @@ . /usr/bin/rhts-environment.sh || exit 1 . /usr/share/beakerlib/beakerlib.sh || exit 1 +function insertModuleWithDMesgOutput() { + moduleName=$1 + + modulePath=$(rpm -ql kmod-kvdo | grep "${1}.ko$") + + exitVal=0 + rlRun "dmesg -c > /dev/null" + rlRun "insmod ${modulePath}" || exitVal=255 + rlRun "dmesg" + + if [ ${exitVal} -ne 0 ]; then + rlDie "Exiting with failure due to module/kernel incompatibility" + fi +} + rlJournalStart rlPhaseStartSetup "Create backing device" @@ -87,16 +102,17 @@ do ;; esac - rlPhaseStartTest "Smoke Test" + rlPhaseStartTest "LVM-VDO 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" + rlRun "pvcreate --config devices/scan_lvs=1 ${backing_device}" + rlRun "vgcreate --config devices/scan_lvs=1 vdo_data ${backing_device}" + rlRun "lvcreate --config devices/scan_lvs=1 --type vdo -L 9G -V 100G -n vdo0 vdo_data/vdopool" # 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 "mkfs.xfs -K /dev/vdo_data/vdo0" 0 "Making xfs filesystem on VDO volume" + rlRun "mount -o discard /dev/vdo_data/vdo0 /mnt/testmount" 0 "Mounting xfs filesystem on VDO volume" rlRun "df --sync /mnt/testmount" - rlRun "vdostats vdo1" + rlRun "vdostats vdo_data-vdopool-vpool" # Copy the test data onto VDO volume 4 times to get some deduplication for i in {1..4} @@ -104,7 +120,7 @@ do rlRun "cp ${TmpDir}/urandom_fill_file /mnt/testmount/test_file-${i}" done rlRun "df --sync /mnt/testmount" - rlRun "vdostats vdo1" + rlRun "vdostats vdo_data-vdopool-vpool" # Verify the data for i in {1..4} @@ -114,15 +130,15 @@ do # 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" + rlRun "vdostats vdo_data-vdopool-vpool" + rlRun "lvchange --config devices/scan_lvs=1 -an vdo_data/vdo0" # 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 "lvchange --config devices/scan_lvs=1 -ay vdo_data/vdo0" + rlRun "mount -o discard /dev/vdo_data/vdo0 /mnt/testmount" 0 "Mounting xfs filesystem on VDO volume" rlRun "df --sync /mnt/testmount" - rlRun "vdostats vdo1" + rlRun "vdostats vdo_data-vdopool-vpool" # Verify the data for i in {1..4} @@ -133,7 +149,7 @@ do rlPhaseStartCleanup rlRun "umount /mnt/testmount" 0 "Unmounting testmount" - rlRun "vdo remove --name=vdo1 --verbose" 0 "Removing VDO volume vdo1" + rlRun "lvremove --config devices/scan_lvs=1 -ff vdo_data/vdo0" 0 "Removing VDO volume vdo0" case $partition_type in "lvm"*) rlPhaseStartCleanup diff --git a/vdo.spec b/vdo.spec index 9f4f26d..59680ea 100644 --- a/vdo.spec +++ b/vdo.spec @@ -1,5 +1,5 @@ -%global commit 860e6252373da1e2b5de0d021c947ae53d8ca32e -%global gittag 8.1.0.264 +%global commit f695290a8b0dc750f87fe91ab2b4fa80ec72f176 +%global gittag 8.1.0.316 %global shortcommit %(c=%{commit}; echo ${c:0:7}) %define spec_release 1 @@ -11,11 +11,9 @@ License: GPLv2 Source0: https://github.com/dm-vdo/%{name}/archive/%{commit}/%{name}-%{shortcommit}.tar.gz Patch0: fix_dmeventd_linking.patch URL: http://github.com/dm-vdo/vdo -Requires: lvm2 >= 2.03 -Requires: python3-PyYAML >= 3.10 -Requires: libuuid >= 2.23 +# Requires: libuuid >= 2.23 Requires: kmod-kvdo >= 6.2 -Requires: util-linux >= 2.32.1-7 +# Requires: util-linux >= 2.32.1-7 Provides: kvdo-kmod-common = %{version} ExcludeArch: s390 ExcludeArch: ppc @@ -26,14 +24,10 @@ BuildRequires: libblkid-devel BuildRequires: libuuid-devel BuildRequires: device-mapper-devel BuildRequires: device-mapper-event-devel -BuildRequires: python3 -BuildRequires: python3-devel -BuildRequires: systemd %ifarch %{valgrind_arches} BuildRequires: valgrind-devel %endif BuildRequires: zlib-devel -%{?systemd_requires} # Disable an automatic dependency due to a file in examples/monitor. %define __requires_exclude perl @@ -53,137 +47,19 @@ make %install make install DESTDIR=$RPM_BUILD_ROOT INSTALLOWNER= bindir=%{_bindir} \ - defaultdocdir=%{_defaultdocdir} name=%{name} \ - python3_sitelib=%{python3_sitelib} mandir=%{_mandir} \ - unitdir=%{_unitdir} presetdir=%{_presetdir} sysconfdir=%{_sysconfdir} - -# Fix the python3 shebangs -for file in %{_bindir}/vdo \ - %{_bindir}/vdostats -do - pathfix.py -pni "%{__python3}" $RPM_BUILD_ROOT${file} -done - -%post -%systemd_post vdo.service - -%preun -%systemd_preun vdo.service - -%postun -%systemd_postun_with_restart vdo.service + defaultdocdir=%{_defaultdocdir} name=%{name} mandir=%{_mandir} \ + sysconfdir=%{_sysconfdir} %files #defattr(-,root,root) -%{_bindir}/vdo -%{_bindir}/vdo-by-dev %{_bindir}/vdostats %{_bindir}/vdodmeventd %{_bindir}/vdodumpconfig %{_bindir}/vdoforcerebuild %{_bindir}/vdoformat %{_bindir}/vdosetuuid -%dir %{python3_sitelib}/%{name} -%{python3_sitelib}/%{name}/__init__.py -%{python3_sitelib}/%{name}/__pycache__/__init__.cpython-39.opt-1.pyc -%{python3_sitelib}/%{name}/__pycache__/__init__.cpython-39.pyc -%dir %{python3_sitelib}/%{name}/vdomgmnt/ -%{python3_sitelib}/%{name}/vdomgmnt/CommandLock.py -%{python3_sitelib}/%{name}/vdomgmnt/Configuration.py -%{python3_sitelib}/%{name}/vdomgmnt/Constants.py -%{python3_sitelib}/%{name}/vdomgmnt/Defaults.py -%{python3_sitelib}/%{name}/vdomgmnt/ExitStatusMixins.py -%{python3_sitelib}/%{name}/vdomgmnt/KernelModuleService.py -%{python3_sitelib}/%{name}/vdomgmnt/MgmntUtils.py -%{python3_sitelib}/%{name}/vdomgmnt/Service.py -%{python3_sitelib}/%{name}/vdomgmnt/SizeString.py -%{python3_sitelib}/%{name}/vdomgmnt/Utils.py -%{python3_sitelib}/%{name}/vdomgmnt/VDOArgumentParser.py -%{python3_sitelib}/%{name}/vdomgmnt/VDOKernelModuleService.py -%{python3_sitelib}/%{name}/vdomgmnt/VDOOperation.py -%{python3_sitelib}/%{name}/vdomgmnt/VDOService.py -%{python3_sitelib}/%{name}/vdomgmnt/__init__.py -%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/CommandLock.cpython-39.opt-1.pyc -%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/CommandLock.cpython-39.pyc -%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/Configuration.cpython-39.opt-1.pyc -%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/Configuration.cpython-39.pyc -%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/Constants.cpython-39.opt-1.pyc -%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/Constants.cpython-39.pyc -%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/Defaults.cpython-39.opt-1.pyc -%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/Defaults.cpython-39.pyc -%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/ExitStatusMixins.cpython-39.opt-1.pyc -%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/ExitStatusMixins.cpython-39.pyc -%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/KernelModuleService.cpython-39.opt-1.pyc -%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/KernelModuleService.cpython-39.pyc -%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/MgmntUtils.cpython-39.opt-1.pyc -%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/MgmntUtils.cpython-39.pyc -%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/Service.cpython-39.opt-1.pyc -%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/Service.cpython-39.pyc -%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/SizeString.cpython-39.opt-1.pyc -%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/SizeString.cpython-39.pyc -%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/Utils.cpython-39.opt-1.pyc -%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/Utils.cpython-39.pyc -%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/VDOArgumentParser.cpython-39.opt-1.pyc -%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/VDOArgumentParser.cpython-39.pyc -%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/VDOKernelModuleService.cpython-39.opt-1.pyc -%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/VDOKernelModuleService.cpython-39.pyc -%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/VDOOperation.cpython-39.opt-1.pyc -%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/VDOOperation.cpython-39.pyc -%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/VDOService.cpython-39.opt-1.pyc -%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/VDOService.cpython-39.pyc -%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/__init__.cpython-39.opt-1.pyc -%{python3_sitelib}/%{name}/vdomgmnt/__pycache__/__init__.cpython-39.pyc -%dir %{python3_sitelib}/%{name}/statistics/ -%{python3_sitelib}/%{name}/statistics/Command.py -%{python3_sitelib}/%{name}/statistics/Field.py -%{python3_sitelib}/%{name}/statistics/LabeledValue.py -%{python3_sitelib}/%{name}/statistics/StatFormatter.py -%{python3_sitelib}/%{name}/statistics/StatStruct.py -%{python3_sitelib}/%{name}/statistics/VDOReleaseVersions.py -%{python3_sitelib}/%{name}/statistics/VDOStatistics.py -%{python3_sitelib}/%{name}/statistics/__init__.py -%{python3_sitelib}/%{name}/statistics/__pycache__/Command.cpython-39.opt-1.pyc -%{python3_sitelib}/%{name}/statistics/__pycache__/Command.cpython-39.pyc -%{python3_sitelib}/%{name}/statistics/__pycache__/Field.cpython-39.opt-1.pyc -%{python3_sitelib}/%{name}/statistics/__pycache__/Field.cpython-39.pyc -%{python3_sitelib}/%{name}/statistics/__pycache__/LabeledValue.cpython-39.opt-1.pyc -%{python3_sitelib}/%{name}/statistics/__pycache__/LabeledValue.cpython-39.pyc -%{python3_sitelib}/%{name}/statistics/__pycache__/StatFormatter.cpython-39.opt-1.pyc -%{python3_sitelib}/%{name}/statistics/__pycache__/StatFormatter.cpython-39.pyc -%{python3_sitelib}/%{name}/statistics/__pycache__/StatStruct.cpython-39.opt-1.pyc -%{python3_sitelib}/%{name}/statistics/__pycache__/StatStruct.cpython-39.pyc -%{python3_sitelib}/%{name}/statistics/__pycache__/VDOReleaseVersions.cpython-39.opt-1.pyc -%{python3_sitelib}/%{name}/statistics/__pycache__/VDOReleaseVersions.cpython-39.pyc -%{python3_sitelib}/%{name}/statistics/__pycache__/VDOStatistics.cpython-39.opt-1.pyc -%{python3_sitelib}/%{name}/statistics/__pycache__/VDOStatistics.cpython-39.pyc -%{python3_sitelib}/%{name}/statistics/__pycache__/__init__.cpython-39.opt-1.pyc -%{python3_sitelib}/%{name}/statistics/__pycache__/__init__.cpython-39.pyc -%dir %{python3_sitelib}/%{name}/utils/ -%{python3_sitelib}/%{name}/utils/Command.py -%{python3_sitelib}/%{name}/utils/FileUtils.py -%{python3_sitelib}/%{name}/utils/Timeout.py -%{python3_sitelib}/%{name}/utils/Transaction.py -%{python3_sitelib}/%{name}/utils/YAMLObject.py -%{python3_sitelib}/%{name}/utils/__init__.py -%{python3_sitelib}/%{name}/utils/__pycache__/Command.cpython-39.opt-1.pyc -%{python3_sitelib}/%{name}/utils/__pycache__/Command.cpython-39.pyc -%{python3_sitelib}/%{name}/utils/__pycache__/FileUtils.cpython-39.opt-1.pyc -%{python3_sitelib}/%{name}/utils/__pycache__/FileUtils.cpython-39.pyc -%{python3_sitelib}/%{name}/utils/__pycache__/Timeout.cpython-39.opt-1.pyc -%{python3_sitelib}/%{name}/utils/__pycache__/Timeout.cpython-39.pyc -%{python3_sitelib}/%{name}/utils/__pycache__/Transaction.cpython-39.opt-1.pyc -%{python3_sitelib}/%{name}/utils/__pycache__/Transaction.cpython-39.pyc -%{python3_sitelib}/%{name}/utils/__pycache__/YAMLObject.cpython-39.opt-1.pyc -%{python3_sitelib}/%{name}/utils/__pycache__/YAMLObject.cpython-39.pyc -%{python3_sitelib}/%{name}/utils/__pycache__/__init__.cpython-39.opt-1.pyc -%{python3_sitelib}/%{name}/utils/__pycache__/__init__.cpython-39.pyc -%{_unitdir}/vdo.service -%{_unitdir}/vdo-start-by-dev@.service -%{_presetdir}/97-vdo.preset %dir %{_sysconfdir}/bash_completion.d %{_sysconfdir}/bash_completion.d/vdostats -%{_sysconfdir}/bash_completion.d/vdo -%{_sysconfdir}/udev/rules.d/69-vdo-start-by-dev.rules %dir %{_defaultdocdir}/%{name} %license %{_defaultdocdir}/%{name}/COPYING %dir %{_defaultdocdir}/%{name}/examples @@ -196,9 +72,6 @@ done %doc %{_defaultdocdir}/%{name}/examples/monitor/monitor_check_vdostats_logicalSpace.pl %doc %{_defaultdocdir}/%{name}/examples/monitor/monitor_check_vdostats_physicalSpace.pl %doc %{_defaultdocdir}/%{name}/examples/monitor/monitor_check_vdostats_savingPercent.pl -%dir %{_defaultdocdir}/%{name}/examples/systemd -%doc %{_defaultdocdir}/%{name}/examples/systemd/VDO.mount.example -%{_mandir}/man8/vdo.8.gz %{_mandir}/man8/vdostats.8.gz %{_mandir}/man8/vdodmeventd.8.gz %{_mandir}/man8/vdodumpconfig.8.gz @@ -234,6 +107,15 @@ This package provides the user-space support tools for VDO. %{_mandir}/man8/vdoregenerategeometry.8.gz %changelog +* Sun Aug 08 2021 - Andy Walsh - 8.1.0.316-1 +- Rebased to upstream candidate. +- Resolves: rhbz#1955374 +- Removed all python based tools, and all management should now be done with + LVM. +- Resolves: rhbz#1949159 +- vdostats is now a C program +- Resolves: rhbz#1972302 + * Thu Jul 29 2021 - Andy Walsh - 8.1.0.264-1 - Rebased to upstream candidate. - Related: rhbz#1955374