Ver código fonte

AMBARI-4939. Ganglia alerts after adding YARN+MR2. (Dmytro Shkvyra via mahadev)

Mahadev Konar 11 anos atrás
pai
commit
aec54e2c2b

+ 3 - 0
ambari-server/src/main/resources/stacks/HDP/1.3.2/services/GANGLIA/package/scripts/ganglia_monitor.py

@@ -34,6 +34,9 @@ class GangliaMonitor(Script):
     self.configure(env)
 
   def start(self, env):
+    import params
+    env.set_params(params)
+    self.configure(env)   
     ganglia_monitor_service.monitor("start")
 
   def stop(self, env):

+ 3 - 0
ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/package/scripts/ganglia_monitor.py

@@ -34,6 +34,9 @@ class GangliaMonitor(Script):
     self.configure(env)
 
   def start(self, env):
+    import params
+    env.set_params(params)
+    self.configure(env)
     ganglia_monitor_service.monitor("start")
 
   def stop(self, env):

+ 194 - 6
ambari-server/src/test/python/stacks/1.3.2/GANGLIA/test_ganglia_monitor.py

@@ -188,14 +188,202 @@ class TestGangliaMonitor(RMFTestCase):
                        command="start",
                        config_file="default.json"
     )
-    self.assertResourceCalled('Execute', 'chkconfig gmond off',
-                              path = ['/usr/sbin:/sbin:/usr/local/bin:/bin:/usr/bin'],
-                              )
-    self.assertResourceCalled('Execute', 'service hdp-gmond start >> /tmp/gmond.log  2>&1 ; /bin/ps auwx | /bin/grep [g]mond  >> /tmp/gmond.log  2>&1',
-                              path = ['/usr/sbin:/sbin:/usr/local/bin:/bin:/usr/bin'],
-                              )
+    self.assertResourceCalled(
+        'Group', 'hadoop',
+        )
+    self.assertResourceCalled(
+        'Group', 'nobody',
+        )
+    self.assertResourceCalled(
+        'Group', 'nobody',
+        )
+    self.assertResourceCalled(
+        'User', 'nobody',
+        groups = [u'nobody'],
+        )
+    self.assertResourceCalled(
+        'User', 'nobody',
+        groups = [u'nobody'],
+        )
+    self.assertResourceCalled(
+        'Directory', '/etc/ganglia/hdp',
+        owner = 'root',
+        group = 'hadoop',
+        recursive = True,
+        )
+    self.assertResourceCalled(
+        'Directory', '/usr/libexec/hdp/ganglia',
+        owner = 'root',
+        group = 'root',
+        recursive = True,
+        )
+    self.assertResourceCalled(
+        'File', '/etc/init.d/hdp-gmetad',
+        content = StaticFile('gmetad.init'),
+        mode = 0755,
+        )
+    self.assertResourceCalled(
+        'File', '/etc/init.d/hdp-gmond',
+        content = StaticFile('gmond.init'),
+        mode = 0755,
+        )
+    self.assertResourceCalled(
+        'File', '/usr/libexec/hdp/ganglia/checkGmond.sh',
+        content = StaticFile('checkGmond.sh'),
+        mode = 0755,
+        )
+    self.assertResourceCalled(
+        'File', '/usr/libexec/hdp/ganglia/checkRrdcached.sh',
+        content = StaticFile('checkRrdcached.sh'),
+        mode = 0755,
+        )
+    self.assertResourceCalled(
+        'File', '/usr/libexec/hdp/ganglia/gmetadLib.sh',
+        content = StaticFile('gmetadLib.sh'),
+        mode = 0755,
+        )
+    self.assertResourceCalled(
+        'File', '/usr/libexec/hdp/ganglia/gmondLib.sh',
+        content = StaticFile('gmondLib.sh'),
+        mode = 0755,
+        )
+    self.assertResourceCalled(
+        'File', '/usr/libexec/hdp/ganglia/rrdcachedLib.sh',
+        content = StaticFile('rrdcachedLib.sh'),
+        mode = 0755,
+        )
+    self.assertResourceCalled(
+        'File', '/usr/libexec/hdp/ganglia/setupGanglia.sh',
+        content = StaticFile('setupGanglia.sh'),
+        mode = 0755,
+        )
+    self.assertResourceCalled(
+        'File', '/usr/libexec/hdp/ganglia/startGmetad.sh',
+        content = StaticFile('startGmetad.sh'),
+        mode = 0755,
+        )
+    self.assertResourceCalled(
+        'File', '/usr/libexec/hdp/ganglia/startGmond.sh',
+        content = StaticFile('startGmond.sh'),
+        mode = 0755,
+        )
+    self.assertResourceCalled(
+        'File', '/usr/libexec/hdp/ganglia/startRrdcached.sh',
+        content = StaticFile('startRrdcached.sh'),
+        mode = 0755,
+        )
+    self.assertResourceCalled(
+        'File', '/usr/libexec/hdp/ganglia/stopGmetad.sh',
+        content = StaticFile('stopGmetad.sh'),
+        mode = 0755,
+        )
+    self.assertResourceCalled(
+        'File', '/usr/libexec/hdp/ganglia/stopGmond.sh',
+        content = StaticFile('stopGmond.sh'),
+        mode = 0755,
+        )
+    self.assertResourceCalled(
+        'File', '/usr/libexec/hdp/ganglia/stopRrdcached.sh',
+        content = StaticFile('stopRrdcached.sh'),
+        mode = 0755,
+        )
+    self.assertResourceCalled(
+        'File', '/usr/libexec/hdp/ganglia/teardownGanglia.sh',
+        content = StaticFile('teardownGanglia.sh'),
+        mode = 0755,
+        )
+    self.assertResourceCalled(
+        'TemplateConfig', '/usr/libexec/hdp/ganglia/gangliaClusters.conf',
+        owner = 'root',
+        template_tag = None,
+        group = 'root',
+        mode = 0755,
+        )
+    self.assertResourceCalled(
+        'TemplateConfig', '/usr/libexec/hdp/ganglia/gangliaEnv.sh',
+        owner = 'root',
+        template_tag = None,
+        group = 'root',
+        mode = 0755,
+        )
+    self.assertResourceCalled(
+        'TemplateConfig', '/usr/libexec/hdp/ganglia/gangliaLib.sh',
+        owner = 'root',
+        template_tag = None,
+        group = 'root',
+        mode = 0755,
+        )
+    self.assertResourceCalled(
+        'Execute', '/usr/libexec/hdp/ganglia/setupGanglia.sh -c HDPJobTracker -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 HDPHistoryServer -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 HDPDataNode -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 HDPTaskTracker -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 HDPHBaseRegionServer -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',
+        )
+    self.assertResourceCalled(
+        'File', '/etc/ganglia/conf.d/modgstatus.conf',
+        owner = 'root',
+        group = 'hadoop',
+        )
+    self.assertResourceCalled(
+        'File', '/etc/ganglia/conf.d/multicpu.conf',
+        owner = 'root',
+        group = 'hadoop',
+        )
+    self.assertResourceCalled(
+        'File', '/etc/ganglia/gmond.conf',
+        owner = 'root',
+        group = 'hadoop',
+        )
+    self.assertResourceCalled(
+        'Execute', 'chkconfig gmond off',
+        path = ['/usr/sbin:/sbin:/usr/local/bin:/bin:/usr/bin'],
+        )
+    self.assertResourceCalled(
+        'Execute', 'service hdp-gmond start >> /tmp/gmond.log  2>&1 ; /bin/ps auwx | /bin/grep [g]mond  >> /tmp/gmond.log  2>&1',
+        path = ['/usr/sbin:/sbin:/usr/local/bin:/bin:/usr/bin'],
+        )
     self.assertNoMoreResources()
 
+
   def test_stop_default(self):
     self.executeScript("1.3.2/services/GANGLIA/package/scripts/ganglia_monitor.py",
                        classname="GangliaMonitor",

+ 160 - 6
ambari-server/src/test/python/stacks/2.0.6/GANGLIA/test_ganglia_monitor.py

@@ -162,12 +162,166 @@ class TestGangliaMonitor(RMFTestCase):
                        command="start",
                        config_file="default.json"
     )
-    self.assertResourceCalled('Execute', 'chkconfig gmond off',
-                              path = ['/usr/sbin:/sbin:/usr/local/bin:/bin:/usr/bin'],
-                              )
-    self.assertResourceCalled('Execute', 'service hdp-gmond start >> /tmp/gmond.log  2>&1 ; /bin/ps auwx | /bin/grep [g]mond  >> /tmp/gmond.log  2>&1',
-                              path = ['/usr/sbin:/sbin:/usr/local/bin:/bin:/usr/bin'],
-                              )
+    self.assertResourceCalled(
+        'Directory', '/etc/ganglia/hdp',
+        owner = 'root',
+        group = 'hadoop',
+        recursive = True,
+        )
+    self.assertResourceCalled(
+        'Directory', '/usr/libexec/hdp/ganglia',
+        owner = 'root',
+        group = 'root',
+        recursive = True,
+        )
+    self.assertResourceCalled(
+        'File', '/etc/init.d/hdp-gmetad',
+        content = StaticFile('gmetad.init'),
+        mode = 0755,
+        )
+    self.assertResourceCalled(
+        'File', '/etc/init.d/hdp-gmond',
+        content = StaticFile('gmond.init'),
+        mode = 0755,
+        )
+    self.assertResourceCalled(
+        'File', '/usr/libexec/hdp/ganglia/checkGmond.sh',
+        content = StaticFile('checkGmond.sh'),
+        mode = 0755,
+        )
+    self.assertResourceCalled(
+        'File', '/usr/libexec/hdp/ganglia/checkRrdcached.sh',
+        content = StaticFile('checkRrdcached.sh'),
+        mode = 0755,
+        )
+    self.assertResourceCalled(
+        'File', '/usr/libexec/hdp/ganglia/gmetadLib.sh',
+        content = StaticFile('gmetadLib.sh'),
+        mode = 0755,
+        )
+    self.assertResourceCalled(
+        'File', '/usr/libexec/hdp/ganglia/gmondLib.sh',
+        content = StaticFile('gmondLib.sh'),
+        mode = 0755,
+        )
+    self.assertResourceCalled(
+        'File', '/usr/libexec/hdp/ganglia/rrdcachedLib.sh',
+        content = StaticFile('rrdcachedLib.sh'),
+        mode = 0755,
+        )
+    self.assertResourceCalled(
+        'File', '/usr/libexec/hdp/ganglia/setupGanglia.sh',
+        content = StaticFile('setupGanglia.sh'),
+        mode = 0755,
+        )
+    self.assertResourceCalled(
+        'File', '/usr/libexec/hdp/ganglia/startGmetad.sh',
+        content = StaticFile('startGmetad.sh'),
+        mode = 0755,
+        )
+    self.assertResourceCalled(
+        'File', '/usr/libexec/hdp/ganglia/startGmond.sh',
+        content = StaticFile('startGmond.sh'),
+        mode = 0755,
+        )
+    self.assertResourceCalled(
+        'File', '/usr/libexec/hdp/ganglia/startRrdcached.sh',
+        content = StaticFile('startRrdcached.sh'),
+        mode = 0755,
+        )
+    self.assertResourceCalled(
+        'File', '/usr/libexec/hdp/ganglia/stopGmetad.sh',
+        content = StaticFile('stopGmetad.sh'),
+        mode = 0755,
+        )
+    self.assertResourceCalled(
+        'File', '/usr/libexec/hdp/ganglia/stopGmond.sh',
+        content = StaticFile('stopGmond.sh'),
+        mode = 0755,
+        )
+    self.assertResourceCalled(
+        'File', '/usr/libexec/hdp/ganglia/stopRrdcached.sh',
+        content = StaticFile('stopRrdcached.sh'),
+        mode = 0755,
+        )
+    self.assertResourceCalled(
+        'File', '/usr/libexec/hdp/ganglia/teardownGanglia.sh',
+        content = StaticFile('teardownGanglia.sh'),
+        mode = 0755,
+        )
+    self.assertResourceCalled(
+        'TemplateConfig', '/usr/libexec/hdp/ganglia/gangliaClusters.conf',
+        owner = 'root',
+        template_tag = None,
+        group = 'root',
+        mode = 0755,
+        )
+    self.assertResourceCalled(
+        'TemplateConfig', '/usr/libexec/hdp/ganglia/gangliaEnv.sh',
+        owner = 'root',
+        template_tag = None,
+        group = 'root',
+        mode = 0755,
+        )
+    self.assertResourceCalled(
+        'TemplateConfig', '/usr/libexec/hdp/ganglia/gangliaLib.sh',
+        owner = 'root',
+        template_tag = None,
+        group = 'root',
+        mode = 0755,
+        )
+    self.assertResourceCalled(
+        'Execute', '/usr/libexec/hdp/ganglia/setupGanglia.sh -c HDPNameNode -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 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',
+        )
+    self.assertResourceCalled(
+        'File', '/etc/ganglia/conf.d/modgstatus.conf',
+        owner = 'root',
+        group = 'hadoop',
+        )
+    self.assertResourceCalled(
+        'File', '/etc/ganglia/conf.d/multicpu.conf',
+        owner = 'root',
+        group = 'hadoop',
+        )
+    self.assertResourceCalled(
+        'File', '/etc/ganglia/gmond.conf',
+        owner = 'root',
+        group = 'hadoop',
+        )
+    self.assertResourceCalled(
+        'Execute', 'chkconfig gmond off',
+        path = ['/usr/sbin:/sbin:/usr/local/bin:/bin:/usr/bin'],
+        )
+    self.assertResourceCalled(
+        'Execute', 'service hdp-gmond start >> /tmp/gmond.log  2>&1 ; /bin/ps auwx | /bin/grep [g]mond  >> /tmp/gmond.log  2>&1',
+        path = ['/usr/sbin:/sbin:/usr/local/bin:/bin:/usr/bin'],
+        )
     self.assertNoMoreResources()
 
   def test_stop_default(self):