[NEW PATCH] BZ#717658 - Remove SDF.create() (via gerrit-bot)
Eduardo Warszawski
ewarszaw at redhat.com
Sun Sep 18 07:22:22 UTC 2011
New patch submitted by Eduardo Warszawski (ewarszaw at redhat.com)
You can review this change at: http://gerrit.usersys.redhat.com/642
commit 1945cfa6f84381feaa8b6c8a001bd5df5efeeaee
Author: Eduardo Warszawski <ewarszaw at redhat.com>
Date: Fri Jul 1 06:58:20 2011 +0300
BZ#717658 - Remove SDF.create()
Change-Id: I31b64def7aea87d4d3a94950abc8e96fbe3c4b8a
diff --git a/vdsm/storage/hsm.py b/vdsm/storage/hsm.py
index 84e688a..5d398e0 100644
--- a/vdsm/storage/hsm.py
+++ b/vdsm/storage/hsm.py
@@ -34,6 +34,8 @@ from collections import defaultdict
import sp
import sd
import blockSD
+import nfsSD
+import localFsSD
import spm
import lvm
import fileUtils
@@ -1209,8 +1211,15 @@ class HSM:
#getSharedLock(connectionsResource...)
#getExclusiveLock(sdUUID...)
- SDF.create(sdUUID=sdUUID, storageType=storageType, domainName=domainName,
- domClass=domClass, typeSpecificArg=typeSpecificArg, version=domVersion)
+ if storageType in sd.BLOCK_DOMAIN_TYPES:
+ newSD = blockSD.BlockStorageDomain.create(sdUUID, domainName, domClass, typeSpecificArg, storageType, domVersion)
+ elif storageType == sd.NFS_DOMAIN:
+ newSD = nfsSD.NfsStorageDomain.create(sdUUID, domainName, domClass, typeSpecificArg, storageType, domVersion)
+ elif storageType == sd.LOCALFS_DOMAIN:
+ newSD = localFsSD.LocalFsStorageDomain.create(sdUUID, domainName, domClass, typeSpecificArg, storageType, domVersion)
+ else:
+ raise se.StorageDomainTypeError(storageType)
+ SDF.manuallyAddDomain(newSD)
def public_validateStorageDomain(self, sdUUID, options = None):
diff --git a/vdsm/storage/sdf.py b/vdsm/storage/sdf.py
index c2587d8..6fa56f8 100644
--- a/vdsm/storage/sdf.py
+++ b/vdsm/storage/sdf.py
@@ -22,7 +22,6 @@ from config import config
import logging
import sdc
-import sd
import storage_exception as se
@@ -31,6 +30,11 @@ class StorageDomainFactory:
storage_repository = config.get('irs', 'repository')
__sdc = sdc.StorageDomainCache(storage_repository)
+ #WARNING! The parameters of the following two methods are not symmetric.
+ @classmethod
+ def manuallyAddDomain(cls, sd):
+ cls.__sdc.manuallyAddDomain(sd)
+
@classmethod
def manuallyRemoveDomain(cls, sdUUID):
cls.__sdc.manuallyRemoveDomain(sdUUID)
@@ -48,38 +52,6 @@ class StorageDomainFactory:
@classmethod
- def create(cls, sdUUID, storageType, domainName, domClass, typeSpecificArg, version):
- """
- Create a new Storage domain
- """
- import nfsSD
- import localFsSD
- import blockSD
-
- newSD = None
- if storageType in [sd.NFS_DOMAIN]:
- newSD = nfsSD.NfsStorageDomain.create(sdUUID=sdUUID,
- domainName=domainName, domClass=domClass,
- remotePath=typeSpecificArg, storageType=storageType,
- version=version)
- elif storageType in [sd.LOCALFS_DOMAIN]:
- newSD = localFsSD.LocalFsStorageDomain.create(sdUUID=sdUUID,
- domainName=domainName, domClass=domClass,
- remotePath=typeSpecificArg, storageType=storageType,
- version=version)
- elif storageType in [sd.ISCSI_DOMAIN, sd.FCP_DOMAIN]:
- newSD = blockSD.BlockStorageDomain.create(sdUUID=sdUUID,
- domainName=domainName, domClass=domClass,
- vgUUID=typeSpecificArg, storageType=storageType,
- version=version)
- else:
- raise se.StorageDomainTypeError(storageType)
-
- cls.__sdc.manuallyAddDomain(newSD)
- return newSD
-
-
- @classmethod
def getAllUUIDs(cls):
return cls.__sdc.getUUIDs()
More information about the vdsm-patches
mailing list