You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by dm...@apache.org on 2014/02/11 18:03:20 UTC
git commit: AMBARI-4607. Write unnitests for STORM install script
(Arsen Babych via dlysnichenko)
Updated Branches:
refs/heads/trunk b527a781c -> e7cf023b3
AMBARI-4607. Write unnitests for STORM install script (Arsen Babych via dlysnichenko)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/e7cf023b
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/e7cf023b
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/e7cf023b
Branch: refs/heads/trunk
Commit: e7cf023b34d93901069a6410b98d6057d9b61e9b
Parents: b527a78
Author: Lisnichenko Dmitro <dl...@hortonworks.com>
Authored: Tue Feb 11 18:58:58 2014 +0200
Committer: Lisnichenko Dmitro <dl...@hortonworks.com>
Committed: Tue Feb 11 19:03:01 2014 +0200
----------------------------------------------------------------------
.../services/STORM/package/scripts/rest_api.py | 4 +-
.../STORM/package/scripts/service_check.py | 1 +
.../STORM/package/scripts/yaml_config.py | 2 +-
.../python/stacks/1.3.2/PIG/test_pig_client.py | 2 +-
.../stacks/1.3.2/PIG/test_pig_service_check.py | 2 +-
.../2.0.6/GANGLIA/test_ganglia_monitor.py | 14 ++
.../stacks/2.0.6/GANGLIA/test_ganglia_server.py | 15 ++
.../python/stacks/2.0.6/PIG/test_pig_client.py | 2 +-
.../stacks/2.0.6/PIG/test_pig_service_check.py | 4 +-
.../stacks/2.1.1/STORM/test_service_check.py | 44 +++++
.../2.1.1/STORM/test_storm_drpc_server.py | 175 ++++++++++++++++++
.../2.1.1/STORM/test_storm_logviewer_server.py | 175 ++++++++++++++++++
.../stacks/2.1.1/STORM/test_storm_nimbus.py | 175 ++++++++++++++++++
.../2.1.1/STORM/test_storm_rest_api_service.py | 175 ++++++++++++++++++
.../stacks/2.1.1/STORM/test_storm_supervisor.py | 175 ++++++++++++++++++
.../stacks/2.1.1/STORM/test_storm_ui_server.py | 175 ++++++++++++++++++
.../python/stacks/2.1.1/configs/default.json | 184 +++++++++----------
.../python/stacks/2.1.1/configs/secured.json | 180 +++++++++---------
18 files changed, 1314 insertions(+), 190 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/e7cf023b/ambari-server/src/main/resources/stacks/HDP/2.1.1/services/STORM/package/scripts/rest_api.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1.1/services/STORM/package/scripts/rest_api.py b/ambari-server/src/main/resources/stacks/HDP/2.1.1/services/STORM/package/scripts/rest_api.py
index 7b12597..ec7deec 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.1.1/services/STORM/package/scripts/rest_api.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.1.1/services/STORM/package/scripts/rest_api.py
@@ -25,7 +25,7 @@ from service import service
from service_check import ServiceCheck
-class RestApi(Script):
+class StormRestApi(Script):
def install(self, env):
self.install_packages(env)
self.configure(env)
@@ -55,4 +55,4 @@ class RestApi(Script):
check_process_status(status_params.pid_rest_api)
if __name__ == "__main__":
- RestApi().execute()
+ StormRestApi().execute()
http://git-wip-us.apache.org/repos/asf/ambari/blob/e7cf023b/ambari-server/src/main/resources/stacks/HDP/2.1.1/services/STORM/package/scripts/service_check.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1.1/services/STORM/package/scripts/service_check.py b/ambari-server/src/main/resources/stacks/HDP/2.1.1/services/STORM/package/scripts/service_check.py
index 1cfbc48..51c790f 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.1.1/services/STORM/package/scripts/service_check.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.1.1/services/STORM/package/scripts/service_check.py
@@ -19,6 +19,7 @@ limitations under the License.
"""
from resource_management import *
+from resource_management.libraries.functions import get_unique_id_and_date
class ServiceCheck(Script):
def service_check(self, env):
http://git-wip-us.apache.org/repos/asf/ambari/blob/e7cf023b/ambari-server/src/main/resources/stacks/HDP/2.1.1/services/STORM/package/scripts/yaml_config.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1.1/services/STORM/package/scripts/yaml_config.py b/ambari-server/src/main/resources/stacks/HDP/2.1.1/services/STORM/package/scripts/yaml_config.py
index 1f56486..c784c40 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.1.1/services/STORM/package/scripts/yaml_config.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.1.1/services/STORM/package/scripts/yaml_config.py
@@ -38,7 +38,7 @@ def yaml_config(
owner = None,
group = None
):
- config_content = InlineTemplate('''{% for key, value in configurations_dict.items() %}{{ key }}: {{ escape_yaml_propetry(value) }}
+ config_content = source.InlineTemplate('''{% for key, value in configurations_dict.items() %}{{ key }}: {{ escape_yaml_propetry(value) }}
{% endfor %}''', configurations_dict=configurations, extra_imports=[escape_yaml_propetry])
File (format("{conf_dir}/{filename}"),
http://git-wip-us.apache.org/repos/asf/ambari/blob/e7cf023b/ambari-server/src/test/python/stacks/1.3.2/PIG/test_pig_client.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/1.3.2/PIG/test_pig_client.py b/ambari-server/src/test/python/stacks/1.3.2/PIG/test_pig_client.py
index bdb0a2f..b290939 100644
--- a/ambari-server/src/test/python/stacks/1.3.2/PIG/test_pig_client.py
+++ b/ambari-server/src/test/python/stacks/1.3.2/PIG/test_pig_client.py
@@ -20,7 +20,7 @@ limitations under the License.
from stacks.utils.RMFTestCase import *
-class TestHcatClient(RMFTestCase):
+class TestPigClient(RMFTestCase):
def test_configure_default(self):
self.executeScript("1.3.2/services/PIG/package/scripts/pig_client.py",
http://git-wip-us.apache.org/repos/asf/ambari/blob/e7cf023b/ambari-server/src/test/python/stacks/1.3.2/PIG/test_pig_service_check.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/1.3.2/PIG/test_pig_service_check.py b/ambari-server/src/test/python/stacks/1.3.2/PIG/test_pig_service_check.py
index 71c1936..39c5fc1 100644
--- a/ambari-server/src/test/python/stacks/1.3.2/PIG/test_pig_service_check.py
+++ b/ambari-server/src/test/python/stacks/1.3.2/PIG/test_pig_service_check.py
@@ -20,7 +20,7 @@ limitations under the License.
from stacks.utils.RMFTestCase import *
-class TestServiceCheck(RMFTestCase):
+class TestPigServiceCheck(RMFTestCase):
def test_configure_default(self):
self.executeScript("1.3.2/services/PIG/package/scripts/service_check.py",
http://git-wip-us.apache.org/repos/asf/ambari/blob/e7cf023b/ambari-server/src/test/python/stacks/2.0.6/GANGLIA/test_ganglia_monitor.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.0.6/GANGLIA/test_ganglia_monitor.py b/ambari-server/src/test/python/stacks/2.0.6/GANGLIA/test_ganglia_monitor.py
index 79c24ee..50a2ea9 100644
--- a/ambari-server/src/test/python/stacks/2.0.6/GANGLIA/test_ganglia_monitor.py
+++ b/ambari-server/src/test/python/stacks/2.0.6/GANGLIA/test_ganglia_monitor.py
@@ -124,6 +124,20 @@ class TestGangliaMonitor(RMFTestCase):
'/bin',
'/usr/bin'],
)
+ self.assertResourceCalled('Execute', '/usr/libexec/hdp/ganglia/setupGanglia.sh -c HDPNimbus -o root -g hadoop',
+ path = ['/usr/libexec/hdp/ganglia',
+ '/usr/sbin',
+ '/sbin:/usr/local/bin',
+ '/bin',
+ '/usr/bin'],
+ )
+ self.assertResourceCalled('Execute', '/usr/libexec/hdp/ganglia/setupGanglia.sh -c HDPSupervisor -o root -g hadoop',
+ path = ['/usr/libexec/hdp/ganglia',
+ '/usr/sbin',
+ '/sbin:/usr/local/bin',
+ '/bin',
+ '/usr/bin'],
+ )
self.assertResourceCalled('Directory', '/etc/ganglia/conf.d',
owner = 'root',
group = 'hadoop',
http://git-wip-us.apache.org/repos/asf/ambari/blob/e7cf023b/ambari-server/src/test/python/stacks/2.0.6/GANGLIA/test_ganglia_server.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.0.6/GANGLIA/test_ganglia_server.py b/ambari-server/src/test/python/stacks/2.0.6/GANGLIA/test_ganglia_server.py
index 870bc22..52ddad1 100644
--- a/ambari-server/src/test/python/stacks/2.0.6/GANGLIA/test_ganglia_server.py
+++ b/ambari-server/src/test/python/stacks/2.0.6/GANGLIA/test_ganglia_server.py
@@ -161,6 +161,21 @@ class TestGangliaServer(RMFTestCase):
'/bin',
'/usr/bin'],
)
+ self.assertResourceCalled('Execute', '/usr/libexec/hdp/ganglia/setupGanglia.sh -c HDPNimbus -m -o root -g hadoop',
+ path = ['/usr/libexec/hdp/ganglia',
+ '/usr/sbin',
+ '/sbin:/usr/local/bin',
+ '/bin',
+ '/usr/bin'],
+ )
+ self.assertResourceCalled('Execute', '/usr/libexec/hdp/ganglia/setupGanglia.sh -c HDPSupervisor -m -o root -g hadoop',
+ path = ['/usr/libexec/hdp/ganglia',
+ '/usr/sbin',
+ '/sbin:/usr/local/bin',
+ '/bin',
+ '/usr/bin'],
+ )
+
self.assertResourceCalled('Execute', '/usr/libexec/hdp/ganglia/setupGanglia.sh -t -o root -g hadoop',
path = ['/usr/libexec/hdp/ganglia',
'/usr/sbin',
http://git-wip-us.apache.org/repos/asf/ambari/blob/e7cf023b/ambari-server/src/test/python/stacks/2.0.6/PIG/test_pig_client.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.0.6/PIG/test_pig_client.py b/ambari-server/src/test/python/stacks/2.0.6/PIG/test_pig_client.py
index 810d6df..12c08e1 100644
--- a/ambari-server/src/test/python/stacks/2.0.6/PIG/test_pig_client.py
+++ b/ambari-server/src/test/python/stacks/2.0.6/PIG/test_pig_client.py
@@ -20,7 +20,7 @@ limitations under the License.
from stacks.utils.RMFTestCase import *
-class TestHcatClient(RMFTestCase):
+class TestPigClient(RMFTestCase):
def test_configure_default(self):
self.executeScript("2.0.6/services/PIG/package/scripts/pig_client.py",
http://git-wip-us.apache.org/repos/asf/ambari/blob/e7cf023b/ambari-server/src/test/python/stacks/2.0.6/PIG/test_pig_service_check.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.0.6/PIG/test_pig_service_check.py b/ambari-server/src/test/python/stacks/2.0.6/PIG/test_pig_service_check.py
index cd63f42..414b5aa 100644
--- a/ambari-server/src/test/python/stacks/2.0.6/PIG/test_pig_service_check.py
+++ b/ambari-server/src/test/python/stacks/2.0.6/PIG/test_pig_service_check.py
@@ -20,7 +20,7 @@ limitations under the License.
from stacks.utils.RMFTestCase import *
-class TestServiceCheck(RMFTestCase):
+class TestPigServiceCheck(RMFTestCase):
def test_configure_default(self):
self.executeScript("2.0.6/services/PIG/package/scripts/service_check.py",
@@ -91,4 +91,4 @@ class TestServiceCheck(RMFTestCase):
user = 'ambari-qa',
conf_dir = '/etc/hadoop/conf',
)
- self.assertNoMoreResources()
\ No newline at end of file
+ self.assertNoMoreResources()
http://git-wip-us.apache.org/repos/asf/ambari/blob/e7cf023b/ambari-server/src/test/python/stacks/2.1.1/STORM/test_service_check.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.1.1/STORM/test_service_check.py b/ambari-server/src/test/python/stacks/2.1.1/STORM/test_service_check.py
new file mode 100644
index 0000000..94d4744
--- /dev/null
+++ b/ambari-server/src/test/python/stacks/2.1.1/STORM/test_service_check.py
@@ -0,0 +1,44 @@
+#!/usr/bin/env python
+
+'''
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+'''
+
+from mock.mock import MagicMock, call, patch
+from stacks.utils.RMFTestCase import *
+import datetime
+import resource_management.libraries.functions
+@patch.object(resource_management.libraries.functions, "get_unique_id_and_date", new = MagicMock(return_value=''))
+
+class TestStormServiceCheck(RMFTestCase):
+
+ def test_service_check(self):
+ self.executeScript("2.1.1/services/STORM/package/scripts/service_check.py",
+ classname="ServiceCheck",
+ command="service_check",
+ config_file="default.json"
+ )
+ self.printResources()
+
+ self.assertResourceCalled('File', '/tmp/wordCount.jar',
+ content = StaticFile('wordCount.jar'),
+ )
+ self.assertResourceCalled('Execute', 'env PATH=$PATH:/usr/jdk64/jdk1.7.0_45/bin storm jar /tmp/wordCount.jar storm.starter.WordCountTopology WordCount -c nimbus.host=c6402.ambari.apache.org',
+ logoutput = True,
+ )
+ self.assertResourceCalled('Execute', 'env PATH=$PATH:/usr/jdk64/jdk1.7.0_45/bin storm kill WordCount')
+
http://git-wip-us.apache.org/repos/asf/ambari/blob/e7cf023b/ambari-server/src/test/python/stacks/2.1.1/STORM/test_storm_drpc_server.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.1.1/STORM/test_storm_drpc_server.py b/ambari-server/src/test/python/stacks/2.1.1/STORM/test_storm_drpc_server.py
new file mode 100644
index 0000000..3d44d12
--- /dev/null
+++ b/ambari-server/src/test/python/stacks/2.1.1/STORM/test_storm_drpc_server.py
@@ -0,0 +1,175 @@
+#!/usr/bin/env python
+
+'''
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+'''
+
+from mock.mock import MagicMock, call, patch
+from stacks.utils.RMFTestCase import *
+import resource_management.core.source
+
+@patch.object(resource_management.core.source, "InlineTemplate", new = MagicMock(return_value='InlineTemplateMock'))
+class TestStormDrpcServer(RMFTestCase):
+
+ def test_configure_default(self):
+ self.executeScript("2.1.1/services/STORM/package/scripts/drpc_server.py",
+ classname = "DrpcServer",
+ command = "configure",
+ config_file="default.json"
+ )
+ self.assert_configure_default()
+ self.assertNoMoreResources()
+
+ def test_start_default(self):
+ self.executeScript("2.1.1/services/STORM/package/scripts/drpc_server.py",
+ classname = "DrpcServer",
+ command = "start",
+ config_file="default.json"
+ )
+
+ self.assert_configure_default()
+
+ self.assertResourceCalled('Execute', 'env PATH=$PATH:/usr/jdk64/jdk1.7.0_45/bin /usr/bin/storm drpc',
+ wait_for_finish = False,
+ not_if = 'ls /var/run/storm/drpc.pid >/dev/null 2>&1 && ps `cat /var/run/storm/drpc.pid` >/dev/null 2>&1',
+ user = 'storm',
+ )
+
+ self.assertResourceCalled('Execute', 'pgrep -f "^java.+backtype.storm.daemon.drpc$" > /var/run/storm/drpc.pid',
+ logoutput = True,
+ tries = 6,
+ user = 'storm',
+ try_sleep = 10,
+ )
+
+ self.assertNoMoreResources()
+
+ def test_stop_default(self):
+ self.executeScript("2.1.1/services/STORM/package/scripts/drpc_server.py",
+ classname = "DrpcServer",
+ command = "stop",
+ config_file="default.json"
+ )
+ self.assertResourceCalled('Execute', 'kill `cat /var/run/storm/drpc.pid` >/dev/null 2>&1')
+ self.assertResourceCalled('Execute', '! (ls /var/run/storm/drpc.pid >/dev/null 2>&1 && ps `cat /var/run/storm/drpc.pid` >/dev/null 2>&1)',
+ tries = 5,
+ try_sleep = 3,
+ )
+ self.assertResourceCalled('Execute', 'rm -f /var/run/storm/drpc.pid')
+
+ def test_configure_default(self):
+ self.executeScript("2.1.1/services/STORM/package/scripts/drpc_server.py",
+ classname = "DrpcServer",
+ command = "configure",
+ config_file="secured.json"
+ )
+ self.assert_configure_secured()
+ self.assertNoMoreResources()
+
+ def test_start_secured(self):
+ self.executeScript("2.1.1/services/STORM/package/scripts/drpc_server.py",
+ classname = "DrpcServer",
+ command = "start",
+ config_file="secured.json"
+ )
+
+ self.assert_configure_secured()
+
+ self.assertResourceCalled('Execute', 'env PATH=$PATH:/usr/jdk64/jdk1.7.0_45/bin /usr/bin/storm drpc',
+ wait_for_finish = False,
+ not_if = 'ls /var/run/storm/drpc.pid >/dev/null 2>&1 && ps `cat /var/run/storm/drpc.pid` >/dev/null 2>&1',
+ user = 'storm',
+ )
+
+ self.assertResourceCalled('Execute', 'pgrep -f "^java.+backtype.storm.daemon.drpc$" > /var/run/storm/drpc.pid',
+ logoutput = True,
+ tries = 6,
+ user = 'storm',
+ try_sleep = 10,
+ )
+
+ self.assertNoMoreResources()
+
+ def test_stop_secured(self):
+ self.executeScript("2.1.1/services/STORM/package/scripts/drpc_server.py",
+ classname = "DrpcServer",
+ command = "stop",
+ config_file="secured.json"
+ )
+ self.assertResourceCalled('Execute', 'kill `cat /var/run/storm/drpc.pid` >/dev/null 2>&1')
+ self.assertResourceCalled('Execute', '! (ls /var/run/storm/drpc.pid >/dev/null 2>&1 && ps `cat /var/run/storm/drpc.pid` >/dev/null 2>&1)',
+ tries = 5,
+ try_sleep = 3,
+ )
+ self.assertResourceCalled('Execute', 'rm -f /var/run/storm/drpc.pid')
+
+ def assert_configure_default(self):
+
+ self.assertResourceCalled('Directory', '/var/log/storm',
+ owner = 'storm',
+ group = 'hadoop',
+ recursive = True,
+ )
+ self.assertResourceCalled('Directory', '/var/run/storm',
+ owner = 'storm',
+ group = 'hadoop',
+ recursive = True,
+ )
+ self.assertResourceCalled('Directory', '/hadoop/storm',
+ owner = 'storm',
+ group = 'hadoop',
+ recursive = True,
+ )
+ self.assertResourceCalled('File', '/etc/storm/conf/config.yaml',
+ owner = 'storm',
+ content = Template('config.yaml.j2'),
+ group = 'hadoop',
+ )
+ self.assertResourceCalled('File', '/etc/storm/conf/storm.yaml',
+ owner = 'storm',
+ content = 'InlineTemplateMock',
+ group = 'hadoop',
+ mode = None,
+ )
+
+ def assert_configure_secured(self):
+ self.assertResourceCalled('Directory', '/var/log/storm',
+ owner = 'storm',
+ group = 'hadoop',
+ recursive = True,
+ )
+ self.assertResourceCalled('Directory', '/var/run/storm',
+ owner = 'storm',
+ group = 'hadoop',
+ recursive = True,
+ )
+ self.assertResourceCalled('Directory', '/hadoop/storm',
+ owner = 'storm',
+ group = 'hadoop',
+ recursive = True,
+ )
+ self.assertResourceCalled('File', '/etc/storm/conf/config.yaml',
+ owner = 'storm',
+ content = Template('config.yaml.j2'),
+ group = 'hadoop',
+ )
+ self.assertResourceCalled('File', '/etc/storm/conf/storm.yaml',
+ owner = 'storm',
+ content = 'InlineTemplateMock',
+ group = 'hadoop',
+ mode = None,
+ )
http://git-wip-us.apache.org/repos/asf/ambari/blob/e7cf023b/ambari-server/src/test/python/stacks/2.1.1/STORM/test_storm_logviewer_server.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.1.1/STORM/test_storm_logviewer_server.py b/ambari-server/src/test/python/stacks/2.1.1/STORM/test_storm_logviewer_server.py
new file mode 100644
index 0000000..74fcbda
--- /dev/null
+++ b/ambari-server/src/test/python/stacks/2.1.1/STORM/test_storm_logviewer_server.py
@@ -0,0 +1,175 @@
+#!/usr/bin/env python
+
+'''
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+'''
+
+from mock.mock import MagicMock, call, patch
+from stacks.utils.RMFTestCase import *
+import resource_management.core.source
+
+@patch.object(resource_management.core.source, "InlineTemplate", new = MagicMock(return_value='InlineTemplateMock'))
+class TestStormLogviewerServer(RMFTestCase):
+
+ def test_configure_default(self):
+ self.executeScript("2.1.1/services/STORM/package/scripts/logviewer_server.py",
+ classname = "LogviewerServer",
+ command = "configure",
+ config_file="default.json"
+ )
+ self.assert_configure_default()
+ self.assertNoMoreResources()
+
+ def test_start_default(self):
+ self.executeScript("2.1.1/services/STORM/package/scripts/logviewer_server.py",
+ classname = "LogviewerServer",
+ command = "start",
+ config_file="default.json"
+ )
+
+ self.assert_configure_default()
+
+ self.assertResourceCalled('Execute', 'env PATH=$PATH:/usr/jdk64/jdk1.7.0_45/bin /usr/bin/storm logviewer',
+ wait_for_finish = False,
+ not_if = 'ls /var/run/storm/logviewer.pid >/dev/null 2>&1 && ps `cat /var/run/storm/logviewer.pid` >/dev/null 2>&1',
+ user = 'storm',
+ )
+
+ self.assertResourceCalled('Execute', 'pgrep -f "^java.+backtype.storm.daemon.logviewer$" > /var/run/storm/logviewer.pid',
+ logoutput = True,
+ tries = 6,
+ user = 'storm',
+ try_sleep = 10,
+ )
+
+ self.assertNoMoreResources()
+
+ def test_stop_default(self):
+ self.executeScript("2.1.1/services/STORM/package/scripts/logviewer_server.py",
+ classname = "LogviewerServer",
+ command = "stop",
+ config_file="default.json"
+ )
+ self.assertResourceCalled('Execute', 'kill `cat /var/run/storm/logviewer.pid` >/dev/null 2>&1')
+ self.assertResourceCalled('Execute', '! (ls /var/run/storm/logviewer.pid >/dev/null 2>&1 && ps `cat /var/run/storm/logviewer.pid` >/dev/null 2>&1)',
+ tries = 5,
+ try_sleep = 3,
+ )
+ self.assertResourceCalled('Execute', 'rm -f /var/run/storm/logviewer.pid')
+
+ def test_configure_default(self):
+ self.executeScript("2.1.1/services/STORM/package/scripts/logviewer_server.py",
+ classname = "LogviewerServer",
+ command = "configure",
+ config_file="secured.json"
+ )
+ self.assert_configure_secured()
+ self.assertNoMoreResources()
+
+ def test_start_secured(self):
+ self.executeScript("2.1.1/services/STORM/package/scripts/logviewer_server.py",
+ classname = "LogviewerServer",
+ command = "start",
+ config_file="secured.json"
+ )
+
+ self.assert_configure_secured()
+
+ self.assertResourceCalled('Execute', 'env PATH=$PATH:/usr/jdk64/jdk1.7.0_45/bin /usr/bin/storm logviewer',
+ wait_for_finish = False,
+ not_if = 'ls /var/run/storm/logviewer.pid >/dev/null 2>&1 && ps `cat /var/run/storm/logviewer.pid` >/dev/null 2>&1',
+ user = 'storm',
+ )
+
+ self.assertResourceCalled('Execute', 'pgrep -f "^java.+backtype.storm.daemon.logviewer$" > /var/run/storm/logviewer.pid',
+ logoutput = True,
+ tries = 6,
+ user = 'storm',
+ try_sleep = 10,
+ )
+
+ self.assertNoMoreResources()
+
+ def test_stop_secured(self):
+ self.executeScript("2.1.1/services/STORM/package/scripts/logviewer_server.py",
+ classname = "LogviewerServer",
+ command = "stop",
+ config_file="secured.json"
+ )
+ self.assertResourceCalled('Execute', 'kill `cat /var/run/storm/logviewer.pid` >/dev/null 2>&1')
+ self.assertResourceCalled('Execute', '! (ls /var/run/storm/logviewer.pid >/dev/null 2>&1 && ps `cat /var/run/storm/logviewer.pid` >/dev/null 2>&1)',
+ tries = 5,
+ try_sleep = 3,
+ )
+ self.assertResourceCalled('Execute', 'rm -f /var/run/storm/logviewer.pid')
+
+ def assert_configure_default(self):
+
+ self.assertResourceCalled('Directory', '/var/log/storm',
+ owner = 'storm',
+ group = 'hadoop',
+ recursive = True,
+ )
+ self.assertResourceCalled('Directory', '/var/run/storm',
+ owner = 'storm',
+ group = 'hadoop',
+ recursive = True,
+ )
+ self.assertResourceCalled('Directory', '/hadoop/storm',
+ owner = 'storm',
+ group = 'hadoop',
+ recursive = True,
+ )
+ self.assertResourceCalled('File', '/etc/storm/conf/config.yaml',
+ owner = 'storm',
+ content = Template('config.yaml.j2'),
+ group = 'hadoop',
+ )
+ self.assertResourceCalled('File', '/etc/storm/conf/storm.yaml',
+ owner = 'storm',
+ content = 'InlineTemplateMock',
+ group = 'hadoop',
+ mode = None,
+ )
+
+ def assert_configure_secured(self):
+ self.assertResourceCalled('Directory', '/var/log/storm',
+ owner = 'storm',
+ group = 'hadoop',
+ recursive = True,
+ )
+ self.assertResourceCalled('Directory', '/var/run/storm',
+ owner = 'storm',
+ group = 'hadoop',
+ recursive = True,
+ )
+ self.assertResourceCalled('Directory', '/hadoop/storm',
+ owner = 'storm',
+ group = 'hadoop',
+ recursive = True,
+ )
+ self.assertResourceCalled('File', '/etc/storm/conf/config.yaml',
+ owner = 'storm',
+ content = Template('config.yaml.j2'),
+ group = 'hadoop',
+ )
+ self.assertResourceCalled('File', '/etc/storm/conf/storm.yaml',
+ owner = 'storm',
+ content = 'InlineTemplateMock',
+ group = 'hadoop',
+ mode = None,
+ )
http://git-wip-us.apache.org/repos/asf/ambari/blob/e7cf023b/ambari-server/src/test/python/stacks/2.1.1/STORM/test_storm_nimbus.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.1.1/STORM/test_storm_nimbus.py b/ambari-server/src/test/python/stacks/2.1.1/STORM/test_storm_nimbus.py
new file mode 100644
index 0000000..2ac251d
--- /dev/null
+++ b/ambari-server/src/test/python/stacks/2.1.1/STORM/test_storm_nimbus.py
@@ -0,0 +1,175 @@
+#!/usr/bin/env python
+
+'''
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+'''
+
+from mock.mock import MagicMock, call, patch
+from stacks.utils.RMFTestCase import *
+import resource_management.core.source
+
+@patch.object(resource_management.core.source, "InlineTemplate", new = MagicMock(return_value='InlineTemplateMock'))
+class TestStormNimbus(RMFTestCase):
+
+ def test_configure_default(self):
+ self.executeScript("2.1.1/services/STORM/package/scripts/nimbus.py",
+ classname = "Nimbus",
+ command = "configure",
+ config_file="default.json"
+ )
+ self.assert_configure_default()
+ self.assertNoMoreResources()
+
+ def test_start_default(self):
+ self.executeScript("2.1.1/services/STORM/package/scripts/nimbus.py",
+ classname = "Nimbus",
+ command = "start",
+ config_file="default.json"
+ )
+
+ self.assert_configure_default()
+
+ self.assertResourceCalled('Execute', 'env PATH=$PATH:/usr/jdk64/jdk1.7.0_45/bin /usr/bin/storm nimbus',
+ wait_for_finish = False,
+ not_if = 'ls /var/run/storm/nimbus.pid >/dev/null 2>&1 && ps `cat /var/run/storm/nimbus.pid` >/dev/null 2>&1',
+ user = 'storm',
+ )
+
+ self.assertResourceCalled('Execute', 'pgrep -f "^java.+backtype.storm.daemon.nimbus$" > /var/run/storm/nimbus.pid',
+ logoutput = True,
+ tries = 6,
+ user = 'storm',
+ try_sleep = 10,
+ )
+
+ self.assertNoMoreResources()
+
+ def test_stop_default(self):
+ self.executeScript("2.1.1/services/STORM/package/scripts/nimbus.py",
+ classname = "Nimbus",
+ command = "stop",
+ config_file="default.json"
+ )
+ self.assertResourceCalled('Execute', 'kill `cat /var/run/storm/nimbus.pid` >/dev/null 2>&1')
+ self.assertResourceCalled('Execute', '! (ls /var/run/storm/nimbus.pid >/dev/null 2>&1 && ps `cat /var/run/storm/nimbus.pid` >/dev/null 2>&1)',
+ tries = 5,
+ try_sleep = 3,
+ )
+ self.assertResourceCalled('Execute', 'rm -f /var/run/storm/nimbus.pid')
+
+ def test_configure_default(self):
+ self.executeScript("2.1.1/services/STORM/package/scripts/nimbus.py",
+ classname = "Nimbus",
+ command = "configure",
+ config_file="secured.json"
+ )
+ self.assert_configure_secured()
+ self.assertNoMoreResources()
+
+ def test_start_secured(self):
+ self.executeScript("2.1.1/services/STORM/package/scripts/nimbus.py",
+ classname = "Nimbus",
+ command = "start",
+ config_file="secured.json"
+ )
+
+ self.assert_configure_secured()
+
+ self.assertResourceCalled('Execute', 'env PATH=$PATH:/usr/jdk64/jdk1.7.0_45/bin /usr/bin/storm nimbus',
+ wait_for_finish = False,
+ not_if = 'ls /var/run/storm/nimbus.pid >/dev/null 2>&1 && ps `cat /var/run/storm/nimbus.pid` >/dev/null 2>&1',
+ user = 'storm',
+ )
+
+ self.assertResourceCalled('Execute', 'pgrep -f "^java.+backtype.storm.daemon.nimbus$" > /var/run/storm/nimbus.pid',
+ logoutput = True,
+ tries = 6,
+ user = 'storm',
+ try_sleep = 10,
+ )
+
+ self.assertNoMoreResources()
+
+ def test_stop_secured(self):
+ self.executeScript("2.1.1/services/STORM/package/scripts/nimbus.py",
+ classname = "Nimbus",
+ command = "stop",
+ config_file="secured.json"
+ )
+ self.assertResourceCalled('Execute', 'kill `cat /var/run/storm/nimbus.pid` >/dev/null 2>&1')
+ self.assertResourceCalled('Execute', '! (ls /var/run/storm/nimbus.pid >/dev/null 2>&1 && ps `cat /var/run/storm/nimbus.pid` >/dev/null 2>&1)',
+ tries = 5,
+ try_sleep = 3,
+ )
+ self.assertResourceCalled('Execute', 'rm -f /var/run/storm/nimbus.pid')
+
+ def assert_configure_default(self):
+
+ self.assertResourceCalled('Directory', '/var/log/storm',
+ owner = 'storm',
+ group = 'hadoop',
+ recursive = True,
+ )
+ self.assertResourceCalled('Directory', '/var/run/storm',
+ owner = 'storm',
+ group = 'hadoop',
+ recursive = True,
+ )
+ self.assertResourceCalled('Directory', '/hadoop/storm',
+ owner = 'storm',
+ group = 'hadoop',
+ recursive = True,
+ )
+ self.assertResourceCalled('File', '/etc/storm/conf/config.yaml',
+ owner = 'storm',
+ content = Template('config.yaml.j2'),
+ group = 'hadoop',
+ )
+ self.assertResourceCalled('File', '/etc/storm/conf/storm.yaml',
+ owner = 'storm',
+ content = 'InlineTemplateMock',
+ group = 'hadoop',
+ mode = None,
+ )
+
+ def assert_configure_secured(self):
+ self.assertResourceCalled('Directory', '/var/log/storm',
+ owner = 'storm',
+ group = 'hadoop',
+ recursive = True,
+ )
+ self.assertResourceCalled('Directory', '/var/run/storm',
+ owner = 'storm',
+ group = 'hadoop',
+ recursive = True,
+ )
+ self.assertResourceCalled('Directory', '/hadoop/storm',
+ owner = 'storm',
+ group = 'hadoop',
+ recursive = True,
+ )
+ self.assertResourceCalled('File', '/etc/storm/conf/config.yaml',
+ owner = 'storm',
+ content = Template('config.yaml.j2'),
+ group = 'hadoop',
+ )
+ self.assertResourceCalled('File', '/etc/storm/conf/storm.yaml',
+ owner = 'storm',
+ content = 'InlineTemplateMock',
+ group = 'hadoop',
+ mode = None,
+ )
http://git-wip-us.apache.org/repos/asf/ambari/blob/e7cf023b/ambari-server/src/test/python/stacks/2.1.1/STORM/test_storm_rest_api_service.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.1.1/STORM/test_storm_rest_api_service.py b/ambari-server/src/test/python/stacks/2.1.1/STORM/test_storm_rest_api_service.py
new file mode 100644
index 0000000..a945f21
--- /dev/null
+++ b/ambari-server/src/test/python/stacks/2.1.1/STORM/test_storm_rest_api_service.py
@@ -0,0 +1,175 @@
+#!/usr/bin/env python
+
+'''
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+'''
+
+from mock.mock import MagicMock, call, patch
+from stacks.utils.RMFTestCase import *
+import resource_management.core.source
+
+@patch.object(resource_management.core.source, "InlineTemplate", new = MagicMock(return_value='InlineTemplateMock'))
+class TestStormRestApi(RMFTestCase):
+
+ def test_configure_default(self):
+ self.executeScript("2.1.1/services/STORM/package/scripts/rest_api.py",
+ classname = "StormRestApi",
+ command = "configure",
+ config_file="default.json"
+ )
+ self.assert_configure_default()
+ self.assertNoMoreResources()
+
+ def test_start_default(self):
+ self.executeScript("2.1.1/services/STORM/package/scripts/rest_api.py",
+ classname = "StormRestApi",
+ command = "start",
+ config_file="default.json"
+ )
+
+ self.assert_configure_default()
+
+ self.assertResourceCalled('Execute', 'env PATH=$PATH:/usr/jdk64/jdk1.7.0_45/bin java -jar /usr/lib/storm/contrib/storm-rest/`ls /usr/lib/storm/contrib/storm-rest | grep -wE storm-rest-[0-9.-]+\\.jar` server /etc/storm/conf/config.yaml > /var/log/storm/restapi.log',
+ wait_for_finish = False,
+ not_if = 'ls /var/run/storm/restapi.pid >/dev/null 2>&1 && ps `cat /var/run/storm/restapi.pid` >/dev/null 2>&1',
+ user = 'storm',
+ )
+
+ self.assertResourceCalled('Execute', 'pgrep -f "java -jar /usr/lib/storm/contrib/storm-rest/`ls /usr/lib/storm/contrib/storm-rest | grep -wE storm-rest-[0-9.-]+\\.jar` server" > /var/run/storm/restapi.pid',
+ logoutput = True,
+ tries = 6,
+ user = 'storm',
+ try_sleep = 10,
+ )
+
+ self.assertNoMoreResources()
+
+ def test_stop_default(self):
+ self.executeScript("2.1.1/services/STORM/package/scripts/rest_api.py",
+ classname = "StormRestApi",
+ command = "stop",
+ config_file="default.json"
+ )
+ self.assertResourceCalled('Execute', 'kill `cat /var/run/storm/restapi.pid` >/dev/null 2>&1')
+ self.assertResourceCalled('Execute', '! (ls /var/run/storm/restapi.pid >/dev/null 2>&1 && ps `cat /var/run/storm/restapi.pid` >/dev/null 2>&1)',
+ tries = 5,
+ try_sleep = 3,
+ )
+ self.assertResourceCalled('Execute', 'rm -f /var/run/storm/restapi.pid')
+
+ def test_configure_default(self):
+ self.executeScript("2.1.1/services/STORM/package/scripts/rest_api.py",
+ classname = "StormRestApi",
+ command = "configure",
+ config_file="secured.json"
+ )
+ self.assert_configure_secured()
+ self.assertNoMoreResources()
+
+ def test_start_secured(self):
+ self.executeScript("2.1.1/services/STORM/package/scripts/rest_api.py",
+ classname = "StormRestApi",
+ command = "start",
+ config_file="secured.json"
+ )
+
+ self.assert_configure_secured()
+
+ self.assertResourceCalled('Execute', 'env PATH=$PATH:/usr/jdk64/jdk1.7.0_45/bin java -jar /usr/lib/storm/contrib/storm-rest/`ls /usr/lib/storm/contrib/storm-rest | grep -wE storm-rest-[0-9.-]+\\.jar` server /etc/storm/conf/config.yaml > /var/log/storm/restapi.log',
+ wait_for_finish = False,
+ not_if = 'ls /var/run/storm/restapi.pid >/dev/null 2>&1 && ps `cat /var/run/storm/restapi.pid` >/dev/null 2>&1',
+ user = 'storm',
+ )
+
+ self.assertResourceCalled('Execute', 'pgrep -f "java -jar /usr/lib/storm/contrib/storm-rest/`ls /usr/lib/storm/contrib/storm-rest | grep -wE storm-rest-[0-9.-]+\\.jar` server" > /var/run/storm/restapi.pid',
+ logoutput = True,
+ tries = 6,
+ user = 'storm',
+ try_sleep = 10,
+ )
+
+ self.assertNoMoreResources()
+
+ def test_stop_secured(self):
+ self.executeScript("2.1.1/services/STORM/package/scripts/rest_api.py",
+ classname = "StormRestApi",
+ command = "stop",
+ config_file="secured.json"
+ )
+ self.assertResourceCalled('Execute', 'kill `cat /var/run/storm/restapi.pid` >/dev/null 2>&1')
+ self.assertResourceCalled('Execute', '! (ls /var/run/storm/restapi.pid >/dev/null 2>&1 && ps `cat /var/run/storm/restapi.pid` >/dev/null 2>&1)',
+ tries = 5,
+ try_sleep = 3,
+ )
+ self.assertResourceCalled('Execute', 'rm -f /var/run/storm/restapi.pid')
+
+ def assert_configure_default(self):
+
+ self.assertResourceCalled('Directory', '/var/log/storm',
+ owner = 'storm',
+ group = 'hadoop',
+ recursive = True,
+ )
+ self.assertResourceCalled('Directory', '/var/run/storm',
+ owner = 'storm',
+ group = 'hadoop',
+ recursive = True,
+ )
+ self.assertResourceCalled('Directory', '/hadoop/storm',
+ owner = 'storm',
+ group = 'hadoop',
+ recursive = True,
+ )
+ self.assertResourceCalled('File', '/etc/storm/conf/config.yaml',
+ owner = 'storm',
+ content = Template('config.yaml.j2'),
+ group = 'hadoop',
+ )
+ self.assertResourceCalled('File', '/etc/storm/conf/storm.yaml',
+ owner = 'storm',
+ content = 'InlineTemplateMock',
+ group = 'hadoop',
+ mode = None,
+ )
+
+ def assert_configure_secured(self):
+ self.assertResourceCalled('Directory', '/var/log/storm',
+ owner = 'storm',
+ group = 'hadoop',
+ recursive = True,
+ )
+ self.assertResourceCalled('Directory', '/var/run/storm',
+ owner = 'storm',
+ group = 'hadoop',
+ recursive = True,
+ )
+ self.assertResourceCalled('Directory', '/hadoop/storm',
+ owner = 'storm',
+ group = 'hadoop',
+ recursive = True,
+ )
+ self.assertResourceCalled('File', '/etc/storm/conf/config.yaml',
+ owner = 'storm',
+ content = Template('config.yaml.j2'),
+ group = 'hadoop',
+ )
+ self.assertResourceCalled('File', '/etc/storm/conf/storm.yaml',
+ owner = 'storm',
+ content = 'InlineTemplateMock',
+ group = 'hadoop',
+ mode = None,
+ )
http://git-wip-us.apache.org/repos/asf/ambari/blob/e7cf023b/ambari-server/src/test/python/stacks/2.1.1/STORM/test_storm_supervisor.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.1.1/STORM/test_storm_supervisor.py b/ambari-server/src/test/python/stacks/2.1.1/STORM/test_storm_supervisor.py
new file mode 100644
index 0000000..97502db
--- /dev/null
+++ b/ambari-server/src/test/python/stacks/2.1.1/STORM/test_storm_supervisor.py
@@ -0,0 +1,175 @@
+#!/usr/bin/env python
+
+'''
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+'''
+
+from mock.mock import MagicMock, call, patch
+from stacks.utils.RMFTestCase import *
+import resource_management.core.source
+
+@patch.object(resource_management.core.source, "InlineTemplate", new = MagicMock(return_value='InlineTemplateMock'))
+class TestStormSupervisor(RMFTestCase):
+
+ def test_configure_default(self):
+ self.executeScript("2.1.1/services/STORM/package/scripts/supervisor.py",
+ classname = "Supervisor",
+ command = "configure",
+ config_file="default.json"
+ )
+ self.assert_configure_default()
+ self.assertNoMoreResources()
+
+ def test_start_default(self):
+ self.executeScript("2.1.1/services/STORM/package/scripts/supervisor.py",
+ classname = "Supervisor",
+ command = "start",
+ config_file="default.json"
+ )
+
+ self.assert_configure_default()
+
+ self.assertResourceCalled('Execute', 'env PATH=$PATH:/usr/jdk64/jdk1.7.0_45/bin /usr/bin/storm supervisor',
+ wait_for_finish = False,
+ not_if = 'ls /var/run/storm/supervisor.pid >/dev/null 2>&1 && ps `cat /var/run/storm/supervisor.pid` >/dev/null 2>&1',
+ user = 'storm',
+ )
+
+ self.assertResourceCalled('Execute', 'pgrep -f "^java.+backtype.storm.daemon.supervisor$" > /var/run/storm/supervisor.pid',
+ logoutput = True,
+ tries = 6,
+ user = 'storm',
+ try_sleep = 10,
+ )
+
+ self.assertNoMoreResources()
+
+ def test_stop_default(self):
+ self.executeScript("2.1.1/services/STORM/package/scripts/supervisor.py",
+ classname = "Supervisor",
+ command = "stop",
+ config_file="default.json"
+ )
+ self.assertResourceCalled('Execute', 'kill `cat /var/run/storm/supervisor.pid` >/dev/null 2>&1')
+ self.assertResourceCalled('Execute', '! (ls /var/run/storm/supervisor.pid >/dev/null 2>&1 && ps `cat /var/run/storm/supervisor.pid` >/dev/null 2>&1)',
+ tries = 5,
+ try_sleep = 3,
+ )
+ self.assertResourceCalled('Execute', 'rm -f /var/run/storm/supervisor.pid')
+
+ def test_configure_default(self):
+ self.executeScript("2.1.1/services/STORM/package/scripts/supervisor.py",
+ classname = "Supervisor",
+ command = "configure",
+ config_file="secured.json"
+ )
+ self.assert_configure_secured()
+ self.assertNoMoreResources()
+
+ def test_start_secured(self):
+ self.executeScript("2.1.1/services/STORM/package/scripts/supervisor.py",
+ classname = "Supervisor",
+ command = "start",
+ config_file="secured.json"
+ )
+
+ self.assert_configure_secured()
+
+ self.assertResourceCalled('Execute', 'env PATH=$PATH:/usr/jdk64/jdk1.7.0_45/bin /usr/bin/storm supervisor',
+ wait_for_finish = False,
+ not_if = 'ls /var/run/storm/supervisor.pid >/dev/null 2>&1 && ps `cat /var/run/storm/supervisor.pid` >/dev/null 2>&1',
+ user = 'storm',
+ )
+
+ self.assertResourceCalled('Execute', 'pgrep -f "^java.+backtype.storm.daemon.supervisor$" > /var/run/storm/supervisor.pid',
+ logoutput = True,
+ tries = 6,
+ user = 'storm',
+ try_sleep = 10,
+ )
+
+ self.assertNoMoreResources()
+
+ def test_stop_secured(self):
+ self.executeScript("2.1.1/services/STORM/package/scripts/supervisor.py",
+ classname = "Supervisor",
+ command = "stop",
+ config_file="secured.json"
+ )
+ self.assertResourceCalled('Execute', 'kill `cat /var/run/storm/supervisor.pid` >/dev/null 2>&1')
+ self.assertResourceCalled('Execute', '! (ls /var/run/storm/supervisor.pid >/dev/null 2>&1 && ps `cat /var/run/storm/supervisor.pid` >/dev/null 2>&1)',
+ tries = 5,
+ try_sleep = 3,
+ )
+ self.assertResourceCalled('Execute', 'rm -f /var/run/storm/supervisor.pid')
+
+ def assert_configure_default(self):
+
+ self.assertResourceCalled('Directory', '/var/log/storm',
+ owner = 'storm',
+ group = 'hadoop',
+ recursive = True,
+ )
+ self.assertResourceCalled('Directory', '/var/run/storm',
+ owner = 'storm',
+ group = 'hadoop',
+ recursive = True,
+ )
+ self.assertResourceCalled('Directory', '/hadoop/storm',
+ owner = 'storm',
+ group = 'hadoop',
+ recursive = True,
+ )
+ self.assertResourceCalled('File', '/etc/storm/conf/config.yaml',
+ owner = 'storm',
+ content = Template('config.yaml.j2'),
+ group = 'hadoop',
+ )
+ self.assertResourceCalled('File', '/etc/storm/conf/storm.yaml',
+ owner = 'storm',
+ content = 'InlineTemplateMock',
+ group = 'hadoop',
+ mode = None,
+ )
+
+ def assert_configure_secured(self):
+ self.assertResourceCalled('Directory', '/var/log/storm',
+ owner = 'storm',
+ group = 'hadoop',
+ recursive = True,
+ )
+ self.assertResourceCalled('Directory', '/var/run/storm',
+ owner = 'storm',
+ group = 'hadoop',
+ recursive = True,
+ )
+ self.assertResourceCalled('Directory', '/hadoop/storm',
+ owner = 'storm',
+ group = 'hadoop',
+ recursive = True,
+ )
+ self.assertResourceCalled('File', '/etc/storm/conf/config.yaml',
+ owner = 'storm',
+ content = Template('config.yaml.j2'),
+ group = 'hadoop',
+ )
+ self.assertResourceCalled('File', '/etc/storm/conf/storm.yaml',
+ owner = 'storm',
+ content = 'InlineTemplateMock',
+ group = 'hadoop',
+ mode = None,
+ )
http://git-wip-us.apache.org/repos/asf/ambari/blob/e7cf023b/ambari-server/src/test/python/stacks/2.1.1/STORM/test_storm_ui_server.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.1.1/STORM/test_storm_ui_server.py b/ambari-server/src/test/python/stacks/2.1.1/STORM/test_storm_ui_server.py
new file mode 100644
index 0000000..93e8c04
--- /dev/null
+++ b/ambari-server/src/test/python/stacks/2.1.1/STORM/test_storm_ui_server.py
@@ -0,0 +1,175 @@
+#!/usr/bin/env python
+
+'''
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+'''
+
+from mock.mock import MagicMock, call, patch
+from stacks.utils.RMFTestCase import *
+import resource_management.core.source
+
+@patch.object(resource_management.core.source, "InlineTemplate", new = MagicMock(return_value='InlineTemplateMock'))
+class TestStormUiServer(RMFTestCase):
+
+ def test_configure_default(self):
+ self.executeScript("2.1.1/services/STORM/package/scripts/ui_server.py",
+ classname = "UiServer",
+ command = "configure",
+ config_file="default.json"
+ )
+ self.assert_configure_default()
+ self.assertNoMoreResources()
+
+ def test_start_default(self):
+ self.executeScript("2.1.1/services/STORM/package/scripts/ui_server.py",
+ classname = "UiServer",
+ command = "start",
+ config_file="default.json"
+ )
+
+ self.assert_configure_default()
+
+ self.assertResourceCalled('Execute', 'env PATH=$PATH:/usr/jdk64/jdk1.7.0_45/bin /usr/bin/storm ui',
+ wait_for_finish = False,
+ not_if = 'ls /var/run/storm/ui.pid >/dev/null 2>&1 && ps `cat /var/run/storm/ui.pid` >/dev/null 2>&1',
+ user = 'storm',
+ )
+
+ self.assertResourceCalled('Execute', 'pgrep -f "^java.+backtype.storm.ui.core$" > /var/run/storm/ui.pid',
+ logoutput = True,
+ tries = 6,
+ user = 'storm',
+ try_sleep = 10,
+ )
+
+ self.assertNoMoreResources()
+
+ def test_stop_default(self):
+ self.executeScript("2.1.1/services/STORM/package/scripts/ui_server.py",
+ classname = "UiServer",
+ command = "stop",
+ config_file="default.json"
+ )
+ self.assertResourceCalled('Execute', 'kill `cat /var/run/storm/ui.pid` >/dev/null 2>&1')
+ self.assertResourceCalled('Execute', '! (ls /var/run/storm/ui.pid >/dev/null 2>&1 && ps `cat /var/run/storm/ui.pid` >/dev/null 2>&1)',
+ tries = 5,
+ try_sleep = 3,
+ )
+ self.assertResourceCalled('Execute', 'rm -f /var/run/storm/ui.pid')
+
+ def test_configure_default(self):
+ self.executeScript("2.1.1/services/STORM/package/scripts/ui_server.py",
+ classname = "UiServer",
+ command = "configure",
+ config_file="secured.json"
+ )
+ self.assert_configure_secured()
+ self.assertNoMoreResources()
+
+ def test_start_secured(self):
+ self.executeScript("2.1.1/services/STORM/package/scripts/ui_server.py",
+ classname = "UiServer",
+ command = "start",
+ config_file="secured.json"
+ )
+
+ self.assert_configure_secured()
+
+ self.assertResourceCalled('Execute', 'env PATH=$PATH:/usr/jdk64/jdk1.7.0_45/bin /usr/bin/storm ui',
+ wait_for_finish = False,
+ not_if = 'ls /var/run/storm/ui.pid >/dev/null 2>&1 && ps `cat /var/run/storm/ui.pid` >/dev/null 2>&1',
+ user = 'storm',
+ )
+
+ self.assertResourceCalled('Execute', 'pgrep -f "^java.+backtype.storm.ui.core$" > /var/run/storm/ui.pid',
+ logoutput = True,
+ tries = 6,
+ user = 'storm',
+ try_sleep = 10,
+ )
+
+ self.assertNoMoreResources()
+
+ def test_stop_secured(self):
+ self.executeScript("2.1.1/services/STORM/package/scripts/ui_server.py",
+ classname = "UiServer",
+ command = "stop",
+ config_file="secured.json"
+ )
+ self.assertResourceCalled('Execute', 'kill `cat /var/run/storm/ui.pid` >/dev/null 2>&1')
+ self.assertResourceCalled('Execute', '! (ls /var/run/storm/ui.pid >/dev/null 2>&1 && ps `cat /var/run/storm/ui.pid` >/dev/null 2>&1)',
+ tries = 5,
+ try_sleep = 3,
+ )
+ self.assertResourceCalled('Execute', 'rm -f /var/run/storm/ui.pid')
+
+ def assert_configure_default(self):
+
+ self.assertResourceCalled('Directory', '/var/log/storm',
+ owner = 'storm',
+ group = 'hadoop',
+ recursive = True,
+ )
+ self.assertResourceCalled('Directory', '/var/run/storm',
+ owner = 'storm',
+ group = 'hadoop',
+ recursive = True,
+ )
+ self.assertResourceCalled('Directory', '/hadoop/storm',
+ owner = 'storm',
+ group = 'hadoop',
+ recursive = True,
+ )
+ self.assertResourceCalled('File', '/etc/storm/conf/config.yaml',
+ owner = 'storm',
+ content = Template('config.yaml.j2'),
+ group = 'hadoop',
+ )
+ self.assertResourceCalled('File', '/etc/storm/conf/storm.yaml',
+ owner = 'storm',
+ content = 'InlineTemplateMock',
+ group = 'hadoop',
+ mode = None,
+ )
+
+ def assert_configure_secured(self):
+ self.assertResourceCalled('Directory', '/var/log/storm',
+ owner = 'storm',
+ group = 'hadoop',
+ recursive = True,
+ )
+ self.assertResourceCalled('Directory', '/var/run/storm',
+ owner = 'storm',
+ group = 'hadoop',
+ recursive = True,
+ )
+ self.assertResourceCalled('Directory', '/hadoop/storm',
+ owner = 'storm',
+ group = 'hadoop',
+ recursive = True,
+ )
+ self.assertResourceCalled('File', '/etc/storm/conf/config.yaml',
+ owner = 'storm',
+ content = Template('config.yaml.j2'),
+ group = 'hadoop',
+ )
+ self.assertResourceCalled('File', '/etc/storm/conf/storm.yaml',
+ owner = 'storm',
+ content = 'InlineTemplateMock',
+ group = 'hadoop',
+ mode = None,
+ )
http://git-wip-us.apache.org/repos/asf/ambari/blob/e7cf023b/ambari-server/src/test/python/stacks/2.1.1/configs/default.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.1.1/configs/default.json b/ambari-server/src/test/python/stacks/2.1.1/configs/default.json
index 611645e..00c8950 100644
--- a/ambari-server/src/test/python/stacks/2.1.1/configs/default.json
+++ b/ambari-server/src/test/python/stacks/2.1.1/configs/default.json
@@ -101,99 +101,99 @@
"oozie.authentication.type": "simple",
"oozie.service.JPAService.jdbc.driver": "org.apache.derby.jdbc.EmbeddedDriver",
"oozie.system.id": "oozie-${user.name}"
- },
+ },
"storm-site": {
- "topology.tuple.serializer": "backtype.storm.serialization.types.ListDelegateSerializer",
- "topology.workers": "1",
- "drpc.worker.threads": "64",
- "storm.zookeeper.servers": "['c6401.ambari.apache.org','c6402.ambari.apache.org']",
- "supervisor.heartbeat.frequency.secs": "5",
- "topology.executor.send.buffer.size": "1024",
- "drpc.childopts": "-Xmx768m",
- "nimbus.thrift.port": "6627",
- "storm.zookeeper.retry.intervalceiling.millis": "30000",
- "storm.local.dir": "/hadoop/storm",
- "topology.receiver.buffer.size": "8",
- "storm.messaging.netty.client_worker_threads": "1",
- "transactional.zookeeper.root": "/transactional",
- "drpc.request.timeout.secs": "600",
- "topology.skip.missing.kryo.registrations": "false",
- "worker.heartbeat.frequency.secs": "1",
- "zmq.hwm": "0",
- "storm.zookeeper.connection.timeout": "15000",
- "topology.max.error.report.per.interval": "5",
- "storm.messaging.netty.server_worker_threads": "1",
- "supervisor.worker.start.timeout.secs": "120",
- "zmq.threads": "1",
- "topology.acker.executors": "null",
- "storm.local.mode.zmq": "false",
- "topology.max.task.parallelism": "null",
- "storm.zookeeper.port": "2181",
- "nimbus.childopts": "-Xmx1024m",
- "worker.childopts": "-Xmx768m",
- "drpc.queue.size": "128",
- "storm.zookeeper.retry.times": "5",
- "nimbus.monitor.freq.secs": "10",
- "storm.cluster.mode": "distributed",
- "dev.zookeeper.path": "/tmp/dev-storm-zookeeper",
- "drpc.invocations.port": "3773",
- "storm.zookeeper.root": "/storm",
- "logviewer.childopts": "-Xmx128m",
- "transactional.zookeeper.port": "null",
- "topology.worker.childopts": "null",
- "topology.max.spout.pending": "null",
- "nimbus.cleanup.inbox.freq.secs": "600",
- "storm.messaging.netty.min_wait_ms": "100",
- "nimbus.task.timeout.secs": "30",
- "nimbus.thrift.max_buffer_size": "1048576",
- "topology.sleep.spout.wait.strategy.time.ms": "1",
- "topology.optimize": "true",
- "nimbus.reassign": "true",
- "storm.messaging.transport": "backtype.storm.messaging.netty.Context",
- "logviewer.appender.name": "A1",
- "nimbus.host": "c6401.ambari.apache.org",
- "ui.port": "8744",
- "supervisor.slots.ports": "[6700, 6701]",
- "nimbus.file.copy.expiration.secs": "600",
- "supervisor.monitor.frequency.secs": "3",
- "ui.childopts": "-Xmx768m",
- "transactional.zookeeper.servers": "null",
- "zmq.linger.millis": "5000",
- "topology.error.throttle.interval.secs": "10",
- "topology.worker.shared.thread.pool.size": "4",
- "java.library.path": "/usr/local/lib:/opt/local/lib:/usr/lib",
- "topology.spout.wait.strategy": "backtype.storm.spout.SleepSpoutWaitStrategy",
- "task.heartbeat.frequency.secs": "3",
- "topology.transfer.buffer.size": "1024",
- "storm.zookeeper.session.timeout": "20000",
- "topology.executor.receive.buffer.size": "1024",
- "topology.stats.sample.rate": "0.05",
- "topology.fall.back.on.java.serialization": "true",
- "supervisor.childopts": "-Xmx256m",
- "topology.enable.message.timeouts": "true",
- "storm.messaging.netty.max_wait_ms": "1000",
- "nimbus.topology.validator": "backtype.storm.nimbus.DefaultTopologyValidator",
- "nimbus.supervisor.timeout.secs": "60",
- "topology.disruptor.wait.strategy": "com.lmax.disruptor.BlockingWaitStrategy",
- "nimbus.inbox.jar.expiration.secs": "3600",
- "drpc.port": "3772",
- "topology.kryo.factory": "backtype.storm.serialization.DefaultKryoFactory",
- "storm.zookeeper.retry.interval": "1000",
- "storm.messaging.netty.max_retries": "30",
- "topology.tick.tuple.freq.secs": "null",
- "supervisor.enable": "true",
- "nimbus.task.launch.secs": "120",
- "task.refresh.poll.secs": "10",
- "topology.message.timeout.secs": "30",
- "storm.messaging.netty.buffer_size": "5242880",
- "topology.state.synchronization.timeout.secs": "60",
- "supervisor.worker.timeout.secs": "30",
- "topology.trident.batch.emit.interval.millis": "500",
- "topology.builtin.metrics.bucket.size.secs": "60",
- "storm.thrift.transport": "backtype.storm.security.auth.SimpleTransportPlugin",
- "logviewer.port": "8000",
+ "topology.tuple.serializer": "backtype.storm.serialization.types.ListDelegateSerializer",
+ "topology.workers": "1",
+ "drpc.worker.threads": "64",
+ "storm.zookeeper.servers": "['c6401.ambari.apache.org']",
+ "supervisor.heartbeat.frequency.secs": "5",
+ "topology.executor.send.buffer.size": "1024",
+ "drpc.childopts": "-Xmx768m",
+ "nimbus.thrift.port": "6627",
+ "storm.zookeeper.retry.intervalceiling.millis": "30000",
+ "storm.local.dir": "/hadoop/storm",
+ "topology.receiver.buffer.size": "8",
+ "storm.messaging.netty.client_worker_threads": "1",
+ "transactional.zookeeper.root": "/transactional",
+ "drpc.request.timeout.secs": "600",
+ "topology.skip.missing.kryo.registrations": "false",
+ "worker.heartbeat.frequency.secs": "1",
+ "zmq.hwm": "0",
+ "storm.zookeeper.connection.timeout": "15000",
+ "topology.max.error.report.per.interval": "5",
+ "storm.messaging.netty.server_worker_threads": "1",
+ "supervisor.worker.start.timeout.secs": "120",
+ "zmq.threads": "1",
+ "topology.acker.executors": "null",
+ "storm.local.mode.zmq": "false",
+ "topology.max.task.parallelism": "null",
+ "storm.zookeeper.port": "2181",
+ "nimbus.childopts": "-javaagent:/usr/lib/storm/contrib/storm-jmxetric/lib/jmxetric-1.0.4.jar=host=c6402.ambari.apache.org,port=8649,wireformat31x=true,mode=multicast,config=/usr/lib/storm/contrib/storm-jmxetric/conf/jmxetric-conf.xml,process=Nimbus_JVM -Xmx1024m",
+ "worker.childopts": "-javaagent:/usr/lib/storm/contrib/storm-jmxetric/lib/jmxetric-1.0.4.jar=host=c6402.ambari.apache.org,port=8650,wireformat31x=true,mode=multicast,config=/usr/lib/storm/contrib/storm-jmxetric/conf/jmxetric-conf.xml,process=Worker_%ID%_JVM -Xmx768m",
+ "drpc.queue.size": "128",
+ "storm.zookeeper.retry.times": "5",
+ "nimbus.monitor.freq.secs": "10",
+ "storm.cluster.mode": "distributed",
+ "dev.zookeeper.path": "/tmp/dev-storm-zookeeper",
+ "drpc.invocations.port": "3773",
+ "storm.zookeeper.root": "/storm",
+ "logviewer.childopts": "-Xmx128m",
+ "transactional.zookeeper.port": "null",
+ "topology.worker.childopts": "null",
+ "topology.max.spout.pending": "null",
+ "nimbus.cleanup.inbox.freq.secs": "600",
+ "storm.messaging.netty.min_wait_ms": "100",
+ "nimbus.task.timeout.secs": "30",
+ "nimbus.thrift.max_buffer_size": "1048576",
+ "topology.sleep.spout.wait.strategy.time.ms": "1",
+ "topology.optimize": "true",
+ "nimbus.reassign": "true",
+ "storm.messaging.transport": "backtype.storm.messaging.netty.Context",
+ "logviewer.appender.name": "A1",
+ "nimbus.host": "c6402.ambari.apache.org",
+ "ui.port": "8744",
+ "supervisor.slots.ports": "[6700, 6701]",
+ "nimbus.file.copy.expiration.secs": "600",
+ "supervisor.monitor.frequency.secs": "3",
+ "ui.childopts": "-Xmx768m",
+ "transactional.zookeeper.servers": "null",
+ "zmq.linger.millis": "5000",
+ "topology.error.throttle.interval.secs": "10",
+ "topology.worker.shared.thread.pool.size": "4",
+ "java.library.path": "/usr/local/lib:/opt/local/lib:/usr/lib",
+ "topology.spout.wait.strategy": "backtype.storm.spout.SleepSpoutWaitStrategy",
+ "task.heartbeat.frequency.secs": "3",
+ "topology.transfer.buffer.size": "1024",
+ "storm.zookeeper.session.timeout": "20000",
+ "topology.executor.receive.buffer.size": "1024",
+ "topology.stats.sample.rate": "0.05",
+ "topology.fall.back.on.java.serialization": "true",
+ "supervisor.childopts": "-javaagent:/usr/lib/storm/contrib/storm-jmxetric/lib/jmxetric-1.0.4.jar=host=c6402.ambari.apache.org,port=8650,wireformat31x=true,mode=multicast,config=/usr/lib/storm/contrib/storm-jmxetric/conf/jmxetric-conf.xml,process=Supervisor_JVM -Xmx256m",
+ "topology.enable.message.timeouts": "true",
+ "storm.messaging.netty.max_wait_ms": "1000",
+ "nimbus.topology.validator": "backtype.storm.nimbus.DefaultTopologyValidator",
+ "nimbus.supervisor.timeout.secs": "60",
+ "topology.disruptor.wait.strategy": "com.lmax.disruptor.BlockingWaitStrategy",
+ "nimbus.inbox.jar.expiration.secs": "3600",
+ "drpc.port": "3772",
+ "topology.kryo.factory": "backtype.storm.serialization.DefaultKryoFactory",
+ "storm.zookeeper.retry.interval": "1000",
+ "storm.messaging.netty.max_retries": "30",
+ "topology.tick.tuple.freq.secs": "null",
+ "supervisor.enable": "true",
+ "nimbus.task.launch.secs": "120",
+ "task.refresh.poll.secs": "10",
+ "topology.message.timeout.secs": "30",
+ "storm.messaging.netty.buffer_size": "5242880",
+ "topology.state.synchronization.timeout.secs": "60",
+ "supervisor.worker.timeout.secs": "30",
+ "topology.trident.batch.emit.interval.millis": "500",
+ "topology.builtin.metrics.bucket.size.secs": "60",
+ "storm.thrift.transport": "backtype.storm.security.auth.SimpleTransportPlugin",
+ "logviewer.port": "8000",
"topology.debug": "false"
- },
+ },
"webhcat-site": {
"templeton.pig.path": "pig.tar.gz/pig/bin/pig",
"templeton.exec.timeout": "60000",
@@ -644,4 +644,4 @@
"c6402.ambari.apache.org"
]
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ambari/blob/e7cf023b/ambari-server/src/test/python/stacks/2.1.1/configs/secured.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.1.1/configs/secured.json b/ambari-server/src/test/python/stacks/2.1.1/configs/secured.json
index c4f9a37..e2e3ace 100644
--- a/ambari-server/src/test/python/stacks/2.1.1/configs/secured.json
+++ b/ambari-server/src/test/python/stacks/2.1.1/configs/secured.json
@@ -119,95 +119,95 @@
"oozie.system.id": "oozie-${user.name}"
},
"storm-site": {
- "topology.tuple.serializer": "backtype.storm.serialization.types.ListDelegateSerializer",
- "topology.workers": "1",
- "drpc.worker.threads": "64",
- "storm.zookeeper.servers": "['c6401.ambari.apache.org','c6402.ambari.apache.org']",
- "supervisor.heartbeat.frequency.secs": "5",
- "topology.executor.send.buffer.size": "1024",
- "drpc.childopts": "-Xmx768m",
- "nimbus.thrift.port": "6627",
- "storm.zookeeper.retry.intervalceiling.millis": "30000",
- "storm.local.dir": "/hadoop/storm",
- "topology.receiver.buffer.size": "8",
- "storm.messaging.netty.client_worker_threads": "1",
- "transactional.zookeeper.root": "/transactional",
- "drpc.request.timeout.secs": "600",
- "topology.skip.missing.kryo.registrations": "false",
- "worker.heartbeat.frequency.secs": "1",
- "zmq.hwm": "0",
- "storm.zookeeper.connection.timeout": "15000",
- "topology.max.error.report.per.interval": "5",
- "storm.messaging.netty.server_worker_threads": "1",
- "supervisor.worker.start.timeout.secs": "120",
- "zmq.threads": "1",
- "topology.acker.executors": "null",
- "storm.local.mode.zmq": "false",
- "topology.max.task.parallelism": "null",
- "storm.zookeeper.port": "2181",
- "nimbus.childopts": "-Xmx1024m",
- "worker.childopts": "-Xmx768m",
- "drpc.queue.size": "128",
- "storm.zookeeper.retry.times": "5",
- "nimbus.monitor.freq.secs": "10",
- "storm.cluster.mode": "distributed",
- "dev.zookeeper.path": "/tmp/dev-storm-zookeeper",
- "drpc.invocations.port": "3773",
- "storm.zookeeper.root": "/storm",
- "logviewer.childopts": "-Xmx128m",
- "transactional.zookeeper.port": "null",
- "topology.worker.childopts": "null",
- "topology.max.spout.pending": "null",
- "nimbus.cleanup.inbox.freq.secs": "600",
- "storm.messaging.netty.min_wait_ms": "100",
- "nimbus.task.timeout.secs": "30",
- "nimbus.thrift.max_buffer_size": "1048576",
- "topology.sleep.spout.wait.strategy.time.ms": "1",
- "topology.optimize": "true",
- "nimbus.reassign": "true",
- "storm.messaging.transport": "backtype.storm.messaging.netty.Context",
- "logviewer.appender.name": "A1",
- "nimbus.host": "c6401.ambari.apache.org",
- "ui.port": "8744",
- "supervisor.slots.ports": "[6700, 6701]",
- "nimbus.file.copy.expiration.secs": "600",
- "supervisor.monitor.frequency.secs": "3",
- "ui.childopts": "-Xmx768m",
- "transactional.zookeeper.servers": "null",
- "zmq.linger.millis": "5000",
- "topology.error.throttle.interval.secs": "10",
- "topology.worker.shared.thread.pool.size": "4",
- "java.library.path": "/usr/local/lib:/opt/local/lib:/usr/lib",
- "topology.spout.wait.strategy": "backtype.storm.spout.SleepSpoutWaitStrategy",
- "task.heartbeat.frequency.secs": "3",
- "topology.transfer.buffer.size": "1024",
- "storm.zookeeper.session.timeout": "20000",
- "topology.executor.receive.buffer.size": "1024",
- "topology.stats.sample.rate": "0.05",
- "topology.fall.back.on.java.serialization": "true",
- "supervisor.childopts": "-Xmx256m",
- "topology.enable.message.timeouts": "true",
- "storm.messaging.netty.max_wait_ms": "1000",
- "nimbus.topology.validator": "backtype.storm.nimbus.DefaultTopologyValidator",
- "nimbus.supervisor.timeout.secs": "60",
- "topology.disruptor.wait.strategy": "com.lmax.disruptor.BlockingWaitStrategy",
- "nimbus.inbox.jar.expiration.secs": "3600",
- "drpc.port": "3772",
- "topology.kryo.factory": "backtype.storm.serialization.DefaultKryoFactory",
- "storm.zookeeper.retry.interval": "1000",
- "storm.messaging.netty.max_retries": "30",
- "topology.tick.tuple.freq.secs": "null",
- "supervisor.enable": "true",
- "nimbus.task.launch.secs": "120",
- "task.refresh.poll.secs": "10",
- "topology.message.timeout.secs": "30",
- "storm.messaging.netty.buffer_size": "5242880",
- "topology.state.synchronization.timeout.secs": "60",
- "supervisor.worker.timeout.secs": "30",
- "topology.trident.batch.emit.interval.millis": "500",
- "topology.builtin.metrics.bucket.size.secs": "60",
- "storm.thrift.transport": "backtype.storm.security.auth.SimpleTransportPlugin",
- "logviewer.port": "8000",
+ "topology.tuple.serializer": "backtype.storm.serialization.types.ListDelegateSerializer",
+ "topology.workers": "1",
+ "drpc.worker.threads": "64",
+ "storm.zookeeper.servers": "['c6401.ambari.apache.org']",
+ "supervisor.heartbeat.frequency.secs": "5",
+ "topology.executor.send.buffer.size": "1024",
+ "drpc.childopts": "-Xmx768m",
+ "nimbus.thrift.port": "6627",
+ "storm.zookeeper.retry.intervalceiling.millis": "30000",
+ "storm.local.dir": "/hadoop/storm",
+ "topology.receiver.buffer.size": "8",
+ "storm.messaging.netty.client_worker_threads": "1",
+ "transactional.zookeeper.root": "/transactional",
+ "drpc.request.timeout.secs": "600",
+ "topology.skip.missing.kryo.registrations": "false",
+ "worker.heartbeat.frequency.secs": "1",
+ "zmq.hwm": "0",
+ "storm.zookeeper.connection.timeout": "15000",
+ "topology.max.error.report.per.interval": "5",
+ "storm.messaging.netty.server_worker_threads": "1",
+ "supervisor.worker.start.timeout.secs": "120",
+ "zmq.threads": "1",
+ "topology.acker.executors": "null",
+ "storm.local.mode.zmq": "false",
+ "topology.max.task.parallelism": "null",
+ "storm.zookeeper.port": "2181",
+ "nimbus.childopts": "-javaagent:/usr/lib/storm/contrib/storm-jmxetric/lib/jmxetric-1.0.4.jar=host=c6402.ambari.apache.org,port=8649,wireformat31x=true,mode=multicast,config=/usr/lib/storm/contrib/storm-jmxetric/conf/jmxetric-conf.xml,process=Nimbus_JVM -Xmx1024m",
+ "worker.childopts": "-javaagent:/usr/lib/storm/contrib/storm-jmxetric/lib/jmxetric-1.0.4.jar=host=c6402.ambari.apache.org,port=8650,wireformat31x=true,mode=multicast,config=/usr/lib/storm/contrib/storm-jmxetric/conf/jmxetric-conf.xml,process=Worker_%ID%_JVM -Xmx768m",
+ "drpc.queue.size": "128",
+ "storm.zookeeper.retry.times": "5",
+ "nimbus.monitor.freq.secs": "10",
+ "storm.cluster.mode": "distributed",
+ "dev.zookeeper.path": "/tmp/dev-storm-zookeeper",
+ "drpc.invocations.port": "3773",
+ "storm.zookeeper.root": "/storm",
+ "logviewer.childopts": "-Xmx128m",
+ "transactional.zookeeper.port": "null",
+ "topology.worker.childopts": "null",
+ "topology.max.spout.pending": "null",
+ "nimbus.cleanup.inbox.freq.secs": "600",
+ "storm.messaging.netty.min_wait_ms": "100",
+ "nimbus.task.timeout.secs": "30",
+ "nimbus.thrift.max_buffer_size": "1048576",
+ "topology.sleep.spout.wait.strategy.time.ms": "1",
+ "topology.optimize": "true",
+ "nimbus.reassign": "true",
+ "storm.messaging.transport": "backtype.storm.messaging.netty.Context",
+ "logviewer.appender.name": "A1",
+ "nimbus.host": "c6402.ambari.apache.org",
+ "ui.port": "8744",
+ "supervisor.slots.ports": "[6700, 6701]",
+ "nimbus.file.copy.expiration.secs": "600",
+ "supervisor.monitor.frequency.secs": "3",
+ "ui.childopts": "-Xmx768m",
+ "transactional.zookeeper.servers": "null",
+ "zmq.linger.millis": "5000",
+ "topology.error.throttle.interval.secs": "10",
+ "topology.worker.shared.thread.pool.size": "4",
+ "java.library.path": "/usr/local/lib:/opt/local/lib:/usr/lib",
+ "topology.spout.wait.strategy": "backtype.storm.spout.SleepSpoutWaitStrategy",
+ "task.heartbeat.frequency.secs": "3",
+ "topology.transfer.buffer.size": "1024",
+ "storm.zookeeper.session.timeout": "20000",
+ "topology.executor.receive.buffer.size": "1024",
+ "topology.stats.sample.rate": "0.05",
+ "topology.fall.back.on.java.serialization": "true",
+ "supervisor.childopts": "-javaagent:/usr/lib/storm/contrib/storm-jmxetric/lib/jmxetric-1.0.4.jar=host=c6402.ambari.apache.org,port=8650,wireformat31x=true,mode=multicast,config=/usr/lib/storm/contrib/storm-jmxetric/conf/jmxetric-conf.xml,process=Supervisor_JVM -Xmx256m",
+ "topology.enable.message.timeouts": "true",
+ "storm.messaging.netty.max_wait_ms": "1000",
+ "nimbus.topology.validator": "backtype.storm.nimbus.DefaultTopologyValidator",
+ "nimbus.supervisor.timeout.secs": "60",
+ "topology.disruptor.wait.strategy": "com.lmax.disruptor.BlockingWaitStrategy",
+ "nimbus.inbox.jar.expiration.secs": "3600",
+ "drpc.port": "3772",
+ "topology.kryo.factory": "backtype.storm.serialization.DefaultKryoFactory",
+ "storm.zookeeper.retry.interval": "1000",
+ "storm.messaging.netty.max_retries": "30",
+ "topology.tick.tuple.freq.secs": "null",
+ "supervisor.enable": "true",
+ "nimbus.task.launch.secs": "120",
+ "task.refresh.poll.secs": "10",
+ "topology.message.timeout.secs": "30",
+ "storm.messaging.netty.buffer_size": "5242880",
+ "topology.state.synchronization.timeout.secs": "60",
+ "supervisor.worker.timeout.secs": "30",
+ "topology.trident.batch.emit.interval.millis": "500",
+ "topology.builtin.metrics.bucket.size.secs": "60",
+ "storm.thrift.transport": "backtype.storm.security.auth.SimpleTransportPlugin",
+ "logviewer.port": "8000",
"topology.debug": "false"
},
"webhcat-site": {
@@ -771,4 +771,4 @@
"c6402.ambari.apache.org"
]
}
-}
\ No newline at end of file
+}