AMBARI-22631. Hive MetaStore does not start even after passing the mysql-connector to ambari-server. (mpapirkovskyy)
diff --git a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive.py b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive.py
index 0822320..f0fdc02 100644
--- a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive.py
+++ b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive.py
@@ -509,7 +509,7 @@
   if not params.jdbc_jar_name:
     return
 
-  if params.hive_jdbc_driver in params.hive_jdbc_drivers_list and params.hive_use_existing_db:
+  if params.hive_jdbc_driver in params.hive_jdbc_drivers_list:
     environment = {
       "no_proxy": format("{ambari_server_hostname}")
     }
diff --git a/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_metastore.py b/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_metastore.py
index a2b983e..cf661c1 100644
--- a/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_metastore.py
+++ b/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_metastore.py
@@ -229,9 +229,16 @@
                               group = 'root',
                               mode = 0644,
                               )
+    self.assertResourceCalled('Execute', ('rm', '-f',
+                                          '/usr/hdp/current/hive-server2/lib/ojdbc6.jar'),
+                              path=["/bin", "/usr/bin/"],
+                              sudo = True,
+                              )
+    self.assertResourceCalled('File', '/tmp/mysql-connector-java.jar',
+                              content = DownloadSource('http://c6401.ambari.apache.org:8080/resources//mysql-connector-java.jar'))
     self.assertResourceCalled('Execute', ('cp',
                                           '--remove-destination',
-                                          '/usr/share/java/mysql-connector-java.jar',
+                                          '/tmp/mysql-connector-java.jar',
                                           '/usr/hdp/current/hive-server2/lib/mysql-connector-java.jar'),
                               path = ['/bin', '/usr/bin/'],
                               sudo = True,
@@ -348,9 +355,16 @@
                               owner = 'hive',
                               group = 'hadoop',
                               )
+    self.assertResourceCalled('Execute', ('rm', '-f',
+                                          '/usr/hdp/current/hive-server2/lib/ojdbc6.jar'),
+                              path=["/bin", "/usr/bin/"],
+                              sudo = True,
+                              )
+    self.assertResourceCalled('File', '/tmp/mysql-connector-java.jar',
+                              content = DownloadSource('http://c6401.ambari.apache.org:8080/resources//mysql-connector-java.jar'))
     self.assertResourceCalled('Execute', ('cp',
                                           '--remove-destination',
-                                          '/usr/share/java/mysql-connector-java.jar',
+                                          '/tmp/mysql-connector-java.jar',
                                           '/usr/hdp/current/hive-server2/lib/mysql-connector-java.jar'),
                               path = ['/bin', '/usr/bin/'],
                               sudo = True,
@@ -494,12 +508,20 @@
                               group = 'root',
                               mode = 0644)
 
+    self.assertResourceCalled('Execute', ('rm', '-f',
+                                          '/usr/hdp/current/hive-server2/lib/ojdbc6.jar'),
+                              path=["/bin", "/usr/bin/"],
+                              sudo = True,
+                              )
+    self.assertResourceCalled('File', '/tmp/mysql-connector-java.jar',
+                              content = DownloadSource('http://c6401.ambari.apache.org:8080/resources//mysql-connector-java.jar'))
     self.assertResourceCalled('Execute', ('cp',
                                           '--remove-destination',
-                                          '/usr/share/java/mysql-connector-java.jar',
+                                          '/tmp/mysql-connector-java.jar',
                                           '/usr/hdp/current/hive-server2/lib/mysql-connector-java.jar'),
                               path = ['/bin', '/usr/bin/'],
-                              sudo = True)
+                              sudo = True,
+                              )
 
     self.assertResourceCalled('File', '/usr/hdp/current/hive-server2/lib/mysql-connector-java.jar',
         mode = 0644)
diff --git a/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_server.py b/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_server.py
index dca7c18..6aaef88 100644
--- a/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_server.py
+++ b/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_server.py
@@ -496,13 +496,20 @@
                               group='root',
                               mode=0644,
     )
+    self.assertResourceCalled('Execute', ('rm', '-f',
+                                          '/usr/hdp/current/hive-server2/lib/ojdbc6.jar'),
+                              path=["/bin", "/usr/bin/"],
+                              sudo = True,
+                              )
+    self.assertResourceCalled('File', '/tmp/mysql-connector-java.jar',
+                              content = DownloadSource('http://c6401.ambari.apache.org:8080/resources//mysql-connector-java.jar'))
     self.assertResourceCalled('Execute', ('cp',
                                           '--remove-destination',
-                                          '/usr/share/java/mysql-connector-java.jar',
+                                          '/tmp/mysql-connector-java.jar',
                                           '/usr/hdp/current/hive-server2/lib/mysql-connector-java.jar'),
-                              path=['/bin', '/usr/bin/'],
-                              sudo=True,
-    )
+                              path = ['/bin', '/usr/bin/'],
+                              sudo = True,
+                              )
     self.assertResourceCalled('File', '/usr/hdp/current/hive-server2/lib/mysql-connector-java.jar',
                               mode=0644,
     )
@@ -708,13 +715,20 @@
                               owner = 'hive',
                               group = 'hadoop',
                               )
+    self.assertResourceCalled('Execute', ('rm', '-f',
+                                          '/usr/hdp/current/hive-server2/lib/ojdbc6.jar'),
+                              path=["/bin", "/usr/bin/"],
+                              sudo = True,
+                              )
+    self.assertResourceCalled('File', '/tmp/mysql-connector-java.jar',
+                              content = DownloadSource('http://c6401.ambari.apache.org:8080/resources//mysql-connector-java.jar'))
     self.assertResourceCalled('Execute', ('cp',
                                           '--remove-destination',
-                                          '/usr/share/java/mysql-connector-java.jar',
+                                          '/tmp/mysql-connector-java.jar',
                                           '/usr/hdp/current/hive-server2/lib/mysql-connector-java.jar'),
-                              path=['/bin', '/usr/bin/'],
-                              sudo=True,
-    )
+                              path = ['/bin', '/usr/bin/'],
+                              sudo = True,
+                              )
     self.assertResourceCalled('File', '/usr/hdp/current/hive-server2/lib/mysql-connector-java.jar',
                               mode=0644,
     )
diff --git a/ambari-server/src/test/python/stacks/2.1/HIVE/test_hive_metastore.py b/ambari-server/src/test/python/stacks/2.1/HIVE/test_hive_metastore.py
index 73f5fe6..2a9464b 100644
--- a/ambari-server/src/test/python/stacks/2.1/HIVE/test_hive_metastore.py
+++ b/ambari-server/src/test/python/stacks/2.1/HIVE/test_hive_metastore.py
@@ -256,9 +256,16 @@
                               group = 'root',
                               mode = 0644,
                               )
+    self.assertResourceCalled('Execute', ('rm', '-f',
+                                          '/usr/hdp/current/hive-server2/lib/ojdbc6.jar'),
+                              path=["/bin", "/usr/bin/"],
+                              sudo = True,
+                              )
+    self.assertResourceCalled('File', '/tmp/mysql-connector-java.jar',
+                              content = DownloadSource('http://c6401.ambari.apache.org:8080/resources//mysql-connector-java.jar'))
     self.assertResourceCalled('Execute', ('cp',
                                           '--remove-destination',
-                                          '/usr/share/java/mysql-connector-java.jar',
+                                          '/tmp/mysql-connector-java.jar',
                                           '/usr/hdp/current/hive-server2/lib/mysql-connector-java.jar'),
                               path = ['/bin', '/usr/bin/'],
                               sudo = True,
@@ -363,9 +370,16 @@
                               owner = 'hive',
                               group = 'hadoop',
                               )
+    self.assertResourceCalled('Execute', ('rm', '-f',
+                                          '/usr/hdp/current/hive-server2/lib/ojdbc6.jar'),
+                              path=["/bin", "/usr/bin/"],
+                              sudo = True,
+                              )
+    self.assertResourceCalled('File', '/tmp/mysql-connector-java.jar',
+                              content = DownloadSource('http://c6401.ambari.apache.org:8080/resources//mysql-connector-java.jar'))
     self.assertResourceCalled('Execute', ('cp',
                                           '--remove-destination',
-                                          '/usr/share/java/mysql-connector-java.jar',
+                                          '/tmp/mysql-connector-java.jar',
                                           '/usr/hdp/current/hive-server2/lib/mysql-connector-java.jar'),
                               path = ['/bin', '/usr/bin/'],
                               sudo = True,
@@ -658,13 +672,20 @@
     self.assertResourceCalledIgnoreEarlier('Directory', '/var/lib/hive', owner = 'hive', group = 'hadoop',
       mode = 0755, create_parents = True, cd_access = 'a')
 
+    self.assertResourceCalled('Execute', ('rm', '-f',
+                                          '/usr/hdp/current/hive-metastore/lib/ojdbc6.jar'),
+                              path=["/bin", "/usr/bin/"],
+                              sudo = True,
+                              )
+    self.assertResourceCalled('File', '/tmp/mysql-connector-java.jar',
+                              content = DownloadSource('http://10.0.0.13:8080/resources//mysql-connector-java.jar'))
     self.assertResourceCalled('Execute', ('cp',
-     '--remove-destination',
-     '/usr/share/java/mysql-connector-java.jar',
-     '/usr/hdp/2.3.2.0-2950/hive/lib/mysql-connector-java.jar'),
-        path = ['/bin', '/usr/bin/'],
-        sudo = True,
-    )
+                                          '--remove-destination',
+                                          '/tmp/mysql-connector-java.jar',
+                                          '/usr/hdp/2.3.2.0-2950/hive/lib/mysql-connector-java.jar'),
+                              path = ['/bin', '/usr/bin/'],
+                              sudo = True,
+                              )
     self.assertResourceCalled('File', '/usr/hdp/2.3.2.0-2950/hive/lib/mysql-connector-java.jar',
         mode = 0644,
     )
diff --git a/ambari-server/src/test/python/stacks/2.5/HIVE/test_hive_server_int.py b/ambari-server/src/test/python/stacks/2.5/HIVE/test_hive_server_int.py
index 4eb16c2..560f3c1 100644
--- a/ambari-server/src/test/python/stacks/2.5/HIVE/test_hive_server_int.py
+++ b/ambari-server/src/test/python/stacks/2.5/HIVE/test_hive_server_int.py
@@ -57,9 +57,11 @@
       data = json.load(f)
     return data
 
+  @patch("os.path.isfile")
   @patch("resource_management.libraries.functions.copy_tarball.copy_to_hdfs")
-  def test_configure_default(self, copy_to_hdfs_mock):
+  def test_configure_default(self, copy_to_hdfs_mock, is_file_mock):
     self.maxDiff = None
+    is_file_mock.return_value = True
     copy_to_hdfs_mock.return_value = False
     self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/hive_server_interactive.py",
                        classname="HiveServerInteractive",
@@ -709,9 +711,19 @@
                               group='root',
                               mode=0644,
     )
+    self.assertResourceCalled('File', '/usr/hdp/current/hive-server2-hive2/lib/None',
+                              action=['delete'],
+                              )
+    self.assertResourceCalled('Execute', ('rm', '-f',
+                                          '/usr/hdp/current/hive-server2-hive2/lib/ojdbc6.jar'),
+                              path=["/bin", "/usr/bin/"],
+                              sudo = True,
+                              )
+    self.assertResourceCalled('File', '/tmp/mysql-connector-java.jar',
+                              content = DownloadSource('http://c6401.ambari.apache.org:8080/resources//mysql-connector-java.jar'))
     self.assertResourceCalled('Execute', ('cp',
                                           '--remove-destination',
-                                          '/usr/share/java/mysql-connector-java.jar',
+                                          '/tmp/mysql-connector-java.jar',
                                           '/usr/hdp/current/hive-server2-hive2/lib/mysql-connector-java.jar'),
                               path=['/bin', '/usr/bin/'],
                               sudo=True,