Yevgeny Zaspitsky has uploaded a new change for review. Change subject: engine: move speed property from VdsNetworkInterface to VdsNetworkStatistics ......................................................................
engine: move speed property from VdsNetworkInterface to VdsNetworkStatistics Move speed property from VdsNetworkInterface to VdsNetworkStatistics. The propery is moved in order to allow refreshing it on through getVdsStats verb, which is called every 15 seconds. Change-Id: If4be28a786bee1eae6367c4ef19c9ee3b4afec61 Bug-Url: https://bugzilla.redhat.com/980363 Signed-off-by: Yevgeny Zaspitsky <yzasp...@redhat.com> --- M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/network/NetworkInterface.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/network/Nic.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/network/VdsNetworkInterface.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/network/VdsNetworkStatistics.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/network/VmNic.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/InterfaceDaoDbFacadeImpl.java M backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/network/InterfaceDaoTest.java M backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/HostNicStatisticalQuery.java M backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendHostNicResourceTest.java M backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendHostNicsResourceTest.java M backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/HostNicMapper.java M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsBrokerObjectsBuilder.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/Cloner.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostInterfaceListModel.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/network/SubTabNetworkHostView.java M packaging/dbscripts/create_views.sql M packaging/dbscripts/network_sp.sql A packaging/dbscripts/upgrade/03_05_0720_move_vds_interface_speed.sql 18 files changed, 141 insertions(+), 76 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/13/28913/1 diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/network/NetworkInterface.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/network/NetworkInterface.java index 8657dc1..b01d4e5 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/network/NetworkInterface.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/network/NetworkInterface.java @@ -25,8 +25,6 @@ private Integer type; - private Integer speed; - protected T statistics; public NetworkInterface() { @@ -97,25 +95,6 @@ } /** - * Sets the speed of the network device in megabits per second. - * - * @param speed - * the speed. - */ - public void setSpeed(Integer speed) { - this.speed = speed; - } - - /** - * Returns the speed of the network device in megabits per second. - * - * @return the speed - */ - public Integer getSpeed() { - return speed; - } - - /** * Sets the type of network device. * * @param type @@ -160,7 +139,6 @@ result = prime * result + ((id == null) ? 0 : id.hashCode()); result = prime * result + ((macAddress == null) ? 0 : macAddress.hashCode()); result = prime * result + ((name == null) ? 0 : name.hashCode()); - result = prime * result + ((speed == null) ? 0 : speed.hashCode()); result = prime * result + ((type == null) ? 0 : type.hashCode()); return result; } @@ -196,13 +174,6 @@ return false; } } else if (!name.equals(other.name)) { - return false; - } - if (speed == null) { - if (other.speed != null) { - return false; - } - } else if (!speed.equals(other.speed)) { return false; } if (type == null) { diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/network/Nic.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/network/Nic.java index a3f76b9..5ba5a9a 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/network/Nic.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/network/Nic.java @@ -10,7 +10,7 @@ public Nic(String macAddress, Integer speed, String bondName) { setMacAddress(macAddress); - setSpeed(speed); + getStatistics().setSpeed(speed); setBondName(bondName); } @@ -42,8 +42,6 @@ .append(getMtu()) .append(", bridged=") .append(isBridged()) - .append(", speed=") - .append(getSpeed()) .append(", type=") .append(getType()) .append(", networkImplementationDetails=") diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/network/VdsNetworkInterface.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/network/VdsNetworkInterface.java index d64a52f..cdb03ae 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/network/VdsNetworkInterface.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/network/VdsNetworkInterface.java @@ -432,8 +432,6 @@ .append(getMtu()) .append(", bridged=") .append(isBridged()) - .append(", speed=") - .append(getSpeed()) .append(", type=") .append(getType()) .append(", networkImplementationDetails=") diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/network/VdsNetworkStatistics.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/network/VdsNetworkStatistics.java index 1821a47..fd493c2 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/network/VdsNetworkStatistics.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/network/VdsNetworkStatistics.java @@ -11,6 +11,26 @@ private static final long serialVersionUID = 1627744622924441184L; private Guid vdsId; + private Integer speed; + + /** + * Sets the speed of the network device in megabits per second. + * + * @param speed + * the speed. + */ + public void setSpeed(Integer speed) { + this.speed = speed; + } + + /** + * Returns the speed of the network device in megabits per second. + * + * @return the speed + */ + public Integer getSpeed() { + return speed; + } /** * Sets the VDS instance id. @@ -30,4 +50,44 @@ public Guid getVdsId() { return vdsId; } + + @Override + public int hashCode() { + final int prime = 31; + int result = super.hashCode(); + result = prime * result + ((speed == null) ? 0 : speed.hashCode()); + result = prime * result + ((vdsId == null) ? 0 : vdsId.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (!super.equals(obj)) { + return false; + } + if (!(obj instanceof VdsNetworkStatistics)) { + return false; + } + VdsNetworkStatistics other = (VdsNetworkStatistics) obj; + if (speed == null) { + if (other.speed != null) { + return false; + } + } else if (!speed.equals(other.speed)) { + return false; + } + if (vdsId == null) { + if (other.vdsId != null) { + return false; + } + } else if (!vdsId.equals(other.vdsId)) { + return false; + } + return true; + } + + } diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/network/VmNic.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/network/VmNic.java index 93f406a..3141b96 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/network/VmNic.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/network/VmNic.java @@ -27,6 +27,7 @@ private Guid vmId; private Guid vnicProfileId; private Guid vmTemplateId; + private Integer speed; /** * Link State of the Nic. <BR> @@ -37,6 +38,25 @@ public VmNic() { super(new VmNetworkStatistics(), VmInterfaceType.pv.getValue()); linked = true; + } + + /** + * Returns the speed of the network device in megabits per second. + * + * @return the speed + */ + public Integer getSpeed() { + return speed; + } + + /** + * Sets the speed of the network device in megabits per second. + * + * @param speed + * the speed. + */ + public void setSpeed(Integer speed) { + this.speed = speed; } public void setVmId(Guid vmId) { @@ -129,6 +149,7 @@ result = prime * result + ((getVmId() == null) ? 0 : getVmId().hashCode()); result = prime * result + ((getVnicProfileId() == null) ? 0 : getVnicProfileId().hashCode()); result = prime * result + ((getVmTemplateId() == null) ? 0 : getVmTemplateId().hashCode()); + result = prime * result + ((getSpeed() == null) ? 0 : getSpeed().hashCode()); return result; } @@ -153,6 +174,9 @@ if (!ObjectUtils.objectsEqual(getVmTemplateId(), other.getVmTemplateId())) { return false; } + if (!ObjectUtils.objectsEqual(getSpeed(), other.getSpeed())) { + return false; + } return true; } } diff --git a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/InterfaceDaoDbFacadeImpl.java b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/InterfaceDaoDbFacadeImpl.java index 9ffe5cf..5baf1b7 100644 --- a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/InterfaceDaoDbFacadeImpl.java +++ b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/InterfaceDaoDbFacadeImpl.java @@ -97,7 +97,8 @@ .addValue("tx_drop", stats.getTransmitDropRate()) .addValue("tx_rate", stats.getTransmitRate()) .addValue("iface_status", stats.getStatus()) - .addValue("vds_id", stats.getVdsId()); + .addValue("vds_id", stats.getVdsId()) + .addValue("speed", stats.getSpeed()); } @Override @@ -118,7 +119,6 @@ .addValue("mac_addr", nic.getMacAddress()) .addValue("name", nic.getName()) .addValue("network_name", nic.getNetworkName()) - .addValue("speed", nic.getSpeed()) .addValue("subnet", nic.getSubnet()) .addValue("boot_protocol", nic.getBootProtocol()) .addValue("type", nic.getType()) @@ -296,7 +296,7 @@ entity.getStatistics().setTransmitDropRate(rs.getDouble("tx_drop")); entity.getStatistics().setStatus(InterfaceStatus.forValue(rs.getInt("iface_status"))); entity.getStatistics().setVdsId(getGuidDefaultEmpty(rs, "vds_id")); - entity.setType((Integer) rs.getObject("type")); + entity.setType(rs.getInt("type")); entity.setGateway(rs.getString("gateway")); entity.setSubnet(rs.getString("subnet")); entity.setAddress(rs.getString("addr")); @@ -330,13 +330,13 @@ VdsNetworkInterface iface; String macAddress = rs.getString("mac_addr"); - Integer vlanId = (Integer) rs.getObject("vlan_id"); + Integer vlanId = rs.getInt("vlan_id"); String baseInterface = rs.getString("base_interface"); - Integer bondType = (Integer) rs.getObject("bond_type"); + Integer bondType = rs.getInt("bond_type"); String bondName = rs.getString("bond_name"); - Boolean isBond = (Boolean) rs.getObject("is_bond"); + Boolean isBond = rs.getBoolean("is_bond"); String bondOptions = rs.getString("bond_opts"); - Integer speed = (Integer) rs.getObject("speed"); + Integer speed = rs.getInt("speed"); if (Boolean.TRUE.equals(isBond) && vlanId != null) { iface = new VdsNetworkInterface(); @@ -347,7 +347,7 @@ iface.setBondName(bondName); iface.setBonded(isBond); iface.setBondOptions(bondOptions); - iface.setSpeed(speed); + iface.getStatistics().setSpeed(speed); } else if (Boolean.TRUE.equals(isBond)) { iface = new Bond(macAddress, bondOptions, bondType); } else if (vlanId != null) { diff --git a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/network/InterfaceDaoTest.java b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/network/InterfaceDaoTest.java index 26dd2e8..e7cf430 100644 --- a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/network/InterfaceDaoTest.java +++ b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/network/InterfaceDaoTest.java @@ -49,14 +49,16 @@ newQos.setInboundPeak(30); newQos.setInboundBurst(30); + newVdsStatistics = new VdsNetworkStatistics(); + newVdsStatistics.setSpeed(1000); + newVdsInterface = new VdsNetworkInterface(); - newVdsInterface.setStatistics(new VdsNetworkStatistics()); + newVdsInterface.setStatistics(newVdsStatistics); newVdsInterface.setId(Guid.newGuid()); newVdsInterface.setName("eth77"); newVdsInterface.setNetworkName("enginet"); newVdsInterface.setAddress("192.168.122.177"); newVdsInterface.setSubnet("255.255.255.0"); - newVdsInterface.setSpeed(1000); newVdsInterface.setType(3); newVdsInterface.setBootProtocol(NetworkBootProtocol.STATIC_IP); newVdsInterface.setMacAddress("01:C0:81:21:71:17"); @@ -64,7 +66,6 @@ newVdsInterface.setMtu(1500); newVdsInterface.setQos(newQos); - newVdsStatistics = newVdsInterface.getStatistics(); } /** diff --git a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/HostNicStatisticalQuery.java b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/HostNicStatisticalQuery.java index fd31c7a..2b5ef50 100644 --- a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/HostNicStatisticalQuery.java +++ b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/HostNicStatisticalQuery.java @@ -30,8 +30,8 @@ public List<Statistic> getStatistics(VdsNetworkInterface iface) { NetworkStatistics s = iface.getStatistics(); - return asList(setDatum(clone(DATA_RX), RxTxCalculator.percent2bytes(iface.getSpeed(), s.getReceiveRate())), - setDatum(clone(DATA_TX), RxTxCalculator.percent2bytes(iface.getSpeed(), s.getTransmitRate())), + return asList(setDatum(clone(DATA_RX), RxTxCalculator.percent2bytes(iface.getStatistics().getSpeed(), s.getReceiveRate())), + setDatum(clone(DATA_TX), RxTxCalculator.percent2bytes(iface.getStatistics().getSpeed(), s.getTransmitRate())), setDatum(clone(ERRS_RX), s.getReceiveDropRate()), setDatum(clone(ERRS_TX), s.getTransmitDropRate())); } diff --git a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendHostNicResourceTest.java b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendHostNicResourceTest.java index a904c47..0374c2a 100644 --- a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendHostNicResourceTest.java +++ b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendHostNicResourceTest.java @@ -459,9 +459,9 @@ protected VdsNetworkInterface setUpStatisticalExpectations() throws Exception { VdsNetworkStatistics stats = control.createMock(VdsNetworkStatistics.class); VdsNetworkInterface entity = control.createMock(VdsNetworkInterface.class); - expect(entity.getSpeed()).andReturn(SPEED).anyTimes(); expect(entity.getStatistics()).andReturn(stats); expect(entity.getId()).andReturn(NIC_ID).anyTimes(); + expect(stats.getSpeed()).andReturn(SPEED).anyTimes(); expect(stats.getReceiveRate()).andReturn(RECEIVE_RATE); expect(stats.getTransmitRate()).andReturn(TRANSMIT_RATE); expect(stats.getReceiveDropRate()).andReturn(RECEIVE_DROP_RATE); diff --git a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendHostNicsResourceTest.java b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendHostNicsResourceTest.java index 6cdffd5..be4f1ff 100644 --- a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendHostNicsResourceTest.java +++ b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendHostNicsResourceTest.java @@ -379,7 +379,7 @@ entity.setId(GUIDS[index]); entity.setName(NAMES[index]); entity.setNetworkName(NETWORK_NAME); - entity.setSpeed(NIC_SPEED); + entity.getStatistics().setSpeed(NIC_SPEED); entity = setUpStatistics(entity, GUIDS[index]); entity.getStatistics().setStatus(NIC_STATUS); entity.setBootProtocol(BOOT_PROTOCOL); @@ -391,7 +391,7 @@ entity.setId(MASTER_GUID); entity.setName(MASTER_NAME); entity.setNetworkName(NETWORK_NAME); - entity.setSpeed(NIC_SPEED); + entity.getStatistics().setSpeed(NIC_SPEED); entity.setBonded(true); entity.setBootProtocol(BOOT_PROTOCOL); return setUpStatistics(entity, MASTER_GUID); @@ -402,7 +402,7 @@ entity.setId(SLAVE_GUID); entity.setName(SLAVE_NAME); entity.setNetworkName(NETWORK_NAME); - entity.setSpeed(NIC_SPEED); + entity.getStatistics().setSpeed(NIC_SPEED); entity.setBondName(MASTER_NAME); entity.setBootProtocol(BOOT_PROTOCOL); return setUpStatistics(entity, SLAVE_GUID); diff --git a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/HostNicMapper.java b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/HostNicMapper.java index f321acb..4c07e49 100644 --- a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/HostNicMapper.java +++ b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/HostNicMapper.java @@ -11,8 +11,8 @@ import org.ovirt.engine.api.model.NicStatus; import org.ovirt.engine.api.model.Option; import org.ovirt.engine.api.model.Options; -import org.ovirt.engine.api.restapi.utils.CustomPropertiesParser; import org.ovirt.engine.api.model.VLAN; +import org.ovirt.engine.api.restapi.utils.CustomPropertiesParser; import org.ovirt.engine.api.restapi.utils.GuidUtils; import org.ovirt.engine.core.common.businessentities.network.Bond; import org.ovirt.engine.core.common.businessentities.network.InterfaceStatus; @@ -133,8 +133,9 @@ model.setStatus(StatusUtils.create(nicStatus)); } } - if(entity.getSpeed()!=null && entity.getSpeed()>0){ - model.setSpeed(entity.getSpeed() * 1000L * 1000); + final Integer nicSpeed = entity.getStatistics().getSpeed(); + if (nicSpeed != null && nicSpeed > 0) { + model.setSpeed(nicSpeed * 1000L * 1000); } if (!StringUtils.isEmpty(entity.getBondOptions())) { if(model.getBonding() == null) model.setBonding(new Bonding()); diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsBrokerObjectsBuilder.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsBrokerObjectsBuilder.java index cfffcc1..c256a0a 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsBrokerObjectsBuilder.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsBrokerObjectsBuilder.java @@ -690,7 +690,7 @@ iface.getStatistics().setReceiveDropRate(rx_dropped != null ? rx_dropped : 0); iface.getStatistics().setTransmitRate(tx_rate != null ? tx_rate : 0); iface.getStatistics().setTransmitDropRate(tx_dropped != null ? tx_dropped : 0); - iface.setSpeed(AssignIntValue(dict, VdsProperties.INTERFACE_SPEED)); + iface.getStatistics().setSpeed(AssignIntValue(dict, VdsProperties.INTERFACE_SPEED)); iface.getStatistics().setStatus(AssignInterfaceStatusValue(dict, VdsProperties.iface_status)); int hold = @@ -1417,7 +1417,7 @@ if (nic != null) { if (nic.get("speed") != null) { Object speed = nic.get("speed"); - iface.setSpeed((Integer) speed); + iface.getStatistics().setSpeed((Integer) speed); } iface.setAddress((String) nic.get("addr")); iface.setSubnet((String) nic.get("netmask")); diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/Cloner.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/Cloner.java index b49fad8..b414b45 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/Cloner.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/Cloner.java @@ -505,6 +505,7 @@ cloneNetworkStatisticss(instance, obj); obj.setVdsId(instance.getVdsId()); + obj.setSpeed(instance.getSpeed()); return obj; } @@ -524,7 +525,6 @@ obj.setMacAddress(vdsNetworkInterface.getMacAddress()); obj.setName(vdsNetworkInterface.getName()); obj.setNetworkName(vdsNetworkInterface.getNetworkName()); - obj.setSpeed(vdsNetworkInterface.getSpeed()); obj.setStatistics(cloneVdsNetworkStatistics(vdsNetworkInterface.getStatistics())); return obj; diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostInterfaceListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostInterfaceListModel.java index 49a770a..637b585 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostInterfaceListModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostInterfaceListModel.java @@ -536,7 +536,7 @@ hi.setName(nic.getName()); hi.setAddress(nic.getAddress()); hi.setMAC(nic.getMacAddress()); - hi.setSpeed(nic.getSpeed()); + hi.setSpeed(nic.getStatistics().getSpeed()); hi.setRxRate(nic.getStatistics().getReceiveRate()); hi.setRxDrop(nic.getStatistics().getReceiveDropRate()); hi.setTxRate(nic.getStatistics().getTransmitRate()); diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/network/SubTabNetworkHostView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/network/SubTabNetworkHostView.java index ae4df6f..eb3cef4 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/network/SubTabNetworkHostView.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/network/SubTabNetworkHostView.java @@ -135,8 +135,8 @@ new TextColumnWithTooltip<PairQueryable<VdsNetworkInterface, VDS>>() { @Override public String getValue(PairQueryable<VdsNetworkInterface, VDS> object) { - if (object.getFirst() != null && object.getFirst().getSpeed() != null) { - return String.valueOf(object.getFirst().getSpeed()); + if (object.getFirst() != null && object.getFirst().getStatistics().getSpeed() != null) { + return String.valueOf(object.getFirst().getStatistics().getSpeed()); } return null; } @@ -153,8 +153,8 @@ @Override protected Double getSpeed(PairQueryable<VdsNetworkInterface, VDS> object) { - if (object.getFirst() != null && object.getFirst().getSpeed() != null) { - return object.getFirst().getSpeed().doubleValue(); + if (object.getFirst() != null && object.getFirst().getStatistics().getSpeed() != null) { + return object.getFirst().getStatistics().getSpeed().doubleValue(); } else { return null; } @@ -173,8 +173,8 @@ @Override protected Double getSpeed(PairQueryable<VdsNetworkInterface, VDS> object) { - if (object.getFirst() != null && object.getFirst().getSpeed() != null) { - return object.getFirst().getSpeed().doubleValue(); + if (object.getFirst() != null && object.getFirst().getStatistics().getSpeed() != null) { + return object.getFirst().getStatistics().getSpeed().doubleValue(); } else { return null; } diff --git a/packaging/dbscripts/create_views.sql b/packaging/dbscripts/create_views.sql index fc02220..4b7f095 100644 --- a/packaging/dbscripts/create_views.sql +++ b/packaging/dbscripts/create_views.sql @@ -922,8 +922,8 @@ CREATE OR REPLACE VIEW vds_interface_view AS SELECT vds_interface_statistics.rx_rate, vds_interface_statistics.tx_rate, vds_interface_statistics.rx_drop, vds_interface_statistics.tx_drop, vds_interface_statistics.iface_status, vds_interface.type, vds_interface.gateway, - vds_interface.subnet, vds_interface.addr, vds_interface.speed, vds_interface.base_interface, vds_interface.vlan_id, vds_interface.bond_type, - vds_interface.bond_name, vds_interface.is_bond, vds_interface.bond_opts, vds_interface.mac_addr, + vds_interface.subnet, vds_interface.addr, vds_interface_statistics.speed, vds_interface.base_interface, vds_interface.vlan_id, + vds_interface.bond_type, vds_interface.bond_name, vds_interface.is_bond, vds_interface.bond_opts, vds_interface.mac_addr, vds_interface.network_name, vds_interface.name, vds_static.vds_id, vds_static.vds_name, vds_interface.id, vds_interface.boot_protocol, vds_interface.mtu as mtu, vds_interface.bridged, 1 AS is_vds, vds_interface.qos_overridden AS qos_overridden, vds_interface.labels as labels, vds_interface.custom_properties AS custom_properties, vds_static.vds_group_id as vds_group_id @@ -933,7 +933,7 @@ CREATE OR REPLACE VIEW vm_interface_view AS SELECT vm_interface_statistics.rx_rate, vm_interface_statistics.tx_rate, vm_interface_statistics.rx_drop, - vm_interface_statistics.tx_drop, vm_interface_statistics.iface_status, vm_interface.type, vm_interface.speed, + vm_interface_statistics.tx_drop, vm_interface_statistics.iface_status, vm_interface.type, vds_interface_statistics.speed, vm_interface.mac_addr, network.name AS network_name, vm_interface.name, vm_interface.vnic_profile_id, vm_static.vm_guid, vm_interface.vmt_guid, vm_static.vm_name, vm_interface.id, 0 AS boot_protocol, 0 AS is_vds, vm_device.is_plugged, vm_device.custom_properties, vnic_profiles.port_mirroring AS port_mirroring, vm_interface.linked, @@ -945,7 +945,7 @@ LEFT JOIN (vnic_profiles JOIN network ON network.id = vnic_profiles.network_id) ON vnic_profiles.id = vm_interface.vnic_profile_id UNION SELECT vm_interface_statistics.rx_rate, vm_interface_statistics.tx_rate, vm_interface_statistics.rx_drop, - vm_interface_statistics.tx_drop, vm_interface_statistics.iface_status, vm_interface.type, vm_interface.speed, + vm_interface_statistics.tx_drop, vm_interface_statistics.iface_status, vm_interface.type, vds_interface_statistics.speed, vm_interface.mac_addr, network.name AS network_name, vm_interface.name, vm_interface.vnic_profile_id, NULL::uuid as vm_guid, vm_interface.vmt_guid, vm_templates.vm_name AS vm_name, vm_interface.id, 0 AS boot_protocol, 0 AS is_vds, vm_device.is_plugged as is_plugged, vm_device.custom_properties as custom_properties, vnic_profiles.port_mirroring AS port_mirroring, diff --git a/packaging/dbscripts/network_sp.sql b/packaging/dbscripts/network_sp.sql index 9f9f5d7..05143c1 100644 --- a/packaging/dbscripts/network_sp.sql +++ b/packaging/dbscripts/network_sp.sql @@ -295,7 +295,6 @@ v_mac_addr VARCHAR(20) , v_name VARCHAR(50), v_network_name VARCHAR(50) , - v_speed INTEGER , v_subnet VARCHAR(20) , v_boot_protocol INTEGER , v_type INTEGER , @@ -329,7 +328,6 @@ v_mac_addr VARCHAR(20) , v_name VARCHAR(50), v_network_name VARCHAR(50) , - v_speed INTEGER , v_subnet VARCHAR(20) , v_boot_protocol INTEGER , v_type INTEGER , @@ -848,12 +846,13 @@ v_tx_drop DECIMAL(18,0) , v_tx_rate DECIMAL(18,0) , v_iface_status INTEGER , - v_vds_id UUID) + v_vds_id UUID, + v_speed INTEGER) RETURNS VOID AS $procedure$ BEGIN -INSERT INTO vds_interface_statistics(id, rx_drop, rx_rate, tx_drop, tx_rate, vds_id, iface_status) - VALUES(v_id, v_rx_drop, v_rx_rate, v_tx_drop, v_tx_rate, v_vds_id,v_iface_status); +INSERT INTO vds_interface_statistics(id, rx_drop, rx_rate, tx_drop, tx_rate, vds_id, iface_status, speed) + VALUES(v_id, v_rx_drop, v_rx_rate, v_tx_drop, v_tx_rate, v_vds_id,v_iface_status, v_speed); END; $procedure$ LANGUAGE plpgsql; @@ -867,15 +866,22 @@ v_tx_drop DECIMAL(18,0) , v_tx_rate DECIMAL(18,0) , v_iface_status INTEGER , - v_vds_id UUID) + v_vds_id UUID , + v_speed INTEGER) RETURNS VOID --The [vds_interface_statistics] table doesn't have a timestamp column. Optimistic concurrency logic cannot be generated AS $procedure$ BEGIN UPDATE vds_interface_statistics - SET rx_drop = v_rx_drop,rx_rate = v_rx_rate,tx_drop = v_tx_drop,tx_rate = v_tx_rate, - vds_id = v_vds_id,iface_status = v_iface_status, _update_date = LOCALTIMESTAMP + SET rx_drop = v_rx_drop, + rx_rate = v_rx_rate, + tx_drop = v_tx_drop, + tx_rate = v_tx_rate, + vds_id = v_vds_id, + speed = v_speed, + iface_status = v_iface_status, + _update_date = LOCALTIMESTAMP WHERE id = v_id; END; $procedure$ LANGUAGE plpgsql; diff --git a/packaging/dbscripts/upgrade/03_05_0720_move_vds_interface_speed.sql b/packaging/dbscripts/upgrade/03_05_0720_move_vds_interface_speed.sql new file mode 100644 index 0000000..747cb74 --- /dev/null +++ b/packaging/dbscripts/upgrade/03_05_0720_move_vds_interface_speed.sql @@ -0,0 +1,6 @@ +select fn_db_add_column('vds_interface_statistics', 'speed', 'INTEGER default NULL'); + +update vds_interface_statistics +set speed = (select speed from vds_interface where vds_interface_statistics.id = vds_interface.id); + +select fn_db_drop_column('vds_interface', 'speed'); -- To view, visit http://gerrit.ovirt.org/28913 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: If4be28a786bee1eae6367c4ef19c9ee3b4afec61 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Yevgeny Zaspitsky <yzasp...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches