def initMaster(self, spUUID, leaseParams): self.invalidateMetadata() pools = self.getPools() if len(pools) > 1 or (len(pools) == 1 and pools[0] != spUUID): raise se.StorageDomainAlreadyAttached(pools[0], self.sdUUID) with self._metadata.transaction(): self.changeLeaseParams(leaseParams) self.setMetaParam(DMDK_POOLS, [spUUID]) self.changeRole(MASTER_DOMAIN)
def attach(self, spUUID): self.invalidateMetadata() pools = self.getPools() if spUUID in pools: self.log.warn("domain `%s` is already attached to pool `%s`", self.sdUUID, spUUID) return if len(pools) > 0 and not self.isISO(): raise se.StorageDomainAlreadyAttached(pools[0], self.sdUUID) pools.append(spUUID) self.setMetaParam(DMDK_POOLS, pools)