Roy Golan has uploaded a new change for review.

Change subject: core: osinfo - use latest version of a key rather then genaral 
or derived
......................................................................

core: osinfo - use latest version of a key rather then genaral or derived

Change-Id: I67c9c2efe5ee3a5b52f283e7b3a2a1070ee271e6
Bug-Url: https://bugzilla.redhat.com/1056577
Signed-off-by: Roy Golan <[email protected]>
---
M 
backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/OsRepositoryImpl.java
M 
backend/manager/modules/utils/src/test/java/org/ovirt/engine/core/utils/OsRepositoryImplTest.java
2 files changed, 37 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/33/39033/1

diff --git 
a/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/OsRepositoryImpl.java
 
b/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/OsRepositoryImpl.java
index cf77f6c..0145adf 100644
--- 
a/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/OsRepositoryImpl.java
+++ 
b/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/OsRepositoryImpl.java
@@ -2,6 +2,7 @@
 
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
@@ -489,7 +490,24 @@
             version = null;
             keyNode = getKeyNode(uniqueOsName, relativeKeyPath, null);
         }
-        return keyNode.get(versionedValuePath(version), "");
+        return valueByClosestVersion(version, keyNode);
+    }
+
+    private String valueByClosestVersion(Version version, Preferences keyNode) 
{
+        String val = keyNode.get(versionedValuePath(version), "");
+
+        if (val == null) {
+            try {
+                List<String> keys = Arrays.asList(keyNode.keys());
+                Collections.sort(keys, Collections.reverseOrder());
+                for (String key : keys) {
+                    if (key.matches("value"))
+                }
+            } catch (BackingStoreException e) {
+                e.printStackTrace();
+            }
+        }
+        return val;
     }
 
     /**
@@ -510,7 +528,7 @@
         // first try direct OS node
         try {
             Preferences node = getNodeIfExist(uniqueOsName, relativeKeyPath);
-            if (node != null && 
Arrays.asList(node.keys()).contains(versionedValuePath(version))) {
+            if (node != null) {
                 return node;
             } else {
                 // if not exist directly on the OS consult the one its derived 
from
diff --git 
a/backend/manager/modules/utils/src/test/java/org/ovirt/engine/core/utils/OsRepositoryImplTest.java
 
b/backend/manager/modules/utils/src/test/java/org/ovirt/engine/core/utils/OsRepositoryImplTest.java
index e13a1fe..0e0b0d2 100644
--- 
a/backend/manager/modules/utils/src/test/java/org/ovirt/engine/core/utils/OsRepositoryImplTest.java
+++ 
b/backend/manager/modules/utils/src/test/java/org/ovirt/engine/core/utils/OsRepositoryImplTest.java
@@ -4,6 +4,7 @@
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
+import java.lang.reflect.Array;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashSet;
@@ -23,6 +24,7 @@
 
 public class OsRepositoryImplTest {
 
+    public static final String DISK_INTERFACES = "VirtIO, VirtIO_SCSI, 
SPAPR_VSCS";
     private static MapBackedPreferences preferences;
 
     public static final String SYSPREP_INF = "sysprep.inf";
@@ -299,4 +301,19 @@
         invalidNode.removeNode();
         OsRepositoryImpl.INSTANCE.init(preferences); // must pass with no 
exceptions
     }
+
+    @Test
+    public void testVersionPrecedence() throws Exception {
+        assertEquals(
+                512,
+                OsRepositoryImpl.INSTANCE.getMinimumRam(
+                        OsRepositoryImpl.INSTANCE.getOsIdByUniqueName("rhel7"),
+                        Version.v3_3));
+
+        assertEquals(
+                512,
+                OsRepositoryImpl.INSTANCE.getMinimumRam(
+                        OsRepositoryImpl.INSTANCE.getOsIdByUniqueName("rhel8"),
+                        Version.v3_3));
+    }
 }


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

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

Reply via email to