Repository: ambari
Updated Branches:
  refs/heads/trunk 53bc491ca -> e866f0426


AMBARI-10831 - [WinTP2] server log contains lots of errors due to host OS 
family couldn't be found


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/8346b21c
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/8346b21c
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/8346b21c

Branch: refs/heads/trunk
Commit: 8346b21c85598f6a040967751edaff9f36fdc51a
Parents: 53bc491
Author: Artem Baranchuk <abaranc...@hortonworks.con>
Authored: Wed Apr 29 15:00:25 2015 +0300
Committer: Artem Baranchuk <abaranc...@hortonworks.con>
Committed: Thu Apr 30 01:21:46 2015 +0300

----------------------------------------------------------------------
 .../java/org/apache/ambari/server/state/stack/OsFamily.java   | 4 ++--
 .../org/apache/ambari/server/state/stack/OSFamilyTest.java    | 7 ++++++-
 2 files changed, 8 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/8346b21c/ambari-server/src/main/java/org/apache/ambari/server/state/stack/OsFamily.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/state/stack/OsFamily.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/state/stack/OsFamily.java
index 3cdc2ce..37a6db3 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/state/stack/OsFamily.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/state/stack/OsFamily.java
@@ -45,7 +45,7 @@ public class OsFamily {
     private final static String OS_FAMILY_SUSE = "suse";
     private final static String OS_FAMILY_REDHAT = "redhat";
     
-    private final String os_pattern = "([^\\d]*)([\\d]*)";
+    private final String os_pattern = 
"([\\D]+|(?:[\\D]+[\\d]+[\\D]+))([\\d]*)";
     private final String OS_DISTRO = "distro";
     private final String OS_VERSION = "versions";
     private final String LOAD_CONFIG_MSG = "Could not load OS family 
definition from %s file";
@@ -99,7 +99,7 @@ public class OsFamily {
       Pattern r = Pattern.compile(os_pattern);
       Matcher m = r.matcher(os);
 
-      if (m.find()){
+      if (m.matches()){
         pos.put(OS_DISTRO, m.group(1));
         pos.put(OS_VERSION, m.group(2));
       } else {

http://git-wip-us.apache.org/repos/asf/ambari/blob/8346b21c/ambari-server/src/test/java/org/apache/ambari/server/state/stack/OSFamilyTest.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/state/stack/OSFamilyTest.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/state/stack/OSFamilyTest.java
index 7957860..9654dc3 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/state/stack/OSFamilyTest.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/state/stack/OSFamilyTest.java
@@ -101,8 +101,13 @@ public class OSFamilyTest {
 
     Assert.assertNotNull(actual_result);
     Assert.assertEquals(expected_result, actual_result);
-  }
 
+    // for windows
+    expected_result = "winsrv6";
+    actual_result = os_family.find("win2012server6");
 
+    Assert.assertNotNull(actual_result);
+    Assert.assertEquals(expected_result, actual_result);
+  }
 }
 

Reply via email to