Ver código fonte

AMBARI-4681. Rolling restart for Supervisors fails if component is in
INSTALLED state (Arsen Babych via aonishuk)

Andrew Onischuk 11 anos atrás
pai
commit
b59b258d24

+ 5 - 2
ambari-server/src/main/resources/stacks/HDP/2.1.1/services/STORM/package/scripts/service.py

@@ -62,10 +62,13 @@ def service(
     )
 
   elif action == "stop":
+    process_dont_exist = format("! ({no_op_test})")
     cmd = format("kill `cat {pid_file}` >/dev/null 2>&1")
-    Execute(cmd)
+    Execute(cmd,
+            not_if=process_dont_exist
+    )
 
-    Execute(format("! ({no_op_test})"),
+    Execute(process_dont_exist,
             tries=5,
             try_sleep=3
     )

+ 8 - 2
ambari-server/src/test/python/stacks/2.1.1/STORM/test_storm_drpc_server.py

@@ -64,12 +64,15 @@ class TestStormDrpcServer(RMFTestCase):
                        command = "stop",
                        config_file="default.json"
     )
-    self.assertResourceCalled('Execute', 'kill `cat /var/run/storm/drpc.pid` >/dev/null 2>&1')
+    self.assertResourceCalled('Execute', 'kill `cat /var/run/storm/drpc.pid` >/dev/null 2>&1',
+      not_if = '! (ls /var/run/storm/drpc.pid >/dev/null 2>&1 && ps `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')
+    self.assertNoMoreResources()
 
   def test_configure_default(self):
     self.executeScript("2.1.1/services/STORM/package/scripts/drpc_server.py",
@@ -110,12 +113,15 @@ class TestStormDrpcServer(RMFTestCase):
                        command = "stop",
                        config_file="secured.json"
     )
-    self.assertResourceCalled('Execute', 'kill `cat /var/run/storm/drpc.pid` >/dev/null 2>&1')
+    self.assertResourceCalled('Execute', 'kill `cat /var/run/storm/drpc.pid` >/dev/null 2>&1',
+      not_if = '! (ls /var/run/storm/drpc.pid >/dev/null 2>&1 && ps `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')
+    self.assertNoMoreResources()
 
   def assert_configure_default(self):
 

+ 8 - 2
ambari-server/src/test/python/stacks/2.1.1/STORM/test_storm_logviewer_server.py

@@ -64,12 +64,15 @@ class TestStormLogviewerServer(RMFTestCase):
                        command = "stop",
                        config_file="default.json"
     )
-    self.assertResourceCalled('Execute', 'kill `cat /var/run/storm/logviewer.pid` >/dev/null 2>&1')
+    self.assertResourceCalled('Execute', 'kill `cat /var/run/storm/logviewer.pid` >/dev/null 2>&1',
+      not_if = '! (ls /var/run/storm/logviewer.pid >/dev/null 2>&1 && ps `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')
+    self.assertNoMoreResources()
 
   def test_configure_default(self):
     self.executeScript("2.1.1/services/STORM/package/scripts/logviewer_server.py",
@@ -110,12 +113,15 @@ class TestStormLogviewerServer(RMFTestCase):
                        command = "stop",
                        config_file="secured.json"
     )
-    self.assertResourceCalled('Execute', 'kill `cat /var/run/storm/logviewer.pid` >/dev/null 2>&1')
+    self.assertResourceCalled('Execute', 'kill `cat /var/run/storm/logviewer.pid` >/dev/null 2>&1',
+      not_if = '! (ls /var/run/storm/logviewer.pid >/dev/null 2>&1 && ps `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')
+    self.assertNoMoreResources()
 
   def assert_configure_default(self):
 

+ 8 - 2
ambari-server/src/test/python/stacks/2.1.1/STORM/test_storm_nimbus.py

@@ -64,12 +64,15 @@ class TestStormNimbus(RMFTestCase):
                        command = "stop",
                        config_file="default.json"
     )
-    self.assertResourceCalled('Execute', 'kill `cat /var/run/storm/nimbus.pid` >/dev/null 2>&1')
+    self.assertResourceCalled('Execute', 'kill `cat /var/run/storm/nimbus.pid` >/dev/null 2>&1',
+      not_if = '! (ls /var/run/storm/nimbus.pid >/dev/null 2>&1 && ps `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')
+    self.assertNoMoreResources()
 
   def test_configure_default(self):
     self.executeScript("2.1.1/services/STORM/package/scripts/nimbus.py",
@@ -110,12 +113,15 @@ class TestStormNimbus(RMFTestCase):
                        command = "stop",
                        config_file="secured.json"
     )
-    self.assertResourceCalled('Execute', 'kill `cat /var/run/storm/nimbus.pid` >/dev/null 2>&1')
+    self.assertResourceCalled('Execute', 'kill `cat /var/run/storm/nimbus.pid` >/dev/null 2>&1',
+      not_if = '! (ls /var/run/storm/nimbus.pid >/dev/null 2>&1 && ps `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')
+    self.assertNoMoreResources()
 
   def assert_configure_default(self):
 

+ 9 - 2
ambari-server/src/test/python/stacks/2.1.1/STORM/test_storm_rest_api_service.py

@@ -64,12 +64,16 @@ class TestStormRestApi(RMFTestCase):
                        command = "stop",
                        config_file="default.json"
     )
-    self.assertResourceCalled('Execute', 'kill `cat /var/run/storm/restapi.pid` >/dev/null 2>&1')
+
+    self.assertResourceCalled('Execute', 'kill `cat /var/run/storm/restapi.pid` >/dev/null 2>&1',
+      not_if = '! (ls /var/run/storm/restapi.pid >/dev/null 2>&1 && ps `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')
+    self.assertNoMoreResources()
 
   def test_configure_default(self):
     self.executeScript("2.1.1/services/STORM/package/scripts/rest_api.py",
@@ -110,12 +114,15 @@ class TestStormRestApi(RMFTestCase):
                        command = "stop",
                        config_file="secured.json"
     )
-    self.assertResourceCalled('Execute', 'kill `cat /var/run/storm/restapi.pid` >/dev/null 2>&1')
+    self.assertResourceCalled('Execute', 'kill `cat /var/run/storm/restapi.pid` >/dev/null 2>&1',
+      not_if = '! (ls /var/run/storm/restapi.pid >/dev/null 2>&1 && ps `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')
+    self.assertNoMoreResources()
 
   def assert_configure_default(self):
 

+ 9 - 2
ambari-server/src/test/python/stacks/2.1.1/STORM/test_storm_supervisor.py

@@ -64,12 +64,16 @@ class TestStormSupervisor(RMFTestCase):
                        command = "stop",
                        config_file="default.json"
     )
-    self.assertResourceCalled('Execute', 'kill `cat /var/run/storm/supervisor.pid` >/dev/null 2>&1')
+
+    self.assertResourceCalled('Execute', 'kill `cat /var/run/storm/supervisor.pid` >/dev/null 2>&1',
+      not_if = '! (ls /var/run/storm/supervisor.pid >/dev/null 2>&1 && ps `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')
+    self.assertNoMoreResources()
 
   def test_configure_default(self):
     self.executeScript("2.1.1/services/STORM/package/scripts/supervisor.py",
@@ -110,12 +114,15 @@ class TestStormSupervisor(RMFTestCase):
                        command = "stop",
                        config_file="secured.json"
     )
-    self.assertResourceCalled('Execute', 'kill `cat /var/run/storm/supervisor.pid` >/dev/null 2>&1')
+    self.assertResourceCalled('Execute', 'kill `cat /var/run/storm/supervisor.pid` >/dev/null 2>&1',
+      not_if = '! (ls /var/run/storm/supervisor.pid >/dev/null 2>&1 && ps `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')
+    self.assertNoMoreResources()
 
   def assert_configure_default(self):
 

+ 9 - 2
ambari-server/src/test/python/stacks/2.1.1/STORM/test_storm_ui_server.py

@@ -64,12 +64,16 @@ class TestStormUiServer(RMFTestCase):
                        command = "stop",
                        config_file="default.json"
     )
-    self.assertResourceCalled('Execute', 'kill `cat /var/run/storm/ui.pid` >/dev/null 2>&1')
+
+    self.assertResourceCalled('Execute', 'kill `cat /var/run/storm/ui.pid` >/dev/null 2>&1',
+      not_if = '! (ls /var/run/storm/ui.pid >/dev/null 2>&1 && ps `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')
+    self.assertNoMoreResources()
 
   def test_configure_default(self):
     self.executeScript("2.1.1/services/STORM/package/scripts/ui_server.py",
@@ -110,12 +114,15 @@ class TestStormUiServer(RMFTestCase):
                        command = "stop",
                        config_file="secured.json"
     )
-    self.assertResourceCalled('Execute', 'kill `cat /var/run/storm/ui.pid` >/dev/null 2>&1')
+    self.assertResourceCalled('Execute', 'kill `cat /var/run/storm/ui.pid` >/dev/null 2>&1',
+      not_if = '! (ls /var/run/storm/ui.pid >/dev/null 2>&1 && ps `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')
+    self.assertNoMoreResources()
 
   def assert_configure_default(self):