]> xenbits.xensource.com Git - xenrt-citrix/xenrt.git/commitdiff
Various fixes for CA-187851
authorJohn Dilley <john.dilley@citrix.com>
Thu, 5 Nov 2015 10:15:43 +0000 (10:15 +0000)
committerJohn Dilley <john.dilley@citrix.com>
Thu, 5 Nov 2015 10:15:43 +0000 (10:15 +0000)
exec/testcases/xenserver/tc/storage.py
exec/xenrt/lib/xenserver/sr.py

index 08c78ac46e298e0c4a5d6720a09154bbbf6c4d2b..796ece08bcd8be3a7a808fcfd703534be26de237 100755 (executable)
@@ -5225,7 +5225,7 @@ class TCFCOESRLifecycle(FCOELifecycleBase):
         self.sr = xenrt.lib.xenserver.FCOEStorageRepository.fromExistingSR(self.host, self.srs[0])
         self.vdiuuid = self.host.createVDI(sizebytes=1024, sruuid=self.sr.uuid, name="XenRTTest" )
         originalVdiSize = self.host.genParamGet("vdi", self.vdiuuid, "virtual-size")
-        self.sr.forget()
+        self.sr.forget(release=False)
         
         self.sr.introduce()
         self.sr.scan()
index 44581cad70876a22fd721bc97a46e8f5c4b20451..c51f0733d836213c8cf13edb50538c23d011d68f 100644 (file)
@@ -1379,19 +1379,19 @@ class HBAStorageRepository(StorageRepository):
 
     def destroy(self, release=True):
         StorageRepository.destroy(self)
-        if release:
+        if release and self.lun:
             self.lun.release()
             self.lun = None
 
     def forget(self, release=True):
         StorageRepository.forget(self)
-        if release:
+        if release and self.lun:
             self.lun.release()
             self.lun = None
 
     def remove(self, release=True):
         StorageRepository.remove(self)
-        if release:
+        if release and self.lun:
             self.lun.release()
             self.lun = None
 
@@ -1441,14 +1441,21 @@ class FCOEStorageRepository(StorageRepository):
         if self.multipathing:
             slave.enableMultipathing()
 
-    def destroy(self):
+    def destroy(self, release=True):
         StorageRepository.destroy(self)
-        self.lun.release()
-        self.lun = None
+        if release and self.lun:
+            self.lun.release()
+            self.lun = None
 
     def forget(self, release=True):
         StorageRepository.forget(self)
-        if release:
+        if release and self.lun:
+            self.lun.release()
+            self.lun = None
+
+    def remove(self, release=True):
+        StorageRepository.remove(self)
+        if release and self.lun:
             self.lun.release()
             self.lun = None