Alona Kaplan has uploaded a new change for review.

Change subject: webadmin: New vnic name should be nic + the lowset available 
number.
......................................................................

webadmin: New vnic name should be nic + the lowset available number.

For example- if the vm has two vnics 'nic1' and 'nic8'.
The next new nic name should be 'nic2' (not 'nic9' as it was due to a bug).

Change-Id: Ib8594a29ba9c8ed32e4a0d4f8df78212dfc9f40f
Bug-Url: https://bugzilla.redhat.com/1049789
Signed-off-by: Alona Kaplan <alkap...@redhat.com>
---
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/profile/ProfilesInstanceTypeEditor.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
2 files changed, 18 insertions(+), 10 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/99/28599/1

diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/profile/ProfilesInstanceTypeEditor.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/profile/ProfilesInstanceTypeEditor.java
index faa2f970..c74b3e5 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/profile/ProfilesInstanceTypeEditor.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/profile/ProfilesInstanceTypeEditor.java
@@ -3,6 +3,7 @@
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashSet;
+import java.util.List;
 import java.util.Set;
 
 import 
org.ovirt.engine.core.common.businessentities.network.VmNetworkInterface;
@@ -27,10 +28,10 @@
     private String elementId = DOM.createUniqueId();
 
     private Collection<VnicProfileView> vnicProfiles;
-    private final Set<VmNetworkInterface> vnics;
+    private final List<VmNetworkInterface> vnics;
 
     public ProfilesInstanceTypeEditor() {
-        vnics = new HashSet<VmNetworkInterface>();
+        vnics = new ArrayList<VmNetworkInterface>();
         initWidget(WidgetUiBinder.uiBinder.createAndBindUi(this));
     }
 
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
index 6de1bcd..8d1205f 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
@@ -3227,22 +3227,29 @@
 
     public static String getNewNicName(Collection<VmNetworkInterface> 
existingInterfaces)
     {
-        int maxIfaceNumber = 0;
-        if (existingInterfaces != null)
-        {
-            for (VmNetworkInterface iface : existingInterfaces)
-            {
+        SortedSet<Integer> occupiedNicNums = new TreeSet<Integer>();
+
+        if (existingInterfaces != null) {
+            for (VmNetworkInterface iface : existingInterfaces) {
                 // name of Interface is "eth<n>" (<n>: integer).
                 if (iface.getName().length() > 3) {
                     final Integer ifaceNumber = 
IntegerCompat.tryParse(iface.getName().substring(3));
-                    if (ifaceNumber != null && ifaceNumber > maxIfaceNumber) {
-                        maxIfaceNumber = ifaceNumber;
+                    if (ifaceNumber != null && ifaceNumber != 0) {
+                        occupiedNicNums.add(ifaceNumber);
                     }
                 }
             }
         }
 
-        return "nic" + (maxIfaceNumber + 1); //$NON-NLS-1$
+        int i = 1;
+        for (Iterator<Integer> iter = occupiedNicNums.iterator(); 
iter.hasNext(); ++i) {
+            if (i != iter.next()) {
+                break;
+            }
+        }
+
+        return "nic" + i; //$NON-NLS-1$
+
     }
 
     /**


-- 
To view, visit http://gerrit.ovirt.org/28599
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib8594a29ba9c8ed32e4a0d4f8df78212dfc9f40f
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