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

Reply via email to