Yevgeny Zaspitsky has uploaded a new change for review.

Change subject: engine: filter external network labels out
......................................................................

engine: filter external network labels out

Network labels for RHEV and for Neutron should not be mixed when creating a 
network and attaching a label to it.
For RHEV network only RHEV labels should be presented for newly created network 
and for Neutron network only Neutron labels.

Change-Id: I3a84f42b6c14527ff7a1805a61d131dbcb8ad2ca
Bug-Url: https://bugzilla.redhat.com/1077132
Signed-off-by: Yevgeny Zaspitsky <[email protected]>
---
A 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/dc/GetInternalNetworkLabelsByDataCenterIdQuery.java
D 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/dc/GetNetworkLabelsByDataCenterIdQuery.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkDao.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/network/NetworkDaoTest.java
M backend/manager/modules/dal/src/test/resources/fixtures.xml
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/NetworkModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostSetupNetworksModel.java
M packaging/dbscripts/network_sp.sql
11 files changed, 50 insertions(+), 45 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/01/26001/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/dc/GetInternalNetworkLabelsByDataCenterIdQuery.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/dc/GetInternalNetworkLabelsByDataCenterIdQuery.java
new file mode 100644
index 0000000..c88fc86
--- /dev/null
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/dc/GetInternalNetworkLabelsByDataCenterIdQuery.java
@@ -0,0 +1,20 @@
+package org.ovirt.engine.core.bll.network.dc;
+
+import java.util.Set;
+
+import org.ovirt.engine.core.bll.QueriesCommandBase;
+import org.ovirt.engine.core.common.queries.IdQueryParameters;
+
+public class GetInternalNetworkLabelsByDataCenterIdQuery<P extends 
IdQueryParameters> extends QueriesCommandBase<P> {
+    public GetInternalNetworkLabelsByDataCenterIdQuery(P parameters) {
+        super(parameters);
+    }
+
+    @Override
+    protected void executeQueryCommand() {
+        Set<String> labels =
+                
getDbFacade().getNetworkDao().getInternalNetworkLabelsForDataCenter(getParameters().getId());
+        
labels.addAll(getDbFacade().getInterfaceDao().getAllNetworkLabelsForDataCenter(getParameters().getId()));
+        getQueryReturnValue().setReturnValue(labels);
+    }
+}
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/dc/GetNetworkLabelsByDataCenterIdQuery.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/dc/GetNetworkLabelsByDataCenterIdQuery.java
deleted file mode 100644
index aa70e58..0000000
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/dc/GetNetworkLabelsByDataCenterIdQuery.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.ovirt.engine.core.bll.network.dc;
-
-import java.util.Set;
-
-import org.ovirt.engine.core.bll.QueriesCommandBase;
-import org.ovirt.engine.core.common.queries.IdQueryParameters;
-
-public class GetNetworkLabelsByDataCenterIdQuery<P extends IdQueryParameters> 
extends QueriesCommandBase<P> {
-    public GetNetworkLabelsByDataCenterIdQuery(P parameters) {
-        super(parameters);
-    }
-
-    @Override
-    protected void executeQueryCommand() {
-        Set<String> labels = 
getDbFacade().getNetworkDao().getAllNetworkLabelsForDataCenter(getParameters().getId());
-        
labels.addAll(getDbFacade().getInterfaceDao().getAllNetworkLabelsForDataCenter(getParameters().getId()));
-        getQueryReturnValue().setReturnValue(labels);
-    }
-}
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
index 94753bb..0bb649e 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
@@ -80,7 +80,7 @@
 
     // Network labels
     GetNetworkLabelsByNetworkId,
-    GetNetworkLabelsByDataCenterId,
+    GetInternalNetworkLabelsByDataCenterId,
     GetNetworkLabelsByHostNicId,
 
     // VdsGroups
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkDao.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkDao.java
index 9c14c0e..7b304e6 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkDao.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkDao.java
@@ -105,13 +105,13 @@
     List<Network> getAllForProvider(Guid id);
 
     /**
-     * Retrieves all network labels defined on networks in a specific 
data-center
-     *
+     * Retrieves all network labels defined on internal networks in a specific 
data-center
+     * 
      * @param id
      *            the data-center id
      * @return all labels defined for the data-center's networks
      */
-    Set<String> getAllNetworkLabelsForDataCenter(Guid id);
+    Set<String> getInternalNetworkLabelsForDataCenter(Guid id);
 
     /**
      * Retrieve a specific network.
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkDaoDbFacadeImpl.java
index 0c27695..071cace 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkDaoDbFacadeImpl.java
@@ -111,8 +111,8 @@
     }
 
     @Override
-    public Set<String> getAllNetworkLabelsForDataCenter(Guid id) {
-        return new 
HashSet<>(getCallsHandler().executeReadList("GetAllNetworkLabelsByDataCenterId",
+    public Set<String> getInternalNetworkLabelsForDataCenter(Guid id) {
+        return new 
HashSet<>(getCallsHandler().executeReadList("GetInternalNetworkLabelsByDataCenterId",
                 new SingleColumnRowMapper<String>(),
                 createIdParameterMapper(id)));
     }
diff --git 
a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/network/NetworkDaoTest.java
 
b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/network/NetworkDaoTest.java
index 5013aa1..152d39d 100644
--- 
a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/network/NetworkDaoTest.java
+++ 
b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/network/NetworkDaoTest.java
@@ -26,6 +26,7 @@
     private static final String EXISTING_NETWORK_NAME2 = "engine3";
     private static final int NUM_OF_NETWORKS = 6;
     private static final String NETWORK_LABEL = "lbl1";
+    private static final String EXTERNAL_NETWORK_LABEL = "externalLabel";
 
     @Override
     public void setUp() throws Exception {
@@ -284,10 +285,11 @@
      * Ensures a list of networks labels is returned for a given data-center
      */
     @Test
-    public void testGetAllNetworkLabelsForDataCenter() {
-        Set<String> result = dao.getAllNetworkLabelsForDataCenter(datacenter);
+    public void testGetInternalNetworkLabelsForDataCenter() {
+        Set<String> result = 
dao.getInternalNetworkLabelsForDataCenter(datacenter);
         assertNotNull(result);
-        assertFalse(result.isEmpty());
+        assertTrue(result.contains(NETWORK_LABEL));
+        assertFalse(result.contains(EXTERNAL_NETWORK_LABEL));
     }
 
     /**
diff --git a/backend/manager/modules/dal/src/test/resources/fixtures.xml 
b/backend/manager/modules/dal/src/test/resources/fixtures.xml
index 842994f..06bbf1b 100644
--- a/backend/manager/modules/dal/src/test/resources/fixtures.xml
+++ b/backend/manager/modules/dal/src/test/resources/fixtures.xml
@@ -443,7 +443,7 @@
         <column>name</column>
         <column>description</column>
         <column>is_local</column>
-       <column>status</column>
+        <column>status</column>
         <column>master_domain_version</column>
         <column>spm_vds_id</column>
         <column>compatibility_version</column>
@@ -966,7 +966,7 @@
             <value>true</value>
             <value>1115c1c6-cb15-4832-b2a4-023770607111</value>
             <value>52d5c1c6-cb15-4832-b2a4-023770607200</value>
-            <null/>
+            <value>externalLabel</value>
         </row>
         <row>
             <value>58d5c1c6-cb15-4832-b2a4-023770607191</value>
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
index e957ff2..9be0e13 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
@@ -1361,7 +1361,7 @@
                 new IdQueryParameters(dataCenterId).withoutRefresh(), aQuery);
     }
 
-    public static void getNetworkLabelsByDataCenterId(Guid dataCenterId, 
AsyncQuery query) {
+    public static void getInternalNetworkLabelsByDataCenterId(Guid 
dataCenterId, AsyncQuery query) {
         query.converterCallback = new IAsyncConverter<SortedSet<String>>() {
             @Override
             public SortedSet<String> Convert(Object returnValue, AsyncQuery 
asyncQuery) {
@@ -1370,7 +1370,7 @@
                 return sortedSet;
             }
         };
-        
Frontend.getInstance().runQuery(VdcQueryType.GetNetworkLabelsByDataCenterId,
+        
Frontend.getInstance().runQuery(VdcQueryType.GetInternalNetworkLabelsByDataCenterId,
                 new IdQueryParameters(dataCenterId),
                 query);
     }
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/NetworkModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/NetworkModel.java
index a9814da..2555d9c 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/NetworkModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/NetworkModel.java
@@ -719,7 +719,7 @@
 
     private void updateDcLabels() {
         startProgress(null);
-        
AsyncDataProvider.getNetworkLabelsByDataCenterId(getSelectedDc().getId(),
+        
AsyncDataProvider.getInternalNetworkLabelsByDataCenterId(getSelectedDc().getId(),
                 new AsyncQuery(new INewAsyncCallback() {
 
                     @Override
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostSetupNetworksModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostSetupNetworksModel.java
index 8e80b0d..bf1dafe 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostSetupNetworksModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostSetupNetworksModel.java
@@ -140,7 +140,7 @@
     private final Map<String, NetworkParameters> netToBeforeSyncParams;
     private final SearchableListModel sourceListModel;
     private List<VdsNetworkInterface> allBonds;
-    private SortedSet<String> dcLabels;
+    private SortedSet<String> internalDataCenterLabels;
     private NetworkOperation currentCandidate;
     private NetworkItemModel<?> currentOp1;
     private NetworkItemModel<?> currentOp2;
@@ -579,7 +579,7 @@
     }
 
     private Collection<String> getFreeLabels() {
-        SortedSet<String> freeLabels = new TreeSet<String>(dcLabels);
+        SortedSet<String> freeLabels = new 
TreeSet<String>(internalDataCenterLabels);
         freeLabels.removeAll(labelToIface.keySet());
         return freeLabels;
     }
@@ -803,15 +803,16 @@
     }
 
     private void queryLabels() {
-        
AsyncDataProvider.getNetworkLabelsByDataCenterId(getEntity().getStoragePoolId(),
 new AsyncQuery(new INewAsyncCallback() {
-            @Override
-            public void onSuccess(Object model, Object returnValue) {
-                dcLabels = (SortedSet<String>) returnValue;
+        
AsyncDataProvider.getInternalNetworkLabelsByDataCenterId(getEntity().getStoragePoolId(),
+                new AsyncQuery(new INewAsyncCallback() {
+                    @Override
+                    public void onSuccess(Object model, Object returnValue) {
+                        internalDataCenterLabels = (SortedSet<String>) 
returnValue;
 
-                initNicModels();
-                stopProgress();
-            }
-        }));
+                        initNicModels();
+                        stopProgress();
+                    }
+                }));
     }
 
     private void queryFreeBonds() {
diff --git a/packaging/dbscripts/network_sp.sql 
b/packaging/dbscripts/network_sp.sql
index 02acfc5..6214887 100644
--- a/packaging/dbscripts/network_sp.sql
+++ b/packaging/dbscripts/network_sp.sql
@@ -266,7 +266,7 @@
 LANGUAGE plpgsql;
 
 
-Create or replace FUNCTION GetAllNetworkLabelsByDataCenterId(v_id UUID)
+Create or replace FUNCTION GetInternalNetworkLabelsByDataCenterId(v_id UUID)
 RETURNS SETOF TEXT STABLE
 AS $procedure$
 BEGIN
@@ -274,7 +274,8 @@
     SELECT DISTINCT label
     FROM network
     WHERE network.storage_pool_id = v_id
-    AND label IS NOT NULL;
+    AND label IS NOT NULL
+    AND provider_network_provider_id IS NULL;
 END; $procedure$
 LANGUAGE plpgsql;
 


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I3a84f42b6c14527ff7a1805a61d131dbcb8ad2ca
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Yevgeny Zaspitsky <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to