ambari-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From nc...@apache.org
Subject ambari git commit: AMBARI-17743. Storm service check failed during Express Upgrade due to Nimbus going down after restart with CNF IClusterReporter (ncole)
Date Fri, 15 Jul 2016 21:07:52 GMT
Repository: ambari
Updated Branches:
  refs/heads/trunk da8b308ea -> ec8518398


AMBARI-17743. Storm service check failed during Express Upgrade due to Nimbus going down after
restart with CNF IClusterReporter (ncole)


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

Branch: refs/heads/trunk
Commit: ec851839838cf3705a147c39cc131ffc762db97d
Parents: da8b308
Author: Nate Cole <ncole@hortonworks.com>
Authored: Fri Jul 15 16:31:59 2016 -0400
Committer: Nate Cole <ncole@hortonworks.com>
Committed: Fri Jul 15 17:05:51 2016 -0400

----------------------------------------------------------------------
 .../libraries/functions/constants.py            |  1 +
 .../STORM/0.9.1/package/scripts/params_linux.py |  2 +-
 .../STORM/0.9.1/package/scripts/storm.py        |  6 +--
 .../HDP/2.0.6/properties/stack_features.json    |  5 +++
 .../stacks/2.1/STORM/test_storm_nimbus.py       | 42 ++++++++++++++++++++
 5 files changed, 52 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/ec851839/ambari-common/src/main/python/resource_management/libraries/functions/constants.py
----------------------------------------------------------------------
diff --git a/ambari-common/src/main/python/resource_management/libraries/functions/constants.py
b/ambari-common/src/main/python/resource_management/libraries/functions/constants.py
index 5b9e900..42ecf6a 100644
--- a/ambari-common/src/main/python/resource_management/libraries/functions/constants.py
+++ b/ambari-common/src/main/python/resource_management/libraries/functions/constants.py
@@ -94,3 +94,4 @@ class StackFeature:
   RANGER_PID_SUPPORT = "ranger_pid_support"
   RANGER_KMS_PID_SUPPORT = "ranger_kms_pid_support"
   RANGER_ADMIN_PASSWD_CHANGE = "ranger_admin_password_change"
+  STORM_METRICS_APACHE_CLASSES = "storm_metrics_apache_classes"

http://git-wip-us.apache.org/repos/asf/ambari/blob/ec851839/ambari-server/src/main/resources/common-services/STORM/0.9.1/package/scripts/params_linux.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/STORM/0.9.1/package/scripts/params_linux.py
b/ambari-server/src/main/resources/common-services/STORM/0.9.1/package/scripts/params_linux.py
index 9c24f48..9c6f384 100644
--- a/ambari-server/src/main/resources/common-services/STORM/0.9.1/package/scripts/params_linux.py
+++ b/ambari-server/src/main/resources/common-services/STORM/0.9.1/package/scripts/params_linux.py
@@ -49,7 +49,7 @@ sudo = AMBARI_SUDO_BINARY
 cluster_name = config['clusterName']
 
 stack_name = status_params.stack_name
-upgrade_direction = default("/commandParams/upgrade_direction", Direction.UPGRADE)
+upgrade_direction = default("/commandParams/upgrade_direction", None)
 version = default("/commandParams/version", None)
 
 agent_stack_retry_on_unavailability = config['hostLevelParams']['agent_stack_retry_on_unavailability']

http://git-wip-us.apache.org/repos/asf/ambari/blob/ec851839/ambari-server/src/main/resources/common-services/STORM/0.9.1/package/scripts/storm.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/STORM/0.9.1/package/scripts/storm.py
b/ambari-server/src/main/resources/common-services/STORM/0.9.1/package/scripts/storm.py
index dfd55dc..d765ca3 100644
--- a/ambari-server/src/main/resources/common-services/STORM/0.9.1/package/scripts/storm.py
+++ b/ambari-server/src/main/resources/common-services/STORM/0.9.1/package/scripts/storm.py
@@ -117,10 +117,10 @@ def storm(name=None):
     # On old HDP 2.1 versions, this symlink may also exist and break EU to newer versions
     Link("/usr/lib/storm/lib/ambari-metrics-storm-sink.jar", action="delete")
 
-    if params.availableServices.has_key("STORM") and params.availableServices.get("STORM").startswith("0"):
-      sink_jar = params.metric_collector_legacy_sink_jar
-    else:
+    if check_stack_feature(StackFeature.STORM_METRICS_APACHE_CLASSES, params.version_for_stack_feature_checks):
       sink_jar = params.metric_collector_sink_jar
+    else:
+      sink_jar = params.metric_collector_legacy_sink_jar
 
     Execute(format("{sudo} ln -s {sink_jar} {storm_lib_dir}/ambari-metrics-storm-sink.jar"),
             not_if=format("ls {storm_lib_dir}/ambari-metrics-storm-sink.jar"),

http://git-wip-us.apache.org/repos/asf/ambari/blob/ec851839/ambari-server/src/main/resources/stacks/HDP/2.0.6/properties/stack_features.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/properties/stack_features.json
b/ambari-server/src/main/resources/stacks/HDP/2.0.6/properties/stack_features.json
index 7f69fcd..6d26052 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/properties/stack_features.json
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/properties/stack_features.json
@@ -271,6 +271,11 @@
       "name": "ranger_admin_password_change",
       "description": "Allow ranger admin credentials to be specified during cluster creation
(AMBARI-17000)",
       "min_version": "2.5.0.0"
+    },
+    {
+      "name": "storm_metrics_apache_classes",
+      "description": "Metrics sink for Storm that uses Apache class names",
+      "min_version": "2.5.0.0"
     }
   ]
 }

http://git-wip-us.apache.org/repos/asf/ambari/blob/ec851839/ambari-server/src/test/python/stacks/2.1/STORM/test_storm_nimbus.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.1/STORM/test_storm_nimbus.py b/ambari-server/src/test/python/stacks/2.1/STORM/test_storm_nimbus.py
index 04ed17b..40972f9 100644
--- a/ambari-server/src/test/python/stacks/2.1/STORM/test_storm_nimbus.py
+++ b/ambari-server/src/test/python/stacks/2.1/STORM/test_storm_nimbus.py
@@ -101,6 +101,48 @@ class TestStormNimbus(TestStormBase):
     )
     self.assertNoMoreResources()
 
+  def test_start_with_metrics_collector_modern(self):
+    config_file = self.get_src_folder() + "/test/python/stacks/2.1/configs/default.json"
+    with open(config_file, "r") as f:
+      json_content = json.load(f)
+    json_content["commandParams"]["version"] = "2.5.0.0-1234"
+    json_content["clusterHostInfo"]["metrics_collector_hosts"] = ["host1", "host2"]
+
+    self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/nimbus.py",
+                       classname = "Nimbus",
+                       command = "start",
+                       config_dict = json_content,
+                       stack_version = self.STACK_VERSION,
+                       target = RMFTestCase.TARGET_COMMON_SERVICES
+                       )
+    self.assert_configure_default()
+
+    self.assertResourceCalled('File', '/etc/storm/conf/storm-metrics2.properties',
+                              content = Template('storm-metrics2.properties.j2'),
+                              owner = 'storm',
+                              group = 'hadoop',
+                              )
+    self.assertResourceCalled('Link', '/usr/lib/storm/lib//ambari-metrics-storm-sink.jar',
+                              action = ['delete'],
+                              )
+    self.assertResourceCalled('Link', '/usr/lib/storm/lib/ambari-metrics-storm-sink.jar',
+                              action = ['delete'],
+                              )
+    self.assertResourceCalled('Execute', 'ambari-sudo.sh ln -s /usr/lib/storm/lib/ambari-metrics-storm-sink-with-common-*.jar
/usr/lib/storm/lib//ambari-metrics-storm-sink.jar',
+                              not_if = 'ls /usr/lib/storm/lib//ambari-metrics-storm-sink.jar',
+                              only_if = 'ls /usr/lib/storm/lib/ambari-metrics-storm-sink-with-common-*.jar',
+                              )
+    self.assertResourceCalled('Execute', 'source /etc/storm/conf/storm-env.sh ; export PATH=$JAVA_HOME/bin:$PATH
; storm nimbus > /var/log/storm/nimbus.out 2>&1 &\n echo $! > /var/run/storm/nimbus.pid',
+        path = ['/usr/bin'],
+        user = 'storm',
+        not_if = "ambari-sudo.sh su storm -l -s /bin/bash -c '[RMF_EXPORT_PLACEHOLDER]ls
/var/run/storm/nimbus.pid >/dev/null 2>&1 && ps -p `cat /var/run/storm/nimbus.pid`
>/dev/null 2>&1'",
+    )
+    self.assertResourceCalled('File', '/var/run/storm/nimbus.pid',
+        owner = 'storm',
+        group = 'hadoop',
+    )
+    self.assertNoMoreResources()
+
   @patch("os.path.exists")
   def test_stop_default(self, path_exists_mock):
     # Bool for the pid file


Mime
View raw message