Pārlūkot izejas kodu

[oozie] Make Mini Oozie cluster optional

Use real Oozie when LIVE_CLUSTER=true
Romain Rigaux 10 gadi atpakaļ
vecāks
revīzija
f692a41
1 mainītis faili ar 35 papildinājumiem un 24 dzēšanām
  1. 35 24
      desktop/libs/liboozie/src/liboozie/oozie_api_tests.py

+ 35 - 24
desktop/libs/liboozie/src/liboozie/oozie_api_tests.py

@@ -30,6 +30,7 @@ from nose.tools import assert_equal, assert_true
 from desktop.lib.paths import get_run_root
 from hadoop import pseudo_hdfs4
 from hadoop.mini_cluster import write_config
+from hadoop.pseudo_hdfs4 import is_live_cluster
 
 from liboozie.oozie_api import get_oozie
 from liboozie.conf import OOZIE_URL
@@ -37,6 +38,7 @@ from liboozie.conf import OOZIE_URL
 
 _oozie_lock = threading.Lock()
 
+
 LOG = logging.getLogger(__name__)
 
 
@@ -179,30 +181,40 @@ class OozieServerProvider(object):
 
     try:
       if not OozieServerProvider.is_oozie_running:
-        LOG.info('\nStarting a Mini Oozie. Requires "tools/jenkins/jenkins.sh" to be previously ran.\n')
-        LOG.info('See https://issues.cloudera.org/browse/HUE-861\n')
-
-        finish = (
-          OOZIE_URL.set_for_testing("http://%s:%s/oozie" % (socket.getfqdn(), OozieServerProvider.OOZIE_TEST_PORT)),
-        )
-
-        # Setup
         cluster = pseudo_hdfs4.shared_cluster()
-        cls._setup_sharelib()
-        cls._reset_oozie(cluster)
 
-        p = cls._start_oozie(cluster)
-
-        def kill():
-          LOG.info("Killing Oozie server (pid %d)." % p.pid)
-          os.kill(p.pid, 9)
-          p.wait()
-        atexit.register(kill)
+        if is_live_cluster():
+          def shutdown():
+            pass
+        else:
+          LOG.info('\nStarting a Mini Oozie. Requires "tools/jenkins/jenkins.sh" to be previously ran.\n')
+          LOG.info('See https://issues.cloudera.org/browse/HUE-861\n')
+  
+          finish = (
+            OOZIE_URL.set_for_testing("http://%s:%s/oozie" % (socket.getfqdn(), OozieServerProvider.OOZIE_TEST_PORT)),
+          )
+  
+          # Setup          
+          cls._setup_sharelib()
+          cls._reset_oozie(cluster)
+  
+          p = cls._start_oozie(cluster)
+  
+          def kill():
+            LOG.info("Killing Oozie server (pid %d)." % p.pid)
+            os.kill(p.pid, 9)
+            p.wait()
+          atexit.register(kill)
+
+          def shutdown():
+            for f in finish:
+              f()
+            cluster.stop()
 
         start = time.time()
         started = False
         sleep = 0.01
-
+          
         while not started and time.time() - start < 30.0:
           status = None
           try:
@@ -218,15 +230,11 @@ class OozieServerProvider(object):
             time.sleep(sleep)
             sleep *= 2
             pass
+
         if not started:
           raise Exception("Oozie server took too long to come up.")
 
         OozieServerProvider.is_oozie_running = True
-
-        def shutdown():
-          for f in finish:
-            f()
-          cluster.stop()
         callback = shutdown
     finally:
       _oozie_lock.release()
@@ -242,4 +250,7 @@ class TestMiniOozie(OozieServerProvider):
 
     assert_equal(get_oozie(user).get_oozie_status()['systemMode'], 'NORMAL')
 
-    assert_true(self.cluster.fs.exists('/user/%(user)s/share/lib' % {'user': user}))
+    if is_live_cluster():
+      assert_true(self.cluster.fs.exists('/user/oozie/share/lib'))
+    else:
+      assert_true(self.cluster.fs.exists('/user/%(user)s/share/lib' % {'user': user}))