Lior Vernia has uploaded a new change for review. Change subject: core: Added DAO for HostNetworkQos entities ......................................................................
core: Added DAO for HostNetworkQos entities Added DAO for these new entities, and a corresponding test class. Change-Id: I90535167d324c80aa9de7a735a010818ab45e428 Signed-off-by: Lior Vernia <lver...@redhat.com> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/QosQueryBase.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/DbFacade.java A backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/HostNetworkQosDao.java A backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/HostNetworkQosDaoDbFacadeImpl.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/main/java/org/ovirt/engine/core/dao/qos/AllQosBaseDaoFacadeImpl.java M backend/manager/modules/dal/src/main/jdbc-resources/engine-daos.properties M backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/FixturesTool.java A backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/network/HostNetworkQosDaoTest.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 12 files changed, 358 insertions(+), 3 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/21/34121/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/QosQueryBase.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/QosQueryBase.java index 926a4d6..bdb41d3 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/QosQueryBase.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/QosQueryBase.java @@ -28,6 +28,9 @@ case NETWORK: qosDao = getDbFacade().getNetworkQosDao(); break; + case HOSTNETWORK: + qosDao = getDbFacade().getHostNetworkQosDao(); + break; default: log.debugFormat("Not handled QoS type: {0}", qosType); break; diff --git a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/DbFacade.java b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/DbFacade.java index d288a14..2474b37 100644 --- a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/DbFacade.java +++ b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/DbFacade.java @@ -131,6 +131,7 @@ import org.ovirt.engine.core.dao.gluster.GlusterServerServiceDao; import org.ovirt.engine.core.dao.gluster.GlusterServiceDao; import org.ovirt.engine.core.dao.gluster.GlusterVolumeDao; +import org.ovirt.engine.core.dao.network.HostNetworkQosDao; import org.ovirt.engine.core.dao.network.InterfaceDao; import org.ovirt.engine.core.dao.network.NetworkClusterDao; import org.ovirt.engine.core.dao.network.NetworkDao; @@ -993,6 +994,10 @@ return getDao(NetworkQoSDao.class); } + public HostNetworkQosDao getHostNetworkQosDao() { + return getDao(HostNetworkQosDao.class); + } + public StorageQosDao getStorageQosDao() { return getDao(StorageQosDao.class); } diff --git a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/HostNetworkQosDao.java b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/HostNetworkQosDao.java new file mode 100644 index 0000000..d7da961 --- /dev/null +++ b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/HostNetworkQosDao.java @@ -0,0 +1,7 @@ +package org.ovirt.engine.core.dao.network; + +import org.ovirt.engine.core.common.businessentities.network.HostNetworkQos; +import org.ovirt.engine.core.dao.qos.QosDao; + +public interface HostNetworkQosDao extends QosDao<HostNetworkQos> { +} diff --git a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/HostNetworkQosDaoDbFacadeImpl.java b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/HostNetworkQosDaoDbFacadeImpl.java new file mode 100644 index 0000000..129bbd4 --- /dev/null +++ b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/HostNetworkQosDaoDbFacadeImpl.java @@ -0,0 +1,50 @@ +package org.ovirt.engine.core.dao.network; + +import java.sql.ResultSet; +import java.sql.SQLException; + +import org.ovirt.engine.core.common.businessentities.network.HostNetworkQos; +import org.ovirt.engine.core.common.businessentities.qos.QosType; +import org.ovirt.engine.core.dao.qos.QosBaseDaoFacadeImpl; +import org.springframework.jdbc.core.RowMapper; +import org.springframework.jdbc.core.namedparam.MapSqlParameterSource; + +public class HostNetworkQosDaoDbFacadeImpl extends QosBaseDaoFacadeImpl<HostNetworkQos> implements HostNetworkQosDao { + + private static final String OUT_AVERAGE_LINKSHARE = "out_average_linkshare"; + private static final String OUT_AVERAGE_UPPERLIMIT = "out_average_upperlimit"; + private static final String OUT_AVERAGE_REALTIME = "out_average_realtime"; + + public HostNetworkQosDaoDbFacadeImpl() { + super(QosType.HOSTNETWORK); + } + + @Override + protected MapSqlParameterSource createFullParametersMapper(HostNetworkQos obj) { + MapSqlParameterSource map = super.createFullParametersMapper(obj); + map.addValue(OUT_AVERAGE_LINKSHARE, obj.getOutAverageLinkshare()); + map.addValue(OUT_AVERAGE_UPPERLIMIT, obj.getOutAverageUpperlimit()); + map.addValue(OUT_AVERAGE_REALTIME, obj.getOutAverageRealtime()); + return map; + } + + @Override + protected RowMapper<HostNetworkQos> createEntityRowMapper() { + return HostNetworkQosDaoDbFacadaeImplMapper.MAPPER; + } + + public static class HostNetworkQosDaoDbFacadaeImplMapper extends QosBaseDaoFacadaeImplMapper<HostNetworkQos> { + + public static final HostNetworkQosDaoDbFacadaeImplMapper MAPPER = new HostNetworkQosDaoDbFacadaeImplMapper(); + + @Override + public HostNetworkQos createQosEntity(ResultSet rs) throws SQLException { + HostNetworkQos entity = new HostNetworkQos(); + entity.setOutAverageLinkshare(getInteger(rs, OUT_AVERAGE_LINKSHARE)); + entity.setOutAverageUpperlimit(getInteger(rs, OUT_AVERAGE_UPPERLIMIT)); + entity.setOutAverageRealtime(getInteger(rs, OUT_AVERAGE_REALTIME)); + return entity; + } + } + +} 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..76a362d 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 @@ -96,6 +96,15 @@ List<Network> getAllForCluster(Guid id, Guid userID, boolean isFiltered); /** + * Retrieves all networks using a given QoS entity. + * + * @param qosId + * the ID of the QoS entity + * @return the list of networks + */ + List<Network> getAllForQos(Guid qosId); + + /** * Retrieves all networks for the given provider. * * @param id 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 9717b53..c21cd9b 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 @@ -108,6 +108,13 @@ } @Override + public List<Network> getAllForQos(Guid qosId) { + return getCallsHandler().executeReadList("GetAllNetworksByQosId", + NetworkRowMapper.instance, + createIdParameterMapper(qosId)); + } + + @Override public List<Network> getAllForProvider(Guid id) { return getCallsHandler().executeReadList("GetAllNetworksByNetworkProviderId", NetworkRowMapper.instance, diff --git a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/qos/AllQosBaseDaoFacadeImpl.java b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/qos/AllQosBaseDaoFacadeImpl.java index b491643..e0763d1 100644 --- a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/qos/AllQosBaseDaoFacadeImpl.java +++ b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/qos/AllQosBaseDaoFacadeImpl.java @@ -7,6 +7,7 @@ import org.ovirt.engine.core.common.businessentities.qos.QosBase; import org.ovirt.engine.core.common.businessentities.qos.QosType; import org.ovirt.engine.core.compat.Guid; +import org.ovirt.engine.core.dao.network.HostNetworkQosDaoDbFacadeImpl; import org.ovirt.engine.core.dao.network.NetworkQoSDaoFacadeImpl; import org.ovirt.engine.core.utils.log.Log; import org.ovirt.engine.core.utils.log.LogFactory; @@ -52,9 +53,11 @@ return CpuQosDaoDbFacadeImpl.CpuDaoDbFacadaeImplMapper.MAPPER.createQosEntity(rs); case NETWORK: return NetworkQoSDaoFacadeImpl.NetworkQosDaoDbFacadaeImplMapper.MAPPER.createQosEntity(rs); - default: - log.debugFormat("not handled/missing qos_type", qosType); - break; + case HOSTNETWORK: + return HostNetworkQosDaoDbFacadeImpl.HostNetworkQosDaoDbFacadaeImplMapper.MAPPER.createQosEntity(rs); + default: + log.debugFormat("not handled/missing qos_type", qosType); + break; } return null; diff --git a/backend/manager/modules/dal/src/main/jdbc-resources/engine-daos.properties b/backend/manager/modules/dal/src/main/jdbc-resources/engine-daos.properties index 8d96e8a..670f1a3 100644 --- a/backend/manager/modules/dal/src/main/jdbc-resources/engine-daos.properties +++ b/backend/manager/modules/dal/src/main/jdbc-resources/engine-daos.properties @@ -71,6 +71,7 @@ GlusterServerDao=org.ovirt.engine.core.dao.gluster.GlusterServerDaoDbFacadeImpl GlusterGeoRepDao=org.ovirt.engine.core.dao.gluster.GlusterGeoRepDaoDbFacadeImpl NetworkQoSDao=org.ovirt.engine.core.dao.network.NetworkQoSDaoFacadeImpl +HostNetworkQosDao=org.ovirt.engine.core.dao.network.HostNetworkQosDaoDbFacadeImpl StorageQosDao=org.ovirt.engine.core.dao.qos.StorageQosDaoDbFacadeImpl CpuQosDao=org.ovirt.engine.core.dao.qos.CpuQosDaoDbFacadeImpl QosBaseDao=org.ovirt.engine.core.dao.qos.AllQosBaseDaoFacadeImpl diff --git a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/FixturesTool.java b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/FixturesTool.java index fc985bc..acbd1d1 100644 --- a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/FixturesTool.java +++ b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/FixturesTool.java @@ -516,6 +516,45 @@ public static final Guid NETWORK_QOS = new Guid("de956031-6be2-43d6-bb90-5191c9253314"); + /** + * Predefined HostNetworkQos with the following properties: + * <ul> + * <li>id: de956031-6be2-43d6-bb90-5191c9253318</li> + * <li>name: host_network_qos_a</li> + * <li>storage_pool_id: {@link #STORAGE_POOL_MIXED_TYPES}</li> + * <li>out_average_linkshare: 1000</li> + * <li>out_average_upperlimit: 2000</li> + * <li>out_average_realtime: 500</li> + * </ul> + */ + public static final Guid HOST_NETWORK_QOS_A = new Guid("de956031-6be2-43d6-bb90-5191c9253318"); + + /** + * Predefined HostNetworkQos with the following properties: + * <ul> + * <li>id: de956031-6be2-43d6-bb90-5191c9253319</li> + * <li>name: host_network_qos_b</li> + * <li>storage_pool_id: {@link #STORAGE_POOL_MIXED_TYPES}</li> + * <li>out_average_linkshare: 1200</li> + * <li>out_average_upperlimit: 2400</li> + * <li>out_average_realtime: 500</li> + * </ul> + */ + public static final Guid HOST_NETWORK_QOS_B = new Guid("de956031-6be2-43d6-bb90-5191c9253319"); + + /** + * Predefined HostNetworkQos with the following properties: + * <ul> + * <li>id: de956031-6be2-43d6-bb90-5191c9253320</li> + * <li>name: host_network_qos_c</li> + * <li>storage_pool_id: {@link #STORAGE_POOL_MIXED_TYPES}</li> + * <li>out_average_linkshare: 700</li> + * <li>out_average_upperlimit: 1400</li> + * <li>out_average_realtime: 500</li> + * </ul> + */ + public static final Guid HOST_NETWORK_QOS_C = new Guid("de956031-6be2-43d6-bb90-5191c9253320"); + public static final String MAC_ADDRESS = "00:1a:4a:16:87:db"; public static final int NUMBER_OF_VM_INTERFACE_VIEWS = 3; diff --git a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/network/HostNetworkQosDaoTest.java b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/network/HostNetworkQosDaoTest.java new file mode 100644 index 0000000..530b460 --- /dev/null +++ b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/network/HostNetworkQosDaoTest.java @@ -0,0 +1,101 @@ +package org.ovirt.engine.core.dao.network; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; + +import org.junit.Test; +import org.ovirt.engine.core.common.businessentities.network.HostNetworkQos; +import org.ovirt.engine.core.compat.Guid; +import org.ovirt.engine.core.dao.BaseDAOTestCase; +import org.ovirt.engine.core.dao.FixturesTool; + +public class HostNetworkQosDaoTest extends BaseDAOTestCase { + + private HostNetworkQosDao dao = getDbFacade().getHostNetworkQosDao(); + + /** + * Ensures that retrieving with an invalid ID returns null. + */ + @Test + public void testGetWithInvalidId() { + assertNull(dao.get(FixturesTool.NETWORK_ENGINE)); // GUID used by network, not QoS + } + + /** + * Ensures that the number of QoS entities returned for each data center is consistent. + */ + @Test + public void testGetAllForDc() { + assertTrue(dao.getAllForStoragePoolId(FixturesTool.STORAGE_POOL_MIXED_TYPES).size() == 3); + assertTrue(dao.getAllForStoragePoolId(FixturesTool.STORAGE_POOL_NFS).isEmpty()); + } + + /** + * Ensures that retrieving host network QoS by ID works as expected. + */ + @Test + public void testGet() { + HostNetworkQos persistedQos = dao.get(FixturesTool.HOST_NETWORK_QOS_A); + + HostNetworkQos referenceQos = new HostNetworkQos(); + referenceQos.setId(FixturesTool.HOST_NETWORK_QOS_A); + referenceQos.setName("host_network_qos_a"); + referenceQos.setStoragePoolId(FixturesTool.STORAGE_POOL_MIXED_TYPES); + referenceQos.setOutAverageLinkshare(1000); + referenceQos.setOutAverageUpperlimit(2000); + referenceQos.setOutAverageRealtime(500); + + assertNotNull(persistedQos); + assertEquals(persistedQos, referenceQos); + } + + /** + * Ensures that after an update, the QoS entity is indeed persisted with new values. + */ + @Test + public void testUpdate() { + HostNetworkQos updatedQos = new HostNetworkQos(); + updatedQos.setId(FixturesTool.HOST_NETWORK_QOS_B); + updatedQos.setName("host_network_qos_b"); + updatedQos.setStoragePoolId(FixturesTool.STORAGE_POOL_MIXED_TYPES); + updatedQos.setOutAverageLinkshare(1000); + updatedQos.setOutAverageUpperlimit(2000); + updatedQos.setOutAverageRealtime(500); + + assertNotEquals(updatedQos, dao.get(FixturesTool.HOST_NETWORK_QOS_B)); + dao.update(updatedQos); + assertEquals(updatedQos, dao.get(FixturesTool.HOST_NETWORK_QOS_B)); + } + + /** + * Ensures that a pre-existing host network QoS entity is removed. + */ + @Test + public void testRemoveNetworkQos() { + assertNotNull(dao.get(FixturesTool.HOST_NETWORK_QOS_C)); + dao.remove(FixturesTool.HOST_NETWORK_QOS_C); + assertNull(dao.get(FixturesTool.HOST_NETWORK_QOS_C)); + } + + /** + * Ensures that a newly-created host network QoS entity is properly persisted. + */ + @Test + public void testSaveNetworkQos() { + HostNetworkQos newQos = new HostNetworkQos(); + newQos.setId(new Guid("de956031-6be2-43d6-bb90-5191c9253321")); + newQos.setName("host_network_qos_d"); + newQos.setStoragePoolId(FixturesTool.STORAGE_POOL_NO_DOMAINS); + newQos.setOutAverageLinkshare(1000); + newQos.setOutAverageUpperlimit(2000); + newQos.setOutAverageRealtime(500); + + assertNull(dao.get(newQos.getId())); + dao.save(newQos); + assertEquals(newQos, dao.get(newQos.getId())); + } + +} 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..70a5222 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 @@ -267,6 +267,27 @@ } /** + * Ensures that the correct networks are returned for a given QoS ID. + */ + @Test + public void testGetAllForValidQos() { + List<Network> result = dao.getAllForQos(FixturesTool.HOST_NETWORK_QOS_A); + assertNotNull(result); + assertTrue(result.size() == 1); + assertEquals(result.get(0).getId(), FixturesTool.NETWORK_ENGINE); + } + + /** + * Ensures that an empty collection is returned for a QoS that no network is using. + */ + @Test + public void testGetAllForUnusedQos() { + List<Network> result = dao.getAllForQos(FixturesTool.HOST_NETWORK_QOS_B); + assertNotNull(result); + assertTrue(result.isEmpty()); + } + + /** * Ensures the right set of networks are returned for the given provider. */ @Test diff --git a/backend/manager/modules/dal/src/test/resources/fixtures.xml b/backend/manager/modules/dal/src/test/resources/fixtures.xml index fc41339..e4306cf 100644 --- a/backend/manager/modules/dal/src/test/resources/fixtures.xml +++ b/backend/manager/modules/dal/src/test/resources/fixtures.xml @@ -1069,6 +1069,7 @@ <column>provider_network_provider_id</column> <column>provider_network_external_id</column> <column>label</column> + <column>qos_id</column> <row> <value>58d5c1c6-cb15-4832-b2a4-023770607188</value> <value>engine</value> @@ -1085,6 +1086,7 @@ <null /> <null /> <null /> + <value>de956031-6be2-43d6-bb90-5191c9253318</value> </row> <row> <value>58d5c1c6-cb15-4832-b2a4-023770607189</value> @@ -1102,6 +1104,7 @@ <null /> <null /> <value>lbl1</value> + <null /> </row> <row> <value>58d5c1c6-cb15-4832-b2a4-023770607190</value> @@ -1119,6 +1122,7 @@ <null /> <null /> <value>lbl1</value> + <null /> </row> <row> <value>58d5c1c6-cb15-4832-b2a4-023770607200</value> @@ -1136,6 +1140,7 @@ <value>1115c1c6-cb15-4832-b2a4-023770607111</value> <value>52d5c1c6-cb15-4832-b2a4-023770607200</value> <null/> + <null /> </row> <row> <value>58d5c1c6-cb15-4832-b2a4-023770607201</value> @@ -1153,6 +1158,7 @@ <value>1115c1c6-cb15-4832-b2a4-023770607111</value> <value>52d5c1c6-cb15-4832-b2a4-023770607200</value> <null/> + <null /> </row> <row> <value>58d5c1c6-cb15-4832-b2a4-023770607191</value> @@ -1170,6 +1176,7 @@ <null /> <null /> <value>lbl2</value> + <null /> </row> </table> @@ -1192,6 +1199,9 @@ <column>outbound_average</column> <column>outbound_peak</column> <column>outbound_burst</column> + <column>out_average_linkshare</column> + <column>out_average_upperlimit</column> + <column>out_average_realtime</column> <row> <value>ae956031-6be2-43d6-bb90-5191c9253314</value> <value>1</value> @@ -1204,6 +1214,9 @@ <value>1000</value> <value>2000</value> <value>500</value> + <null /> + <null /> + <null /> <null /> <null /> <null /> @@ -1231,6 +1244,9 @@ <null /> <null /> <null /> + <null /> + <null /> + <null /> </row> <row> <value>ae956031-6be2-43d6-bb90-5191c9253316</value> @@ -1244,6 +1260,9 @@ <value>700</value> <value>1400</value> <value>500</value> + <null /> + <null /> + <null /> <null /> <null /> <null /> @@ -1271,6 +1290,9 @@ <null /> <null /> <null /> + <null /> + <null /> + <null /> </row> <row> <value>ae956031-6be2-43d6-bb90-5191c9253318</value> @@ -1285,6 +1307,9 @@ <null /> <null /> <value>60</value> + <null /> + <null /> + <null /> <null /> <null /> <null /> @@ -1311,6 +1336,9 @@ <null /> <null /> <null /> + <null /> + <null /> + <null /> </row> <row> <value>de956031-6be2-43d6-bb90-5191c9253314</value> @@ -1331,6 +1359,9 @@ <value>1000</value> <value>2000</value> <value>500</value> + <null /> + <null /> + <null /> </row> <row> <value>de956031-6be2-43d6-bb90-5191c9253315</value> @@ -1351,6 +1382,9 @@ <value>1200</value> <value>2400</value> <value>500</value> + <null /> + <null /> + <null /> </row> <row> <value>de956031-6be2-43d6-bb90-5191c9253316</value> @@ -1371,6 +1405,9 @@ <value>700</value> <value>1400</value> <value>500</value> + <null /> + <null /> + <null /> </row> <row> <value>ba31682e-6ae7-4f9d-8c6f-04c93acca9db</value> @@ -1391,6 +1428,78 @@ <value>700</value> <value>1400</value> <value>500</value> + <null /> + <null /> + <null /> + </row> + <row> + <value>de956031-6be2-43d6-bb90-5191c9253318</value> + <value>4</value> + <value>host_network_qos_a</value> + <null /> + <value>386bffd1-e7ed-4b08-bce9-d7df10f8c9a0</value> + <null /> + <null /> + <null /> + <null /> + <null /> + <null /> + <null /> + <null /> + <null /> + <null /> + <null /> + <null /> + <null /> + <value>1000</value> + <value>2000</value> + <value>500</value> + </row> + <row> + <value>de956031-6be2-43d6-bb90-5191c9253319</value> + <value>4</value> + <value>host_network_qos_b</value> + <null /> + <value>386bffd1-e7ed-4b08-bce9-d7df10f8c9a0</value> + <null /> + <null /> + <null /> + <null /> + <null /> + <null /> + <null /> + <null /> + <null /> + <null /> + <null /> + <null /> + <null /> + <value>1200</value> + <value>2400</value> + <value>500</value> + </row> + <row> + <value>de956031-6be2-43d6-bb90-5191c9253320</value> + <value>4</value> + <value>host_network_qos_c</value> + <null /> + <value>386bffd1-e7ed-4b08-bce9-d7df10f8c9a0</value> + <null /> + <null /> + <null /> + <null /> + <null /> + <null /> + <null /> + <null /> + <null /> + <null /> + <null /> + <null /> + <null /> + <value>700</value> + <value>1400</value> + <value>500</value> </row> </table> -- To view, visit http://gerrit.ovirt.org/34121 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I90535167d324c80aa9de7a735a010818ab45e428 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Lior Vernia <lver...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches