Nir Soffer has submitted this change and it was merged. Change subject: Introduce VolumeArtifacts ......................................................................
Introduce VolumeArtifacts In an SDM managed storage domain we will create and remove volumes using a garbage collection approach rather than persistent tasks and rollback operations. Volumes consist of three separate artifacts: a data area, a metadata area, and a lease area. Once created on storage these objects must be convertable into a Volume with a single atomic operation (ie. rename a single file). Conversely, a Volume can be destroyed by reducing it to its artifacts with a single atomic operation. VolumeArtifacts is an object to manage the creation and removal of the three volume artifacts for both block and file based storage. It also has methods to manage the conversion of these artifacts to a Volume and to deconstruct a Volume in order to remove the artifacts from storage. The three artifacts on storage will not be detected as a volume by other storage code until they are committed. Proposed operations for VolumeArtifacts: - create: Create the artifacts on storage - commit: Convert the artifacts to a volume - dismantle: Convert a volume into artifacts - clean: Remove the artifacts from storage Additional methods to identify and garbage collect artifacts will also be required but the exact interface hasn't settled out yet. This patch introduces the idea with minimal support. We can create artifacts on file storage and we only support raw format with no parent volume. Support for cow, parent volumes, block storage, and volume removal will be added by subsequent patches. Change-Id: I352423e39a899b9b83ccf3b8f6c17ec433e9c353 Signed-off-by: Adam Litke <ali...@redhat.com> Reviewed-on: https://gerrit.ovirt.org/48097 Continuous-Integration: Jenkins CI Reviewed-by: Nir Soffer <nsof...@redhat.com> --- M debian/vdsm.install M lib/vdsm/storage/exception.py M tests/Makefile.am A tests/storage_volume_artifacts_test.py M vdsm.spec.in M vdsm/storage/blockSD.py M vdsm/storage/fileSD.py M vdsm/storage/sdm/Makefile.am A vdsm/storage/sdm/volume_artifacts.py 9 files changed, 580 insertions(+), 1 deletion(-) Approvals: Nir Soffer: Looks good to me, approved Adam Litke: Verified Jenkins CI: Passed CI tests -- To view, visit https://gerrit.ovirt.org/48097 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: merged Gerrit-Change-Id: I352423e39a899b9b83ccf3b8f6c17ec433e9c353 Gerrit-PatchSet: 29 Gerrit-Project: vdsm Gerrit-Branch: master Gerrit-Owner: Adam Litke <ali...@redhat.com> Gerrit-Reviewer: Adam Litke <ali...@redhat.com> Gerrit-Reviewer: Ala Hino <ah...@redhat.com> Gerrit-Reviewer: Amit Aviram <aavi...@redhat.com> Gerrit-Reviewer: Daniel Erez <de...@redhat.com> Gerrit-Reviewer: Freddy Rolland <froll...@redhat.com> Gerrit-Reviewer: Greg Padgett <gpadg...@redhat.com> Gerrit-Reviewer: Idan Shaby <ish...@redhat.com> Gerrit-Reviewer: Jenkins CI Gerrit-Reviewer: Liron Aravot <lara...@redhat.com> Gerrit-Reviewer: Maor Lipchuk <mlipc...@redhat.com> Gerrit-Reviewer: Nir Soffer <nsof...@redhat.com> Gerrit-Reviewer: Tal Nisan <tni...@redhat.com> Gerrit-Reviewer: Vered Volansky <vvola...@redhat.com> Gerrit-Reviewer: gerrit-hooks <automat...@ovirt.org> _______________________________________________ vdsm-patches mailing list vdsm-patches@lists.fedorahosted.org https://lists.fedorahosted.org/mailman/listinfo/vdsm-patches