This is an automated email from the ASF dual-hosted git repository.

swagle pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git


The following commit(s) were added to refs/heads/trunk by this push:
     new f2b006c  AMBARI-23101. Rhel6: Deploy with NewMySQL for Hive fails 
(aonishuk) (#543)
f2b006c is described below

commit f2b006cce249eb0f62ff9928937605eaa2bb8e46
Author: aonishuk <aonis...@hortonworks.com>
AuthorDate: Mon Mar 5 21:24:04 2018 +0200

    AMBARI-23101. Rhel6: Deploy with NewMySQL for Hive fails (aonishuk) (#543)
---
 .../ambari_agent/dummy_files/alert_definitions.json       |  4 ++--
 .../HIVE/0.12.0.2.0/package/scripts/mysql_server.py       |  6 +++---
 .../HIVE/0.12.0.2.0/package/scripts/mysql_service.py      | 15 ++++++++++++++-
 .../HIVE/0.12.0.2.0/package/scripts/mysql_users.py        |  5 +++++
 .../HIVE/0.12.0.2.0/package/scripts/params_linux.py       |  1 -
 .../HIVE/0.12.0.2.0/package/scripts/status_params.py      |  7 +++----
 .../test/python/stacks/2.0.6/HIVE/test_mysql_server.py    |  2 ++
 7 files changed, 29 insertions(+), 11 deletions(-)

diff --git 
a/ambari-agent/src/test/python/ambari_agent/dummy_files/alert_definitions.json 
b/ambari-agent/src/test/python/ambari_agent/dummy_files/alert_definitions.json
index 341017c..d9a82a7 100644
--- 
a/ambari-agent/src/test/python/ambari_agent/dummy_files/alert_definitions.json
+++ 
b/ambari-agent/src/test/python/ambari_agent/dummy_files/alert_definitions.json
@@ -7,9 +7,9 @@
       {
         "name": "namenode_process", 
         "service": "HDFS", 
-        "component": "NAMENODE", 
-        "interval": 6, 
         "enabled": true, 
+        "interval": 6, 
+        "component": "NAMENODE", 
         "label": "NameNode process", 
         "source": {
           "reporting": {
diff --git 
a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/mysql_server.py
 
b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/mysql_server.py
index d213aa1..76a8b55 100644
--- 
a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/mysql_server.py
+++ 
b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/mysql_server.py
@@ -45,18 +45,18 @@ class MysqlServer(Script):
   def start(self, env, rolling_restart=False):
     import params
     env.set_params(params)
-    mysql_service(daemon_name=params.daemon_name, action='start')
+    mysql_service(action='start')
 
   def stop(self, env, rolling_restart=False):
     import params
     env.set_params(params)
-    mysql_service(daemon_name=params.daemon_name, action='stop')
+    mysql_service(action='stop')
 
   def status(self, env):
     import status_params
     env.set_params(status_params)
 
-    mysql_service(daemon_name=status_params.daemon_name, action='status')
+    mysql_service(action='status')
 
 
 if __name__ == "__main__":
diff --git 
a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/mysql_service.py
 
b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/mysql_service.py
index 7862774..fe6d7b9 100644
--- 
a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/mysql_service.py
+++ 
b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/mysql_service.py
@@ -18,12 +18,25 @@ limitations under the License.
 
 """
 
+import os
 from resource_management.core.resources.system import Execute
 from resource_management.core.exceptions import ComponentIsNotRunning, Fail
 from resource_management.libraries.functions.format import format
 
 
-def mysql_service(daemon_name=None, action='start'): 
+def get_daemon_name():
+  import status_params
+
+  for possible_daemon_name in status_params.POSSIBLE_DAEMON_NAMES:
+    daemon_path = os.path.join(status_params.SERVICES_DIR, 
possible_daemon_name)
+    if os.path.exists(daemon_path):
+      return possible_daemon_name
+
+  raise Fail("Could not find service daemon for mysql")
+
+def mysql_service(action='start'): 
+  daemon_name = get_daemon_name()
+  
   status_cmd = format("pgrep -l '^{process_name}$'")
   cmd = ('service', daemon_name, action)
 
diff --git 
a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/mysql_users.py
 
b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/mysql_users.py
index d34c2bc..f394dda 100644
--- 
a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/mysql_users.py
+++ 
b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/mysql_users.py
@@ -21,6 +21,7 @@ limitations under the License.
 from resource_management.core.resources.system import Execute, File
 from resource_management.core.source import StaticFile
 from resource_management.libraries.functions.format import format
+from mysql_service import get_daemon_name
 
 # Used to add hive access to the needed components
 def mysql_adduser():
@@ -32,6 +33,8 @@ def mysql_adduser():
   )
   hive_server_host = format("{hive_server_host}")
   hive_metastore_host = format("{hive_metastore_host}")
+  
+  daemon_name = get_daemon_name()
 
   add_metastore_cmd = "bash -x {mysql_adduser_path} {daemon_name} 
{hive_metastore_user_name} {hive_metastore_user_passwd!p} {hive_metastore_host}"
   add_hiveserver_cmd = "bash -x {mysql_adduser_path} {daemon_name} 
{hive_metastore_user_name} {hive_metastore_user_passwd!p} {hive_server_host}"
@@ -56,6 +59,8 @@ def mysql_deluser():
   )
   hive_server_host = format("{hive_server_host}")
   hive_metastore_host = format("{hive_metastore_host}")
+  
+  daemon_name = get_daemon_name()
 
   del_hiveserver_cmd = "bash -x {mysql_deluser_path} {daemon_name} 
{hive_metastore_user_name} {hive_server_host}"
   del_metastore_cmd = "bash -x {mysql_deluser_path} {daemon_name} 
{hive_metastore_user_name} {hive_metastore_host}"
diff --git 
a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py
 
b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py
index f9e7ceb..92038e1 100644
--- 
a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py
+++ 
b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py
@@ -504,7 +504,6 @@ parquet_logging_properties = None
 if 'parquet-logging' in config['configurations']:
   parquet_logging_properties = 
config['configurations']['parquet-logging']['content']
 
-daemon_name = status_params.daemon_name
 process_name = status_params.process_name
 hive_env_sh_template = config['configurations']['hive-env']['content']
 
diff --git 
a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/status_params.py
 
b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/status_params.py
index 77e88ca..860f8ac 100644
--- 
a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/status_params.py
+++ 
b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/status_params.py
@@ -69,10 +69,9 @@ else:
   webhcat_pid_file = format('{hcat_pid_dir}/webhcat.pid')
 
   process_name = 'mysqld'
-  if OSCheck.is_suse_family() or OSCheck.is_ubuntu_family():
-    daemon_name = 'mysql'
-  else:
-    daemon_name = 'mysqld'
+  SERVICES_DIR = '/etc/init.d'
+  POSSIBLE_DAEMON_NAMES = ['mysql', 'mysqld', 'mariadb']
+
 
   # Security related/required params
   hostname = config['agentLevelParams']['hostname']
diff --git 
a/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_mysql_server.py 
b/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_mysql_server.py
index 827f6f7..c204117 100644
--- a/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_mysql_server.py
+++ b/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_mysql_server.py
@@ -17,11 +17,13 @@ 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.
 '''
+import os
 from mock.mock import MagicMock, call, patch
 from stacks.utils.RMFTestCase import *
 
 from only_for_platform import not_for_platform, PLATFORM_WINDOWS
 
+@patch("os.path.exists", MagicMock(return_value=True))
 @not_for_platform(PLATFORM_WINDOWS)
 class TestMySqlServer(RMFTestCase):
   COMMON_SERVICES_PACKAGE_DIR = "HIVE/0.12.0.2.0/package"

-- 
To stop receiving notification emails like this one, please contact
swa...@apache.org.

Reply via email to