New patch submitted by Eduardo Warszawski (ewarszaw(a)redhat.com)
You can review this change at:
http://gerrit.usersys.redhat.com/644
commit dd4884ae7cbf5d090c8e405dbd85705c72969b65
Author: Eduardo Warszawski <ewarszaw(a)redhat.com>
Date: Fri Jul 1 10:11:47 2011 +0300
Removing references to sdf.py.
Change-Id: I19d178e3b37fa119dc8a44815bb5055535c95241
diff --git a/vdsm/storage/blockVolume.py b/vdsm/storage/blockVolume.py
index ae411be..107ae69 100644
--- a/vdsm/storage/blockVolume.py
+++ b/vdsm/storage/blockVolume.py
@@ -23,7 +23,7 @@ import task
import lvm
import resourceManager as rm
from threadLocal import vars
-from sdf import StorageDomainFactory as SDF
+from sdc import StorageDomainFactory as SDF
from resourceFactories import LVM_ACTIVATION_NAMESPACE
import fileUtils
diff --git a/vdsm/storage/fileVolume.py b/vdsm/storage/fileVolume.py
index 9ed54ff..fc4008f 100644
--- a/vdsm/storage/fileVolume.py
+++ b/vdsm/storage/fileVolume.py
@@ -13,7 +13,7 @@ import uuid
from config import config
import storage_exception as se
-from sdf import StorageDomainFactory as SDF
+from sdc import StorageDomainFactory as SDF
import volume
import image
import sd
diff --git a/vdsm/storage/hsm.py b/vdsm/storage/hsm.py
index 296e923..f139b40 100644
--- a/vdsm/storage/hsm.py
+++ b/vdsm/storage/hsm.py
@@ -28,7 +28,7 @@ import spm
import lvm
import fileUtils
import multipath
-from sdf import StorageDomainFactory as SDF
+from sdc import StorageDomainFactory as SDF
import volume
import iscsi
import misc
@@ -1346,7 +1346,7 @@ class HSM:
domains = domList.keys()
else:
#getSharedLock(connectionsResource...)
- domains = SDF.getAllUUIDs()
+ domains = SDF.getUUIDs()
for sdUUID in domains[:]:
try:
diff --git a/vdsm/storage/image.py b/vdsm/storage/image.py
index 40a82c9..2e7c302 100644
--- a/vdsm/storage/image.py
+++ b/vdsm/storage/image.py
@@ -14,7 +14,7 @@ import threading
import uuid
import volume
-from sdf import StorageDomainFactory as SDF
+from sdc import StorageDomainFactory as SDF
import sd
import misc
import fileUtils
diff --git a/vdsm/storage/resourceFactories.py b/vdsm/storage/resourceFactories.py
index ce3ec70..42cd72a 100644
--- a/vdsm/storage/resourceFactories.py
+++ b/vdsm/storage/resourceFactories.py
@@ -13,7 +13,7 @@ import logging
import lvm
import resourceManager as rm
import storage_exception as se
-from sdf import StorageDomainFactory as SDF
+from sdc import StorageDomainFactory as SDF
import sd
import image
diff --git a/vdsm/storage/sdc.py b/vdsm/storage/sdc.py
index 883f7d2..8db7b11 100644
--- a/vdsm/storage/sdc.py
+++ b/vdsm/storage/sdc.py
@@ -13,6 +13,7 @@ for keeping storage related data that is expensive to harvest, but
needed often
import logging
import threading
import weakref
+from config import config
import multipath
import lvm
@@ -22,6 +23,7 @@ import storage_exception as se
# Default cache age until forcibly refreshed
DEFAULT_REFRESH_INTERVAL = 300
+
class StorageDomainCache:
"""
Storage Domain List keeps track of all the storage domains accessible by the
@@ -58,7 +60,7 @@ class StorageDomainCache:
del self.__weakCache[sdUUID]
- def lookup(self, sdUUID):
+ def produce(self, sdUUID):
dom = self._getDomainFromCache(sdUUID)
if dom:
return dom
@@ -121,3 +123,8 @@ class StorageDomainCache:
def manuallyRemoveDomain(self, sdUUID):
with self._syncroot:
del self.__cache[sdUUID]
+
+
+storage_repository = config.get('irs', 'repository')
+StorageDomainFactory = StorageDomainCache(storage_repository)
+
diff --git a/vdsm/storage/sp.py b/vdsm/storage/sp.py
index c377ee4..39d1135 100644
--- a/vdsm/storage/sp.py
+++ b/vdsm/storage/sp.py
@@ -24,7 +24,7 @@ import misc
from misc import Event
import fileUtils
from config import config
-from sdf import StorageDomainFactory as SDF
+from sdc import StorageDomainFactory as SDF
import storage_exception as se
from persistentDict import DictValidator
diff --git a/vdsm/storage/spm.py b/vdsm/storage/spm.py
index 085d03b..dd603f2 100644
--- a/vdsm/storage/spm.py
+++ b/vdsm/storage/spm.py
@@ -29,7 +29,7 @@ import sd
import hsm
import blockSD
import image
-from sdf import StorageDomainFactory as SDF
+from sdc import StorageDomainFactory as SDF
import volume
import misc
import logging
diff --git a/vdsm/storage/volume.py b/vdsm/storage/volume.py
index 123ed37..6fb4dfb 100644
--- a/vdsm/storage/volume.py
+++ b/vdsm/storage/volume.py
@@ -16,7 +16,7 @@ import signal
import constants
import storage_exception as se
import sd
-from sdf import StorageDomainFactory as SDF
+from sdc import StorageDomainFactory as SDF
import misc
import fileUtils
import task