Michael Kublin has uploaded a new change for review.

Change subject: engine: connectStorageServer is not sent for inactive domains 
before connectStoragePool
......................................................................

engine: connectStorageServer is not sent for inactive domains before 
connectStoragePool

During start up of host a host was not conneted to InActive domains.
This is wrong, because of host can actually see InActive domains, so connect 
should be send to all
Active, Uknown and Inactive domains

Change-Id: Ibb3710bb83ef81485715577ae939014ffcae693f
Bug-Url: https://bugzilla.redhat.com/917576
Signed-off-by: Michael Kublin <mkub...@redhat.com>
---
M backend/manager/dbscripts/storages_san_sp.sql
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ConnectHostToStoragePooServerCommandBase.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageServerConnectionDAO.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageServerConnectionDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/StorageServerConnectionDAOTest.java
5 files changed, 15 insertions(+), 14 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/05/12805/1

diff --git a/backend/manager/dbscripts/storages_san_sp.sql 
b/backend/manager/dbscripts/storages_san_sp.sql
index 54f62d7..8af4ed4 100644
--- a/backend/manager/dbscripts/storages_san_sp.sql
+++ b/backend/manager/dbscripts/storages_san_sp.sql
@@ -538,7 +538,7 @@
 
 
 
-Create or replace FUNCTION 
Getstorage_server_connectionsByStoragePoolId(v_storage_pool_id UUID)
+Create or replace FUNCTION 
Getstorage_server_connectionsActiveUnknownInactiveByPoolId(v_storage_pool_id 
UUID)
 RETURNS SETOF storage_server_connections
    AS $procedure$
 BEGIN
@@ -548,12 +548,12 @@
    INNER JOIN  LUNs ON LUN_storage_server_connection_map.LUN_id = LUNs.LUN_id
    INNER JOIN  storage_domains ON LUNs.volume_group_id = 
storage_domains.storage
    INNER JOIN  storage_server_connections ON 
LUN_storage_server_connection_map.storage_server_connection = 
storage_server_connections.id
-   WHERE     (storage_domains.storage_pool_id = v_storage_pool_id  and 
storage_domains.status in(0,3))
+   WHERE     (storage_domains.storage_pool_id = v_storage_pool_id  and 
storage_domains.status in(0,3,4))
    UNION
    SELECT distinct storage_server_connections.*
    FROM         storage_server_connections
    INNER JOIN  storage_domains ON storage_server_connections.id = 
storage_domains.storage
-   WHERE     (storage_domains.storage_pool_id = v_storage_pool_id and 
storage_domains.status in(0,3));
+   WHERE     (storage_domains.storage_pool_id = v_storage_pool_id and 
storage_domains.status in(0,3,4));
 END; $procedure$
 LANGUAGE plpgsql;
 
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ConnectHostToStoragePooServerCommandBase.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ConnectHostToStoragePooServerCommandBase.java
index 6c37d36..c779f66 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ConnectHostToStoragePooServerCommandBase.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ConnectHostToStoragePooServerCommandBase.java
@@ -73,7 +73,7 @@
                 getStorageDomainsByStoragePoolId(allDomains, 
StorageDomainType.ImportExport);
 
         Set<StorageServerConnections> connections = new 
HashSet<StorageServerConnections>(
-                
DbFacade.getInstance().getStorageServerConnectionDao().getAllForStoragePool(getStoragePool().getId()));
+                
DbFacade.getInstance().getStorageServerConnectionDao().getActiveUnknownInActiveForStoragePool(getStoragePool().getId()));
         if (isoDomains.size() != 0) {
             _isoType = isoDomains.get(0).getStorageType();
             Set<StorageServerConnections> isoConnections =
@@ -105,12 +105,13 @@
         _connections = new ArrayList<StorageServerConnections>(connections);
     }
 
-    protected List<StorageDomain> 
getStorageDomainsByStoragePoolId(List<StorageDomain> allDomains, 
StorageDomainType type) {
+    protected List<StorageDomain> 
getStorageDomainsByStoragePoolId(List<StorageDomain> allDomains,
+            StorageDomainType type) {
         List<StorageDomain> domains = new ArrayList<StorageDomain>();
         for (StorageDomain s : allDomains) {
             StorageDomainStatus status = s.getStatus();
             if (s.getStorageDomainType() == type
-                    && (StorageDomainStatus.Active == status || 
StorageDomainStatus.Unknown == status)) {
+                    && (StorageDomainStatus.Active == status || 
StorageDomainStatus.Unknown == status || StorageDomainStatus.InActive == 
status)) {
                 domains.add(s);
             }
         }
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageServerConnectionDAO.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageServerConnectionDAO.java
index aa4edb2..fe720db 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageServerConnectionDAO.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageServerConnectionDAO.java
@@ -38,13 +38,13 @@
     List<StorageServerConnections> getAll();
 
     /**
-     * Retrieves all connections for the specified storage pool.
+     * Retrieves all Active, Unknown , InActive connections for the specified 
storage pool.
      *
      * @param pool
      *            the storage pool
      * @return the list of connections
      */
-    List<StorageServerConnections> getAllForStoragePool(Guid pool);
+    List<StorageServerConnections> getActiveUnknownInActiveForStoragePool(Guid 
pool);
 
     /**
      * Retrieves all connections for the specified volume group.
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageServerConnectionDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageServerConnectionDAODbFacadeImpl.java
index dffd8c0..1f225ba 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageServerConnectionDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageServerConnectionDAODbFacadeImpl.java
@@ -40,8 +40,8 @@
     }
 
     @Override
-    public List<StorageServerConnections> getAllForStoragePool(Guid pool) {
-        return 
getCallsHandler().executeReadList("Getstorage_server_connectionsByStoragePoolId",
+    public List<StorageServerConnections> 
getActiveUnknownInActiveForStoragePool(Guid pool) {
+        return 
getCallsHandler().executeReadList("Getstorage_server_connectionsActiveUnknownInactiveByPoolId",
                 mapper,
                 getCustomMapSqlParameterSource()
                         .addValue("storage_pool_id", pool));
diff --git 
a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/StorageServerConnectionDAOTest.java
 
b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/StorageServerConnectionDAOTest.java
index 938e6c5..2eafb71 100644
--- 
a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/StorageServerConnectionDAOTest.java
+++ 
b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/StorageServerConnectionDAOTest.java
@@ -90,8 +90,8 @@
      * @return
      */
     @Test
-    public void testgetAllForStoragePoolWithNoConnections() {
-        List<StorageServerConnections> result = 
dao.getAllForStoragePool(Guid.NewGuid());
+    public void testgetActiveUnknownInActiveForStoragePoolWithNoConnections() {
+        List<StorageServerConnections> result = 
dao.getActiveUnknownInActiveForStoragePool(Guid.NewGuid());
 
         assertNotNull(result);
         assertTrue(result.isEmpty());
@@ -101,8 +101,8 @@
      * Ensures that a set of records are returned.
      */
     @Test
-    public void testgetAllForStoragePool() {
-        List<StorageServerConnections> result = 
dao.getAllForStoragePool(EXISTING_STORAGE_POOL_ID);
+    public void testgetActiveUnknownInActiveForStoragePool() {
+        List<StorageServerConnections> result = 
dao.getActiveUnknownInActiveForStoragePool(EXISTING_STORAGE_POOL_ID);
 
         assertNotNull(result);
         assertFalse(result.isEmpty());


--
To view, visit http://gerrit.ovirt.org/12805
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ibb3710bb83ef81485715577ae939014ffcae693f
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Michael Kublin <mkub...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to