Dan Kenigsberg has submitted this change and it was merged.

Change subject: VolumeMetadata: Introduce class structure
......................................................................


VolumeMetadata: Introduce class structure

Most of the existing volume-related code deals with manipulating volume
metadata.  This includes functions like: isLeaf, setLeaf, getInfo,
getSize, etc.  The remaining code implements operations which are
codependent on an SPM architecture with storage pools, master storage
domains, and persistent asynchronous tasks with recovery and rollback.

In order to operate without a storage pool and storage pool manager, we
need a new set of APIs that will want to reuse the metadata volume
operations but not the SPM-specific code.  Thus, we'll refactor the
Volume class and its decendents by splitting metadata operations into
their own class which can be shared between the current SPM code and the
new SDM code.

Today we have the following class hierarchy:

Volume                  Fields and functions common to all volume types
|-- BlockVolume         Block volume specific implementation
|-- FileVolume          File volume specific implementation
    |-- GlusterVolume   Gluster volume specific implementation

Each of these classes will get a new *Metadata class to house the
metadata-specific operations where the common fields and methods appear
in VolumeMetadata and the specific implementations appear in the sub
classes.

In an effort to reduce churn during the refactoring, when moving a
method into its new class, I will leave behind a stub in the original
class which simply passes the call through to the method's new location.
Once all code has been refactored, I'll remove stubs for any methods
which are not currently accessed outside of the class.

Change-Id: I0552bea23b04b9e58e5d2cc7e016103d03194d1a
Signed-off-by: Adam Litke <[email protected]>
Reviewed-on: https://gerrit.ovirt.org/41844
Continuous-Integration: Jenkins CI
Reviewed-by: Nir Soffer <[email protected]>
---
M tests/sdm_indirection_tests.py
M vdsm/storage/blockVolume.py
M vdsm/storage/fileVolume.py
M vdsm/storage/volume.py
4 files changed, 119 insertions(+), 10 deletions(-)

Approvals:
  Nir Soffer: Looks good to me, approved
  Adam Litke: Verified
  Jenkins CI: Passed CI tests



-- 
To view, visit https://gerrit.ovirt.org/41844
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I0552bea23b04b9e58e5d2cc7e016103d03194d1a
Gerrit-PatchSet: 22
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Adam Litke <[email protected]>
Gerrit-Reviewer: Adam Litke <[email protected]>
Gerrit-Reviewer: Ala Hino <[email protected]>
Gerrit-Reviewer: Dan Kenigsberg <[email protected]>
Gerrit-Reviewer: Freddy Rolland <[email protected]>
Gerrit-Reviewer: Jenkins CI
Gerrit-Reviewer: Liron Aravot <[email protected]>
Gerrit-Reviewer: Nir Soffer <[email protected]>
Gerrit-Reviewer: [email protected]
_______________________________________________
vdsm-patches mailing list
[email protected]
https://lists.fedorahosted.org/mailman/listinfo/vdsm-patches

Reply via email to