예제 #1
0
    def __init__(self, namespace, name, wrappedObject=None,
                 resRefID=str(uuid4())):
        self._namespace = namespace
        self._name = name
        self._log = SimpleLogAdapter(self._log, {"ResName": self.fullName,
                                                 "ResRefID": resRefID})

        self.__wrappedObject = wrappedObject
        if wrappedObject is not None:
            self.__wrapObj()

        self.autoRelease = True
        self._isValid = True
        self._syncRoot = rwlock.RWLock()
예제 #2
0
파일: sd.py 프로젝트: benipeled/vdsm
    def __init__(self, sdUUID, domaindir, metadata):
        self.sdUUID = sdUUID
        self.domaindir = domaindir
        self.replaceMetadata(metadata)
        self._external_leases_lock = rwlock.RWLock()
        self._alignment = metadata.get(DMDK_ALIGNMENT, sc.ALIGNMENT_1M)
        self._block_size = metadata.get(DMDK_BLOCK_SIZE, sc.BLOCK_SIZE_512)

        # Validate alignment and block size.

        version = self.getVersion()
        if version < 5:
            if self.alignment != sc.ALIGNMENT_1M:
                raise se.MetaDataValidationError(
                    "Storage domain version {} does not support alignment {}".
                    format(version, self.alignment))

            if self.block_size != sc.BLOCK_SIZE_512:
                raise se.MetaDataValidationError(
                    "Storage domain version {} does not support block size {}".
                    format(version, self.block_size))

        self._domainLock = self._makeDomainLock()
예제 #3
0
 def __init__(self):
     self._syncRoot = rwlock.RWLock()
     self._namespaces = {}
예제 #4
0
 def __init__(self, sdUUID, domaindir, metadata):
     self.sdUUID = sdUUID
     self.domaindir = domaindir
     self.replaceMetadata(metadata)
     self._domainLock = self._makeDomainLock()
     self._external_leases_lock = rwlock.RWLock()