From 7c8945b3b08a20274c75def0369b3f7de4b6d459 Mon Sep 17 00:00:00 2001 From: Robert de Bock Date: Sun, 29 Oct 2017 08:16:03 +0100 Subject: [PATCH 1/7] Update README.txt Adding "library" trick. --- examples/ansible/README.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/ansible/README.txt b/examples/ansible/README.txt index 3bb22ec27..6bafec5be 100644 --- a/examples/ansible/README.txt +++ b/examples/ansible/README.txt @@ -8,7 +8,7 @@ To install this module: 1. Install Ansible (via a package manager). 2. Install the "vdo.py" module file by copying it into the site-packages - subdirectory for Ansible. + subdirectory for Ansible, on place the file in ./library/. Example for RHEL 7.3: /usr/lib/python2.7/site-packages/ansible/modules/extras/system/vdo.py From 09963f3ff24cd7404cac048876d93d70c51ab275 Mon Sep 17 00:00:00 2001 From: Robert de Bock Date: Sun, 29 Oct 2017 08:17:40 +0100 Subject: [PATCH 2/7] Update test_vdocreate.yml Removing unsupported parameters, adding mandatory. --- examples/ansible/test_vdocreate.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/examples/ansible/test_vdocreate.yml b/examples/ansible/test_vdocreate.yml index 7edd02862..37430b0d9 100644 --- a/examples/ansible/test_vdocreate.yml +++ b/examples/ansible/test_vdocreate.yml @@ -9,6 +9,5 @@ vdo: name: vdo1 state: present - volumegroup: VDO - physicalsize: 260G logicalsize: 1T + device: /dev/volumegroup/logicalvolume From 7fbdde792260696a1d1ee31f684eecc9253bc628 Mon Sep 17 00:00:00 2001 From: Robert de Bock Date: Sun, 29 Oct 2017 08:19:35 +0100 Subject: [PATCH 3/7] Update test_vdocreate_alloptions.yml Removing unsupported parameters, adding mandatory. --- examples/ansible/test_vdocreate_alloptions.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/examples/ansible/test_vdocreate_alloptions.yml b/examples/ansible/test_vdocreate_alloptions.yml index 19c2d9e23..1bae6ad93 100644 --- a/examples/ansible/test_vdocreate_alloptions.yml +++ b/examples/ansible/test_vdocreate_alloptions.yml @@ -11,9 +11,8 @@ state: present compression: enabled deduplication: enabled - volumegroup: VDO - physicalsize: 260G logicalsize: 1T + device: /dev/volumgroup/logicalvolume blockmapcachesize: 21G readcache: enabled readcachesize: 64M From b5d52d45d67d1358697bd8964c5b08f3f9720d19 Mon Sep 17 00:00:00 2001 From: Robert de Bock Date: Sun, 29 Oct 2017 08:20:49 +0100 Subject: [PATCH 4/7] Update README.txt typo on->or. --- examples/ansible/README.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/ansible/README.txt b/examples/ansible/README.txt index 6bafec5be..0270a138e 100644 --- a/examples/ansible/README.txt +++ b/examples/ansible/README.txt @@ -8,7 +8,7 @@ To install this module: 1. Install Ansible (via a package manager). 2. Install the "vdo.py" module file by copying it into the site-packages - subdirectory for Ansible, on place the file in ./library/. + subdirectory for Ansible, or place the file in ./library/. Example for RHEL 7.3: /usr/lib/python2.7/site-packages/ansible/modules/extras/system/vdo.py From 0ab9ca15ebdb26bea79e4ec1db37d8b93aa09c29 Mon Sep 17 00:00:00 2001 From: Robert de Bock Date: Wed, 1 Nov 2017 07:49:41 +0100 Subject: [PATCH 5/7] Create vdo.spec Adding an initial SPEC file. --- packaging/rpm/vdo.spec | 149 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 149 insertions(+) create mode 100644 packaging/rpm/vdo.spec diff --git a/packaging/rpm/vdo.spec b/packaging/rpm/vdo.spec new file mode 100644 index 000000000..d51b8b4ba --- /dev/null +++ b/packaging/rpm/vdo.spec @@ -0,0 +1,149 @@ +Name: vdo +Version: 1 +Release: 1%{?dist} +Summary: A set of userspace tools for managing pools deduplicated and/or compressed block storage. + +License: GNU General Public License v2.0 +URL: https://github.com/dm-vdo/vdo +Source0: https://github.com/dm-vdo/vdo/archive/master.zip + +BuildRequires: gcc zlib-devel +Requires: kvdo + +%description +VDO (which includes kvdo and vdo) is software that provides inline block-level deduplication, compression, and thin provisioning capabilities for primary storage. VDO installs within the Linux device mapper framework, where it takes ownership of existing physical block devices and remaps these to new, higher-level block devices with data-efficiency capabilities. + +%prep +%setup -q -n %{name}-master + +%build +make %{?_smp_mflags} + +%install +rm -rf $RPM_BUILD_ROOT + +%make_install + +%files +%license /COPYING +%doc /examples/ansible/README.txt +%doc /examples/ansible/test_vdocreate.yml +%doc /examples/ansible/test_vdocreate_alloptions.yml +%doc /examples/ansible/test_vdoremove.yml +%doc /examples/ansible/vdo.py +%doc /examples/ansible/vdo.pyc +%doc /examples/ansible/vdo.pyo +%doc /examples/nagios/nagios_check_albserver.pl +%doc /examples/nagios/nagios_check_vdostats_logicalSpace.pl +%doc /examples/nagios/nagios_check_vdostats_physicalSpace.pl +%doc /examples/nagios/nagios_check_vdostats_savingPercent.pl +%doc /examples/systemd/VDO.mount.example + +/man8/vdo.8 +/man8/vdodumpconfig.8 +/man8/vdodumpmetadata.8 +/man8/vdoforcerebuild.8 +/man8/vdoformat.8 +/man8/vdostats.8 +/statistics/Command.py +/statistics/Command.pyc +/statistics/Command.pyo +/statistics/Field.py +/statistics/Field.pyc +/statistics/Field.pyo +/statistics/KernelStatistics.py +/statistics/KernelStatistics.pyc +/statistics/KernelStatistics.pyo +/statistics/LabeledValue.py +/statistics/LabeledValue.pyc +/statistics/LabeledValue.pyo +/statistics/StatFormatter.py +/statistics/StatFormatter.pyc +/statistics/StatFormatter.pyo +/statistics/StatStruct.py +/statistics/StatStruct.pyc +/statistics/StatStruct.pyo +/statistics/VDOReleaseVersions.py +/statistics/VDOReleaseVersions.pyc +/statistics/VDOReleaseVersions.pyo +/statistics/VDOStatistics.py +/statistics/VDOStatistics.pyc +/statistics/VDOStatistics.pyo +/statistics/__init__.py +/statistics/__init__.pyc +/statistics/__init__.pyo +/utils/Command.py +/utils/Command.pyc +/utils/Command.pyo +/utils/FileUtils.py +/utils/FileUtils.pyc +/utils/FileUtils.pyo +/utils/Logger.py +/utils/Logger.pyc +/utils/Logger.pyo +/utils/Timeout.py +/utils/Timeout.pyc +/utils/Timeout.pyo +/utils/Transaction.py +/utils/Transaction.pyc +/utils/Transaction.pyo +/utils/YAMLObject.py +/utils/YAMLObject.pyc +/utils/YAMLObject.pyo +/utils/__init__.py +/utils/__init__.pyc +/utils/__init__.pyo +/vdo +/vdo.service +/vdodumpconfig +/vdoforcerebuild +/vdoformat +/vdomgmnt/CommandLock.py +/vdomgmnt/CommandLock.pyc +/vdomgmnt/CommandLock.pyo +/vdomgmnt/Configuration.py +/vdomgmnt/Configuration.pyc +/vdomgmnt/Configuration.pyo +/vdomgmnt/Constants.py +/vdomgmnt/Constants.pyc +/vdomgmnt/Constants.pyo +/vdomgmnt/Defaults.py +/vdomgmnt/Defaults.pyc +/vdomgmnt/Defaults.pyo +/vdomgmnt/KernelModuleService.py +/vdomgmnt/KernelModuleService.pyc +/vdomgmnt/KernelModuleService.pyo +/vdomgmnt/MgmntLogger.py +/vdomgmnt/MgmntLogger.pyc +/vdomgmnt/MgmntLogger.pyo +/vdomgmnt/MgmntUtils.py +/vdomgmnt/MgmntUtils.pyc +/vdomgmnt/MgmntUtils.pyo +/vdomgmnt/Service.py +/vdomgmnt/Service.pyc +/vdomgmnt/Service.pyo +/vdomgmnt/SizeString.py +/vdomgmnt/SizeString.pyc +/vdomgmnt/SizeString.pyo +/vdomgmnt/Utils.py +/vdomgmnt/Utils.pyc +/vdomgmnt/Utils.pyo +/vdomgmnt/VDOKernelModuleService.py +/vdomgmnt/VDOKernelModuleService.pyc +/vdomgmnt/VDOKernelModuleService.pyo +/vdomgmnt/VDOOperation.py +/vdomgmnt/VDOOperation.pyc +/vdomgmnt/VDOOperation.pyo +/vdomgmnt/VDOService.py +/vdomgmnt/VDOService.pyc +/vdomgmnt/VDOService.pyo +/vdomgmnt/__init__.py +/vdomgmnt/__init__.pyc +/vdomgmnt/__init__.pyo +/vdoprepareupgrade +/vdoreadonly +/vdostats + +%changelog +* Tue Oct 31 2017 Robert de Bock +- Initial build. From 0fe46a3ab00921e1a0c3c70ff828e28088f6d304 Mon Sep 17 00:00:00 2001 From: Robert de Bock Date: Wed, 1 Nov 2017 07:55:54 +0100 Subject: [PATCH 6/7] Create README.md --- packaging/rpm/README.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 packaging/rpm/README.md diff --git a/packaging/rpm/README.md b/packaging/rpm/README.md new file mode 100644 index 000000000..612c37781 --- /dev/null +++ b/packaging/rpm/README.md @@ -0,0 +1,8 @@ +# Overview +A spec file for VDO to create an RPM with. + +# TODO +- The files now install to the location that `make install` has configured. The locations do not use a logical or POSIX-compliant location. +- Permissions of files and directoies are now undetermined, likely incorrect. +- The service (/vdo.service) may need to be registered. +- The configuration file (/etc/vdoconf.yml) may need to be listed as a ghost file. From 7bdf43e45f24bec61cfa3ca6d3cb1f092e65ad8c Mon Sep 17 00:00:00 2001 From: Robert de Bock Date: Wed, 1 Nov 2017 08:04:46 +0100 Subject: [PATCH 7/7] Update README.md --- packaging/rpm/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/packaging/rpm/README.md b/packaging/rpm/README.md index 612c37781..9c70b1482 100644 --- a/packaging/rpm/README.md +++ b/packaging/rpm/README.md @@ -6,3 +6,4 @@ A spec file for VDO to create an RPM with. - Permissions of files and directoies are now undetermined, likely incorrect. - The service (/vdo.service) may need to be registered. - The configuration file (/etc/vdoconf.yml) may need to be listed as a ghost file. +- A dependency on kvdo exists, but that package is not ready.