Browse Source

AMBARI-8837. Disable installing of mysql connector jars and mysql server for external mysql for Hive.(vbrodetskyi)

Vitaly Brodetskyi 10 years ago
parent
commit
dcab108784
19 changed files with 240 additions and 168 deletions
  1. 2 1
      ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hcat_client.py
  2. 10 27
      ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive.py
  3. 4 0
      ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/mysql_server.py
  4. 10 5
      ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params.py
  5. 19 4
      ambari-server/src/main/resources/common-services/OOZIE/4.0.0.2.0/package/scripts/oozie.py
  6. 1 1
      ambari-server/src/main/resources/common-services/OOZIE/4.0.0.2.0/package/scripts/oozie_service.py
  7. 15 3
      ambari-server/src/main/resources/common-services/OOZIE/4.0.0.2.0/package/scripts/params.py
  8. 9 23
      ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HIVE/package/scripts/hive.py
  9. 6 1
      ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HIVE/package/scripts/mysql_server.py
  10. 14 1
      ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HIVE/package/scripts/params.py
  11. 2 1
      ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HIVE/package/scripts/webhcat_server.py
  12. 20 6
      ambari-server/src/main/resources/stacks/HDP/1.3.2/services/OOZIE/package/scripts/oozie.py
  13. 1 1
      ambari-server/src/main/resources/stacks/HDP/1.3.2/services/OOZIE/package/scripts/oozie_service.py
  14. 13 2
      ambari-server/src/main/resources/stacks/HDP/1.3.2/services/OOZIE/package/scripts/params.py
  15. 24 16
      ambari-server/src/test/python/stacks/1.3.2/HIVE/test_hive_metastore.py
  16. 24 16
      ambari-server/src/test/python/stacks/1.3.2/HIVE/test_hive_server.py
  17. 24 22
      ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_metastore.py
  18. 24 22
      ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_server.py
  19. 18 16
      ambari-server/src/test/python/stacks/2.1/HIVE/test_hive_metastore.py

+ 2 - 1
ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hcat_client.py

@@ -24,7 +24,8 @@ from hcat import hcat
 
 
 class HCatClient(Script):
 class HCatClient(Script):
   def install(self, env):
   def install(self, env):
-    self.install_packages(env)
+    import params
+    self.install_packages(env, exclude_packages=params.hive_exclude_packages)
     self.configure(env)
     self.configure(env)
 
 
   def configure(self, env):
   def configure(self, env):

+ 10 - 27
ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive.py

@@ -196,37 +196,20 @@ def crt_file(name):
 def jdbc_connector():
 def jdbc_connector():
   import params
   import params
 
 
-  if params.hive_jdbc_driver == "com.mysql.jdbc.Driver":
-    File(params.target,
-         action="delete",
-    )
-    Execute(('cp', format('/usr/share/java/{jdbc_jar_name}'), params.target),
-            not_if=format("test -f {target}"),
-            creates=params.target,
-            path=["/bin", "/usr/bin/"],
-            sudo=True
-    )
-  elif params.hive_jdbc_driver == "org.postgresql.Driver":
-    cmd = format("mkdir -p {artifact_dir} ; rm -f {target} ; cp /usr/share/java/{jdbc_jar_name} {target}")
-
-    Execute(cmd,
-            not_if=format("test -f {target}"),
-            creates=params.target,
-            environment= {'PATH' : params.execute_path },
-            path=["/bin", "usr/bin/"])
-
-  elif params.hive_jdbc_driver == "oracle.jdbc.driver.OracleDriver":
+  if params.hive_jdbc_driver in params.hive_jdbc_drivers_list:
     environment = {
     environment = {
       "no_proxy": format("{ambari_server_hostname}")
       "no_proxy": format("{ambari_server_hostname}")
     }
     }
 
 
-    cmd = format(
-      "mkdir -p {artifact_dir} ; "
-      "curl -kf -x \"\" --retry 10 {driver_curl_source} -o {driver_curl_target} &&  "
-      "rm -f {target} ; "
-      "cp {driver_curl_target} {target}")
+    Execute(('curl', '-kf', '-x', "", '--retry', '10', params.driver_curl_source, '-o', params.driver_curl_target),
+            not_if=format("test -f {target}"),
+            path=["/bin", "/usr/bin/"],
+            environment=environment,
+            sudo = True)
+
 
 
-    Execute(cmd,
+    Execute(('cp', params.driver_curl_target, params.target),
             not_if=format("test -f {target}"),
             not_if=format("test -f {target}"),
+            creates=params.target,
             path=["/bin", "/usr/bin/"],
             path=["/bin", "/usr/bin/"],
-            environment=environment)
+            sudo = True)

+ 4 - 0
ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/mysql_server.py

@@ -19,6 +19,7 @@ limitations under the License.
 """
 """
 
 
 import sys
 import sys
+import os
 import mysql_users
 import mysql_users
 from resource_management import *
 from resource_management import *
 
 
@@ -29,6 +30,9 @@ from mysql import mysql_configure
 class MysqlServer(Script):
 class MysqlServer(Script):
   def install(self, env):
   def install(self, env):
     import params
     import params
+    Package('mysql-connector-java', action = "remove")
+    if os.path.exists(params.mysql_jdbc_driver_jar):
+      File(params.mysql_jdbc_driver_jar, action = "delete")
     self.install_packages(env, exclude_packages=params.hive_exclude_packages)
     self.install_packages(env, exclude_packages=params.hive_exclude_packages)
     self.configure(env)
     self.configure(env)
 
 

+ 10 - 5
ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params.py

@@ -99,11 +99,12 @@ elif hive_jdbc_driver == "org.postgresql.Driver":
   jdbc_jar_name = "postgresql-jdbc.jar"
   jdbc_jar_name = "postgresql-jdbc.jar"
   jdbc_symlink_name = "postgres-jdbc-driver.jar"
   jdbc_symlink_name = "postgres-jdbc-driver.jar"
 elif hive_jdbc_driver == "oracle.jdbc.driver.OracleDriver":
 elif hive_jdbc_driver == "oracle.jdbc.driver.OracleDriver":
-  jdbc_jar_name = "ojdbc6.jar"
+  jdbc_jar_name = "ojdbc.jar"
   jdbc_symlink_name = "oracle-jdbc-driver.jar"
   jdbc_symlink_name = "oracle-jdbc-driver.jar"
 
 
 check_db_connection_jar_name = "DBConnectionVerification.jar"
 check_db_connection_jar_name = "DBConnectionVerification.jar"
 check_db_connection_jar = format("/usr/lib/ambari-agent/{check_db_connection_jar_name}")
 check_db_connection_jar = format("/usr/lib/ambari-agent/{check_db_connection_jar_name}")
+hive_jdbc_drivers_list = ["com.mysql.jdbc.Driver","org.postgresql.Driver","oracle.jdbc.driver.OracleDriver"]
 
 
 #common
 #common
 hive_metastore_host = config['clusterHostInfo']['hive_metastore_host'][0]
 hive_metastore_host = config['clusterHostInfo']['hive_metastore_host'][0]
@@ -142,6 +143,7 @@ else:
 
 
 #hive-site
 #hive-site
 hive_database_name = config['configurations']['hive-env']['hive_database_name']
 hive_database_name = config['configurations']['hive-env']['hive_database_name']
+hive_database = config['configurations']['hive-env']['hive_database']
 
 
 #Starting hiveserver2
 #Starting hiveserver2
 start_hiveserver2_script = 'startHiveserver2.sh.j2'
 start_hiveserver2_script = 'startHiveserver2.sh.j2'
@@ -242,10 +244,13 @@ mysql_jdbc_driver_jar = "/usr/share/java/mysql-connector-java.jar"
 
 
 # There are other packages that contain /usr/share/java/mysql-connector-java.jar (like libmysql-java),
 # There are other packages that contain /usr/share/java/mysql-connector-java.jar (like libmysql-java),
 # trying to install mysql-connector-java upon them can cause packages to conflict.
 # trying to install mysql-connector-java upon them can cause packages to conflict.
-if os.path.exists(mysql_jdbc_driver_jar):
-  hive_exclude_packages = ['mysql-connector-java']
-else:  
-  hive_exclude_packages = []
+if hive_database.startswith('Existing'):
+  hive_exclude_packages = ['mysql-connector-java','mysql','mysql-server']
+else:
+  if 'role' in config and config['role'] != "MYSQL_SERVER":
+    hive_exclude_packages = ['mysql','mysql-server']
+  else:
+    hive_exclude_packages = []
 
 
 ########################################################
 ########################################################
 ########### WebHCat related params #####################
 ########### WebHCat related params #####################

+ 19 - 4
ambari-server/src/main/resources/common-services/OOZIE/4.0.0.2.0/package/scripts/oozie.py

@@ -154,10 +154,25 @@ def oozie_server_specific():
   )
   )
 
 
   if params.jdbc_driver_name=="com.mysql.jdbc.Driver" or params.jdbc_driver_name=="oracle.jdbc.driver.OracleDriver":
   if params.jdbc_driver_name=="com.mysql.jdbc.Driver" or params.jdbc_driver_name=="oracle.jdbc.driver.OracleDriver":
-    Execute(('cp', params.jdbc_driver_jar, params.oozie_libext_dir),
-      not_if  = no_op_test,
-      sudo = True,
-    )
+
+    environment = {
+      "no_proxy": format("{ambari_server_hostname}")
+    }
+
+    Execute(('curl', '-kf', '-x', "", '--retry', '10', params.driver_curl_source, '-o', params.driver_curl_target),
+            not_if=format("test -f {target}"),
+            path=["/bin", "/usr/bin/"],
+            environment=environment,
+            sudo = True)
+
+
+    Execute(('cp', params.driver_curl_target, params.target),
+            not_if=format("test -f {target}"),
+            creates=params.target,
+            path=["/bin", "/usr/bin/"],
+            sudo = True)
+
+
   #falcon el extension
   #falcon el extension
   if params.has_falcon_host:
   if params.has_falcon_host:
     Execute(format('sudo cp {falcon_home}/oozie/ext/falcon-oozie-el-extension-*.jar {oozie_libext_dir}'),
     Execute(format('sudo cp {falcon_home}/oozie/ext/falcon-oozie-el-extension-*.jar {oozie_libext_dir}'),

+ 1 - 1
ambari-server/src/main/resources/common-services/OOZIE/4.0.0.2.0/package/scripts/oozie_service.py

@@ -32,7 +32,7 @@ def oozie_service(action = 'start'): # 'start' or 'stop'
     if params.jdbc_driver_name == "com.mysql.jdbc.Driver" or \
     if params.jdbc_driver_name == "com.mysql.jdbc.Driver" or \
        params.jdbc_driver_name == "org.postgresql.Driver" or \
        params.jdbc_driver_name == "org.postgresql.Driver" or \
        params.jdbc_driver_name == "oracle.jdbc.driver.OracleDriver":
        params.jdbc_driver_name == "oracle.jdbc.driver.OracleDriver":
-      db_connection_check_command = format("{java_home}/bin/java -cp {check_db_connection_jar}:{jdbc_driver_jar} org.apache.ambari.server.DBConnectionVerification '{oozie_jdbc_connection_url}' {oozie_metastore_user_name} {oozie_metastore_user_passwd!p} {jdbc_driver_name}")
+      db_connection_check_command = format("{java_home}/bin/java -cp {check_db_connection_jar}:{target} org.apache.ambari.server.DBConnectionVerification '{oozie_jdbc_connection_url}' {oozie_metastore_user_name} {oozie_metastore_user_passwd!p} {jdbc_driver_name}")
     else:
     else:
       db_connection_check_command = None
       db_connection_check_command = None
       
       

+ 15 - 3
ambari-server/src/main/resources/common-services/OOZIE/4.0.0.2.0/package/scripts/params.py

@@ -75,6 +75,7 @@ oozie_hdfs_user_dir = format("/user/{oozie_user}")
 oozie_pid_dir = status_params.oozie_pid_dir
 oozie_pid_dir = status_params.oozie_pid_dir
 pid_file = status_params.pid_file
 pid_file = status_params.pid_file
 hadoop_jar_location = "/usr/lib/hadoop/"
 hadoop_jar_location = "/usr/lib/hadoop/"
+java_share_dir = "/usr/share/java"
 # for HDP1 it's "/usr/share/HDP-oozie/ext.zip"
 # for HDP1 it's "/usr/share/HDP-oozie/ext.zip"
 ext_js_file = "ext-2.2.zip"
 ext_js_file = "ext-2.2.zip"
 ext_js_path = format("/usr/share/HDP-oozie/{ext_js_file}")
 ext_js_path = format("/usr/share/HDP-oozie/{ext_js_file}")
@@ -110,13 +111,24 @@ else:
 jdbc_driver_name = default("/configurations/oozie-site/oozie.service.JPAService.jdbc.driver", "")
 jdbc_driver_name = default("/configurations/oozie-site/oozie.service.JPAService.jdbc.driver", "")
 
 
 if jdbc_driver_name == "com.mysql.jdbc.Driver":
 if jdbc_driver_name == "com.mysql.jdbc.Driver":
-  jdbc_driver_jar = "/usr/share/java/mysql-connector-java.jar"
+  jdbc_driver_jar = "mysql-connector-java.jar"
+  jdbc_symlink_name = "mysql-jdbc-driver.jar"
 elif jdbc_driver_name == "org.postgresql.Driver":
 elif jdbc_driver_name == "org.postgresql.Driver":
-  jdbc_driver_jar = format("{oozie_home}/libserver/postgresql-9.0-801.jdbc4.jar")
+  jdbc_driver_jar = format("{oozie_home}/libserver/postgresql-9.0-801.jdbc4.jar")  #oozie using it's own postgres jdbc
+  jdbc_symlink_name = "postgres-jdbc-driver.jar"
 elif jdbc_driver_name == "oracle.jdbc.driver.OracleDriver":
 elif jdbc_driver_name == "oracle.jdbc.driver.OracleDriver":
-  jdbc_driver_jar = "/usr/share/java/ojdbc6.jar"
+  jdbc_driver_jar = "ojdbc.jar"
+  jdbc_symlink_name = "oracle-jdbc-driver.jar"
 else:
 else:
   jdbc_driver_jar = ""
   jdbc_driver_jar = ""
+  jdbc_symlink_name = ""
+
+driver_curl_source = format("{jdk_location}/{jdbc_symlink_name}")
+driver_curl_target = format("{java_share_dir}/{jdbc_driver_jar}")
+if jdbc_driver_name == "org.postgresql.Driver":
+  target = jdbc_driver_jar
+else:
+  target = format("{oozie_libext_dir}/{jdbc_driver_jar}")
 
 
 hostname = config["hostname"]
 hostname = config["hostname"]
 ambari_server_hostname = config['clusterHostInfo']['ambari_server_host'][0]
 ambari_server_hostname = config['clusterHostInfo']['ambari_server_host'][0]

+ 9 - 23
ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HIVE/package/scripts/hive.py

@@ -161,34 +161,20 @@ def crt_file(name):
 def jdbc_connector():
 def jdbc_connector():
   import params
   import params
 
 
-  if params.hive_jdbc_driver == "com.mysql.jdbc.Driver":
-    cmd = ('cp', format('/usr/share/java/{jdbc_jar_name}'), params.target)
+  if params.hive_jdbc_driver in params.hive_jdbc_drivers_list:
+    environment = {
+      "no_proxy": format("{ambari_server_hostname}")
+    }
 
 
-    Execute(cmd,
+    Execute(('curl', '-kf', '-x', "", '--retry', '10', params.driver_curl_source, '-o', params.driver_curl_target),
             not_if=format("test -f {target}"),
             not_if=format("test -f {target}"),
-            creates=params.target,
             path=["/bin", "/usr/bin/"],
             path=["/bin", "/usr/bin/"],
-            sudo=True
-    )
+            environment=environment,
+            sudo = True)
 
 
-  elif params.hive_jdbc_driver == "org.postgresql.Driver":
-    cmd = format("mkdir -p {artifact_dir} ; cp /usr/share/java/{jdbc_jar_name} {target}")
 
 
-    Execute(cmd,
+    Execute(('cp', params.driver_curl_target, params.target),
             not_if=format("test -f {target}"),
             not_if=format("test -f {target}"),
             creates=params.target,
             creates=params.target,
-            path=["/bin", "usr/bin/"])
-
-  elif params.hive_jdbc_driver == "oracle.jdbc.driver.OracleDriver":
-    environment = {
-      "no_proxy": format("{ambari_server_hostname}")
-    }
-
-    cmd = format(
-      "mkdir -p {artifact_dir} ; curl -kf -x \"\" --retry 10 {driver_curl_source} -o {driver_curl_target} &&  "
-      "cp {driver_curl_target} {target}")
-
-    Execute(cmd,
-            not_if=format("test -f {target}"),
             path=["/bin", "/usr/bin/"],
             path=["/bin", "/usr/bin/"],
-            environment=environment)
+            sudo = True)

+ 6 - 1
ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HIVE/package/scripts/mysql_server.py

@@ -19,6 +19,7 @@ limitations under the License.
 """
 """
 
 
 import sys
 import sys
+import os
 from resource_management import *
 from resource_management import *
 
 
 from mysql_service import mysql_service
 from mysql_service import mysql_service
@@ -26,7 +27,11 @@ from mysql_service import mysql_service
 class MysqlServer(Script):
 class MysqlServer(Script):
 
 
   def install(self, env):
   def install(self, env):
-    self.install_packages(env)
+    import params
+    Package('mysql-connector-java', action = "remove")
+    if os.path.exists(params.mysql_jdbc_driver_jar):
+      File(params.mysql_jdbc_driver_jar, action = "delete")
+    self.install_packages(env, exclude_packages=params.hive_exclude_packages)
     self.configure(env)
     self.configure(env)
 
 
   def configure(self, env):
   def configure(self, env):

+ 14 - 1
ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HIVE/package/scripts/params.py

@@ -43,11 +43,12 @@ elif hive_jdbc_driver == "org.postgresql.Driver":
   jdbc_jar_name = "postgresql-jdbc.jar"
   jdbc_jar_name = "postgresql-jdbc.jar"
   jdbc_symlink_name = "postgres-jdbc-driver.jar"
   jdbc_symlink_name = "postgres-jdbc-driver.jar"
 elif hive_jdbc_driver == "oracle.jdbc.driver.OracleDriver":
 elif hive_jdbc_driver == "oracle.jdbc.driver.OracleDriver":
-  jdbc_jar_name = "ojdbc6.jar"
+  jdbc_jar_name = "ojdbc.jar"
   jdbc_symlink_name = "oracle-jdbc-driver.jar"
   jdbc_symlink_name = "oracle-jdbc-driver.jar"
 
 
 check_db_connection_jar_name = "DBConnectionVerification.jar"
 check_db_connection_jar_name = "DBConnectionVerification.jar"
 check_db_connection_jar = format("/usr/lib/ambari-agent/{check_db_connection_jar_name}")
 check_db_connection_jar = format("/usr/lib/ambari-agent/{check_db_connection_jar_name}")
+hive_jdbc_drivers_list = ["com.mysql.jdbc.Driver","org.postgresql.Driver","oracle.jdbc.driver.OracleDriver"]
 
 
 #common
 #common
 hive_metastore_port = get_port_from_url(config['configurations']['hive-site']['hive.metastore.uris']) #"9083"
 hive_metastore_port = get_port_from_url(config['configurations']['hive-site']['hive.metastore.uris']) #"9083"
@@ -81,6 +82,18 @@ if 'role' in config and config['role'] in ["HIVE_SERVER", "HIVE_METASTORE"]:
 
 
 #hive-site
 #hive-site
 hive_database_name = config['configurations']['hive-env']['hive_database_name']
 hive_database_name = config['configurations']['hive-env']['hive_database_name']
+hive_database = config['configurations']['hive-env']['hive_database']
+
+
+mysql_jdbc_driver_jar = "/usr/share/java/mysql-connector-java.jar"
+
+if hive_database.startswith('Existing'):
+  hive_exclude_packages = ['mysql-connector-java','mysql','mysql-server']
+else:
+  if 'role' in config and config['role'] != "MYSQL_SERVER":
+    hive_exclude_packages = ['mysql','mysql-server']
+  else:
+    hive_exclude_packages = []
 
 
 #Starting hiveserver2
 #Starting hiveserver2
 start_hiveserver2_script = 'startHiveserver2.sh'
 start_hiveserver2_script = 'startHiveserver2.sh'

+ 2 - 1
ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HIVE/package/scripts/webhcat_server.py

@@ -26,7 +26,8 @@ from webhcat_service import webhcat_service
 
 
 class WebHCatServer(Script):
 class WebHCatServer(Script):
   def install(self, env):
   def install(self, env):
-    self.install_packages(env)
+    import params
+    self.install_packages(env, exclude_packages=params.hive_exclude_packages)
   def configure(self, env):
   def configure(self, env):
     import params
     import params
     env.set_params(params)
     env.set_params(params)

+ 20 - 6
ambari-server/src/main/resources/stacks/HDP/1.3.2/services/OOZIE/package/scripts/oozie.py

@@ -139,13 +139,27 @@ def oozie_server_specific(
     not_if  = no_op_test,
     not_if  = no_op_test,
     sudo = True
     sudo = True
   )
   )
-  
+
   if params.jdbc_driver_name=="com.mysql.jdbc.Driver" or params.jdbc_driver_name=="oracle.jdbc.driver.OracleDriver":
   if params.jdbc_driver_name=="com.mysql.jdbc.Driver" or params.jdbc_driver_name=="oracle.jdbc.driver.OracleDriver":
-    Execute(('cp', params.jdbc_driver_jar, params.oozie_libext_dir),
-      not_if  = no_op_test,
-      sudo = True
-    )
-  
+
+    environment = {
+      "no_proxy": format("{ambari_server_hostname}")
+    }
+
+    Execute(('curl', '-kf', '-x', "", '--retry', '10', params.driver_curl_source, '-o', params.driver_curl_target),
+            not_if=format("test -f {target}"),
+            path=["/bin", "/usr/bin/"],
+            environment=environment,
+            sudo = True)
+
+
+    Execute(('cp', params.driver_curl_target, params.target),
+            not_if=format("test -f {target}"),
+            creates=params.target,
+            path=["/bin", "/usr/bin/"],
+            sudo = True)
+
+
   oozie_setup_cmd = format("cd {oozie_tmp_dir} && /usr/lib/oozie/bin/oozie-setup.sh -hadoop 0.20.200 {hadoop_jar_location} -extjs {ext_js_path} {jar_option} {jar_path}")
   oozie_setup_cmd = format("cd {oozie_tmp_dir} && /usr/lib/oozie/bin/oozie-setup.sh -hadoop 0.20.200 {hadoop_jar_location} -extjs {ext_js_path} {jar_option} {jar_path}")
   Execute( oozie_setup_cmd,
   Execute( oozie_setup_cmd,
     user = params.oozie_user,
     user = params.oozie_user,

+ 1 - 1
ambari-server/src/main/resources/stacks/HDP/1.3.2/services/OOZIE/package/scripts/oozie_service.py

@@ -32,7 +32,7 @@ def oozie_service(action = 'start'): # 'start' or 'stop'
     if params.jdbc_driver_name == "com.mysql.jdbc.Driver" or \
     if params.jdbc_driver_name == "com.mysql.jdbc.Driver" or \
        params.jdbc_driver_name == "org.postgresql.Driver" or \
        params.jdbc_driver_name == "org.postgresql.Driver" or \
        params.jdbc_driver_name == "oracle.jdbc.driver.OracleDriver":
        params.jdbc_driver_name == "oracle.jdbc.driver.OracleDriver":
-      db_connection_check_command = format("{java_home}/bin/java -cp {check_db_connection_jar}:{jdbc_driver_jar} org.apache.ambari.server.DBConnectionVerification '{oozie_jdbc_connection_url}' {oozie_metastore_user_name} {oozie_metastore_user_passwd!p} {jdbc_driver_name}")
+      db_connection_check_command = format("{java_home}/bin/java -cp {check_db_connection_jar}:{target} org.apache.ambari.server.DBConnectionVerification '{oozie_jdbc_connection_url}' {oozie_metastore_user_name} {oozie_metastore_user_passwd!p} {jdbc_driver_name}")
     else:
     else:
       db_connection_check_command = None
       db_connection_check_command = None
       
       

+ 13 - 2
ambari-server/src/main/resources/stacks/HDP/1.3.2/services/OOZIE/package/scripts/params.py

@@ -72,13 +72,24 @@ oozie_env_sh_template = config['configurations']['oozie-env']['content']
 
 
 if jdbc_driver_name == "com.mysql.jdbc.Driver":
 if jdbc_driver_name == "com.mysql.jdbc.Driver":
   jdbc_driver_jar = "/usr/share/java/mysql-connector-java.jar"
   jdbc_driver_jar = "/usr/share/java/mysql-connector-java.jar"
+  jdbc_symlink_name = "mysql-jdbc-driver.jar"
 elif jdbc_driver_name == "org.postgresql.Driver":
 elif jdbc_driver_name == "org.postgresql.Driver":
-  jdbc_driver_jar = "/usr/lib/oozie/libtools/postgresql-9.0-801.jdbc4.jar"
+  jdbc_driver_jar = format("{oozie_home}/libtools/postgresql-9.0-801.jdbc4.jar") #oozie using it's own postgres jdbc
+  jdbc_symlink_name = "postgres-jdbc-driver.jar"
 elif jdbc_driver_name == "oracle.jdbc.driver.OracleDriver":
 elif jdbc_driver_name == "oracle.jdbc.driver.OracleDriver":
   jdbc_driver_jar = "/usr/share/java/ojdbc6.jar"
   jdbc_driver_jar = "/usr/share/java/ojdbc6.jar"
+  jdbc_symlink_name = "oracle-jdbc-driver.jar"
 else:
 else:
   jdbc_driver_jar = ""
   jdbc_driver_jar = ""
-  
+  jdbc_symlink_name = ""
+
+driver_curl_source = format("{jdk_location}/{jdbc_symlink_name}")
+driver_curl_target = format("{java_share_dir}/{jdbc_driver_jar}")
+if jdbc_driver_name == "org.postgresql.Driver":
+  target = jdbc_driver_jar
+else:
+  target = format("{oozie_libext_dir}/{jdbc_driver_jar}")
+
 if lzo_enabled or jdbc_driver_name:
 if lzo_enabled or jdbc_driver_name:
   jar_option = "-jars"         
   jar_option = "-jars"         
 else:
 else:

+ 24 - 16
ambari-server/src/test/python/stacks/1.3.2/HIVE/test_hive_metastore.py

@@ -165,14 +165,18 @@ class TestHiveMetastore(RMFTestCase):
     self.assertNoMoreResources()
     self.assertNoMoreResources()
 
 
   def assert_configure_default(self):
   def assert_configure_default(self):
-    self.assertResourceCalled('Execute', ('cp',
-     '/usr/share/java/mysql-connector-java.jar',
-     '/usr/lib/hive/lib//mysql-connector-java.jar'),
-        creates = '/usr/lib/hive/lib//mysql-connector-java.jar',
-        path = ['/bin', '/usr/bin/'],
-        sudo = True,
-        not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
-    )
+    self.assertResourceCalled('Execute', ('curl', '-kf', '-x', "", '--retry', '10', u'http://c6401.ambari.apache.org:8080/resources//mysql-jdbc-driver.jar', '-o', '/usr/share/java/mysql-connector-java.jar'),
+                              environment = {'no_proxy': 'c6401.ambari.apache.org'},
+                              path = ['/bin', '/usr/bin/'],
+                              sudo = True,
+                              not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
+                              )
+    self.assertResourceCalled('Execute', ('cp', '/usr/share/java/mysql-connector-java.jar', '/usr/lib/hive/lib//mysql-connector-java.jar'),
+                              creates = '/usr/lib/hive/lib//mysql-connector-java.jar',
+                              path = ['/bin', '/usr/bin/'],
+                              sudo = True,
+                              not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
+                              )
     self.assertResourceCalled('Directory', '/etc/hive/conf',
     self.assertResourceCalled('Directory', '/etc/hive/conf',
       owner = 'hive',
       owner = 'hive',
       group = 'hadoop',
       group = 'hadoop',
@@ -232,14 +236,18 @@ class TestHiveMetastore(RMFTestCase):
     )
     )
 
 
   def assert_configure_secured(self):
   def assert_configure_secured(self):
-    self.assertResourceCalled('Execute', ('cp',
-     '/usr/share/java/mysql-connector-java.jar',
-     '/usr/lib/hive/lib//mysql-connector-java.jar'),
-        creates = '/usr/lib/hive/lib//mysql-connector-java.jar',
-        path = ['/bin', '/usr/bin/'],
-        sudo = True,
-        not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
-    )
+    self.assertResourceCalled('Execute', ('curl', '-kf', '-x', "", '--retry', '10', u'http://c6401.ambari.apache.org:8080/resources//mysql-jdbc-driver.jar', '-o', '/usr/share/java/mysql-connector-java.jar'),
+                              environment = {'no_proxy': 'c6401.ambari.apache.org'},
+                              path = ['/bin', '/usr/bin/'],
+                              sudo = True,
+                              not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
+                              )
+    self.assertResourceCalled('Execute', ('cp', '/usr/share/java/mysql-connector-java.jar', '/usr/lib/hive/lib//mysql-connector-java.jar'),
+                              creates = '/usr/lib/hive/lib//mysql-connector-java.jar',
+                              path = ['/bin', '/usr/bin/'],
+                              sudo = True,
+                              not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
+                              )
     self.assertResourceCalled('Directory', '/etc/hive/conf',
     self.assertResourceCalled('Directory', '/etc/hive/conf',
       owner = 'hive',
       owner = 'hive',
       group = 'hadoop',
       group = 'hadoop',

+ 24 - 16
ambari-server/src/test/python/stacks/1.3.2/HIVE/test_hive_server.py

@@ -214,14 +214,18 @@ class TestHiveServer(RMFTestCase):
                               kinit_path_local = "/usr/bin/kinit",
                               kinit_path_local = "/usr/bin/kinit",
                               action = ['create'],
                               action = ['create'],
                               )
                               )
-    self.assertResourceCalled('Execute', ('cp',
-     '/usr/share/java/mysql-connector-java.jar',
-     '/usr/lib/hive/lib//mysql-connector-java.jar'),
-        creates = '/usr/lib/hive/lib//mysql-connector-java.jar',
-        path = ['/bin', '/usr/bin/'],
-        sudo = True,
-        not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
-    )
+    self.assertResourceCalled('Execute', ('curl', '-kf', '-x', "", '--retry', '10', u'http://c6401.ambari.apache.org:8080/resources//mysql-jdbc-driver.jar', '-o', '/usr/share/java/mysql-connector-java.jar'),
+                              environment = {'no_proxy': 'c6401.ambari.apache.org'},
+                              path = ['/bin', '/usr/bin/'],
+                              sudo = True,
+                              not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
+                              )
+    self.assertResourceCalled('Execute', ('cp', '/usr/share/java/mysql-connector-java.jar', '/usr/lib/hive/lib//mysql-connector-java.jar'),
+                              creates = '/usr/lib/hive/lib//mysql-connector-java.jar',
+                              path = ['/bin', '/usr/bin/'],
+                              sudo = True,
+                              not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
+                              )
     self.assertResourceCalled('Directory', '/etc/hive/conf',
     self.assertResourceCalled('Directory', '/etc/hive/conf',
                               owner = 'hive',
                               owner = 'hive',
                               group = 'hadoop',
                               group = 'hadoop',
@@ -309,14 +313,18 @@ class TestHiveServer(RMFTestCase):
                               kinit_path_local = '/usr/bin/kinit',
                               kinit_path_local = '/usr/bin/kinit',
                               action = ['create'],
                               action = ['create'],
                               )
                               )
-    self.assertResourceCalled('Execute', ('cp',
-     '/usr/share/java/mysql-connector-java.jar',
-     '/usr/lib/hive/lib//mysql-connector-java.jar'),
-        creates = '/usr/lib/hive/lib//mysql-connector-java.jar',
-        path = ['/bin', '/usr/bin/'],
-        sudo = True,
-        not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
-    )
+    self.assertResourceCalled('Execute', ('curl', '-kf', '-x', "", '--retry', '10', u'http://c6401.ambari.apache.org:8080/resources//mysql-jdbc-driver.jar', '-o', '/usr/share/java/mysql-connector-java.jar'),
+                              environment = {'no_proxy': 'c6401.ambari.apache.org'},
+                              path = ['/bin', '/usr/bin/'],
+                              sudo = True,
+                              not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
+                              )
+    self.assertResourceCalled('Execute', ('cp', '/usr/share/java/mysql-connector-java.jar', '/usr/lib/hive/lib//mysql-connector-java.jar'),
+                              creates = '/usr/lib/hive/lib//mysql-connector-java.jar',
+                              path = ['/bin', '/usr/bin/'],
+                              sudo = True,
+                              not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
+                              )
     self.assertResourceCalled('Directory', '/etc/hive/conf',
     self.assertResourceCalled('Directory', '/etc/hive/conf',
                               owner = 'hive',
                               owner = 'hive',
                               group = 'hadoop',
                               group = 'hadoop',

+ 24 - 22
ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_metastore.py

@@ -209,17 +209,18 @@ class TestHiveMetastore(RMFTestCase):
                               owner = 'hive',
                               owner = 'hive',
                               group = 'hadoop',
                               group = 'hadoop',
                               )
                               )
-    self.assertResourceCalled('File', '/usr/lib/hive/lib//mysql-connector-java.jar',
-        action = ['delete'],
-    )
-    self.assertResourceCalled('Execute', ('cp',
-     '/usr/share/java/mysql-connector-java.jar',
-     '/usr/lib/hive/lib//mysql-connector-java.jar'),
-        creates = '/usr/lib/hive/lib//mysql-connector-java.jar',
-        path = ['/bin', '/usr/bin/'],
-        sudo = True,
-        not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
-    )
+    self.assertResourceCalled('Execute', ('curl', '-kf', '-x', "", '--retry', '10', u'http://c6401.ambari.apache.org:8080/resources//mysql-jdbc-driver.jar', '-o', '/usr/share/java/mysql-connector-java.jar'),
+                              environment = {'no_proxy': 'c6401.ambari.apache.org'},
+                              path = ['/bin', '/usr/bin/'],
+                              sudo = True,
+                              not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
+                              )
+    self.assertResourceCalled('Execute', ('cp', '/usr/share/java/mysql-connector-java.jar', '/usr/lib/hive/lib//mysql-connector-java.jar'),
+                              creates = '/usr/lib/hive/lib//mysql-connector-java.jar',
+                              path = ['/bin', '/usr/bin/'],
+                              sudo = True,
+                              not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
+                              )
     self.assertResourceCalled('Execute', '/bin/sh -c \'cd /usr/lib/ambari-agent/ && curl -kf -x "" --retry 5 http://c6401.ambari.apache.org:8080/resources/DBConnectionVerification.jar -o DBConnectionVerification.jar\'',
     self.assertResourceCalled('Execute', '/bin/sh -c \'cd /usr/lib/ambari-agent/ && curl -kf -x "" --retry 5 http://c6401.ambari.apache.org:8080/resources/DBConnectionVerification.jar -o DBConnectionVerification.jar\'',
         environment = {'no_proxy': 'c6401.ambari.apache.org'},
         environment = {'no_proxy': 'c6401.ambari.apache.org'},
         not_if = '[ -f /usr/lib/ambari-agent/DBConnectionVerification.jar ]',
         not_if = '[ -f /usr/lib/ambari-agent/DBConnectionVerification.jar ]',
@@ -330,17 +331,18 @@ class TestHiveMetastore(RMFTestCase):
                               owner = 'hive',
                               owner = 'hive',
                               group = 'hadoop',
                               group = 'hadoop',
                               )
                               )
-    self.assertResourceCalled('File', '/usr/lib/hive/lib//mysql-connector-java.jar',
-        action = ['delete'],
-    )
-    self.assertResourceCalled('Execute', ('cp',
-     '/usr/share/java/mysql-connector-java.jar',
-     '/usr/lib/hive/lib//mysql-connector-java.jar'),
-        creates = '/usr/lib/hive/lib//mysql-connector-java.jar',
-        path = ['/bin', '/usr/bin/'],
-        sudo = True,
-        not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
-    )
+    self.assertResourceCalled('Execute', ('curl', '-kf', '-x', "", '--retry', '10', u'http://c6401.ambari.apache.org:8080/resources//mysql-jdbc-driver.jar', '-o', '/usr/share/java/mysql-connector-java.jar'),
+                              environment = {'no_proxy': 'c6401.ambari.apache.org'},
+                              path = ['/bin', '/usr/bin/'],
+                              sudo = True,
+                              not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
+                              )
+    self.assertResourceCalled('Execute', ('cp', '/usr/share/java/mysql-connector-java.jar', '/usr/lib/hive/lib//mysql-connector-java.jar'),
+                              creates = '/usr/lib/hive/lib//mysql-connector-java.jar',
+                              path = ['/bin', '/usr/bin/'],
+                              sudo = True,
+                              not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
+                              )
     self.assertResourceCalled('Execute', '/bin/sh -c \'cd /usr/lib/ambari-agent/ && curl -kf -x "" --retry 5 http://c6401.ambari.apache.org:8080/resources/DBConnectionVerification.jar -o DBConnectionVerification.jar\'',
     self.assertResourceCalled('Execute', '/bin/sh -c \'cd /usr/lib/ambari-agent/ && curl -kf -x "" --retry 5 http://c6401.ambari.apache.org:8080/resources/DBConnectionVerification.jar -o DBConnectionVerification.jar\'',
         environment = {'no_proxy': 'c6401.ambari.apache.org'},
         environment = {'no_proxy': 'c6401.ambari.apache.org'},
         not_if = '[ -f /usr/lib/ambari-agent/DBConnectionVerification.jar ]',
         not_if = '[ -f /usr/lib/ambari-agent/DBConnectionVerification.jar ]',

+ 24 - 22
ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_server.py

@@ -329,17 +329,18 @@ class TestHiveServer(RMFTestCase):
                               owner = 'hive',
                               owner = 'hive',
                               group = 'hadoop',
                               group = 'hadoop',
                               )
                               )
-    self.assertResourceCalled('File', '/usr/lib/hive/lib//mysql-connector-java.jar',
-        action = ['delete'],
-    )
-    self.assertResourceCalled('Execute', ('cp',
-     '/usr/share/java/mysql-connector-java.jar',
-     '/usr/lib/hive/lib//mysql-connector-java.jar'),
-        creates = '/usr/lib/hive/lib//mysql-connector-java.jar',
-        path = ['/bin', '/usr/bin/'],
-        sudo = True,
-        not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
-    )
+    self.assertResourceCalled('Execute', ('curl', '-kf', '-x', "", '--retry', '10', u'http://c6401.ambari.apache.org:8080/resources//mysql-jdbc-driver.jar', '-o', '/usr/share/java/mysql-connector-java.jar'),
+                              environment = {'no_proxy': 'c6401.ambari.apache.org'},
+                              path = ['/bin', '/usr/bin/'],
+                              sudo = True,
+                              not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
+                              )
+    self.assertResourceCalled('Execute', ('cp', '/usr/share/java/mysql-connector-java.jar', '/usr/lib/hive/lib//mysql-connector-java.jar'),
+                              creates = '/usr/lib/hive/lib//mysql-connector-java.jar',
+                              path = ['/bin', '/usr/bin/'],
+                              sudo = True,
+                              not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
+                              )
     self.assertResourceCalled('Execute', '/bin/sh -c \'cd /usr/lib/ambari-agent/ && curl -kf -x "" --retry 5 http://c6401.ambari.apache.org:8080/resources/DBConnectionVerification.jar -o DBConnectionVerification.jar\'',
     self.assertResourceCalled('Execute', '/bin/sh -c \'cd /usr/lib/ambari-agent/ && curl -kf -x "" --retry 5 http://c6401.ambari.apache.org:8080/resources/DBConnectionVerification.jar -o DBConnectionVerification.jar\'',
         environment = {'no_proxy': 'c6401.ambari.apache.org'},
         environment = {'no_proxy': 'c6401.ambari.apache.org'},
         not_if = '[ -f /usr/lib/ambari-agent/DBConnectionVerification.jar ]',
         not_if = '[ -f /usr/lib/ambari-agent/DBConnectionVerification.jar ]',
@@ -481,17 +482,18 @@ class TestHiveServer(RMFTestCase):
                               owner = 'hive',
                               owner = 'hive',
                               group = 'hadoop',
                               group = 'hadoop',
                               )
                               )
-    self.assertResourceCalled('File', '/usr/lib/hive/lib//mysql-connector-java.jar',
-        action = ['delete'],
-    )
-    self.assertResourceCalled('Execute', ('cp',
-     '/usr/share/java/mysql-connector-java.jar',
-     '/usr/lib/hive/lib//mysql-connector-java.jar'),
-        creates = '/usr/lib/hive/lib//mysql-connector-java.jar',
-        path = ['/bin', '/usr/bin/'],
-        sudo = True,
-        not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
-    )
+    self.assertResourceCalled('Execute', ('curl', '-kf', '-x', "", '--retry', '10', u'http://c6401.ambari.apache.org:8080/resources//mysql-jdbc-driver.jar', '-o', '/usr/share/java/mysql-connector-java.jar'),
+                              environment = {'no_proxy': 'c6401.ambari.apache.org'},
+                              path = ['/bin', '/usr/bin/'],
+                              sudo = True,
+                              not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
+                              )
+    self.assertResourceCalled('Execute', ('cp', '/usr/share/java/mysql-connector-java.jar', '/usr/lib/hive/lib//mysql-connector-java.jar'),
+                              creates = '/usr/lib/hive/lib//mysql-connector-java.jar',
+                              path = ['/bin', '/usr/bin/'],
+                              sudo = True,
+                              not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
+                              )
     self.assertResourceCalled('Execute', '/bin/sh -c \'cd /usr/lib/ambari-agent/ && curl -kf -x "" --retry 5 http://c6401.ambari.apache.org:8080/resources/DBConnectionVerification.jar -o DBConnectionVerification.jar\'',
     self.assertResourceCalled('Execute', '/bin/sh -c \'cd /usr/lib/ambari-agent/ && curl -kf -x "" --retry 5 http://c6401.ambari.apache.org:8080/resources/DBConnectionVerification.jar -o DBConnectionVerification.jar\'',
         environment = {'no_proxy': 'c6401.ambari.apache.org'},
         environment = {'no_proxy': 'c6401.ambari.apache.org'},
         not_if = '[ -f /usr/lib/ambari-agent/DBConnectionVerification.jar ]',
         not_if = '[ -f /usr/lib/ambari-agent/DBConnectionVerification.jar ]',

+ 18 - 16
ambari-server/src/test/python/stacks/2.1/HIVE/test_hive_metastore.py

@@ -187,17 +187,18 @@ class TestHiveMetastore(RMFTestCase):
                               owner = 'hive',
                               owner = 'hive',
                               group = 'hadoop',
                               group = 'hadoop',
                               )
                               )
-    self.assertResourceCalled('File', '/usr/lib/hive/lib//mysql-connector-java.jar',
-        action = ['delete'],
-    )
-    self.assertResourceCalled('Execute', ('cp',
-     '/usr/share/java/mysql-connector-java.jar',
-     '/usr/lib/hive/lib//mysql-connector-java.jar'),
-        creates = '/usr/lib/hive/lib//mysql-connector-java.jar',
-        path = ['/bin', '/usr/bin/'],
-        sudo = True,
-        not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
-    )
+    self.assertResourceCalled('Execute', ('curl', '-kf', '-x', "", '--retry', '10', u'http://c6401.ambari.apache.org:8080/resources//mysql-jdbc-driver.jar', '-o', '/usr/share/java/mysql-connector-java.jar'),
+                              environment = {'no_proxy': 'c6401.ambari.apache.org'},
+                              path = ['/bin', '/usr/bin/'],
+                              sudo = True,
+                              not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
+                              )
+    self.assertResourceCalled('Execute', ('cp', '/usr/share/java/mysql-connector-java.jar', '/usr/lib/hive/lib//mysql-connector-java.jar'),
+                              creates = '/usr/lib/hive/lib//mysql-connector-java.jar',
+                              path = ['/bin', '/usr/bin/'],
+                              sudo = True,
+                              not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
+                              )
     self.assertResourceCalled('Execute', '/bin/sh -c \'cd /usr/lib/ambari-agent/ && curl -kf -x "" --retry 5 http://c6401.ambari.apache.org:8080/resources/DBConnectionVerification.jar -o DBConnectionVerification.jar\'',
     self.assertResourceCalled('Execute', '/bin/sh -c \'cd /usr/lib/ambari-agent/ && curl -kf -x "" --retry 5 http://c6401.ambari.apache.org:8080/resources/DBConnectionVerification.jar -o DBConnectionVerification.jar\'',
         environment = {'no_proxy': 'c6401.ambari.apache.org'},
         environment = {'no_proxy': 'c6401.ambari.apache.org'},
         not_if = '[ -f /usr/lib/ambari-agent/DBConnectionVerification.jar ]',
         not_if = '[ -f /usr/lib/ambari-agent/DBConnectionVerification.jar ]',
@@ -287,12 +288,13 @@ class TestHiveMetastore(RMFTestCase):
                               owner = 'hive',
                               owner = 'hive',
                               group = 'hadoop',
                               group = 'hadoop',
                               )
                               )
-    self.assertResourceCalled('File', '/usr/lib/hive/lib//mysql-connector-java.jar',
-        action = ['delete'],
+    self.assertResourceCalled('Execute', ('curl', '-kf', '-x', "", '--retry', '10', u'http://c6401.ambari.apache.org:8080/resources//mysql-jdbc-driver.jar', '-o', '/usr/share/java/mysql-connector-java.jar'),
+        environment = {'no_proxy': 'c6401.ambari.apache.org'},
+        path = ['/bin', '/usr/bin/'],
+        sudo = True,
+        not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
     )
     )
-    self.assertResourceCalled('Execute', ('cp',
-     '/usr/share/java/mysql-connector-java.jar',
-     '/usr/lib/hive/lib//mysql-connector-java.jar'),
+    self.assertResourceCalled('Execute', ('cp', '/usr/share/java/mysql-connector-java.jar', '/usr/lib/hive/lib//mysql-connector-java.jar'),
         creates = '/usr/lib/hive/lib//mysql-connector-java.jar',
         creates = '/usr/lib/hive/lib//mysql-connector-java.jar',
         path = ['/bin', '/usr/bin/'],
         path = ['/bin', '/usr/bin/'],
         sudo = True,
         sudo = True,