You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by al...@apache.org on 2016/02/08 21:06:16 UTC

ambari git commit: AMBARI-14950. EU: Oozie service check failed after downgrade with multiple Oozie servers since rerunning prepare-war removes webapps/oozie folder (alejandro)

Repository: ambari
Updated Branches:
  refs/heads/trunk f905a0243 -> e76099a27


AMBARI-14950. EU: Oozie service check failed after downgrade with multiple Oozie servers since rerunning prepare-war removes webapps/oozie folder (alejandro)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/e76099a2
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/e76099a2
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/e76099a2

Branch: refs/heads/trunk
Commit: e76099a275793607a86e7c34eb91c89db74021d6
Parents: f905a02
Author: Alejandro Fernandez <af...@hortonworks.com>
Authored: Mon Feb 8 11:43:12 2016 -0800
Committer: Alejandro Fernandez <af...@hortonworks.com>
Committed: Mon Feb 8 11:43:14 2016 -0800

----------------------------------------------------------------------
 .../OOZIE/4.0.0.2.0/package/scripts/oozie.py    |  71 ++++++--
 .../4.0.0.2.0/package/scripts/oozie_server.py   |   3 +-
 .../package/scripts/oozie_server_upgrade.py     |  18 +-
 .../stacks/2.0.6/OOZIE/test_oozie_server.py     | 172 +++++++++----------
 4 files changed, 143 insertions(+), 121 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/e76099a2/ambari-server/src/main/resources/common-services/OOZIE/4.0.0.2.0/package/scripts/oozie.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/OOZIE/4.0.0.2.0/package/scripts/oozie.py b/ambari-server/src/main/resources/common-services/OOZIE/4.0.0.2.0/package/scripts/oozie.py
index 24a35ad..7591bad 100644
--- a/ambari-server/src/main/resources/common-services/OOZIE/4.0.0.2.0/package/scripts/oozie.py
+++ b/ambari-server/src/main/resources/common-services/OOZIE/4.0.0.2.0/package/scripts/oozie.py
@@ -32,10 +32,15 @@ from resource_management.libraries.script.script import Script
 from resource_management.core.resources.packaging import Package
 from resource_management.core.shell import as_user
 from resource_management.core.shell import as_sudo
+from resource_management.core import shell
+from resource_management.core.exceptions import Fail
+from resource_management.core.logger import Logger
+
 from ambari_commons.os_family_impl import OsFamilyFuncImpl, OsFamilyImpl
 from ambari_commons import OSConst
 from ambari_commons.inet_utils import download_file
 
+
 @OsFamilyFuncImpl(os_family=OSConst.WINSRV_FAMILY)
 def oozie(is_server=False):
   import params
@@ -191,7 +196,59 @@ def oozie_ownership():
     owner = params.oozie_user,
     group = params.user_group
   )
-  
+
+
+def prepare_war():
+  """
+  Attempt to call prepare-war command if the marker file doesn't exist or its content doesn't equal the expected command.
+  The marker file is stored in /usr/hdp/current/oozie-server/.prepare_war_cmd
+  """
+  import params
+
+  prepare_war_cmd_file = format("{oozie_home}/.prepare_war_cmd")
+
+  # DON'T CHANGE THE VALUE SINCE IT'S USED TO DETERMINE WHETHER TO RUN THE COMMAND OR NOT BY READING THE MARKER FILE.
+  # Oozie tmp dir should be /var/tmp/oozie and is already created by a function above.
+  command = format("cd {oozie_tmp_dir} && {oozie_setup_sh} prepare-war {oozie_secure}")
+  command = command.strip()
+
+  run_prepare_war = False
+  if os.path.exists(prepare_war_cmd_file):
+    cmd = ""
+    with open(prepare_war_cmd_file, "r") as f:
+      cmd = f.readline().strip()
+
+    if command != cmd:
+      run_prepare_war = True
+      Logger.info(format("Will run prepare war cmd since marker file {prepare_war_cmd_file} has contents which differ.\n" \
+      "Expected: {command}.\nActual: {cmd}."))
+  else:
+    run_prepare_war = True
+    Logger.info(format("Will run prepare war cmd since marker file {prepare_war_cmd_file} is missing."))
+
+  if run_prepare_war:
+    # Time-consuming to run
+    Execute(command,
+            user=params.oozie_user
+    )
+
+    return_code, output = shell.call(command, user=params.oozie_user, logoutput=False, quiet=False)
+    if output is None:
+      output = ""
+
+    if return_code != 0 or "New Oozie WAR file with added".lower() not in output.lower():
+      message = "Unexpected Oozie WAR preparation output {0}".format(output)
+      Logger.error(message)
+      raise Fail(message)
+
+    # Generate marker file
+    File(prepare_war_cmd_file,
+         content=command,
+         mode=0644,
+    )
+  else:
+    Logger.info(format("No need to run prepare-war since marker file {prepare_war_cmd_file} already exists."))
+
 def oozie_server_specific():
   import params
   
@@ -259,22 +316,12 @@ def oozie_server_specific():
       not_if  = no_op_test,
     )
 
-  prepare_war_cmd_file = format("{oozie_home}/.prepare_war_cmd")
-  prepare_war_cmd = format("cd {oozie_tmp_dir} && {oozie_setup_sh} prepare-war {oozie_secure}")
-  skip_prepare_war_cmd = format("test -f {prepare_war_cmd_file} && [[ `cat {prepare_war_cmd_file}` == '{prepare_war_cmd}' ]]")
+  prepare_war()
 
-  Execute(prepare_war_cmd,    # time-expensive
-    user = params.oozie_user,
-    not_if  = format("{no_op_test} || {skip_recreate_sharelib} && {skip_prepare_war_cmd}")
-  )
   File(hashcode_file,
        content = hashcode,
        mode = 0644,
   )
-  File(prepare_war_cmd_file,
-       content = prepare_war_cmd,
-       mode = 0644,
-  )
 
   if params.hdp_stack_version != "" and compare_versions(params.hdp_stack_version, '2.2') >= 0:
     # Create hive-site and tez-site configs for oozie

http://git-wip-us.apache.org/repos/asf/ambari/blob/e76099a2/ambari-server/src/main/resources/common-services/OOZIE/4.0.0.2.0/package/scripts/oozie_server.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/OOZIE/4.0.0.2.0/package/scripts/oozie_server.py b/ambari-server/src/main/resources/common-services/OOZIE/4.0.0.2.0/package/scripts/oozie_server.py
index 35975df..dc00b13 100644
--- a/ambari-server/src/main/resources/common-services/OOZIE/4.0.0.2.0/package/scripts/oozie_server.py
+++ b/ambari-server/src/main/resources/common-services/OOZIE/4.0.0.2.0/package/scripts/oozie_server.py
@@ -39,7 +39,8 @@ from oozie_service import oozie_service
 from oozie_server_upgrade import OozieUpgrade
 
 from check_oozie_server_status import check_oozie_server_status
-         
+
+
 class OozieServer(Script):
 
   def get_stack_to_component(self):

http://git-wip-us.apache.org/repos/asf/ambari/blob/e76099a2/ambari-server/src/main/resources/common-services/OOZIE/4.0.0.2.0/package/scripts/oozie_server_upgrade.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/OOZIE/4.0.0.2.0/package/scripts/oozie_server_upgrade.py b/ambari-server/src/main/resources/common-services/OOZIE/4.0.0.2.0/package/scripts/oozie_server_upgrade.py
index 326e76c..4d68f03 100644
--- a/ambari-server/src/main/resources/common-services/OOZIE/4.0.0.2.0/package/scripts/oozie_server_upgrade.py
+++ b/ambari-server/src/main/resources/common-services/OOZIE/4.0.0.2.0/package/scripts/oozie_server_upgrade.py
@@ -199,23 +199,7 @@ class OozieUpgrade(Script):
       command = format("{kinit_path_local} -kt {oozie_keytab} {oozie_principal_with_host}")
       Execute(command, user=params.oozie_user, logoutput=True)
 
-    # setup environment
-    environment = { "CATALINA_BASE" : "/usr/hdp/current/oozie-server/oozie-server",
-      "OOZIE_HOME" : "/usr/hdp/current/oozie-server" }
-
-    # prepare the oozie WAR
-    command = format("{oozie_setup_sh} prepare-war {oozie_secure} -d {oozie_libext_dir}")
-    return_code, oozie_output = shell.call(command, user=params.oozie_user,
-      logoutput=False, quiet=False, env=environment)
-
-    # set it to "" in to prevent a possible iteration issue
-    if oozie_output is None:
-      oozie_output = ""
-
-    if return_code != 0 or "New Oozie WAR file with added".lower() not in oozie_output.lower():
-      message = "Unexpected Oozie WAR preparation output {0}".format(oozie_output)
-      Logger.error(message)
-      raise Fail(message)
+    oozie.prepare_war()
 
 
   def upgrade_oozie_database_and_sharelib(self, env):

http://git-wip-us.apache.org/repos/asf/ambari/blob/e76099a2/ambari-server/src/test/python/stacks/2.0.6/OOZIE/test_oozie_server.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.0.6/OOZIE/test_oozie_server.py b/ambari-server/src/test/python/stacks/2.0.6/OOZIE/test_oozie_server.py
index 2183425..b9c0717 100644
--- a/ambari-server/src/test/python/stacks/2.0.6/OOZIE/test_oozie_server.py
+++ b/ambari-server/src/test/python/stacks/2.0.6/OOZIE/test_oozie_server.py
@@ -43,25 +43,30 @@ class TestOozieServer(RMFTestCase):
   def setUp(self):
     self.maxDiff = None
 
-  def test_configure_default(self):
+  @patch.object(shell, "call")
+  def test_configure_default(self, call_mocks):
+    call_mocks = MagicMock(return_value=(0, "New Oozie WAR file with added"))
     self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/oozie_server.py",
                        classname = "OozieServer",
                        command = "configure",
                        config_file="default.json",
                        hdp_stack_version = self.STACK_VERSION,
-                       target = RMFTestCase.TARGET_COMMON_SERVICES
+                       target = RMFTestCase.TARGET_COMMON_SERVICES,
+                       call_mocks = call_mocks
     )
     self.assert_configure_default()
     self.assertNoMoreResources()
 
-
-  def test_configure_default_mysql(self):
+  @patch.object(shell, "call")
+  def test_configure_default_mysql(self, call_mocks):
+    call_mocks = MagicMock(return_value=(0, "New Oozie WAR file with added"))
     self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/oozie_server.py",
                        classname = "OozieServer",
                        command = "configure",
                        config_file="default_oozie_mysql.json",
                        hdp_stack_version = self.STACK_VERSION,
-                       target = RMFTestCase.TARGET_COMMON_SERVICES
+                       target = RMFTestCase.TARGET_COMMON_SERVICES,
+                       call_mocks = call_mocks
     )
     self.assertResourceCalled('HdfsResource', '/user/oozie',
         security_enabled = False,
@@ -253,17 +258,17 @@ class TestOozieServer(RMFTestCase):
     self.assertResourceCalled('Execute', 'ambari-sudo.sh chown oozie:hadoop /usr/lib/oozie/libext/falcon-oozie-el-extension-*.jar',
         not_if = "ambari-sudo.sh su oozie -l -s /bin/bash -c '[RMF_EXPORT_PLACEHOLDER]ls /var/run/oozie/oozie.pid >/dev/null 2>&1 && ps -p `cat /var/run/oozie/oozie.pid` >/dev/null 2>&1'",
     )
-    self.assertResourceCalled('Execute', 'cd /var/tmp/oozie && /usr/lib/oozie/bin/oozie-setup.sh prepare-war ',
-        not_if = "ambari-sudo.sh su oozie -l -s /bin/bash -c '[RMF_EXPORT_PLACEHOLDER]ls /var/run/oozie/oozie.pid >/dev/null 2>&1 && ps -p `cat /var/run/oozie/oozie.pid` >/dev/null 2>&1' || test -f /usr/lib/oozie/.hashcode && test -d /usr/lib/oozie/share && [[ `cat /usr/lib/oozie/.hashcode` == 'abc123hash' ]] && test -f /usr/lib/oozie/.prepare_war_cmd && [[ `cat /usr/lib/oozie/.prepare_war_cmd` == 'cd /var/tmp/oozie && /usr/lib/oozie/bin/oozie-setup.sh prepare-war ' ]]",
-        user = 'oozie',
-    )
-    self.assertResourceCalled('File', '/usr/lib/oozie/.hashcode',
-        content = 'abc123hash',
-        mode = 0644,
+
+    self.assertResourceCalled('Execute', 'cd /var/tmp/oozie && /usr/lib/oozie/bin/oozie-setup.sh prepare-war',
+                              user = "oozie"
     )
     self.assertResourceCalled('File', '/usr/lib/oozie/.prepare_war_cmd',
-        content = 'cd /var/tmp/oozie && /usr/lib/oozie/bin/oozie-setup.sh prepare-war ',
-        mode = 0644,
+                              content = 'cd /var/tmp/oozie && /usr/lib/oozie/bin/oozie-setup.sh prepare-war',
+                              mode = 0644,
+    )
+    self.assertResourceCalled('File', '/usr/lib/oozie/.hashcode',
+                              content = 'abc123hash',
+                              mode = 0644,
     )
     self.assertResourceCalled('Directory', '/var/lib/oozie/oozie-server',
                               owner = 'oozie',
@@ -271,14 +276,16 @@ class TestOozieServer(RMFTestCase):
                               recursive_ownership = True,
     )
 
-
-  def test_configure_existing_sqla(self):
+  @patch.object(shell, "call")
+  def test_configure_existing_sqla(self, call_mocks):
+    call_mocks = MagicMock(return_value=(0, "New Oozie WAR file with added"))
     self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/oozie_server.py",
                        classname = "OozieServer",
                        command = "configure",
                        config_file="oozie_existing_sqla.json",
                        hdp_stack_version = self.STACK_VERSION,
-                       target = RMFTestCase.TARGET_COMMON_SERVICES
+                       target = RMFTestCase.TARGET_COMMON_SERVICES,
+                       call_mocks = call_mocks
     )
     self.assertResourceCalled('HdfsResource', '/user/oozie',
                               security_enabled = False,
@@ -475,18 +482,17 @@ class TestOozieServer(RMFTestCase):
     self.assertResourceCalled('Execute', 'ambari-sudo.sh chown oozie:hadoop /usr/lib/oozie/libext/falcon-oozie-el-extension-*.jar',
                               not_if = "ambari-sudo.sh su oozie -l -s /bin/bash -c '[RMF_EXPORT_PLACEHOLDER]ls /var/run/oozie/oozie.pid >/dev/null 2>&1 && ps -p `cat /var/run/oozie/oozie.pid` >/dev/null 2>&1'",
                               )
-    self.assertResourceCalled('Execute', 'cd /var/tmp/oozie && /usr/lib/oozie/bin/oozie-setup.sh prepare-war ',
-                              not_if = "ambari-sudo.sh su oozie -l -s /bin/bash -c '[RMF_EXPORT_PLACEHOLDER]ls /var/run/oozie/oozie.pid >/dev/null 2>&1 && ps -p `cat /var/run/oozie/oozie.pid` >/dev/null 2>&1' || test -f /usr/lib/oozie/.hashcode && test -d /usr/lib/oozie/share && [[ `cat /usr/lib/oozie/.hashcode` == 'abc123hash' ]] && test -f /usr/lib/oozie/.prepare_war_cmd && [[ `cat /usr/lib/oozie/.prepare_war_cmd` == 'cd /var/tmp/oozie && /usr/lib/oozie/bin/oozie-setup.sh prepare-war ' ]]",
-                              user = 'oozie',
-                              )
+    self.assertResourceCalled('Execute', 'cd /var/tmp/oozie && /usr/lib/oozie/bin/oozie-setup.sh prepare-war',
+                              user = "oozie"
+    )
+    self.assertResourceCalled('File', '/usr/lib/oozie/.prepare_war_cmd',
+                              content = 'cd /var/tmp/oozie && /usr/lib/oozie/bin/oozie-setup.sh prepare-war',
+                              mode = 0644,
+    )
     self.assertResourceCalled('File', '/usr/lib/oozie/.hashcode',
                               content = 'abc123hash',
                               mode = 0644,
-                              )
-    self.assertResourceCalled('File', '/usr/lib/oozie/.prepare_war_cmd',
-                              content = 'cd /var/tmp/oozie && /usr/lib/oozie/bin/oozie-setup.sh prepare-war ',
-                              mode = 0644,
-                              )
+    )
     self.assertResourceCalled('Directory', '/var/lib/oozie/oozie-server',
                               owner = 'oozie',
                               group = 'hadoop',
@@ -494,16 +500,18 @@ class TestOozieServer(RMFTestCase):
     )
     self.assertNoMoreResources()
 
-
+  @patch.object(shell, "call")
   @patch("os.path.isfile")
-  def test_start_default(self, isfile_mock):
+  def test_start_default(self, isfile_mock, call_mocks):
     isfile_mock.return_value = True
+    call_mocks = MagicMock(return_value=(0, "New Oozie WAR file with added"))
     self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/oozie_server.py",
                          classname = "OozieServer",
                          command = "start",
                          config_file="default.json",
                          hdp_stack_version = self.STACK_VERSION,
-                         target = RMFTestCase.TARGET_COMMON_SERVICES
+                         target = RMFTestCase.TARGET_COMMON_SERVICES,
+                         call_mocks = call_mocks
         )
     self.assert_configure_default()
     self.assertResourceCalled('Execute', 'cd /var/tmp/oozie && /usr/lib/oozie/bin/ooziedb.sh create -sqlfile oozie.sql -run',
@@ -551,7 +559,6 @@ class TestOozieServer(RMFTestCase):
     )
     self.assertNoMoreResources()
 
-
   def test_stop_default(self):
     self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/oozie_server.py",
                          classname = "OozieServer",
@@ -570,27 +577,32 @@ class TestOozieServer(RMFTestCase):
     )
     self.assertNoMoreResources()
 
-
-  def test_configure_secured(self):
+  @patch.object(shell, "call")
+  def test_configure_secured(self, call_mocks):
+    call_mocks = MagicMock(return_value=(0, "New Oozie WAR file with added"))
     self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/oozie_server.py",
                        classname = "OozieServer",
                        command = "configure",
                        config_file="secured.json",
                        hdp_stack_version = self.STACK_VERSION,
-                       target = RMFTestCase.TARGET_COMMON_SERVICES
+                       target = RMFTestCase.TARGET_COMMON_SERVICES,
+                       call_mocks = call_mocks
     )
     self.assert_configure_secured()
     self.assertNoMoreResources()
 
+  @patch.object(shell, "call")
   @patch("os.path.isfile")
-  def test_start_secured(self, isfile_mock):
+  def test_start_secured(self, isfile_mock, call_mocks):
     isfile_mock.return_value = True
+    call_mocks = MagicMock(return_value=(0, "New Oozie WAR file with added"))
     self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/oozie_server.py",
                          classname = "OozieServer",
                          command = "start",
                          config_file="secured.json",
                          hdp_stack_version = self.STACK_VERSION,
-                         target = RMFTestCase.TARGET_COMMON_SERVICES
+                         target = RMFTestCase.TARGET_COMMON_SERVICES,
+                         call_mocks = call_mocks
     )
     self.assert_configure_secured()
     self.assertResourceCalled('Execute', 'cd /var/tmp/oozie && /usr/lib/oozie/bin/ooziedb.sh create -sqlfile oozie.sql -run',
@@ -660,7 +672,6 @@ class TestOozieServer(RMFTestCase):
     )
     self.assertNoMoreResources()
 
-
   def assert_configure_default(self):
     self.assertResourceCalled('HdfsResource', '/user/oozie',
         security_enabled = False,
@@ -834,17 +845,17 @@ class TestOozieServer(RMFTestCase):
     self.assertResourceCalled('Execute', 'ambari-sudo.sh chown oozie:hadoop /usr/lib/oozie/libext/falcon-oozie-el-extension-*.jar',
         not_if = "ambari-sudo.sh su oozie -l -s /bin/bash -c '[RMF_EXPORT_PLACEHOLDER]ls /var/run/oozie/oozie.pid >/dev/null 2>&1 && ps -p `cat /var/run/oozie/oozie.pid` >/dev/null 2>&1'",
     )
-    self.assertResourceCalled('Execute', 'cd /var/tmp/oozie && /usr/lib/oozie/bin/oozie-setup.sh prepare-war ',
-        not_if = "ambari-sudo.sh su oozie -l -s /bin/bash -c '[RMF_EXPORT_PLACEHOLDER]ls /var/run/oozie/oozie.pid >/dev/null 2>&1 && ps -p `cat /var/run/oozie/oozie.pid` >/dev/null 2>&1' || test -f /usr/lib/oozie/.hashcode && test -d /usr/lib/oozie/share && [[ `cat /usr/lib/oozie/.hashcode` == 'abc123hash' ]] && test -f /usr/lib/oozie/.prepare_war_cmd && [[ `cat /usr/lib/oozie/.prepare_war_cmd` == 'cd /var/tmp/oozie && /usr/lib/oozie/bin/oozie-setup.sh prepare-war ' ]]",
-        user = 'oozie',
+
+    self.assertResourceCalled('Execute', 'cd /var/tmp/oozie && /usr/lib/oozie/bin/oozie-setup.sh prepare-war',
+                              user="oozie")
+
+    self.assertResourceCalled('File', '/usr/lib/oozie/.prepare_war_cmd',
+                              content = 'cd /var/tmp/oozie && /usr/lib/oozie/bin/oozie-setup.sh prepare-war',
+                              mode = 0644,
     )
     self.assertResourceCalled('File', '/usr/lib/oozie/.hashcode',
-        content = 'abc123hash',
-        mode = 0644,
-    )
-    self.assertResourceCalled('File', '/usr/lib/oozie/.prepare_war_cmd',
-        content = 'cd /var/tmp/oozie && /usr/lib/oozie/bin/oozie-setup.sh prepare-war ',
-        mode = 0644,
+                              content = 'abc123hash',
+                              mode = 0644,
     )
     self.assertResourceCalled('Directory', '/var/lib/oozie/oozie-server',
                               owner = 'oozie',
@@ -852,7 +863,6 @@ class TestOozieServer(RMFTestCase):
                               recursive_ownership = True,
     )
 
-
   def assert_configure_secured(self):
     self.assertResourceCalled('HdfsResource', '/user/oozie',
         security_enabled = True,
@@ -1028,17 +1038,17 @@ class TestOozieServer(RMFTestCase):
     self.assertResourceCalled('Execute', 'ambari-sudo.sh chown oozie:hadoop /usr/lib/oozie/libext/falcon-oozie-el-extension-*.jar',
         not_if = "ambari-sudo.sh su oozie -l -s /bin/bash -c '[RMF_EXPORT_PLACEHOLDER]ls /var/run/oozie/oozie.pid >/dev/null 2>&1 && ps -p `cat /var/run/oozie/oozie.pid` >/dev/null 2>&1'",
     )
+
     self.assertResourceCalled('Execute', 'cd /var/tmp/oozie && /usr/lib/oozie/bin/oozie-setup.sh prepare-war -secure',
-        not_if = "ambari-sudo.sh su oozie -l -s /bin/bash -c '[RMF_EXPORT_PLACEHOLDER]ls /var/run/oozie/oozie.pid >/dev/null 2>&1 && ps -p `cat /var/run/oozie/oozie.pid` >/dev/null 2>&1' || test -f /usr/lib/oozie/.hashcode && test -d /usr/lib/oozie/share && [[ `cat /usr/lib/oozie/.hashcode` == 'abc123hash' ]] && test -f /usr/lib/oozie/.prepare_war_cmd && [[ `cat /usr/lib/oozie/.prepare_war_cmd` == 'cd /var/tmp/oozie && /usr/lib/oozie/bin/oozie-setup.sh prepare-war -secure' ]]",
-        user = 'oozie',
+                              user="oozie")
+
+    self.assertResourceCalled('File', '/usr/lib/oozie/.prepare_war_cmd',
+                              content = 'cd /var/tmp/oozie && /usr/lib/oozie/bin/oozie-setup.sh prepare-war -secure',
+                              mode = 0644,
     )
     self.assertResourceCalled('File', '/usr/lib/oozie/.hashcode',
-        content = 'abc123hash',
-        mode = 0644,
-    )
-    self.assertResourceCalled('File', '/usr/lib/oozie/.prepare_war_cmd',
-        content = 'cd /var/tmp/oozie && /usr/lib/oozie/bin/oozie-setup.sh prepare-war -secure',
-        mode = 0644,
+                              content = 'abc123hash',
+                              mode = 0644,
     )
     self.assertResourceCalled('Directory', '/var/lib/oozie/oozie-server',
                               owner = 'oozie',
@@ -1046,43 +1056,23 @@ class TestOozieServer(RMFTestCase):
                               recursive_ownership = True,
     )
 
-    def test_configure_default_hdp22(self):
-      config_file = "stacks/2.0.6/configs/default.json"
-      with open(config_file, "r") as f:
-        default_json = json.load(f)
-
-      default_json['hostLevelParams']['stack_version']= '2.2'
-      self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/oozie_server.py",
-                       classname = "OozieServer",
-                       command = "configure",
-                       config_file="default.json",
-                       hdp_stack_version = self.STACK_VERSION,
-                       target = RMFTestCase.TARGET_COMMON_SERVICES
-      )
-      self.assert_configure_default()
-      self.assertResourceCalled('Directory', '/etc/oozie/conf/action-conf/hive',
-                              owner = 'oozie',
-                              group = 'hadoop',
-                              create_parents = True
-                              )
-      self.assertResourceCalled('XmlConfig', 'hive-site',
-                                owner = 'oozie',
-                                group = 'hadoop',
-                                mode = 0664,
-                                conf_dir = '/etc/oozie/conf/action-conf/hive',
-                                configurations = self.getConfig()['configurations']['hive-site'],
-                                configuration_attributes = self.getConfig()['configuration_attributes']['hive-site']
-      )
-      self.assertResourceCalled('XmlConfig', 'tez-site',
-                                owner = 'oozie',
-                                group = 'hadoop',
-                                mode = 0664,
-                                conf_dir = '/etc/oozie/conf/action-conf/hive',
-                                configurations = self.getConfig()['configurations']['tez-site'],
-                                configuration_attributes = self.getConfig()['configuration_attributes']['tez-site']
-      )
-      self.assertNoMoreResources()
+  @patch.object(shell, "call")
+  def test_configure_default_hdp22(self, call_mocks):
+    call_mocks = MagicMock(return_value=(0, "New Oozie WAR file with added"))
+    config_file = "stacks/2.0.6/configs/default.json"
+    with open(config_file, "r") as f:
+      default_json = json.load(f)
 
+    default_json['hostLevelParams']['stack_version']= '2.2'
+    self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/oozie_server.py",
+                     classname = "OozieServer",
+                     command = "configure",
+                     config_file="default.json",
+                     hdp_stack_version = self.STACK_VERSION,
+                     target = RMFTestCase.TARGET_COMMON_SERVICES,
+                     call_mocks = call_mocks
+    )
+    self.assert_configure_default()
 
   @patch("resource_management.libraries.functions.security_commons.build_expectations")
   @patch("resource_management.libraries.functions.security_commons.get_params_from_filesystem")
@@ -1619,4 +1609,4 @@ class TestOozieServer(RMFTestCase):
 
     self.assertEquals(
       ('ambari-python-wrap', '/usr/bin/conf-select', 'create-conf-dir', '--package', 'oozie', '--stack-version', '2.3.0.0-1234', '--conf-version', '0'),
-       mocks_dict['call'].call_args_list[0][0][0])
+       mocks_dict['call'].call_args_list[0][0][0])
\ No newline at end of file