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
This commit is contained in:
Andrew Walsh 2021-08-10 00:10:28 +00:00
parent 1340af1410
commit 0607657738
4 changed files with 46 additions and 147 deletions

1
.gitignore vendored
View File

@ -1,2 +1,3 @@
/vdo-1cf3a0b.tar.gz
/vdo-860e625.tar.gz
/vdo-f695290.tar.gz

View File

@ -1 +1 @@
SHA512 (vdo-860e625.tar.gz) = f560471d7fc4e9bbc2c6e957b230e251a6336be3b417dee09bed936c92d609744b0758812751f4de97e973d8e8849c9544abcd0d815341a3862f7150574d4ea9
SHA512 (vdo-f695290.tar.gz) = bf076540a14d05033bf883c1b820f1e87f01a316fd55bdcd8e395645069f0393857e5a06593b0b6f43dc8a404e2d919f54d042e71363c86141203b8cef73239d

View File

@ -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

148
vdo.spec
View File

@ -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 <awalsh@redhat.com> - 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 <awalsh@redhat.com> - 8.1.0.264-1
- Rebased to upstream candidate.
- Related: rhbz#1955374