Alona Kaplan has uploaded a new change for review. Change subject: webadmin: show sriov icon on sriov enabled physical nics ......................................................................
webadmin: show sriov icon on sriov enabled physical nics Change-Id: I5b4e0765709fc713a67ef70c8dcd9b146babd24e Signed-off-by: Alona Kaplan <alkap...@redhat.com> --- M frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/core/Common.gwt.xml M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostSetupNetworksModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/network/BondNetworkInterfaceModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/network/NetworkInterfaceModel.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationResources.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/BondPanel.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NicPanel.java A frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/webadmin/images/network/nic_sriov.png 8 files changed, 55 insertions(+), 10 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/04/36204/1 diff --git a/frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/core/Common.gwt.xml b/frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/core/Common.gwt.xml index a5d28e2..3ce0fbf 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/core/Common.gwt.xml +++ b/frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/core/Common.gwt.xml @@ -89,6 +89,7 @@ <include name="common/businessentities/network/VnicProfile.java" /> <include name="common/businessentities/network/VmNic.java" /> <include name="common/businessentities/network/ExternalSubnet.java" /> + <include name="common/businessentities/network/HostNicVfsConfig.java" /> <include name="common/businessentities/Commented.java" /> <include name="common/businessentities/Reasoned.java" /> 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 5dcbd67..8bf7175 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 @@ -20,12 +20,14 @@ import org.ovirt.engine.core.common.businessentities.VDS; import org.ovirt.engine.core.common.businessentities.comparators.LexoNumericComparator; import org.ovirt.engine.core.common.businessentities.network.Bond; +import org.ovirt.engine.core.common.businessentities.network.HostNicVfsConfig; import org.ovirt.engine.core.common.businessentities.network.Network; import org.ovirt.engine.core.common.businessentities.network.VdsNetworkInterface; import org.ovirt.engine.core.common.queries.ConfigurationValues; import org.ovirt.engine.core.common.queries.IdQueryParameters; import org.ovirt.engine.core.common.queries.VdcQueryReturnValue; import org.ovirt.engine.core.common.queries.VdcQueryType; +import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.ui.frontend.AsyncQuery; import org.ovirt.engine.ui.frontend.Frontend; import org.ovirt.engine.ui.frontend.INewAsyncCallback; @@ -124,6 +126,8 @@ // The purpose of this map is to keep the network parameters while moving the network from one nic to another private final Map<String, NetworkParameters> networkToLastDetachParams; + + private Map<Guid, HostNicVfsConfig> nicToVfsConfig = new HashMap<>(); private NetworkOperationFactory operationFactory; private List<Network> allNetworks; @@ -714,7 +718,7 @@ if (networkModel.hasVlan()) { NetworkInterfaceModel existingEridge = networkModel.getVlanNicModel(); assert existingEridge == null : "should have only one bridge, but found " + existingEridge; //$NON-NLS-1$ - networkModel.setVlanNicModel(new NetworkInterfaceModel(nic, nicNetworks, null, this)); + networkModel.setVlanNicModel(new NetworkInterfaceModel(nic, nicNetworks, null, false, this)); } nicToNetwork.get(ifName).add(networkModel); @@ -781,13 +785,13 @@ if (bondedNics != null) { List<NetworkInterfaceModel> bondedModels = new ArrayList<NetworkInterfaceModel>(); for (VdsNetworkInterface bonded : bondedNics) { - NetworkInterfaceModel bondedModel = new NetworkInterfaceModel(bonded, this); + NetworkInterfaceModel bondedModel = new NetworkInterfaceModel(bonded, nicToVfsConfig.containsKey(bonded.getId()), this); bondedModel.setBonded(true); bondedModels.add(bondedModel); } nicModel = new BondNetworkInterfaceModel(nic, nicNetworks, nicLabels, bondedModels, this); } else { - nicModel = new NetworkInterfaceModel(nic, nicNetworks, nicLabels, this); + nicModel = new NetworkInterfaceModel(nic, nicNetworks, nicLabels, nicToVfsConfig.containsKey(nic.getId()), this); } nicModels.put(nicName, nicModel); @@ -859,8 +863,8 @@ List<VdsNetworkInterface> allNics = (List<VdsNetworkInterface>) returnValue2; HostSetupNetworksModel.this.allNics = allNics; - // chain the free bonds query - queryFreeBonds(); + // chain the vfsConfig query + queryVfsConfig(); } }; @@ -870,6 +874,30 @@ Frontend.getInstance().runQuery(VdcQueryType.GetVdsInterfacesByVdsId, params, asyncQuery); } + private void queryVfsConfig() { + // query for vfsConfigs + AsyncQuery asyncQuery = new AsyncQuery(); + asyncQuery.asyncCallback = new INewAsyncCallback() { + @Override + public void onSuccess(Object model, Object returnValueObj) + { + Object returnValue = ((VdcQueryReturnValue) returnValueObj).getReturnValue(); + List<HostNicVfsConfig> allHostVfs = (List<HostNicVfsConfig>) returnValue; + + for (HostNicVfsConfig vfsConfig : allHostVfs) { + nicToVfsConfig.put(vfsConfig.getNicId(), vfsConfig); + } + + // chain the free bonds query + queryFreeBonds(); + } + }; + + VDS vds = getEntity(); + IdQueryParameters params = new IdQueryParameters(vds.getId()); + Frontend.getInstance().runQuery(VdcQueryType.GetAllVfsConfigByHostId, params, asyncQuery); + } + private void queryNetworks() { // query for networks AsyncQuery asyncQuery = new AsyncQuery(); diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/network/BondNetworkInterfaceModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/network/BondNetworkInterfaceModel.java index 7fab412..23ff81d 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/network/BondNetworkInterfaceModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/network/BondNetworkInterfaceModel.java @@ -17,7 +17,7 @@ Collection<LogicalNetworkModel> nicNetworks, Collection<NetworkLabelModel> nicLabels, List<NetworkInterfaceModel> bonded, HostSetupNetworksModel setupModel) { - super(bondNic, nicNetworks, nicLabels, setupModel); + super(bondNic, nicNetworks, nicLabels, false, setupModel); this.bonded = bonded; for (NetworkInterfaceModel bondedNic : bonded) { bondedNic.setBond(this); diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/network/NetworkInterfaceModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/network/NetworkInterfaceModel.java index 3cb0de0..ae58b6f 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/network/NetworkInterfaceModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/network/NetworkInterfaceModel.java @@ -16,6 +16,7 @@ private boolean bonded = false; private BondNetworkInterfaceModel bond; private List<NetworkLabelModel> labels; + private boolean sriovEnabled = false; public NetworkInterfaceModel(HostSetupNetworksModel setupModel) { super(setupModel); @@ -27,8 +28,9 @@ public NetworkInterfaceModel(VdsNetworkInterface nic, Collection<LogicalNetworkModel> nicNetworks, Collection<NetworkLabelModel> nicLabels, + boolean sriovEnabled, HostSetupNetworksModel setupModel) { - this(nic, setupModel); + this(nic, sriovEnabled, setupModel); // attach all networks for (LogicalNetworkModel network : nicNetworks) { network.attach(this, false); @@ -38,9 +40,10 @@ } } - public NetworkInterfaceModel(VdsNetworkInterface nic, HostSetupNetworksModel setupModel) { + public NetworkInterfaceModel(VdsNetworkInterface nic, boolean sriovEnabled, HostSetupNetworksModel setupModel) { this(setupModel); setEntity(nic); + this.sriovEnabled = sriovEnabled; } public BondNetworkInterfaceModel getBond() { @@ -108,4 +111,8 @@ public void setCulpritNetwork(String culpritNetwork) { this.culpritNetwork = culpritNetwork; } + + public boolean isSriovEnabled() { + return sriovEnabled; + } } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationResources.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationResources.java index 848d8cd..3bdb8bd 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationResources.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationResources.java @@ -313,6 +313,9 @@ @Source("images/network/nic_icon.png") ImageResource nicIcon(); + @Source("images/network/nic_sriov.png") + ImageResource nicSriov(); + @Source("images/network/bond.png") ImageResource bond(); diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/BondPanel.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/BondPanel.java index c999e38..cd53fb8 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/BondPanel.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/BondPanel.java @@ -54,7 +54,9 @@ for (NetworkInterfaceModel networkInterfaceModel : bonded) { NicPanel nicPanel = new NicPanel(networkInterfaceModel, style); nicPanel.parentPanel = this; - nicPanel.actionButton.setVisible(false); + if (!networkInterfaceModel.isSriovEnabled()) { + nicPanel.actionButton.setVisible(false); + } vPanel.add(nicPanel); } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NicPanel.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NicPanel.java index 46b4030..19f7701 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NicPanel.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NicPanel.java @@ -38,7 +38,7 @@ Label titleLabel = new Label(item.getName()); titleLabel.setHeight("100%"); //$NON-NLS-1$ - Image nicImage = new Image(resources.nicIcon()); + Image nicImage = new Image(getNicIcon()); rowPanel.setWidget(0, 0, dragImage); ImageResource statusImage = getStatusImage(); @@ -51,6 +51,10 @@ return rowPanel; } + private ImageResource getNicIcon() { + return ((NetworkInterfaceModel) item).isSriovEnabled() ? resources.nicSriov() : resources.nicIcon(); + } + private ImageResource getStatusImage() { switch (((NetworkInterfaceModel) item).getStatus()) { case UP: diff --git a/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/webadmin/images/network/nic_sriov.png b/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/webadmin/images/network/nic_sriov.png new file mode 100644 index 0000000..4071110 --- /dev/null +++ b/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/webadmin/images/network/nic_sriov.png Binary files differ -- To view, visit http://gerrit.ovirt.org/36204 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I5b4e0765709fc713a67ef70c8dcd9b146babd24e Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Alona Kaplan <alkap...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches