You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ao...@apache.org on 2014/02/10 12:59:50 UTC
git commit: AMBARI-4573. Write unnitests for NAGIOS install script on
HDP1 and HDP2 (Iryna Kuzmenko via aonishuk)
Updated Branches:
refs/heads/trunk 9d07f72a5 -> 9b7f183cb
AMBARI-4573. Write unnitests for NAGIOS install script on HDP1 and HDP2
(Iryna Kuzmenko via aonishuk)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/9b7f183c
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/9b7f183c
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/9b7f183c
Branch: refs/heads/trunk
Commit: 9b7f183cb04290c04761afdea12e7c8a9880c132
Parents: 9d07f72
Author: Andrew Onischuk <ao...@hortonworks.com>
Authored: Mon Feb 10 03:27:50 2014 -0800
Committer: Andrew Onischuk <ao...@hortonworks.com>
Committed: Mon Feb 10 03:27:50 2014 -0800
----------------------------------------------------------------------
.../package/scripts/nagios_server_config.py | 2 +-
.../package/scripts/nagios_server_config.py | 2 +-
.../stacks/1.3.2/NAGIOS/test_nagios_server.py | 261 +++++++++++++++++++
.../stacks/2.0.6/NAGIOS/test_nagios_server.py | 259 ++++++++++++++++++
4 files changed, 522 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/9b7f183c/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/package/scripts/nagios_server_config.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/package/scripts/nagios_server_config.py b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/package/scripts/nagios_server_config.py
index 9f6c884..275c9c4 100644
--- a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/package/scripts/nagios_server_config.py
+++ b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/package/scripts/nagios_server_config.py
@@ -42,7 +42,7 @@ def nagios_server_config():
if System.get_instance().os_family != "suse":
nagios_server_configfile( 'nagios',
- config_dir = '/etc/init.d/',
+ config_dir = '/etc/init.d',
mode = 0755,
owner = 'root',
group = 'root'
http://git-wip-us.apache.org/repos/asf/ambari/blob/9b7f183c/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/package/scripts/nagios_server_config.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/package/scripts/nagios_server_config.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/package/scripts/nagios_server_config.py
index 9f6c884..275c9c4 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/package/scripts/nagios_server_config.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/package/scripts/nagios_server_config.py
@@ -42,7 +42,7 @@ def nagios_server_config():
if System.get_instance().os_family != "suse":
nagios_server_configfile( 'nagios',
- config_dir = '/etc/init.d/',
+ config_dir = '/etc/init.d',
mode = 0755,
owner = 'root',
group = 'root'
http://git-wip-us.apache.org/repos/asf/ambari/blob/9b7f183c/ambari-server/src/test/python/stacks/1.3.2/NAGIOS/test_nagios_server.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/1.3.2/NAGIOS/test_nagios_server.py b/ambari-server/src/test/python/stacks/1.3.2/NAGIOS/test_nagios_server.py
new file mode 100644
index 0000000..d89f6f3
--- /dev/null
+++ b/ambari-server/src/test/python/stacks/1.3.2/NAGIOS/test_nagios_server.py
@@ -0,0 +1,261 @@
+#!/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, patch
+from stacks.utils.RMFTestCase import *
+
+
+class TestNagiosServer(RMFTestCase):
+ def test_configure_default(self):
+ self.executeScript("1.3.2/services/NAGIOS/package/scripts/nagios_server.py",
+ classname="NagiosServer",
+ command="configure",
+ config_file="default.json"
+ )
+ self.assert_configure_default()
+ self.assertNoMoreResources()
+
+
+ def test_start_default(self):
+ self.executeScript(
+ "1.3.2/services/NAGIOS/package/scripts/nagios_service.py",
+ classname="NagiosServer",
+ command="start",
+ config_file="default.json"
+ )
+ self.assert_configure_default()
+ self.assertResourceCalled('Execute', 'service nagios start',
+ path=['/usr/local/bin/:/bin/:/sbin/']
+ )
+ self.assertResourceCalled('MonitorWebserver', 'restart',
+ )
+ self.assertNoMoreResources()
+
+
+ def test_stop_default(self):
+ self.executeScript(
+ "1.3.2/services/NAGIOS/package/scripts/nagios_service.py",
+ classname="NagiosServer",
+ command="stop",
+ config_file="default.json"
+ )
+ self.assertResourceCalled('Execute',
+ 'service nagios stop && rm -f /var/run/nagios/nagios.pid',
+ path=['/usr/local/bin/:/bin/:/sbin/']
+ )
+ self.assertResourceCalled('MonitorWebserver', 'restart',
+ )
+ self.assertNoMoreResources()
+
+
+ def assert_configure_default(self):
+ self.assertResourceCalled('File', '/etc/httpd/conf.d/nagios.conf',
+ owner='nagios',
+ group='nagios',
+ content=Template("nagios.conf.j2"),
+ mode=0644
+ )
+ self.assertResourceCalled('Execute',
+ 'service snmpd start; chkconfig snmpd on',
+ path=['/usr/local/bin/:/bin/:/sbin/']
+ )
+ self.assertResourceCalled('Directory', '/etc/nagios',
+ owner='nagios',
+ group='nagios',
+ )
+ self.assertResourceCalled('Directory', '/usr/lib64/nagios/plugins'
+ )
+ self.assertResourceCalled('Directory', '/etc/nagios/objects'
+ )
+ self.assertResourceCalled('Directory', '/var/run/nagios',
+ owner='nagios',
+ group='nagios',
+ mode=0755,
+ recursive=True
+ )
+ self.assertResourceCalled('Directory', '/var/nagios',
+ owner='nagios',
+ group='nagios',
+ recursive=True
+ )
+ self.assertResourceCalled('Directory', '/var/nagios/spool/checkresults',
+ owner='nagios',
+ group='nagios',
+ recursive=True
+ )
+ self.assertResourceCalled('Directory', '/var/nagios/rw',
+ owner='nagios',
+ group='nagios',
+ recursive=True
+ )
+ self.assertResourceCalled('Directory', '/var/log/nagios',
+ owner='nagios',
+ group='nagios',
+ mode=0755
+ )
+ self.assertResourceCalled('Directory', '/var/log/nagios/archives',
+ owner='nagios',
+ group='nagios',
+ mode=0755
+ )
+ self.assertResourceCalled('TemplateConfig', '/etc/nagios/nagios.cfg',
+ owner='nagios',
+ group='nagios',
+ mode=None
+ )
+ self.assertResourceCalled('TemplateConfig', '/etc/nagios/resource.cfg',
+ owner='nagios',
+ group='nagios',
+ mode=None
+ )
+ self.assertResourceCalled('TemplateConfig',
+ '/etc/nagios/objects/hadoop-hosts.cfg',
+ owner='nagios',
+ group='hadoop',
+ mode=None
+ )
+ self.assertResourceCalled('TemplateConfig',
+ '/etc/nagios/objects/hadoop-hostgroups.cfg',
+ owner='nagios',
+ group='hadoop',
+ mode=None
+ )
+ self.assertResourceCalled('TemplateConfig',
+ '/etc/nagios/objects/hadoop-servicegroups.cfg',
+ owner='nagios',
+ group='hadoop',
+ mode=None
+ )
+ self.assertResourceCalled('TemplateConfig',
+ '/etc/nagios/objects/hadoop-services.cfg',
+ owner='nagios',
+ group='hadoop',
+ mode=None
+ )
+ self.assertResourceCalled('TemplateConfig',
+ '/etc/nagios/objects/hadoop-commands.cfg',
+ owner='nagios',
+ group='hadoop',
+ mode=None
+ )
+ self.assertResourceCalled('TemplateConfig',
+ '/etc/nagios/objects/contacts.cfg',
+ owner='nagios',
+ group='hadoop',
+ mode=None
+ )
+ self.assertResourceCalled('File', '/usr/lib64/nagios/plugins/check_cpu.pl',
+ content=StaticFile('check_cpu.pl'),
+ mode=0755
+ )
+ self.assertResourceCalled('File',
+ '/usr/lib64/nagios/plugins/check_datanode_storage.php',
+ content=StaticFile('check_datanode_storage.php'),
+ mode=0755
+ )
+ self.assertResourceCalled('File',
+ '/usr/lib64/nagios/plugins/check_aggregate.php',
+ content=StaticFile('check_aggregate.php'),
+ mode=0755
+ )
+ self.assertResourceCalled('File',
+ '/usr/lib64/nagios/plugins/check_hdfs_blocks.php',
+ content=StaticFile('check_hdfs_blocks.php'),
+ mode=0755
+ )
+ self.assertResourceCalled('File',
+ '/usr/lib64/nagios/plugins/check_hdfs_capacity.php',
+ content=StaticFile('check_hdfs_capacity.php'),
+ mode=0755
+ )
+ self.assertResourceCalled('File',
+ '/usr/lib64/nagios/plugins/check_rpcq_latency.php',
+ content=StaticFile('check_rpcq_latency.php'),
+ mode=0755
+ )
+ self.assertResourceCalled('File',
+ '/usr/lib64/nagios/plugins/check_webui.sh',
+ content=StaticFile('check_webui.sh'),
+ mode=0755
+ )
+ self.assertResourceCalled('File',
+ '/usr/lib64/nagios/plugins/check_name_dir_status.php',
+ content=StaticFile('check_name_dir_status.php'),
+ mode=0755
+ )
+ self.assertResourceCalled('File',
+ '/usr/lib64/nagios/plugins/check_oozie_status.sh',
+ content=StaticFile('check_oozie_status.sh'),
+ mode=0755
+ )
+ self.assertResourceCalled('File',
+ '/usr/lib64/nagios/plugins/check_templeton_status.sh',
+ content=StaticFile('check_templeton_status.sh'),
+ mode=0755
+ )
+ self.assertResourceCalled('File',
+ '/usr/lib64/nagios/plugins/check_hive_metastore_status.sh',
+ content=StaticFile(
+ 'check_hive_metastore_status.sh'),
+ mode=0755
+ )
+ self.assertResourceCalled('File',
+ '/usr/lib64/nagios/plugins/check_hue_status.sh',
+ content=StaticFile('check_hue_status.sh'),
+ mode=0755
+ )
+ self.assertResourceCalled('File',
+ '/usr/lib64/nagios/plugins/check_mapred_local_dir_used.sh',
+ content=StaticFile(
+ 'check_mapred_local_dir_used.sh'),
+ mode=0755
+ )
+ self.assertResourceCalled('File',
+ '/usr/lib64/nagios/plugins/check_nodemanager_health.sh',
+ content=StaticFile('check_nodemanager_health.sh'),
+ mode=0755
+ )
+ self.assertResourceCalled('File',
+ '/usr/lib64/nagios/plugins/check_namenodes_ha.sh',
+ content=StaticFile('check_namenodes_ha.sh'),
+ mode=0755
+ )
+ self.assertResourceCalled('File',
+ '/usr/lib64/nagios/plugins/hdp_nagios_init.php',
+ content=StaticFile('hdp_nagios_init.php'),
+ mode=0755
+ )
+ self.assertResourceCalled('Execute',
+ 'htpasswd2 -c -b /etc/nagios/htpasswd.users nagiosadmin q',
+ not_if="grep nagiosadmin /etc/nagios/htpasswd.users"
+ )
+
+ self.assertResourceCalled('File', '/etc/nagios/htpasswd.users',
+ owner='nagios',
+ group='nagios',
+ mode=0640
+ )
+ self.assertResourceCalled('Execute', 'usermod -G nagios wwwrun'
+ )
+
+ self.assertResourceCalled('File', '/etc/nagios/command.cfg',
+ owner='nagios',
+ group='nagios'
+ )
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ambari/blob/9b7f183c/ambari-server/src/test/python/stacks/2.0.6/NAGIOS/test_nagios_server.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.0.6/NAGIOS/test_nagios_server.py b/ambari-server/src/test/python/stacks/2.0.6/NAGIOS/test_nagios_server.py
new file mode 100644
index 0000000..8682a48
--- /dev/null
+++ b/ambari-server/src/test/python/stacks/2.0.6/NAGIOS/test_nagios_server.py
@@ -0,0 +1,259 @@
+#!/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, patch
+from stacks.utils.RMFTestCase import *
+
+
+class TestNagiosServer(RMFTestCase):
+ def test_configure_default(self):
+ self.executeScript("2.0.6/services/NAGIOS/package/scripts/nagios_server.py",
+ classname="NagiosServer",
+ command="configure",
+ config_file="default.json"
+ )
+ self.assert_configure_default()
+ self.assertNoMoreResources()
+
+
+ def test_start_default(self):
+ self.executeScript(
+ "2.0.6/services/NAGIOS/package/scripts/nagios_service.py",
+ classname="NagiosServer",
+ command="start",
+ config_file="default.json"
+ )
+ self.assert_configure_default()
+ self.assertResourceCalled('Execute', 'service nagios start',
+ path=['/usr/local/bin/:/bin/:/sbin/']
+ )
+ self.assertResourceCalled('MonitorWebserver', 'restart',
+ )
+ self.assertNoMoreResources()
+
+
+ def test_stop_default(self):
+ self.executeScript(
+ "2.0.6/services/NAGIOS/package/scripts/nagios_service.py",
+ classname="NagiosServer",
+ command="stop",
+ config_file="default.json"
+ )
+ self.assertResourceCalled('Execute',
+ 'service nagios stop && rm -f /var/run/nagios/nagios.pid',
+ path=['/usr/local/bin/:/bin/:/sbin/']
+ )
+ self.assertResourceCalled('MonitorWebserver', 'restart',
+ )
+ self.assertNoMoreResources()
+
+
+ def assert_configure_default(self):
+ self.assertResourceCalled('File', '/etc/httpd/conf.d/nagios.conf',
+ owner='nagios',
+ group='nagios',
+ content=Template("nagios.conf.j2"),
+ mode=0644
+ )
+ self.assertResourceCalled('Execute',
+ 'service snmpd start; chkconfig snmpd on',
+ path=['/usr/local/bin/:/bin/:/sbin/']
+ )
+ self.assertResourceCalled('Directory', '/etc/nagios',
+ owner='nagios',
+ group='nagios',
+ )
+ self.assertResourceCalled('Directory', '/usr/lib64/nagios/plugins'
+ )
+ self.assertResourceCalled('Directory', '/etc/nagios/objects'
+ )
+ self.assertResourceCalled('Directory', '/var/run/nagios',
+ owner='nagios',
+ group='nagios',
+ mode=0755,
+ recursive=True
+ )
+ self.assertResourceCalled('Directory', '/var/nagios',
+ owner='nagios',
+ group='nagios',
+ recursive=True
+ )
+ self.assertResourceCalled('Directory', '/var/nagios/spool/checkresults',
+ owner='nagios',
+ group='nagios',
+ recursive=True
+ )
+ self.assertResourceCalled('Directory', '/var/nagios/rw',
+ owner='nagios',
+ group='nagios',
+ recursive=True
+ )
+ self.assertResourceCalled('Directory', '/var/log/nagios',
+ owner='nagios',
+ group='nagios',
+ mode=0755
+ )
+ self.assertResourceCalled('Directory', '/var/log/nagios/archives',
+ owner='nagios',
+ group='nagios',
+ mode=0755
+ )
+ self.assertResourceCalled('TemplateConfig', '/etc/nagios/nagios.cfg',
+ owner='nagios',
+ group='nagios',
+ mode=None
+ )
+ self.assertResourceCalled('TemplateConfig', '/etc/nagios/resource.cfg',
+ owner='nagios',
+ group='nagios',
+ mode=None
+ )
+ self.assertResourceCalled('TemplateConfig',
+ '/etc/nagios/objects/hadoop-hosts.cfg',
+ owner='nagios',
+ group='hadoop',
+ mode=None
+ )
+ self.assertResourceCalled('TemplateConfig',
+ '/etc/nagios/objects/hadoop-hostgroups.cfg',
+ owner='nagios',
+ group='hadoop',
+ mode=None
+ )
+ self.assertResourceCalled('TemplateConfig',
+ '/etc/nagios/objects/hadoop-servicegroups.cfg',
+ owner='nagios',
+ group='hadoop',
+ mode=None
+ )
+ self.assertResourceCalled('TemplateConfig',
+ '/etc/nagios/objects/hadoop-services.cfg',
+ owner='nagios',
+ group='hadoop',
+ mode=None
+ )
+ self.assertResourceCalled('TemplateConfig',
+ '/etc/nagios/objects/hadoop-commands.cfg',
+ owner='nagios',
+ group='hadoop',
+ mode=None
+ )
+ self.assertResourceCalled('TemplateConfig',
+ '/etc/nagios/objects/contacts.cfg',
+ owner='nagios',
+ group='hadoop',
+ mode=None
+ )
+ self.assertResourceCalled('File', '/usr/lib64/nagios/plugins/check_cpu.pl',
+ content=StaticFile('check_cpu.pl'),
+ mode=0755
+ )
+ self.assertResourceCalled('File',
+ '/usr/lib64/nagios/plugins/check_datanode_storage.php',
+ content=StaticFile('check_datanode_storage.php'),
+ mode=0755
+ )
+ self.assertResourceCalled('File',
+ '/usr/lib64/nagios/plugins/check_aggregate.php',
+ content=StaticFile('check_aggregate.php'),
+ mode=0755
+ )
+ self.assertResourceCalled('File',
+ '/usr/lib64/nagios/plugins/check_hdfs_blocks.php',
+ content=StaticFile('check_hdfs_blocks.php'),
+ mode=0755
+ )
+ self.assertResourceCalled('File',
+ '/usr/lib64/nagios/plugins/check_hdfs_capacity.php',
+ content=StaticFile('check_hdfs_capacity.php'),
+ mode=0755
+ )
+ self.assertResourceCalled('File',
+ '/usr/lib64/nagios/plugins/check_rpcq_latency.php',
+ content=StaticFile('check_rpcq_latency.php'),
+ mode=0755
+ )
+ self.assertResourceCalled('File',
+ '/usr/lib64/nagios/plugins/check_webui.sh',
+ content=StaticFile('check_webui.sh'),
+ mode=0755
+ )
+ self.assertResourceCalled('File',
+ '/usr/lib64/nagios/plugins/check_name_dir_status.php',
+ content=StaticFile('check_name_dir_status.php'),
+ mode=0755
+ )
+ self.assertResourceCalled('File',
+ '/usr/lib64/nagios/plugins/check_oozie_status.sh',
+ content=StaticFile('check_oozie_status.sh'),
+ mode=0755
+ )
+ self.assertResourceCalled('File',
+ '/usr/lib64/nagios/plugins/check_templeton_status.sh',
+ content=StaticFile('check_templeton_status.sh'),
+ mode=0755
+ )
+ self.assertResourceCalled('File',
+ '/usr/lib64/nagios/plugins/check_hive_metastore_status.sh',
+ content=StaticFile(
+ 'check_hive_metastore_status.sh'),
+ mode=0755
+ )
+ self.assertResourceCalled('File',
+ '/usr/lib64/nagios/plugins/check_hue_status.sh',
+ content=StaticFile('check_hue_status.sh'),
+ mode=0755
+ )
+ self.assertResourceCalled('File',
+ '/usr/lib64/nagios/plugins/check_mapred_local_dir_used.sh',
+ content=StaticFile(
+ 'check_mapred_local_dir_used.sh'),
+ mode=0755
+ )
+ self.assertResourceCalled('File',
+ '/usr/lib64/nagios/plugins/check_nodemanager_health.sh',
+ content=StaticFile('check_nodemanager_health.sh'),
+ mode=0755
+ )
+ self.assertResourceCalled('File',
+ '/usr/lib64/nagios/plugins/check_namenodes_ha.sh',
+ content=StaticFile('check_namenodes_ha.sh'),
+ mode=0755
+ )
+ self.assertResourceCalled('File',
+ '/usr/lib64/nagios/plugins/hdp_nagios_init.php',
+ content=StaticFile('hdp_nagios_init.php'),
+ mode=0755
+ )
+ self.assertResourceCalled('Execute',
+ 'htpasswd2 -c -b /etc/nagios/htpasswd.users nagiosadmin asd',
+ not_if="grep nagiosadmin /etc/nagios/htpasswd.users"
+ )
+ self.assertResourceCalled('File', '/etc/nagios/htpasswd.users',
+ owner='nagios',
+ group='nagios',
+ mode=0640
+ )
+ self.assertResourceCalled('Execute', 'usermod -G nagios wwwrun'
+ )
+ self.assertResourceCalled('File', '/etc/nagios/command.cfg',
+ owner='nagios',
+ group='nagios'
+ )
\ No newline at end of file