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:
parent
1340af1410
commit
0607657738
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,2 +1,3 @@
|
||||
/vdo-1cf3a0b.tar.gz
|
||||
/vdo-860e625.tar.gz
|
||||
/vdo-f695290.tar.gz
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (vdo-860e625.tar.gz) = f560471d7fc4e9bbc2c6e957b230e251a6336be3b417dee09bed936c92d609744b0758812751f4de97e973d8e8849c9544abcd0d815341a3862f7150574d4ea9
|
||||
SHA512 (vdo-f695290.tar.gz) = bf076540a14d05033bf883c1b820f1e87f01a316fd55bdcd8e395645069f0393857e5a06593b0b6f43dc8a404e2d919f54d042e71363c86141203b8cef73239d
|
||||
|
@ -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
148
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 <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
|
||||
|
Loading…
Reference in New Issue
Block a user