Merge branch 'testing_427' into devel
This commit is contained in:
commit
1a4d801cdb
1 changed files with 27 additions and 19 deletions
|
@ -319,15 +319,7 @@ class AnsibleModule(object):
|
|||
st = os.stat(filename)
|
||||
uid = st.st_uid
|
||||
gid = st.st_gid
|
||||
try:
|
||||
user = pwd.getpwuid(uid)[0]
|
||||
except KeyError:
|
||||
user = str(uid)
|
||||
try:
|
||||
group = grp.getgrgid(gid)[0]
|
||||
except KeyError:
|
||||
group = str(gid)
|
||||
return (user, group)
|
||||
return (uid, gid)
|
||||
|
||||
def set_default_selinux_context(self, path, changed):
|
||||
if not HAVE_SELINUX or not self.selinux_enabled():
|
||||
|
@ -366,14 +358,17 @@ class AnsibleModule(object):
|
|||
path = os.path.expanduser(path)
|
||||
if owner is None:
|
||||
return changed
|
||||
user, group = self.user_and_group(path)
|
||||
if owner != user:
|
||||
orig_uid, orig_gid = self.user_and_group(path)
|
||||
try:
|
||||
uid = int(owner)
|
||||
except ValueError:
|
||||
try:
|
||||
uid = pwd.getpwnam(owner).pw_uid
|
||||
except KeyError:
|
||||
self.fail_json(path=path, msg='chown failed: failed to look up user %s' % owner)
|
||||
if self.check_mode:
|
||||
return True
|
||||
if self.check_mode:
|
||||
return True
|
||||
if orig_uid != uid:
|
||||
try:
|
||||
os.chown(path, uid, -1)
|
||||
except OSError:
|
||||
|
@ -385,14 +380,17 @@ class AnsibleModule(object):
|
|||
path = os.path.expanduser(path)
|
||||
if group is None:
|
||||
return changed
|
||||
old_user, old_group = self.user_and_group(path)
|
||||
if old_group != group:
|
||||
if self.check_mode:
|
||||
return True
|
||||
orig_uid, orig_gid = self.user_and_group(path)
|
||||
try:
|
||||
gid = int(group)
|
||||
except ValueError:
|
||||
try:
|
||||
gid = grp.getgrnam(group).gr_gid
|
||||
except KeyError:
|
||||
self.fail_json(path=path, msg='chgrp failed: failed to look up group %s' % group)
|
||||
if self.check_mode:
|
||||
return True
|
||||
if orig_gid != gid:
|
||||
try:
|
||||
os.chown(path, -1, gid)
|
||||
except OSError:
|
||||
|
@ -472,8 +470,18 @@ class AnsibleModule(object):
|
|||
if path is None:
|
||||
return kwargs
|
||||
if os.path.exists(path):
|
||||
(user, group) = self.user_and_group(path)
|
||||
kwargs['owner'] = user
|
||||
(uid, gid) = self.user_and_group(path)
|
||||
kwargs['uid'] = uid
|
||||
kwargs['gid'] = gid
|
||||
try:
|
||||
user = pwd.getpwuid(uid)[0]
|
||||
except KeyError:
|
||||
user = str(uid)
|
||||
try:
|
||||
group = grp.getgrgid(gid)[0]
|
||||
except KeyError:
|
||||
group = str(gid)
|
||||
kwargs['owner'] = user
|
||||
kwargs['group'] = group
|
||||
st = os.stat(path)
|
||||
kwargs['mode'] = oct(stat.S_IMODE(st[stat.ST_MODE]))
|
||||
|
|
Loading…
Reference in a new issue