Forráskód Böngészése

HUE-958 [liboozie] Copy Oozie sharelib in the home of Oozie user

Romain Rigaux 13 éve
szülő
commit
b3939a6

+ 2 - 2
desktop/libs/hadoop/src/hadoop/fs/webhdfs.py

@@ -528,13 +528,13 @@ class WebHdfs(Hdfs):
 
     try:
       self.setuser(username)
-      fn(*args, **kwargs)
+      return fn(*args, **kwargs)
     finally:
       self.setuser(prev_user)
 
 
   def do_as_superuser(self, fn, *args, **kwargs):
-    self.do_as_user(self.superuser, fn, *args, **kwargs)
+    return self.do_as_user(self.superuser, fn, *args, **kwargs)
 
 
 class File(object):

+ 7 - 4
desktop/libs/liboozie/src/liboozie/oozie_api_test.py

@@ -16,6 +16,7 @@
 # limitations under the License.
 
 import atexit
+import getpass
 import logging
 import os
 import socket
@@ -106,9 +107,11 @@ class OozieServerProvider(object):
   @classmethod
   def _setup_sharelib(cls):
     LOG.info("Copying Oozie sharelib")
-    cls.cluster.fs.do_as_user('oozie', cls.cluster.fs.create_home_dir, '/user/oozie')
-    cls.cluster.fs.do_as_user('oozie', cls.cluster.fs.copyFromLocal, OozieServerProvider.OOZIE_HOME + '/share', '/user/oozie/share')
-    LOG.info("Oozie sharelib copied to /user/oozie/share")
+    user_home = cls.cluster.fs.do_as_user(getpass.getuser(), cls.cluster.fs.get_home_dir)
+    oozie_share_lib = user_home + '/share'
+    cls.cluster.fs.do_as_user(getpass.getuser(), cls.cluster.fs.create_home_dir)
+    cls.cluster.fs.do_as_user(getpass.getuser(), cls.cluster.fs.copyFromLocal, OozieServerProvider.OOZIE_HOME + '/share', oozie_share_lib)
+    LOG.info("Oozie sharelib copied to %s" % oozie_share_lib)
 
   @classmethod
   def _get_shared_oozie_server(cls):
@@ -177,4 +180,4 @@ class TestMiniOozie(OozieServerProvider):
   def test_oozie_status(self):
     assert_equal(get_oozie().get_oozie_status()['systemMode'], 'NORMAL')
 
-    assert_true(self.cluster.fs.exists('/user/oozie/share/lib'))
+    assert_true(self.cluster.fs.exists('/user/%(user)s/share/lib') % {'user': getpass.getuser()})