You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ds...@apache.org on 2015/04/24 14:34:21 UTC

ambari git commit: AMBARI-10725 Changing slider value with recommended value keeps moving the recommended-value marker (dsen)

Repository: ambari
Updated Branches:
  refs/heads/trunk 08e957c2e -> e4c9e53a3


AMBARI-10725 Changing slider value with recommended value keeps moving the recommended-value marker (dsen)


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

Branch: refs/heads/trunk
Commit: e4c9e53a36f5182f2fa64064bc11703f28ec69d5
Parents: 08e957c
Author: Dmytro Sen <ds...@apache.org>
Authored: Fri Apr 24 15:29:07 2015 +0300
Committer: Dmytro Sen <ds...@apache.org>
Committed: Fri Apr 24 15:29:20 2015 +0300

----------------------------------------------------------------------
 .../src/main/resources/stacks/stack_advisor.py  |  12 +-
 .../src/test/python/TestStackAdvisor.py         | 121 +++++++++++++++++++
 2 files changed, 127 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/e4c9e53a/ambari-server/src/main/resources/stacks/stack_advisor.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/stack_advisor.py b/ambari-server/src/main/resources/stacks/stack_advisor.py
index cfb2485..6319a65 100644
--- a/ambari-server/src/main/resources/stacks/stack_advisor.py
+++ b/ambari-server/src/main/resources/stacks/stack_advisor.py
@@ -737,16 +737,16 @@ class DefaultStackAdvisor(StackAdvisor):
       allDependencies.extend(item['configurations'])
 
     dependencies = []
-    dependencies.extend(changedConfigs)
 
-    size = 0
+    size = -1
     while size != len(dependencies):
       size = len(dependencies)
       for config in allDependencies:
-        type = re.sub('\.xml$', '', config['StackConfigurations']['type'])
-        name = config['StackConfigurations']['property_name']
-
-        if {"type": type, "name": name} in dependencies:
+        property = {
+          "type": re.sub('\.xml$', '', config['StackConfigurations']['type']),
+          "name": config['StackConfigurations']['property_name']
+        }
+        if property in dependencies or property in changedConfigs:
           for dependedConfig in config['StackConfigurations']['property_depended_by']:
             if dependedConfig not in dependencies:
               dependencies.append(dependedConfig)

http://git-wip-us.apache.org/repos/asf/ambari/blob/e4c9e53a/ambari-server/src/test/python/TestStackAdvisor.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/TestStackAdvisor.py b/ambari-server/src/test/python/TestStackAdvisor.py
index ab0a191..a1818d7 100644
--- a/ambari-server/src/test/python/TestStackAdvisor.py
+++ b/ambari-server/src/test/python/TestStackAdvisor.py
@@ -375,3 +375,124 @@ class TestStackAdvisorInitialization(TestCase):
       }
     }
     self.assertEquals(actualConfigGroupRecommendConfigResponse, expectedConfigGroupRecommendConfigResponse)
+
+    services = {
+      "services": [
+        {
+          "StackServices" : {
+            "service_name" : "YARN",
+            "stack_name" : "HDP",
+            "stack_version" : "2.3"
+          },
+          "configurations" : [
+            {
+              "StackConfigurations" : {
+                "property_depended_by" : [
+                  {
+                    "type" : "yarn-site",
+                    "name" : "yarn.scheduler.minimum-allocation-vcores"
+                  },
+                  {
+                    "type" : "yarn-site",
+                    "name" : "yarn.scheduler.maximum-allocation-vcores"
+                  }
+                ],
+                "property_name" : "yarn.nodemanager.resource.cpu-vcores",
+                "type" : "yarn-site.xml"
+              }
+            },
+            {
+              "StackConfigurations" : {
+                "property_depended_by" : [
+                  {
+                    "type" : "yarn-site",
+                    "name" : "yarn.scheduler.maximum-allocation-mb"
+                  },
+                  {
+                    "type" : "yarn-site",
+                    "name" : "yarn.scheduler.minimum-allocation-mb"
+                  }
+                ],
+                "property_name" : "yarn.nodemanager.resource.memory-mb",
+                "type" : "yarn-site.xml"
+              }
+            },
+            {
+              "StackConfigurations" : {
+                "property_depended_by" : [
+                  {
+                    "type" : "mapred-site",
+                    "name" : "yarn.app.mapreduce.am.resource.mb"
+                  },
+                  {
+                    "type" : "mapred-site",
+                    "name" : "mapreduce.map.memory.mb"
+                  },
+                  {
+                    "type" : "mapred-site",
+                    "name" : "mapreduce.reduce.memory.mb"
+                  }
+                ],
+                "property_name" : "yarn.scheduler.maximum-allocation-mb",
+                "type" : "yarn-site.xml"
+              }
+            },
+            {
+              "StackConfigurations" : {
+                "property_depended_by" : [ ],
+                "property_name" : "yarn.scheduler.maximum-allocation-vcores",
+                "type" : "yarn-site.xml"
+              }
+            },
+            {
+              "StackConfigurations" : {
+                "property_depended_by" : [
+                  {
+                    "type" : "hive-site",
+                    "name" : "hive.tez.container.size"
+                  },
+                  {
+                    "type" : "mapred-site",
+                    "name" : "yarn.app.mapreduce.am.resource.mb"
+                  },
+                  {
+                    "type" : "mapred-site",
+                    "name" : "mapreduce.map.memory.mb"
+                  },
+                  {
+                    "type" : "mapred-site",
+                    "name" : "mapreduce.reduce.memory.mb"
+                  }
+                ],
+                "property_name" : "yarn.scheduler.minimum-allocation-mb",
+                "type" : "yarn-site.xml"
+              }
+            },
+            {
+              "StackConfigurations" : {
+                "property_depended_by" : [ ],
+                "property_name" : "yarn.scheduler.minimum-allocation-vcores",
+                "type" : "yarn-site.xml"
+              }
+            }
+          ]
+        }
+      ],
+      "changed-configurations": [
+        {
+          "type": "yarn-site",
+          "name": "yarn.nodemanager.resource.memory-mb"
+        }
+      ]
+
+    }
+
+    properties_dict = default_stack_advisor.getAffectedConfigs(services)
+    expected_properties_dict = [{'name': 'yarn.scheduler.maximum-allocation-mb', 'type': 'yarn-site'},
+                                {'name': 'yarn.scheduler.minimum-allocation-mb', 'type': 'yarn-site'},
+                                {'name': 'yarn.app.mapreduce.am.resource.mb', 'type': 'mapred-site'},
+                                {'name': 'mapreduce.map.memory.mb', 'type': 'mapred-site'},
+                                {'name': 'mapreduce.reduce.memory.mb', 'type': 'mapred-site'},
+                                {'name': 'hive.tez.container.size', 'type': 'hive-site'}]
+
+    self.assertEquals(properties_dict, expected_properties_dict)
\ No newline at end of file