Browse Source

AMBARI-22017 stack advisor recommends all components on single host for HDP-2.6 Ambari trunk build (dsen)

Dmytro Sen 8 years ago
parent
commit
999daefe0f

+ 4 - 0
ambari-server/src/main/resources/stacks/HDP/2.1/services/stack_advisor.py

@@ -86,6 +86,10 @@ class HDP21StackAdvisor(HDP206StackAdvisor):
 
     Must be overriden in child class.
     """
+
+    # since old stack advisors are extending each other they should call parent method first
+    super(HDP21StackAdvisor, self).modifyComponentLayoutSchemes()
+
     self.componentLayoutSchemes.update({
       'APP_TIMELINE_SERVER': {31: 1, "else": 2},
       'FALCON_SERVER': {6: 1, 31: 2, "else": 3}

+ 28 - 0
ambari-server/src/test/python/stacks/2.1/common/test_stack_advisor.py

@@ -557,3 +557,31 @@ class TestHDP21StackAdvisor(TestCase):
 
     res = self.stackAdvisor.validateHiveConfigurations(properties, recommendedDefaults, configurations, '', '')
     self.assertEquals(res, res_expected)
+
+  def test_modifyComponentLayoutSchemes(self):
+    res_expected = {}
+    res_expected.update({
+      'NAMENODE': {"else": 0},
+      'SECONDARY_NAMENODE': {"else": 1},
+      'HBASE_MASTER': {6: 0, 31: 2, "else": 3},
+
+      'HISTORYSERVER': {31: 1, "else": 2},
+      'RESOURCEMANAGER': {31: 1, "else": 2},
+
+      'OOZIE_SERVER': {6: 1, 31: 2, "else": 3},
+
+      'HIVE_SERVER': {6: 1, 31: 2, "else": 4},
+      'HIVE_METASTORE': {6: 1, 31: 2, "else": 4},
+      'WEBHCAT_SERVER': {6: 1, 31: 2, "else": 4},
+      'METRICS_COLLECTOR': {3: 2, 6: 2, 31: 3, "else": 5},
+    })
+
+    res_expected.update({
+      'APP_TIMELINE_SERVER': {31: 1, "else": 2},
+      'FALCON_SERVER': {6: 1, 31: 2, "else": 3}
+    })
+
+    self.stackAdvisor.modifyComponentLayoutSchemes()
+    res = self.stackAdvisor.getComponentLayoutSchemes()
+
+    self.assertEquals(res, res_expected)