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); + } }