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
