Federico Simoncelli has uploaded a new change for review. Change subject: [wip] misc: rename safelease to clusterlock ......................................................................
[wip] misc: rename safelease to clusterlock The safelease module is now contaning also the sanlock implementation and soon it might contain other (e.g.: a special lock for local storage domains), for this reason it has been renamed with a more general name clusterlock. Change-Id: I74070ebb43dd726362900a0746c08b2ee3d6eac7 Signed-off-by: Federico Simoncelli <[email protected]> --- M .gitignore M Makefile.am M vdsm.spec.in M vdsm/API.py M vdsm/storage/Makefile.am M vdsm/storage/blockSD.py R vdsm/storage/clusterlock.py M vdsm/storage/hsm.py M vdsm/storage/imageRepository/formatConverter.py M vdsm/storage/sd.py M vdsm/storage/sp.py 11 files changed, 40 insertions(+), 41 deletions(-) git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/67/10067/1 diff --git a/.gitignore b/.gitignore index 7b19b9a..1b30a8f 100644 --- a/.gitignore +++ b/.gitignore @@ -30,7 +30,7 @@ vdsm/mk_sysprep_floppy vdsm/mom.conf vdsm/sos/vdsm.py -vdsm/storage/protect/safelease +vdsm/storage/protect/clusterlock vdsm/sudoers.vdsm vdsm/vdsm-gencerts.sh vdsm/vdsm-logrotate.conf diff --git a/Makefile.am b/Makefile.am index 80d6f52..d15030e 100644 --- a/Makefile.am +++ b/Makefile.am @@ -74,7 +74,7 @@ vdsm/storage/persistentDict.py \ vdsm/storage/remoteFileHandler.py \ vdsm/storage/resourceFactories.py \ - vdsm/storage/safelease.py \ + vdsm/storage/clusterlock.py \ vdsm/storage/sd.py \ vdsm/storage/sdc.py \ vdsm/storage/securable.py \ diff --git a/vdsm.spec.in b/vdsm.spec.in index 68126fd..d58404e 100644 --- a/vdsm.spec.in +++ b/vdsm.spec.in @@ -468,7 +468,7 @@ %endif %check -make check +make check-local %clean rm -rf %{buildroot} @@ -682,7 +682,7 @@ %{_datadir}/%{vdsm_name}/storage/resourceFactories.py* %{_datadir}/%{vdsm_name}/storage/remoteFileHandler.py* %{_datadir}/%{vdsm_name}/storage/resourceManager.py* -%{_datadir}/%{vdsm_name}/storage/safelease.py* +%{_datadir}/%{vdsm_name}/storage/clusterlock.py* %{_datadir}/%{vdsm_name}/storage/sdc.py* %{_datadir}/%{vdsm_name}/storage/sd.py* %{_datadir}/%{vdsm_name}/storage/securable.py* diff --git a/vdsm/API.py b/vdsm/API.py index e0f2d97..ef30c93 100644 --- a/vdsm/API.py +++ b/vdsm/API.py @@ -33,7 +33,7 @@ from vdsm import netinfo from vdsm import constants import storage.misc -import storage.safelease +import storage.clusterlock import storage.volume import storage.sd import storage.image @@ -993,7 +993,7 @@ def spmStart(self, prevID, prevLver, enableScsiFencing, maxHostID=None, domVersion=None): if maxHostID is None: - maxHostID = storage.safelease.MAX_HOST_ID + maxHostID = storage.clusterlock.MAX_HOST_ID recoveryMode = None # unused return self._irs.spmStart(self._UUID, prevID, prevLver, recoveryMode, enableScsiFencing, maxHostID, domVersion) diff --git a/vdsm/storage/Makefile.am b/vdsm/storage/Makefile.am index cff09be..a87d9fc 100644 --- a/vdsm/storage/Makefile.am +++ b/vdsm/storage/Makefile.am @@ -48,7 +48,7 @@ remoteFileHandler.py \ resourceFactories.py \ resourceManager.py \ - safelease.py \ + clusterlock.py \ sdc.py \ sd.py \ securable.py \ diff --git a/vdsm/storage/blockSD.py b/vdsm/storage/blockSD.py index 61ec996..862e413 100644 --- a/vdsm/storage/blockSD.py +++ b/vdsm/storage/blockSD.py @@ -37,7 +37,7 @@ import fileUtils import sd import lvm -import safelease +import clusterlock import blockVolume import multipath import resourceFactories @@ -63,7 +63,7 @@ # FIXME: Make this calculated from something logical RESERVED_METADATA_SIZE = 40 * (2 ** 20) -RESERVED_MAILBOX_SIZE = MAILBOX_SIZE * safelease.MAX_HOST_ID +RESERVED_MAILBOX_SIZE = MAILBOX_SIZE * clusterlock.MAX_HOST_ID METADATA_BASE_SIZE = 378 # VG's min metadata threshold is 20% VG_MDA_MIN_THRESHOLD = 0.2 diff --git a/vdsm/storage/safelease.py b/vdsm/storage/clusterlock.py similarity index 98% rename from vdsm/storage/safelease.py rename to vdsm/storage/clusterlock.py index 88a4eae..d53c9af 100644 --- a/vdsm/storage/safelease.py +++ b/vdsm/storage/clusterlock.py @@ -39,8 +39,8 @@ SDM_LEASE_OFFSET = 512 * 2048 -class ClusterLock(object): - log = logging.getLogger("ClusterLock") +class SafeLease(object): + log = logging.getLogger("SafeLease") lockUtilPath = config.get('irs', 'lock_util_path') lockCmd = config.get('irs', 'lock_cmd') freeLockCmd = config.get('irs', 'free_lock_cmd') diff --git a/vdsm/storage/hsm.py b/vdsm/storage/hsm.py index efb2749..2c879b4 100644 --- a/vdsm/storage/hsm.py +++ b/vdsm/storage/hsm.py @@ -53,7 +53,7 @@ import misc from misc import deprecated import taskManager -import safelease +import clusterlock import storage_exception as se from threadLocal import vars from vdsm import constants @@ -525,7 +525,7 @@ @public def spmStart(self, spUUID, prevID, prevLVER, recoveryMode, scsiFencing, - maxHostID=safelease.MAX_HOST_ID, domVersion=None, + maxHostID=clusterlock.MAX_HOST_ID, domVersion=None, options=None): """ Starts an SPM. @@ -842,7 +842,7 @@ :raises: an :exc:`Storage_Exception.InvalidParameterException` if the master domain is not supplied in the domain list. """ - safeLease = sd.packLeaseParams( + leaseParams = sd.packLeaseParams( lockRenewalIntervalSec=lockRenewalIntervalSec, leaseTimeSec=leaseTimeSec, ioOpTimeoutSec=ioOpTimeoutSec, @@ -850,9 +850,9 @@ vars.task.setDefaultException( se.StoragePoolCreationError( "spUUID=%s, poolName=%s, masterDom=%s, domList=%s, " - "masterVersion=%s, safelease params: (%s)" % + "masterVersion=%s, clusterlock params: (%s)" % (spUUID, poolName, masterDom, domList, masterVersion, - safeLease))) + leaseParams))) misc.validateUUID(spUUID, 'spUUID') if masterDom not in domList: raise se.InvalidParameterException("masterDom", str(masterDom)) @@ -889,7 +889,7 @@ return sp.StoragePool( spUUID, self.taskMng).create(poolName, masterDom, domList, - masterVersion, safeLease) + masterVersion, leaseParams) @public def connectStoragePool(self, spUUID, hostID, scsiKey, @@ -1698,7 +1698,7 @@ :returns: Nothing ? pool.reconstructMaster return nothing :rtype: ? """ - safeLease = sd.packLeaseParams( + leaseParams = sd.packLeaseParams( lockRenewalIntervalSec=lockRenewalIntervalSec, leaseTimeSec=leaseTimeSec, ioOpTimeoutSec=ioOpTimeoutSec, @@ -1707,9 +1707,9 @@ vars.task.setDefaultException( se.ReconstructMasterError( - "spUUID=%s, masterDom=%s, masterVersion=%s, safelease " + "spUUID=%s, masterDom=%s, masterVersion=%s, clusterlock " "params: (%s)" % (spUUID, masterDom, masterVersion, - safeLease))) + leaseParams))) self.log.info("spUUID=%s master=%s", spUUID, masterDom) @@ -1735,7 +1735,7 @@ domDict[d] = sd.validateSDDeprecatedStatus(status) return pool.reconstructMaster(hostId, poolName, masterDom, domDict, - masterVersion, safeLease) + masterVersion, leaseParams) def _logResp_getDeviceList(self, response): logableDevs = deepcopy(response) diff --git a/vdsm/storage/imageRepository/formatConverter.py b/vdsm/storage/imageRepository/formatConverter.py index 0d7dd6d..e5b9cd2 100644 --- a/vdsm/storage/imageRepository/formatConverter.py +++ b/vdsm/storage/imageRepository/formatConverter.py @@ -26,7 +26,7 @@ from storage import sd from storage import blockSD from storage import image -from storage import safelease +from storage import clusterlock from storage import volume from storage import blockVolume from storage import storage_exception as se @@ -98,8 +98,8 @@ domain.setMetadataPermissions() log.debug("Initializing the new cluster lock for domain %s", domain.sdUUID) - newClusterLock = safelease.SANLock(domain.sdUUID, domain.getIdsFilePath(), - domain.getLeasesFilePath()) + newClusterLock = clusterlock.SANLock(domain.sdUUID, + domain.getIdsFilePath(), domain.getLeasesFilePath()) newClusterLock.initLock() log.debug("Acquiring the host id %s for domain %s", hostId, domain.sdUUID) diff --git a/vdsm/storage/sd.py b/vdsm/storage/sd.py index 1b11017..4329c0d 100644 --- a/vdsm/storage/sd.py +++ b/vdsm/storage/sd.py @@ -31,7 +31,7 @@ from resourceFactories import IMAGE_NAMESPACE, VOLUME_NAMESPACE import resourceManager as rm from vdsm import constants -import safelease +import clusterlock import outOfProcess as oop from persistentDict import unicodeEncoder, unicodeDecoder @@ -307,11 +307,11 @@ DEFAULT_LEASE_PARAMS[DMDK_LEASE_TIME_SEC], DEFAULT_LEASE_PARAMS[DMDK_LEASE_RETRIES], DEFAULT_LEASE_PARAMS[DMDK_IO_OP_TIMEOUT_SEC]) - self._clusterLock = safelease.ClusterLock(self.sdUUID, + self._clusterLock = clusterlock.ClusterLock(self.sdUUID, self.getIdsFilePath(), self.getLeasesFilePath(), *leaseParams) elif domversion in DOM_SANLOCK_VERS: - self._clusterLock = safelease.SANLock(self.sdUUID, + self._clusterLock = clusterlock.SANLock(self.sdUUID, self.getIdsFilePath(), self.getLeasesFilePath()) else: raise se.UnsupportedDomainVersion(domversion) diff --git a/vdsm/storage/sp.py b/vdsm/storage/sp.py index 40d15b3..982195e 100644 --- a/vdsm/storage/sp.py +++ b/vdsm/storage/sp.py @@ -494,7 +494,7 @@ return config.getint("irs", "maximum_domains_in_pool") @unsecured - def _acquireTemporaryClusterLock(self, msdUUID, safeLease): + def _acquireTemporaryClusterLock(self, msdUUID, leaseParams): try: # Master domain is unattached and all changes to unattached domains # must be performed under storage lock @@ -504,7 +504,7 @@ # assigned id for this pool self.id = msd.getReservedId() - msd.changeLeaseParams(safeLease) + msd.changeLeaseParams(leaseParams) msd.acquireHostId(self.id) @@ -527,7 +527,7 @@ self.id = SPM_ID_FREE @unsecured - def create(self, poolName, msdUUID, domList, masterVersion, safeLease): + def create(self, poolName, msdUUID, domList, masterVersion, leaseParams): """ Create new storage pool with single/multiple image data domain. The command will create new storage pool meta-data attach each @@ -537,10 +537,9 @@ 'msdUUID' - master domain of this pool (one of domList) 'domList' - list of domains (i.e sdUUID,sdUUID,...,sdUUID) """ - self.log.info("spUUID=%s poolName=%s master_sd=%s " - "domList=%s masterVersion=%s %s", - self.spUUID, poolName, msdUUID, - domList, masterVersion, str(safeLease)) + self.log.info("spUUID=%s poolName=%s master_sd=%s domList=%s " + "masterVersion=%s %s", self.spUUID, poolName, msdUUID, + domList, masterVersion, leaseParams) if msdUUID not in domList: raise se.InvalidParameterException("masterDomain", msdUUID) @@ -565,7 +564,7 @@ raise se.StorageDomainAlreadyAttached(spUUIDs[0], sdUUID) fileUtils.createdir(self.poolPath) - self._acquireTemporaryClusterLock(msdUUID, safeLease) + self._acquireTemporaryClusterLock(msdUUID, leaseParams) try: self._setSafe() @@ -573,7 +572,7 @@ # We should do it before actually attaching this domain to the pool. # During 'master' marking we create pool metadata and each attached # domain should register there - self.createMaster(poolName, msd, masterVersion, safeLease) + self.createMaster(poolName, msd, masterVersion, leaseParams) self.__rebuild(msdUUID=msdUUID, masterVersion=masterVersion) # Attach storage domains to the storage pool # Since we are creating the pool then attach is done from the hsm and not the spm @@ -722,10 +721,10 @@ @unsecured def reconstructMaster(self, hostId, poolName, msdUUID, domDict, - masterVersion, safeLease): + masterVersion, leaseParams): self.log.info("spUUID=%s hostId=%s poolName=%s msdUUID=%s domDict=%s " - "masterVersion=%s leaseparams=(%s)", self.spUUID, hostId, - poolName, msdUUID, domDict, masterVersion, str(safeLease)) + "masterVersion=%s leaseparams=(%s)", self.spUUID,hostId, + poolName, msdUUID, domDict, masterVersion, leaseParams) if msdUUID not in domDict: raise se.InvalidParameterException("masterDomain", msdUUID) @@ -736,7 +735,7 @@ # For backward compatibility we must support a reconstructMaster # that doesn't specify an hostId. if not hostId: - self._acquireTemporaryClusterLock(msdUUID, safeLease) + self._acquireTemporaryClusterLock(msdUUID, leaseParams) temporaryLock = True else: # Forcing to acquire the host id (if it's not acquired already). @@ -749,7 +748,7 @@ try: self.createMaster(poolName, futureMaster, masterVersion, - safeLease) + leaseParams) for sdUUID in domDict: domDict[sdUUID] = domDict[sdUUID].capitalize() -- To view, visit http://gerrit.ovirt.org/10067 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I74070ebb43dd726362900a0746c08b2ee3d6eac7 Gerrit-PatchSet: 1 Gerrit-Project: vdsm Gerrit-Branch: master Gerrit-Owner: Federico Simoncelli <[email protected]> _______________________________________________ vdsm-patches mailing list [email protected] https://lists.fedorahosted.org/mailman/listinfo/vdsm-patches
