Procházet zdrojové kódy

AMBARI-5593. Mysql install fails on Ubuntu (aonishuk)

Andrew Onishuk před 11 roky
rodič
revize
afce48094c

+ 7 - 6
ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HIVE/package/scripts/mysql_service.py

@@ -22,19 +22,20 @@ from resource_management import *
 
 
 def mysql_service(daemon_name=None, action='start'):
+  status_cmd = format('service {daemon_name} status | grep running')
+  cmd = format('service {daemon_name} {action}')
   
   if action == 'status':
-    logoutput = False
+    Execute(status_cmd)
   else:
-    logoutput = True
     # required for running hive
     replace_bind_address = format("sed -i 's|^bind-address[ \t]*=.*|bind-address = 0.0.0.0|' {mysql_configname}")  
     Execute(replace_bind_address)
     
-  cmd = format('service {daemon_name} {action}')
-  Execute(cmd,
-          tries=1,
-          logoutput=logoutput)
+    Execute(cmd,
+      logoutput = True,
+      not_if = status_cmd
+    )
 
 
 

+ 6 - 6
ambari-server/src/test/python/stacks/2.0.6/HIVE/test_mysql_server.py

@@ -42,7 +42,7 @@ class TestMySqlServer(RMFTestCase):
     )
     self.assertResourceCalled('Execute', 'service mysql start',
                        logoutput = True,
-                       tries = 1,
+                       not_if = 'service mysql status | grep running'
     )
     self.assertNoMoreResources()
 
@@ -57,7 +57,7 @@ class TestMySqlServer(RMFTestCase):
     )
     self.assertResourceCalled('Execute', 'service mysql stop',
                               logoutput = True,
-                              tries = 1,
+                              not_if = 'service mysql status | grep running',
     )
     self.assertNoMoreResources()
 
@@ -82,7 +82,7 @@ class TestMySqlServer(RMFTestCase):
     )
     self.assertResourceCalled('Execute', 'service mysql start',
                               logoutput = True,
-                              tries = 1,
+                              not_if = 'service mysql status | grep running'
                               )
     self.assertNoMoreResources()
 
@@ -97,7 +97,7 @@ class TestMySqlServer(RMFTestCase):
     )
     self.assertResourceCalled('Execute', 'service mysql stop',
                               logoutput = True,
-                              tries = 1,
+                              not_if = 'service mysql status | grep running'
                               )
     self.assertNoMoreResources()
 
@@ -106,7 +106,7 @@ class TestMySqlServer(RMFTestCase):
     )
     self.assertResourceCalled('Execute', 'service mysql start',
       logoutput = True,
-      tries = 1,
+      not_if = 'service mysql status | grep running'
     )
     self.assertResourceCalled('File', '/tmp/addMysqlUser.sh',
       content = StaticFile('addMysqlUser.sh'),
@@ -123,7 +123,7 @@ class TestMySqlServer(RMFTestCase):
     )
     self.assertResourceCalled('Execute', 'service mysql start',
       logoutput = True,
-      tries = 1,
+      not_if = 'service mysql status | grep running'
     )
     self.assertResourceCalled('File', '/tmp/addMysqlUser.sh',
       content = StaticFile('addMysqlUser.sh'),