Browse Source

AMBARI-9896. Skip group modification option is not being honored for "usermod".(vbrodetskyi)

Vitaly Brodetskyi 10 years ago
parent
commit
ba16ce33e8

+ 4 - 2
ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-ANY/scripts/shared_initialization.py

@@ -113,7 +113,8 @@ def create_dfs_cluster_admins():
     )
 
   User(params.hdfs_user,
-    groups = params.user_to_groups_dict[params.hdfs_user] + groups_list
+    groups = params.user_to_groups_dict[params.hdfs_user] + groups_list,
+    ignore_failures = params.ignore_groupsusers_create
   )
 
 
@@ -128,8 +129,9 @@ def set_uid(user, user_dirs):
   File(format("{tmp_dir}/changeUid.sh"),
        content=StaticFile("changeToSecureUid.sh"),
        mode=0555)
+  ignore_groupsusers_create_str = str(params.ignore_groupsusers_create).lower()
   Execute(format("{tmp_dir}/changeUid.sh {user} {user_dirs}"),
-          not_if = format("test $(id -u {user}) -gt 1000"))
+          not_if = format("(test $(id -u {user}) -gt 1000) || ({ignore_groupsusers_create_str})"))
     
 def setup_hadoop_env():
   import params

+ 3 - 2
ambari-server/src/test/python/stacks/2.0.6/hooks/before-ANY/test_before_any.py

@@ -125,7 +125,7 @@ class TestHookBeforeInstall(RMFTestCase):
         mode = 0555,
     )
     self.assertResourceCalled('Execute', '/tmp/changeUid.sh ambari-qa /tmp/hadoop-ambari-qa,/tmp/hsperfdata_ambari-qa,/home/ambari-qa,/tmp/ambari-qa,/tmp/sqoop-ambari-qa',
-        not_if = 'test $(id -u ambari-qa) -gt 1000',
+        not_if = '(test $(id -u ambari-qa) -gt 1000) || (false)',
     )
     self.assertResourceCalled('Directory', '/hadoop/hbase',
         owner = 'hbase',
@@ -138,7 +138,7 @@ class TestHookBeforeInstall(RMFTestCase):
         mode = 0555,
     )
     self.assertResourceCalled('Execute', '/tmp/changeUid.sh hbase /home/hbase,/tmp/hbase,/usr/bin/hbase,/var/log/hbase,/hadoop/hbase',
-        not_if = 'test $(id -u hbase) -gt 1000',
+        not_if = '(test $(id -u hbase) -gt 1000) || (false)',
     )
     self.assertResourceCalled('User', 'test_user1',
         ignore_failures = False
@@ -154,6 +154,7 @@ class TestHookBeforeInstall(RMFTestCase):
     )
     self.assertResourceCalled('User', 'hdfs',
         groups = [u'hadoop', u'hdfs', u'test_group'],
+        ignore_failures = False
     )
     self.assertResourceCalled('Directory', '/etc/hadoop',
         mode = 0755