Alona Kaplan has uploaded a new change for review.

Change subject: webadmin: setup networks- diable adding labels by editing the 
nic
......................................................................

webadmin: setup networks- diable adding labels by editing the nic

Preparation for making the labels draggable.

Change-Id: I5b96acb7de969f00003139d512bf9d6d7f7f55db
Signed-off-by: Alona Kaplan <[email protected]>
---
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostBondInterfaceModel.java
D 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostNicModel.java
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/NicLabelModel.java
D 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/PfNicLabelModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/SetupNetworksAddBondModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/SetupNetworksEditBondModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/SetupNetworksJoinBondsModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/VfsConfigModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/VfsNicLabelModel.java
M 
frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIMessages.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/ClientGinjectorExtension.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/PresenterModule.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/HostModule.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/NetworkModule.java
D 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/host/HostNicPopupPresenterWidget.java
A 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/host/VfsConfigPopupPresenterWidget.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostBondPopupView.java
D 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostNicPopupView.java
D 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostNicPopupView.ui.xml
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/NicLabelWidget.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/SetupNetworksBondPopupView.java
R 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsConfigPopupView.java
R 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsConfigPopupView.ui.xml
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsNicLabelWidget.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NicPanel.java
27 files changed, 283 insertions(+), 522 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/24/41524/1

diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostBondInterfaceModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostBondInterfaceModel.java
index 4de9e71..1f0c3a0 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostBondInterfaceModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostBondInterfaceModel.java
@@ -177,13 +177,13 @@
         return getBootProtocol() == NetworkBootProtocol.STATIC_IP;
     }
 
-    private PfNicLabelModel labelsModel;
+    private NicLabelModel labelsModel;
 
-    public PfNicLabelModel getLabelsModel() {
+    public NicLabelModel getLabelsModel() {
         return labelsModel;
     }
 
-    protected void setLabelsModel(PfNicLabelModel labelsModel) {
+    protected void setLabelsModel(NicLabelModel labelsModel) {
         this.labelsModel = labelsModel;
     }
 
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostNicModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostNicModel.java
deleted file mode 100644
index 685dc15..0000000
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostNicModel.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package org.ovirt.engine.ui.uicommonweb.models.hosts;
-
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.SortedSet;
-
-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.ui.uicommonweb.models.HasValidatedTabs;
-import org.ovirt.engine.ui.uicommonweb.models.Model;
-import org.ovirt.engine.ui.uicommonweb.models.TabName;
-import org.ovirt.engine.ui.uicommonweb.models.ValidationCompleteEvent;
-import org.ovirt.engine.ui.uicompat.ConstantsManager;
-
-public class HostNicModel extends Model implements HasValidatedTabs {
-
-    private static final VfsConfigModel EMPTY_VFS_CONFIG_MODEL = new 
VfsConfigModel();
-    private static final PfNicLabelModel EMPTY_LABELS_MODEL = new 
PfNicLabelModel();
-
-    private PfNicLabelModel labelsModel = EMPTY_LABELS_MODEL;
-    private VfsConfigModel vfsConfigModel = EMPTY_VFS_CONFIG_MODEL;
-    private VdsNetworkInterface iface;
-
-    public PfNicLabelModel getLabelsModel() {
-        return labelsModel;
-    }
-
-    public HostNicModel(VdsNetworkInterface iface,
-            Collection<String> suggestedLabels,
-            Map<String, String> labelToIface,
-            HostNicVfsConfig vfsConfig,
-            List<Network> allClusterNetworks,
-            SortedSet<String> dcLabels) {
-        
setTitle(ConstantsManager.getInstance().getMessages().editInterfaceTitle(iface.getName()));
-        this.iface = iface;
-
-        if (labelToIface != null) {
-            labelsModel = new 
PfNicLabelModel(Collections.singletonList(iface), suggestedLabels, 
labelToIface);
-        }
-
-        if (vfsConfig != null) {
-            vfsConfigModel = new VfsConfigModel(vfsConfig, allClusterNetworks, 
dcLabels);
-        }
-    }
-
-    public boolean validate() {
-        if (vfsConfigModel == EMPTY_VFS_CONFIG_MODEL) {
-            vfsConfigModel.setIsValid(true);
-        } else {
-            vfsConfigModel.validate();
-        }
-
-        if (labelsModel == EMPTY_LABELS_MODEL) {
-            labelsModel.setIsValid(true);
-        } else {
-            labelsModel.validate();
-        }
-        setValidTab(TabName.PF_TAB, labelsModel.getIsValid());
-        setValidTab(TabName.VFS_CONFIG_TAB, vfsConfigModel.getIsValid());
-
-        ValidationCompleteEvent.fire(getEventBus(), this);
-        return allTabsValid();
-    }
-
-    public VfsConfigModel getVfsConfigModel() {
-        return vfsConfigModel;
-    }
-
-    public VdsNetworkInterface getInterface() {
-        return iface;
-    }
-
-    public boolean hasVfsConfig() {
-        return getVfsConfigModel() != HostNicModel.EMPTY_VFS_CONFIG_MODEL;
-    }
-
-    public boolean hasLabels() {
-        return getLabelsModel() != HostNicModel.EMPTY_LABELS_MODEL;
-    }
-}
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 cecde21..4ce4cde 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
@@ -250,7 +250,7 @@
     }
 
     private boolean computeAndCommitLabelChanges(final VdsNetworkInterface 
entity,
-            PfNicLabelModel labelsModel) {
+            NicLabelModel labelsModel) {
 
         if (!labelsModel.wasChanged()) {
             return true;
@@ -267,7 +267,7 @@
         return false;
     }
 
-    private Set<LogicalNetworkModel> getPotentialNetworks(PfNicLabelModel 
labelsModel,
+    private Set<LogicalNetworkModel> getPotentialNetworks(NicLabelModel 
labelsModel,
             Collection<LogicalNetworkModel> originalNetworks) {
 
         Collection<String> removedLabels = labelsModel.getRemovedLabels();
@@ -316,7 +316,7 @@
         return valid;
     }
 
-    private void commitNetworksAndLabelChanges(PfNicLabelModel labelModel,
+    private void commitNetworksAndLabelChanges(NicLabelModel labelModel,
             VdsNetworkInterface iface,
             Collection<LogicalNetworkModel> potentialNetworks) {
 
@@ -367,7 +367,7 @@
                         return;
                     }
                     sourceListModel.setConfirmWindow(null);
-                    PfNicLabelModel labelsModel = 
bondDialogModel.getLabelsModel();
+                    NicLabelModel labelsModel = 
bondDialogModel.getLabelsModel();
 
                    if (computeAndCommitLabelChanges(entity, labelsModel)) {
                        setBondOptions(entity, bondDialogModel);
@@ -376,36 +376,27 @@
             };
         } else if (item instanceof NetworkInterfaceModel) {
             /*******************
-             * Interface Dialog
+             * VFs Config Dialog
              *******************/
             final VdsNetworkInterface entity = ((NetworkInterfaceModel) 
item).getIface();
-            final boolean isBondSalve = entity.isBondSlave();
             final HostNicVfsConfig hostNicVfsConfig = 
nicToVfsConfig.get(entity.getId());
-            final HostNicModel interfacePopupModel =
-                    new HostNicModel(entity,
-                            isBondSalve ? null : getFreeLabels(),
-                            isBondSalve ? null : labelToIface,
-                            nicToVfsConfig.get(entity.getId()),
-                            allNetworks,
-                            dcLabels);
-            editPopup = interfacePopupModel;
+            if (hostNicVfsConfig != null) {
+                final VfsConfigModel vfsConfigPopupModel = new 
VfsConfigModel(hostNicVfsConfig, allNetworks, dcLabels);
+                
setTitle(ConstantsManager.getInstance().getMessages().editHostNicVfsConfigTitle(entity.getName()));
+                editPopup = vfsConfigPopupModel;
 
-            // OK Target
-            okTarget = new BaseCommandTarget() {
-                @Override
-                public void executeCommand(UICommand uiCommand) {
-                    if (!interfacePopupModel.validate()) {
-                        return;
+                // OK Target
+                okTarget = new BaseCommandTarget() {
+                    @Override
+                    public void executeCommand(UICommand uiCommand) {
+                        if (!vfsConfigPopupModel.validate()) {
+                            return;
+                        }
+                        sourceListModel.setConfirmWindow(null);
+                        commitVfsConfigChanges(hostNicVfsConfig, 
vfsConfigPopupModel);
                     }
-                    sourceListModel.setConfirmWindow(null);
-
-                    if (!isBondSalve) {
-                        computeAndCommitLabelChanges(entity, 
interfacePopupModel.getLabelsModel());
-                    }
-
-                    commitVfsConfigChanges(hostNicVfsConfig, 
interfacePopupModel.getVfsConfigModel());
-                }
-       };
+                };
+            }
         } else if (item instanceof LogicalNetworkModel) {
             /*****************
              * Network Dialog
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/NicLabelModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/NicLabelModel.java
index 425e78a..23e0eba 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/NicLabelModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/NicLabelModel.java
@@ -1,21 +1,58 @@
 package org.ovirt.engine.ui.uicommonweb.models.hosts;
 
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashSet;
 import java.util.LinkedList;
 import java.util.List;
+import java.util.Map;
 import java.util.Set;
 
 import 
org.ovirt.engine.core.common.businessentities.comparators.LexoNumericComparator;
+import 
org.ovirt.engine.core.common.businessentities.network.VdsNetworkInterface;
 import org.ovirt.engine.ui.uicommonweb.models.ListModel;
 import org.ovirt.engine.ui.uicommonweb.validation.AsciiNameValidation;
 import org.ovirt.engine.ui.uicommonweb.validation.IValidation;
 import org.ovirt.engine.ui.uicompat.ConstantsManager;
 
-public abstract class NicLabelModel extends ListModel<ListModel<String>> {
+// TODO this class will be removed in- 'Change Setup Networks label mechanism' 
patch
+public class NicLabelModel extends ListModel<ListModel<String>> {
     private List<String> originalLabels;
     private Collection<String> suggestedLabels;
+
+    private Collection<VdsNetworkInterface> srcIfaces; // original interfaces 
composing this interface (more than
+    // one in case this is a bond)
+    private Set<String> containedIfaces; // names of the original interfaces
+    private Map<String, String> labelToIface; // map from each label to the 
name of the interface that uses it
+    // (possibly null)
+    private Set<String> flushedLabels; // actual labels, as edited in the view
+
+    public NicLabelModel(Collection<VdsNetworkInterface> srcIfaces,
+            Collection<String> suggestedLabels,
+            Map<String, String> labelToIface) {
+
+        List<String> tmpOriginalLabels = new ArrayList<String>(); // union of 
labels attached originally to original
+        // interface(s)
+
+        this.srcIfaces = srcIfaces;
+        this.labelToIface = labelToIface;
+
+        containedIfaces = new HashSet<String>();
+        for (VdsNetworkInterface iface : srcIfaces) {
+            Set<String> labels = iface.getLabels();
+            if (labels != null) {
+                tmpOriginalLabels.addAll(labels);
+            }
+            containedIfaces.add(iface.getName());
+        }
+
+        setSuggestedLabels(suggestedLabels);
+        setOriginalLabels(tmpOriginalLabels);
+        initLabelModels();
+
+        flushedLabels = new HashSet<String>();
+    }
 
     protected void initLabelModels() {
         Collections.sort(originalLabels, new LexoNumericComparator());
@@ -71,5 +108,70 @@
             res &= labelModel.getIsValid();
         }
         setIsValid(res);
+
+        for (ListModel<String> labelModel : getItems()) {
+            String label = labelModel.getSelectedItem();
+            String usingIface = labelToIface.get(label);
+            if (usingIface != null && !containedIfaces.contains(usingIface)) {
+                
labelModel.getInvalidityReasons().add(ConstantsManager.getInstance()
+                        .getMessages()
+                        .labelInUse(label, usingIface));
+                labelModel.setIsValid(false);
+            }
+
+            res &= labelModel.getIsValid();
+        }
+        setIsValid(res);
+    }
+
+    /**
+     * Flushes the labels as edited in the view into {@link #flushedLabels}.
+     */
+    private void flush() {
+        flushedLabels.clear();
+        flushedLabels.addAll(computeSelecetedLabels());
+    }
+
+    /**
+     * Computes which labels have been removed from this interface.
+     */
+    public Collection<String> getRemovedLabels() {
+        flush();
+        Set<String> removedLabels = new HashSet<String>(getOriginalLabels());
+        removedLabels.removeAll(flushedLabels);
+        return removedLabels;
+    }
+
+    /**
+     * Computes which labels have been added to the interface.
+     */
+    public Collection<String> getAddedLabels() {
+        flush();
+        Set<String> addedLabels = new HashSet<String>(flushedLabels);
+        addedLabels.removeAll(getOriginalLabels());
+        return addedLabels;
+    }
+
+    /**
+     * Clears the labels from the original interfaces composing this 
interface, and committing the actual labels (after
+     * removal/addition by the user).
+     *
+     * @param the
+     *            interface to which the actual labels will be committed.
+     */
+    public void commit(VdsNetworkInterface dstIface) {
+        for (VdsNetworkInterface iface : srcIfaces) {
+            iface.setLabels(null);
+        }
+        flush();
+        dstIface.setLabels(flushedLabels.isEmpty() ? null : flushedLabels);
+    }
+
+    /**
+     * @return whether the labels model was changed (new labels were added or 
old were removed)
+     */
+    public boolean wasChanged() {
+        return !getAddedLabels().isEmpty() || !getRemovedLabels().isEmpty();
+
     }
 }
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/PfNicLabelModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/PfNicLabelModel.java
deleted file mode 100644
index 79714b5..0000000
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/PfNicLabelModel.java
+++ /dev/null
@@ -1,121 +0,0 @@
-package org.ovirt.engine.ui.uicommonweb.models.hosts;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import 
org.ovirt.engine.core.common.businessentities.network.VdsNetworkInterface;
-import org.ovirt.engine.ui.uicommonweb.models.ListModel;
-import org.ovirt.engine.ui.uicompat.ConstantsManager;
-
-public class PfNicLabelModel extends NicLabelModel {
-
-    private Collection<VdsNetworkInterface> srcIfaces; // original interfaces 
composing this interface (more than
-                                                             // one in case 
this is a bond)
-    private Set<String> containedIfaces; // names of the original interfaces
-    private Map<String, String> labelToIface; // map from each label to the 
name of the interface that uses it
-                                                    // (possibly null)
-    private Set<String> flushedLabels; // actual labels, as edited in the view
-
-    public PfNicLabelModel() {
-    }
-
-    public PfNicLabelModel(Collection<VdsNetworkInterface> srcIfaces,
-            Collection<String> suggestedLabels,
-            Map<String, String> labelToIface) {
-
-        List<String> tmpOriginalLabels = new ArrayList<String>(); // union of 
labels attached originally to original
-                                                                  // 
interface(s)
-
-        this.srcIfaces = srcIfaces;
-        this.labelToIface = labelToIface;
-
-        containedIfaces = new HashSet<String>();
-        for (VdsNetworkInterface iface : srcIfaces) {
-            Set<String> labels = iface.getLabels();
-            if (labels != null) {
-                tmpOriginalLabels.addAll(labels);
-            }
-            containedIfaces.add(iface.getName());
-        }
-
-        setSuggestedLabels(suggestedLabels);
-        setOriginalLabels(tmpOriginalLabels);
-        initLabelModels();
-
-        flushedLabels = new HashSet<String>();
-    }
-
-    @Override
-    public void validate() {
-        super.validate();
-        boolean res = getIsValid();
-        for (ListModel<String> labelModel : getItems()) {
-            String label = labelModel.getSelectedItem();
-            String usingIface = labelToIface.get(label);
-            if (usingIface != null && !containedIfaces.contains(usingIface)) {
-                
labelModel.getInvalidityReasons().add(ConstantsManager.getInstance()
-                        .getMessages()
-                        .labelInUse(label, usingIface));
-                labelModel.setIsValid(false);
-            }
-
-            res &= labelModel.getIsValid();
-        }
-        setIsValid(res);
-    }
-
-    /**
-     * Flushes the labels as edited in the view into {@link #flushedLabels}.
-     */
-    private void flush() {
-        flushedLabels.clear();
-        flushedLabels.addAll(computeSelecetedLabels());
-    }
-
-    /**
-     * Computes which labels have been removed from this interface.
-     */
-    public Collection<String> getRemovedLabels() {
-        flush();
-        Set<String> removedLabels = new HashSet<String>(getOriginalLabels());
-        removedLabels.removeAll(flushedLabels);
-        return removedLabels;
-    }
-
-    /**
-     * Computes which labels have been added to the interface.
-     */
-    public Collection<String> getAddedLabels() {
-        flush();
-        Set<String> addedLabels = new HashSet<String>(flushedLabels);
-        addedLabels.removeAll(getOriginalLabels());
-        return addedLabels;
-    }
-
-    /**
-     * Clears the labels from the original interfaces composing this 
interface, and committing the actual labels (after
-     * removal/addition by the user).
-     *
-     * @param the
-     *            interface to which the actual labels will be committed.
-     */
-    public void commit(VdsNetworkInterface dstIface) {
-        for (VdsNetworkInterface iface : srcIfaces) {
-            iface.setLabels(null);
-        }
-        flush();
-        dstIface.setLabels(flushedLabels.isEmpty() ? null : flushedLabels);
-    }
-
-    /**
-     * @return whether the labels model was changed (new labels were added or 
old were removed)
-     */
-    public boolean wasChanged() {
-        return !getAddedLabels().isEmpty() || !getRemovedLabels().isEmpty();
-
-    }
-}
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/SetupNetworksAddBondModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/SetupNetworksAddBondModel.java
index 857e238..9be5fde 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/SetupNetworksAddBondModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/SetupNetworksAddBondModel.java
@@ -19,7 +19,7 @@
         getBond().setItems(freeBonds);
         getBond().setSelectedItem(defaultBondName);
 
-        setLabelsModel(new PfNicLabelModel(ifaces, suggestedLabels, 
labelToIface));
+        setLabelsModel(new NicLabelModel(ifaces, suggestedLabels, 
labelToIface));
     }
 
 }
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/SetupNetworksEditBondModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/SetupNetworksEditBondModel.java
index 9cef6f0..ae5001d 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/SetupNetworksEditBondModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/SetupNetworksEditBondModel.java
@@ -48,7 +48,7 @@
             getBondingOptions().setSelectedItem(customItem);
         }
 
-        setLabelsModel(new PfNicLabelModel(Collections.singletonList(bond), 
suggestedLabels, labelToIface));
+        setLabelsModel(new NicLabelModel(Collections.singletonList(bond), 
suggestedLabels, labelToIface));
     }
 
 }
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/SetupNetworksJoinBondsModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/SetupNetworksJoinBondsModel.java
index 63d4a9d..6ad1b1e 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/SetupNetworksJoinBondsModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/SetupNetworksJoinBondsModel.java
@@ -45,7 +45,7 @@
         getBondingOptions().setItems(bondOptions);
         
getBondingOptions().setSelectedItem(pairForBondOption.get(target.getBondOptions()));
 
-        setLabelsModel(new PfNicLabelModel(Arrays.asList(source.getIface(), 
target.getIface()), suggestedLabels, labelToIface));
+        setLabelsModel(new NicLabelModel(Arrays.asList(source.getIface(), 
target.getIface()), suggestedLabels, labelToIface));
     }
 
     private void addBondOptionIfMissing(String candidateOption) {
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/VfsConfigModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/VfsConfigModel.java
index 53639f0..81171f6 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/VfsConfigModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/VfsConfigModel.java
@@ -92,13 +92,13 @@
         networks.setItems(vfsConfigNetworks);
     }
 
-    public void validate() {
+    public boolean validate() {
         numOfVfs.validateEntity(new IValidation[] { new NotEmptyValidation(),
                 new IntegerValidation(0, getMaxNumOfVfs().getEntity()) });
 
         labelsModel.validate();
 
-        setIsValid(labelsModel.getIsValid() && numOfVfs.getIsValid());
+        return labelsModel.getIsValid() && numOfVfs.getIsValid();
     }
 
     public static enum AllNetworksSelector {
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/VfsNicLabelModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/VfsNicLabelModel.java
index ca6220d..1b1d6f4 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/VfsNicLabelModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/VfsNicLabelModel.java
@@ -1,13 +1,82 @@
 package org.ovirt.engine.ui.uicommonweb.models.hosts;
 
 import java.util.Collection;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.LinkedList;
 import java.util.List;
+import java.util.Set;
 
-public class VfsNicLabelModel extends NicLabelModel {
+import 
org.ovirt.engine.core.common.businessentities.comparators.LexoNumericComparator;
+import org.ovirt.engine.ui.uicommonweb.models.ListModel;
+import org.ovirt.engine.ui.uicommonweb.validation.AsciiNameValidation;
+import org.ovirt.engine.ui.uicommonweb.validation.IValidation;
+import org.ovirt.engine.ui.uicompat.ConstantsManager;
+
+public class VfsNicLabelModel extends ListModel<ListModel<String>> {
 
     public VfsNicLabelModel(List<String> originalLabels, Collection<String> 
suggestedLabels) {
         setOriginalLabels(originalLabels);
         setSuggestedLabels(suggestedLabels);
         initLabelModels();
     }
+
+    private List<String> originalLabels;
+    private Collection<String> suggestedLabels;
+
+    protected void initLabelModels() {
+        Collections.sort(originalLabels, new LexoNumericComparator());
+        LinkedList<ListModel<String>> items = new 
LinkedList<ListModel<String>>();
+        for (String label : originalLabels) {
+            ListModel<String> labelModel = new ListModel<String>();
+            labelModel.setItems(suggestedLabels);
+            labelModel.setSelectedItem(label);
+            items.add(labelModel);
+        }
+        setItems(items);
+    }
+
+    public Collection<String> getSuggestedLabels() {
+        return suggestedLabels;
+    }
+
+    public void setSuggestedLabels(Collection<String> suggestedLabels) {
+        this.suggestedLabels = suggestedLabels;
+    }
+
+    public List<String> getOriginalLabels() {
+        return originalLabels;
+    }
+
+    public void setOriginalLabels(List<String> originalLabels) {
+        this.originalLabels = originalLabels;
+    }
+
+    public Set<String> computeSelecetedLabels() {
+        Set<String> selectedLabels = new HashSet<>();
+        selectedLabels.clear();
+        for (ListModel<String> labelModel : getItems()) {
+            selectedLabels.add(labelModel.getSelectedItem());
+        }
+        return selectedLabels;
+    }
+
+    public void validate() {
+        boolean res = true;
+        Set<String> editedLabels = new HashSet<String>();
+        for (ListModel<String> labelModel : getItems()) {
+            labelModel.validateSelectedItem(new IValidation[] { new 
AsciiNameValidation() });
+
+            String label = labelModel.getSelectedItem();
+
+            if (editedLabels.contains(label)) {
+                
labelModel.getInvalidityReasons().add(ConstantsManager.getInstance().getConstants().duplicateLabel());
+                labelModel.setIsValid(false);
+            }
+            editedLabels.add(label);
+
+            res &= labelModel.getIsValid();
+        }
+        setIsValid(res);
+    }
 }
diff --git 
a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIMessages.java
 
b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIMessages.java
index 65321ff..590d01e 100644
--- 
a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIMessages.java
+++ 
b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIMessages.java
@@ -153,8 +153,8 @@
     @DefaultMessage("Edit Bond Interface {0}")
     String editBondInterfaceTitle(String name);
 
-    @DefaultMessage("Edit Interface {0}")
-    String editInterfaceTitle(String name);
+    @DefaultMessage("Edit Virtual Functions (SR-IOV) configuration of {0}")
+    String editHostNicVfsConfigTitle(String name);
 
     @DefaultMessage("Edit Network {0}")
     String editNetworkTitle(String name);
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
index bc5f196..b0e658d 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
@@ -4312,12 +4312,6 @@
     @DefaultStringValue("Volume snapshots are scheduled.")
     String glusterVolumeSnapshotsScheduledToolTip();
 
-    @DefaultStringValue("Physical Function")
-    String pfTab();
-
-    @DefaultStringValue("Virtual Functions (SR-IOV)")
-    String vfsConfigTab();
-
     @DefaultStringValue("Number of VFs setting")
     String numOfVfsSetting();
 
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/ClientGinjectorExtension.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/ClientGinjectorExtension.java
index 7cfd3b3..8c167a2 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/ClientGinjectorExtension.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/ClientGinjectorExtension.java
@@ -166,7 +166,7 @@
 import org.ovirt.engine.ui.uicommonweb.models.vms.VmSnapshotListModel;
 import org.ovirt.engine.ui.uicommonweb.models.volumes.VolumeListModel;
 import org.ovirt.engine.ui.webadmin.ApplicationConstants;
-import 
org.ovirt.engine.ui.webadmin.section.main.view.popup.host.VfsConfigWidget;
+import 
org.ovirt.engine.ui.webadmin.section.main.view.popup.host.VfsConfigPopupView;
 
 import com.gwtplatform.mvp.client.annotations.DefaultGatekeeper;
 
@@ -460,5 +460,5 @@
     SearchableDetailModelProvider<Permission, VnicProfileListModel, 
PermissionListModel<VnicProfileView>> 
getSubTabVnicProfilePermissionModelProvider();
 
     // Widgets
-    VfsConfigWidget getVfsConfigWidget();
+    VfsConfigPopupView getVfsConfigPopupView();
 }
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/PresenterModule.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/PresenterModule.java
index 670bba6..5d931f5 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/PresenterModule.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/PresenterModule.java
@@ -66,7 +66,6 @@
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.HostInterfacePopupPresenterWidget;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.HostManagementConfirmationPopupPresenterWidget;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.HostManagementPopupPresenterWidget;
-import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.HostNicPopupPresenterWidget;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.HostPopupPresenterWidget;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.HostSetupNetworksPopupPresenterWidget;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.ManualFencePopupPresenterWidget;
@@ -74,6 +73,7 @@
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.SetupNetworksBondPopupPresenterWidget;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.SetupNetworksInterfacePopupPresenterWidget;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.SetupNetworksManagementPopupPresenterWidget;
+import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.VfsConfigPopupPresenterWidget;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.hostdev.AddVmHostDevicePopupPresenterWidget;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.hostdev.VmRepinHostPopupPresenterWidget;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.instancetypes.InstanceTypesPopupPresenterWidget;
@@ -111,8 +111,8 @@
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.template.TemplateInterfacePopupPresenterWidget;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.user.ManageEventsPopupPresenterWidget;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.vm.CloneVmPopupPresenterWidget;
-import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.vm.SingleSelectionVmDiskAttachPopupPresenterWidget;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.vm.PublicKeyPopupPresenterWidget;
+import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.vm.SingleSelectionVmDiskAttachPopupPresenterWidget;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.vm.VmChangeCDPopupPresenterWidget;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.vm.VmClonePopupPresenterWidget;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.vm.VmDiskAttachPopupPresenterWidget;
@@ -325,7 +325,6 @@
 import 
org.ovirt.engine.ui.webadmin.section.main.view.popup.host.HostInterfacePopupView;
 import 
org.ovirt.engine.ui.webadmin.section.main.view.popup.host.HostManagementConfirmationPopupView;
 import 
org.ovirt.engine.ui.webadmin.section.main.view.popup.host.HostManagementPopupView;
-import 
org.ovirt.engine.ui.webadmin.section.main.view.popup.host.HostNicPopupView;
 import org.ovirt.engine.ui.webadmin.section.main.view.popup.host.HostPopupView;
 import 
org.ovirt.engine.ui.webadmin.section.main.view.popup.host.HostSetupNetworksPopupView;
 import 
org.ovirt.engine.ui.webadmin.section.main.view.popup.host.ManualFenceConfirmationPopupView;
@@ -333,6 +332,7 @@
 import 
org.ovirt.engine.ui.webadmin.section.main.view.popup.host.SetupNetworksBondPopupView;
 import 
org.ovirt.engine.ui.webadmin.section.main.view.popup.host.SetupNetworksInterfacePopupView;
 import 
org.ovirt.engine.ui.webadmin.section.main.view.popup.host.SetupNetworksManagementPopupView;
+import 
org.ovirt.engine.ui.webadmin.section.main.view.popup.host.VfsConfigPopupView;
 import 
org.ovirt.engine.ui.webadmin.section.main.view.popup.instancetypes.InstanceTypesPopupView;
 import 
org.ovirt.engine.ui.webadmin.section.main.view.popup.macpool.SharedMacPoolPopupView;
 import 
org.ovirt.engine.ui.webadmin.section.main.view.popup.networkQoS.NetworkQoSPopupView;
@@ -371,16 +371,16 @@
 import 
org.ovirt.engine.ui.webadmin.section.main.view.popup.template.TemplateEditPopupView;
 import 
org.ovirt.engine.ui.webadmin.section.main.view.popup.template.TemplateInterfacePopupView;
 import 
org.ovirt.engine.ui.webadmin.section.main.view.popup.user.ManageEventsPopupView;
+import 
org.ovirt.engine.ui.webadmin.section.main.view.popup.vm.AddVmHostDevicePopupView;
 import 
org.ovirt.engine.ui.webadmin.section.main.view.popup.vm.CloneVmPopupView;
-import 
org.ovirt.engine.ui.webadmin.section.main.view.popup.vm.SingleSelectionVmDiskAttachPopupView;
 import 
org.ovirt.engine.ui.webadmin.section.main.view.popup.vm.PublicKeyPopupView;
+import 
org.ovirt.engine.ui.webadmin.section.main.view.popup.vm.SingleSelectionVmDiskAttachPopupView;
 import 
org.ovirt.engine.ui.webadmin.section.main.view.popup.vm.VmChangeCDPopupView;
 import 
org.ovirt.engine.ui.webadmin.section.main.view.popup.vm.VmClonePopupView;
 import 
org.ovirt.engine.ui.webadmin.section.main.view.popup.vm.VmDiskAttachPopupView;
 import org.ovirt.engine.ui.webadmin.section.main.view.popup.vm.VmDiskPopupView;
 import 
org.ovirt.engine.ui.webadmin.section.main.view.popup.vm.VmDiskRemovePopupView;
 import 
org.ovirt.engine.ui.webadmin.section.main.view.popup.vm.VmExportPopupView;
-import 
org.ovirt.engine.ui.webadmin.section.main.view.popup.vm.AddVmHostDevicePopupView;
 import 
org.ovirt.engine.ui.webadmin.section.main.view.popup.vm.VmInterfacePopupView;
 import 
org.ovirt.engine.ui.webadmin.section.main.view.popup.vm.VmMakeTemplatePopupView;
 import 
org.ovirt.engine.ui.webadmin.section.main.view.popup.vm.VmMigratePopupView;
@@ -1300,9 +1300,9 @@
         bindPresenterWidget(SetupNetworksBondPopupPresenterWidget.class,
                 SetupNetworksBondPopupPresenterWidget.ViewDef.class,
                 SetupNetworksBondPopupView.class);
-        bindPresenterWidget(HostNicPopupPresenterWidget.class,
-                HostNicPopupPresenterWidget.ViewDef.class,
-                HostNicPopupView.class);
+        bindPresenterWidget(VfsConfigPopupPresenterWidget.class,
+                VfsConfigPopupPresenterWidget.ViewDef.class,
+                VfsConfigPopupView.class);
         bindPresenterWidget(HostSetupNetworksPopupPresenterWidget.class,
                 HostSetupNetworksPopupPresenterWidget.ViewDef.class,
                 HostSetupNetworksPopupView.class);
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/HostModule.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/HostModule.java
index 593fae3..87e321f 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/HostModule.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/HostModule.java
@@ -41,9 +41,9 @@
 import org.ovirt.engine.ui.uicommonweb.models.hosts.HostInterfaceModel;
 import org.ovirt.engine.ui.uicommonweb.models.hosts.HostListModel;
 import org.ovirt.engine.ui.uicommonweb.models.hosts.HostManagementNetworkModel;
-import org.ovirt.engine.ui.uicommonweb.models.hosts.HostNicModel;
 import org.ovirt.engine.ui.uicommonweb.models.hosts.HostSetupNetworksModel;
 import org.ovirt.engine.ui.uicommonweb.models.hosts.HostVmListModel;
+import org.ovirt.engine.ui.uicommonweb.models.hosts.VfsConfigModel;
 import org.ovirt.engine.ui.uicommonweb.models.vms.hostdev.HostDeviceListModel;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.ReportPresenterWidget;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.AssignTagsPopupPresenterWidget;
@@ -56,13 +56,13 @@
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.HostInterfacePopupPresenterWidget;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.HostManagementConfirmationPopupPresenterWidget;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.HostManagementPopupPresenterWidget;
-import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.HostNicPopupPresenterWidget;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.HostPopupPresenterWidget;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.HostSetupNetworksPopupPresenterWidget;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.ManualFencePopupPresenterWidget;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.SetupNetworksBondPopupPresenterWidget;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.SetupNetworksInterfacePopupPresenterWidget;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.SetupNetworksManagementPopupPresenterWidget;
+import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.VfsConfigPopupPresenterWidget;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.vm.VmMigratePopupPresenterWidget;
 import org.ovirt.engine.ui.webadmin.uicommon.model.PermissionModelProvider;
 
@@ -181,7 +181,7 @@
             final Provider<SetupNetworksManagementPopupPresenterWidget> 
setupNetworksManagementPopupProvider,
             final Provider<HostBondPopupPresenterWidget> hostBondPopupProvider,
             final Provider<SetupNetworksBondPopupPresenterWidget> 
setupNetworksBondPopupProvider,
-            final Provider<HostNicPopupPresenterWidget> hostNicPopupProvider,
+            final Provider<VfsConfigPopupPresenterWidget> 
vfsConfigPopupProvider,
             final Provider<HostSetupNetworksPopupPresenterWidget> 
hostSetupNetworksPopupProvider,
             final Provider<HostListModel<Void>> mainModelProvider,
             final Provider<HostInterfaceListModel> modelProvider) {
@@ -220,8 +220,8 @@
                                 } else {
                                     return hostInterfacePopupProvider.get();
                                 }
-                            } else if (windowModel instanceof HostNicModel) {
-                                return hostNicPopupProvider.get();
+                            } else if (windowModel instanceof VfsConfigModel) {
+                                return vfsConfigPopupProvider.get();
                             }
                         }
 
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/NetworkModule.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/NetworkModule.java
index 030049e..1e3ff0d 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/NetworkModule.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/NetworkModule.java
@@ -30,7 +30,7 @@
 import org.ovirt.engine.ui.uicommonweb.models.hosts.HostBondInterfaceModel;
 import org.ovirt.engine.ui.uicommonweb.models.hosts.HostInterfaceModel;
 import org.ovirt.engine.ui.uicommonweb.models.hosts.HostManagementNetworkModel;
-import org.ovirt.engine.ui.uicommonweb.models.hosts.HostNicModel;
+import org.ovirt.engine.ui.uicommonweb.models.hosts.VfsConfigModel;
 import org.ovirt.engine.ui.uicommonweb.models.networks.NetworkClusterListModel;
 import 
org.ovirt.engine.ui.uicommonweb.models.networks.NetworkExternalSubnetListModel;
 import org.ovirt.engine.ui.uicommonweb.models.networks.NetworkGeneralModel;
@@ -43,11 +43,11 @@
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.cluster.ClusterManageNetworkPopupPresenterWidget;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.datacenter.EditNetworkPopupPresenterWidget;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.datacenter.NewNetworkPopupPresenterWidget;
-import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.HostNicPopupPresenterWidget;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.HostSetupNetworksPopupPresenterWidget;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.SetupNetworksBondPopupPresenterWidget;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.SetupNetworksInterfacePopupPresenterWidget;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.SetupNetworksManagementPopupPresenterWidget;
+import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.VfsConfigPopupPresenterWidget;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.profile.VnicProfilePopupPresenterWidget;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.provider.ExternalSubnetPopupPresenterWidget;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.provider.ImportNetworksPopupPresenterWidget;
@@ -243,7 +243,7 @@
             final Provider<SetupNetworksBondPopupPresenterWidget> 
setupNetworksBondPopupProvider,
             final Provider<SetupNetworksInterfacePopupPresenterWidget> 
setupNetworksInterfacePopupProvider,
             final Provider<SetupNetworksManagementPopupPresenterWidget> 
setupNetworksManagementPopupProvider,
-            final Provider<HostNicPopupPresenterWidget> hostNicPopupProvider,
+            final Provider<VfsConfigPopupPresenterWidget> 
vfsConfigPopupProvider,
             final Provider<HostSetupNetworksPopupPresenterWidget> 
hostSetupNetworksPopupProvider,
             final Provider<NetworkListModel> mainModelProvider,
             final Provider<NetworkHostListModel> modelProvider) {
@@ -262,8 +262,8 @@
                             return setupNetworksManagementPopupProvider.get();
                         } else if (windowModel instanceof HostInterfaceModel) {
                             return setupNetworksInterfacePopupProvider.get();
-                        } else if (windowModel instanceof HostNicModel) {
-                            return hostNicPopupProvider.get();
+                        } else if (windowModel instanceof VfsConfigModel) {
+                            return vfsConfigPopupProvider.get();
                         }
 
                         // Resolve by last executed command
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/host/HostNicPopupPresenterWidget.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/host/HostNicPopupPresenterWidget.java
deleted file mode 100644
index c67856f..0000000
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/host/HostNicPopupPresenterWidget.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host;
-
-import 
org.ovirt.engine.ui.common.presenter.AbstractTabbedModelBoundPopupPresenterWidget;
-import org.ovirt.engine.ui.uicommonweb.models.hosts.HostNicModel;
-
-import com.google.gwt.event.shared.EventBus;
-import com.google.inject.Inject;
-
-public class HostNicPopupPresenterWidget extends 
AbstractTabbedModelBoundPopupPresenterWidget<HostNicModel, 
HostNicPopupPresenterWidget.ViewDef> {
-
-    public interface ViewDef extends 
AbstractTabbedModelBoundPopupPresenterWidget.ViewDef<HostNicModel> {
-        void showTabs();
-
-        void showOnlyPf();
-
-        void showOnlyVfsConfig();
-    }
-
-    @Inject
-    public HostNicPopupPresenterWidget(EventBus eventBus, ViewDef view) {
-        super(eventBus, view);
-    }
-
-    @Override
-    public void init(HostNicModel model) {
-        if (model.hasVfsConfig()) {
-            if (model.hasLabels()) {
-                // sriov nic
-                getView().showTabs();
-            } else {
-                // sriov bond slave
-                getView().showOnlyVfsConfig();
-            }
-        } else {
-            // regular nic
-            getView().showOnlyPf();
-        }
-
-        super.init(model);
-    }
-
-}
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/host/VfsConfigPopupPresenterWidget.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/host/VfsConfigPopupPresenterWidget.java
new file mode 100644
index 0000000..ba8987e
--- /dev/null
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/host/VfsConfigPopupPresenterWidget.java
@@ -0,0 +1,18 @@
+package org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host;
+
+import 
org.ovirt.engine.ui.common.presenter.AbstractModelBoundPopupPresenterWidget;
+import org.ovirt.engine.ui.uicommonweb.models.hosts.VfsConfigModel;
+
+import com.google.gwt.event.shared.EventBus;
+import com.google.inject.Inject;
+
+public class VfsConfigPopupPresenterWidget extends 
AbstractModelBoundPopupPresenterWidget<VfsConfigModel, 
VfsConfigPopupPresenterWidget.ViewDef> {
+
+    public interface ViewDef extends 
AbstractModelBoundPopupPresenterWidget.ViewDef<VfsConfigModel> {
+    }
+
+    @Inject
+    public VfsConfigPopupPresenterWidget(EventBus eventBus, ViewDef view) {
+        super(eventBus, view);
+    }
+}
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostBondPopupView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostBondPopupView.java
index 7c9c0d6..2611713 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostBondPopupView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostBondPopupView.java
@@ -69,10 +69,6 @@
     @Ignore
     StringEntityModelTextBoxEditor customEditor;
 
-    @UiField
-    @Ignore
-    NicLabelWidget labelsWidget;
-
     @UiField(provided = true)
     EnumRadioEditor<NetworkBootProtocol> bootProtocol;
 
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostNicPopupView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostNicPopupView.java
deleted file mode 100644
index f26b4fa..0000000
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostNicPopupView.java
+++ /dev/null
@@ -1,123 +0,0 @@
-package org.ovirt.engine.ui.webadmin.section.main.view.popup.host;
-
-import org.ovirt.engine.ui.common.view.popup.AbstractTabbedModelBoundPopupView;
-import org.ovirt.engine.ui.common.widget.dialog.SimpleDialogPanel;
-import org.ovirt.engine.ui.common.widget.dialog.tab.DialogTab;
-import org.ovirt.engine.ui.common.widget.dialog.tab.DialogTabPanel;
-import org.ovirt.engine.ui.uicommonweb.models.TabName;
-import org.ovirt.engine.ui.uicommonweb.models.hosts.HostNicModel;
-import org.ovirt.engine.ui.webadmin.ApplicationConstants;
-import org.ovirt.engine.ui.webadmin.gin.AssetProvider;
-import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.HostNicPopupPresenterWidget;
-
-import com.google.gwt.core.shared.GWT;
-import com.google.gwt.editor.client.SimpleBeanEditorDriver;
-import com.google.gwt.event.shared.EventBus;
-import com.google.gwt.uibinder.client.UiBinder;
-import com.google.gwt.uibinder.client.UiField;
-import com.google.gwt.user.client.ui.SimplePanel;
-import com.google.inject.Inject;
-
-public class HostNicPopupView extends 
AbstractTabbedModelBoundPopupView<HostNicModel> implements 
HostNicPopupPresenterWidget.ViewDef {
-
-    interface Driver extends SimpleBeanEditorDriver<HostNicModel, 
HostNicPopupView> {
-    }
-
-    private Driver driver = GWT.create(Driver.class);
-
-    interface ViewUiBinder extends UiBinder<SimpleDialogPanel, 
HostNicPopupView> {
-        ViewUiBinder uiBinder = GWT.create(ViewUiBinder.class);
-    }
-
-    @UiField
-    SimplePanel mainPanel;
-
-    @UiField
-    SimplePanel contentPanel;
-
-    @UiField
-    DialogTabPanel tabPanel;
-
-    @UiField
-    protected DialogTab pfTab;
-
-    @UiField
-    protected DialogTab vfsConfigTab;
-
-    @UiField
-    @Ignore
-    NicLabelWidget labelsWidget;
-
-    @UiField
-    @Ignore
-    VfsConfigWidget vfsConfigWidget;
-
-    private final static ApplicationConstants constants = 
AssetProvider.getConstants();
-
-    @Inject
-    public HostNicPopupView(EventBus eventBus) {
-        super(eventBus);
-        initWidget(ViewUiBinder.uiBinder.createAndBindUi(this));
-        localize();
-        driver.initialize(this);
-    }
-
-    private void localize() {
-        pfTab.setLabel(constants.pfTab());
-        vfsConfigTab.setLabel(constants.vfsConfigTab());
-    }
-
-    @Override
-    public void edit(HostNicModel model) {
-        driver.edit(model);
-        labelsWidget.edit(model.getLabelsModel());
-        vfsConfigWidget.edit(model.getVfsConfigModel());
-    }
-
-    @Override
-    public HostNicModel flush() {
-        HostNicModel hostNicModel = driver.flush();
-        labelsWidget.flush();
-        vfsConfigWidget.flush();
-        return hostNicModel;
-    }
-
-    @Override
-    public void focusInput() {
-        super.focusInput();
-        labelsWidget.focusInput();
-    }
-
-    @Override
-    public DialogTabPanel getTabPanel() {
-        return tabPanel;
-    }
-
-    @Override
-    protected void populateTabMap() {
-        getTabNameMapping().put(TabName.PF_TAB, pfTab);
-        getTabNameMapping().put(TabName.VFS_CONFIG_TAB, vfsConfigTab);
-    }
-
-    @Override
-    public void showTabs() {
-        // Do nothing- it is the regular config
-    }
-
-    @Override
-    public void showOnlyPf() {
-        getTabPanel().switchTab(pfTab);
-        tabPanel.setVisible(false);
-        contentPanel.setWidget(pfTab.getContent());
-        mainPanel.setWidth("400px"); //$NON-NLS-1$
-        mainPanel.setHeight("215px"); //$NON-NLS-1$
-    }
-
-    @Override
-    public void showOnlyVfsConfig() {
-        getTabPanel().switchTab(vfsConfigTab);
-        tabPanel.setVisible(false);
-        contentPanel.setWidget(vfsConfigTab.getContent());
-        mainPanel.setWidth("515px"); //$NON-NLS-1$
-    }
-}
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostNicPopupView.ui.xml
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostNicPopupView.ui.xml
deleted file mode 100644
index da22845..0000000
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostNicPopupView.ui.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent";>
-<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
-       xmlns:d="urn:import:org.ovirt.engine.ui.common.widget.dialog"
-       
xmlns:h="urn:import:org.ovirt.engine.ui.webadmin.section.main.view.popup.host"
-       xmlns:t="urn:import:org.ovirt.engine.ui.common.widget.dialog.tab"
-       xmlns:g="urn:import:com.google.gwt.user.client.ui">
-
-       <ui:style>
-               .labelWidget {
-                       position: absolute !important;
-                       width: auto !important;
-               }
-       </ui:style>
-
-       <d:SimpleDialogPanel ui:field="mainPanel" width="680px" height="600px" >
-               <d:content>
-                       <g:SimplePanel ui:field="contentPanel">
-                               <t:DialogTabPanel ui:field="tabPanel" 
height="100%">
-                                       <t:tab>
-                                               <t:DialogTab ui:field="pfTab">
-                                                       <t:content>
-                                                               
<h:NicLabelWidget ui:field="labelsWidget" addStyleNames="{style.labelWidget}" />
-                                                       </t:content>
-                                               </t:DialogTab>
-                                       </t:tab>
-                                       <t:tab>
-                                               <t:DialogTab 
ui:field="vfsConfigTab">
-                                                       <t:content>
-                                                               <g:FlowPanel>
-                                                                       
<h:VfsConfigWidget ui:field="vfsConfigWidget"/>
-                                                               </g:FlowPanel>
-                                                       </t:content>
-                                               </t:DialogTab>
-                                       </t:tab>
-                               </t:DialogTabPanel>
-                       </g:SimplePanel>
-               </d:content>
-       </d:SimpleDialogPanel>
-</ui:UiBinder>
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/NicLabelWidget.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/NicLabelWidget.java
index 0e85709..ae1f53f 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/NicLabelWidget.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/NicLabelWidget.java
@@ -4,7 +4,7 @@
 
 import org.ovirt.engine.ui.common.widget.ScrollableAddRemoveRowWidget;
 import org.ovirt.engine.ui.uicommonweb.models.ListModel;
-import org.ovirt.engine.ui.uicommonweb.models.hosts.NicLabelModel;
+import org.ovirt.engine.ui.uicommonweb.models.hosts.VfsNicLabelModel;
 
 import com.google.gwt.core.shared.GWT;
 import com.google.gwt.uibinder.client.UiBinder;
@@ -12,7 +12,7 @@
 import com.google.gwt.user.client.ui.Label;
 import com.google.gwt.user.client.ui.Widget;
 
-public class NicLabelWidget extends 
ScrollableAddRemoveRowWidget<NicLabelModel, ListModel<String>, NicLabelEditor> {
+public class NicLabelWidget extends 
ScrollableAddRemoveRowWidget<VfsNicLabelModel, ListModel<String>, 
NicLabelEditor> {
 
     @UiField
     @Ignore
@@ -50,7 +50,7 @@
     }
 
     @Override
-    public void edit(NicLabelModel model) {
+    public void edit(VfsNicLabelModel model) {
         suggestions = model.getSuggestedLabels();
         super.edit(model);
     }
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/SetupNetworksBondPopupView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/SetupNetworksBondPopupView.java
index 080995f..3b62f3b 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/SetupNetworksBondPopupView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/SetupNetworksBondPopupView.java
@@ -17,11 +17,9 @@
     @Override
     public void edit(final HostBondInterfaceModel object) {
         super.edit(object);
-        labelsWidget.edit(object.getLabelsModel());
 
         bondSuggestEditor.setVisible(true);
         bondEditor.setVisible(false);
-        labelsWidget.setVisible(true);
 
         // hide widgets
         info.setVisible(false);
@@ -31,11 +29,4 @@
         layoutPanel.getElement().getStyle().setOverflow(Overflow.HIDDEN);
         asPopupPanel().setPixelSize(400, 275);
     }
-
-    @Override
-    public HostBondInterfaceModel flush() {
-        labelsWidget.flush();
-        return super.flush();
-    }
-
 }
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsConfigWidget.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsConfigPopupView.java
similarity index 92%
rename from 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsConfigWidget.java
rename to 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsConfigPopupView.java
index 4ca889b..2b46966 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsConfigWidget.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsConfigPopupView.java
@@ -4,7 +4,9 @@
 import java.util.Set;
 
 import org.ovirt.engine.ui.common.idhandler.ElementIdHandler;
+import org.ovirt.engine.ui.common.view.popup.AbstractModelBoundPopupView;
 import org.ovirt.engine.ui.common.widget.dialog.AdvancedParametersExpander;
+import org.ovirt.engine.ui.common.widget.dialog.SimpleDialogPanel;
 import org.ovirt.engine.ui.common.widget.editor.EntityModelCellTable;
 import 
org.ovirt.engine.ui.common.widget.editor.EntityModelCellTable.SelectionMode;
 import org.ovirt.engine.ui.common.widget.editor.ListModelRadioGroupEditor;
@@ -12,7 +14,6 @@
 import org.ovirt.engine.ui.common.widget.table.column.AbstractCheckboxColumn;
 import org.ovirt.engine.ui.common.widget.table.column.AbstractTextColumn;
 import org.ovirt.engine.ui.common.widget.table.header.AbstractCheckboxHeader;
-import 
org.ovirt.engine.ui.common.widget.uicommon.popup.AbstractModelBoundPopupWidget;
 import org.ovirt.engine.ui.uicommonweb.models.ListModel;
 import org.ovirt.engine.ui.uicommonweb.models.hosts.VfsConfigModel;
 import 
org.ovirt.engine.ui.uicommonweb.models.hosts.VfsConfigModel.AllNetworksSelector;
@@ -24,12 +25,14 @@
 import org.ovirt.engine.ui.webadmin.ApplicationMessages;
 import org.ovirt.engine.ui.webadmin.ApplicationTemplates;
 import org.ovirt.engine.ui.webadmin.gin.AssetProvider;
+import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.VfsConfigPopupPresenterWidget;
 
 import com.google.gwt.cell.client.FieldUpdater;
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.editor.client.SimpleBeanEditorDriver;
 import com.google.gwt.event.logical.shared.ValueChangeEvent;
 import com.google.gwt.event.logical.shared.ValueChangeHandler;
+import com.google.gwt.event.shared.EventBus;
 import com.google.gwt.resources.client.CssResource;
 import com.google.gwt.safehtml.shared.SafeHtml;
 import com.google.gwt.text.shared.AbstractRenderer;
@@ -40,16 +43,16 @@
 import com.google.gwt.user.client.ui.ValueLabel;
 import com.google.inject.Inject;
 
-public class VfsConfigWidget extends 
AbstractModelBoundPopupWidget<VfsConfigModel> {
+public class VfsConfigPopupView extends 
AbstractModelBoundPopupView<VfsConfigModel> implements 
VfsConfigPopupPresenterWidget.ViewDef {
 
-    interface Driver extends SimpleBeanEditorDriver<VfsConfigModel, 
VfsConfigWidget> {
+    interface Driver extends SimpleBeanEditorDriver<VfsConfigModel, 
VfsConfigPopupView> {
     }
 
-    interface WidgetUiBinder extends UiBinder<FlowPanel, VfsConfigWidget> {
-        WidgetUiBinder uiBinder = GWT.create(WidgetUiBinder.class);
+    interface ViewUiBinder extends UiBinder<SimpleDialogPanel, 
VfsConfigPopupView> {
+        ViewUiBinder uiBinder = GWT.create(ViewUiBinder.class);
     }
 
-    interface WidgetIdHandler extends ElementIdHandler<VfsConfigWidget> {
+    interface WidgetIdHandler extends ElementIdHandler<VfsConfigPopupView> {
         WidgetIdHandler idHandler = GWT.create(WidgetIdHandler.class);
     }
 
@@ -114,7 +117,8 @@
     private final static ApplicationTemplates templates = 
AssetProvider.getTemplates();
 
     @Inject
-    public VfsConfigWidget() {
+    public VfsConfigPopupView(EventBus eventBus) {
+        super(eventBus);
         maxVfsLabel = new ValueLabel<>(new AbstractRenderer<Integer>() {
 
             @Override
@@ -127,7 +131,7 @@
 
         labelsWidget = new VfsNicLabelWidget();
 
-        initWidget(WidgetUiBinder.uiBinder.createAndBindUi(this));
+        initWidget(ViewUiBinder.uiBinder.createAndBindUi(this));
         WidgetIdHandler.idHandler.generateAndSetIds(this);
 
         labelsWidget.setLabelEditorStyle(style.labelEditorContent());
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsConfigWidget.ui.xml
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsConfigPopupView.ui.xml
similarity index 62%
rename from 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsConfigWidget.ui.xml
rename to 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsConfigPopupView.ui.xml
index 2d4373b..b885618 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsConfigWidget.ui.xml
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsConfigPopupView.ui.xml
@@ -7,7 +7,7 @@
        
xmlns:h="urn:import:org.ovirt.engine.ui.webadmin.section.main.view.popup.host">
        <ui:with field='constants' 
type='org.ovirt.engine.ui.webadmin.ApplicationConstants' />
 
-       <ui:style 
type="org.ovirt.engine.ui.webadmin.section.main.view.popup.host.VfsConfigWidget.WidgetStyle">
+       <ui:style 
type="org.ovirt.engine.ui.webadmin.section.main.view.popup.host.VfsConfigPopupView.WidgetStyle">
         .valueWidth {
             width: 60px;
         }
@@ -93,25 +93,29 @@
         }
        </ui:style>
 
-       <g:FlowPanel>
-               <d:AdvancedParametersExpander ui:field="numVfsExpander" 
addStyleNames="{style.expander}" />
-               <g:FlowPanel ui:field="numVfsExpanderContent" 
addStyleNames="{style.expanderContent}">
-                       <ge:IntegerEntityModelTextBoxEditor ui:field="numOfVfs" 
addStyleNames="{style.numOfVfs}" />
-                       <g:ValueLabel ui:field="maxVfsLabel" 
addStyleNames="{style.maxVfsLabel}" />
-               </g:FlowPanel>
-               <g:Label ui:field="allowedNetworksLabel" 
addStyleNames="{style.allAllowedLabel}" />
-               <e:ListModelRadioGroupEditor 
ui:field="allNetworksSelectorEditor" addStyleNames="{style.allAllowedSelector}" 
/>
-               <g:SimplePanel addStyleNames="{style.clear}" />
-               <g:FlowPanel ui:field="allowedNetworksPanel" 
addStyleNames="{style.allowedNetworksPanel}" >
-                       <g:FlowPanel addStyleNames="{style.networksPanel}" >
-                               <g:Label ui:field="selectNetworksLabel" 
addStyleNames="{style.selectNetworksLabel}" />
-                               <g:ScrollPanel 
addStyleNames="{style.networksTableScrollPanel}">
-                                       <e:EntityModelCellTable 
ui:field="networks" />
-                               </g:ScrollPanel>
+       <d:SimpleDialogPanel width="515px" height="600px">
+               <d:content>
+                       <g:FlowPanel>
+                               <d:AdvancedParametersExpander 
ui:field="numVfsExpander" addStyleNames="{style.expander}" />
+                               <g:FlowPanel ui:field="numVfsExpanderContent" 
addStyleNames="{style.expanderContent}">
+                                       <ge:IntegerEntityModelTextBoxEditor 
ui:field="numOfVfs" addStyleNames="{style.numOfVfs}" />
+                                       <g:ValueLabel ui:field="maxVfsLabel" 
addStyleNames="{style.maxVfsLabel}" />
+                               </g:FlowPanel>
+                               <g:Label ui:field="allowedNetworksLabel" 
addStyleNames="{style.allAllowedLabel}" />
+                               <e:ListModelRadioGroupEditor 
ui:field="allNetworksSelectorEditor" addStyleNames="{style.allAllowedSelector}" 
/>
+                               <g:SimplePanel addStyleNames="{style.clear}" />
+                               <g:FlowPanel ui:field="allowedNetworksPanel" 
addStyleNames="{style.allowedNetworksPanel}" >
+                                       <g:FlowPanel 
addStyleNames="{style.networksPanel}" >
+                                               <g:Label 
ui:field="selectNetworksLabel" addStyleNames="{style.selectNetworksLabel}" />
+                                               <g:ScrollPanel 
addStyleNames="{style.networksTableScrollPanel}">
+                                                       <e:EntityModelCellTable 
ui:field="networks" />
+                                               </g:ScrollPanel>
+                                       </g:FlowPanel>
+                                       <g:SimplePanel 
addStyleNames="{style.splitter}" />
+                                       <h:VfsNicLabelWidget 
ui:field="labelsWidget" addStyleNames="{style.labelWidget}" />
+                               </g:FlowPanel>
                        </g:FlowPanel>
-                       <g:SimplePanel addStyleNames="{style.splitter}" />
-                       <h:VfsNicLabelWidget ui:field="labelsWidget" 
addStyleNames="{style.labelWidget}" />
-               </g:FlowPanel>
-       </g:FlowPanel>
+               </d:content>
+       </d:SimpleDialogPanel>
 
 </ui:UiBinder>
\ No newline at end of file
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsNicLabelWidget.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsNicLabelWidget.java
index ebac215..b6eb2a4 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsNicLabelWidget.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsNicLabelWidget.java
@@ -3,7 +3,7 @@
 import java.util.Set;
 
 import org.ovirt.engine.ui.uicommonweb.models.ListModel;
-import org.ovirt.engine.ui.uicommonweb.models.hosts.NicLabelModel;
+import org.ovirt.engine.ui.uicommonweb.models.hosts.VfsNicLabelModel;
 import org.ovirt.engine.ui.uicompat.Event;
 import org.ovirt.engine.ui.uicompat.EventArgs;
 import org.ovirt.engine.ui.uicompat.IEventListener;
@@ -35,7 +35,7 @@
     }
 
     @Override
-    protected void init(NicLabelModel model) {
+    protected void init(VfsNicLabelModel model) {
         super.init(model);
         for (ListModel<String> labelModel : model.getItems()) {
             labelModel.getSelectedItemChangedEvent().addListener(new 
IEventListener<EventArgs>() {
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 b7d00ea..a2656d4 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
@@ -53,6 +53,7 @@
         rowPanel.setWidget(0, 3, titleLabel);
         rowPanel.setWidget(0, 4, actionButton);
 
+        actionButton.setVisible(item.isSriovEnabled());
         return rowPanel;
     }
 


-- 
To view, visit https://gerrit.ovirt.org/41524
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I5b96acb7de969f00003139d512bf9d6d7f7f55db
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Alona Kaplan <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to