Browse Source

AMBARI-9451. Non-root: Nodemanager start fails in secured mode (aonishuk)

Andrew Onishuk 10 years ago
parent
commit
663d20249c

+ 4 - 2
ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/yarn.py

@@ -74,8 +74,10 @@ def yarn(name = None):
       smokeuser_directories = [os.path.join(dir, 'usercache' ,params.smokeuser)
                                for dir in params.nm_local_dirs.split(',')]
       for directory in smokeuser_directories:
-        Execute(format("chown -R {params.smokeuser} {directory}"),
-                only_if=format("test -d {directory}"))
+        Execute(('chown', '-R', params.smokeuser, directory),
+                only_if=format("test -d {directory}"),
+                sudo=True,
+        )
   Directory([params.yarn_pid_dir_prefix, params.yarn_pid_dir, params.yarn_log_dir],
             owner=params.yarn_user,
             group=params.user_group,

+ 4 - 2
ambari-server/src/test/python/stacks/2.0.6/YARN/test_nodemanager.py

@@ -438,8 +438,10 @@ class TestNodeManager(RMFTestCase):
                               mode = 0775,
                               cd_access='a'
                               )
-    self.assertResourceCalled('Execute', 'chown -R ambari-qa /hadoop/yarn/local/usercache/ambari-qa',
-                              only_if = 'test -d /hadoop/yarn/local/usercache/ambari-qa')
+    self.assertResourceCalled('Execute', ('chown', '-R', u'ambari-qa', u'/hadoop/yarn/local/usercache/ambari-qa'),
+        sudo = True,
+        only_if = 'test -d /hadoop/yarn/local/usercache/ambari-qa',
+    )
     self.assertResourceCalled('Directory', '/var/run/hadoop-yarn',
       owner = 'yarn',
       group = 'hadoop',