Compare commits

...

4 commits

Author SHA1 Message Date
Xyz00777
e1f0130be2
Merge 3c881c61fa into cdb442ea48 2025-06-12 23:19:22 +10:00
softwarefactory-project-zuul[bot]
cdb442ea48
Merge pull request #646 from saito-hideki/issue/642
[AZP] Add RHEL10 environment to CI matrix

SUMMARY
Add RHEL10 environment to CI matrix

Fixes #642

ISSUE TYPE

Feature Pull Request

COMPONENT NAME

ansible.posix

ADDITIONAL INFORMATION
N/A
2025-06-09 10:07:53 +00:00
saito-hideki
f977bffff2
[AZP] Add RHEL10 environment to CI matrix
* Fixes #642

Signed-off-by: saito-hideki <saito@fgrep.org>
2025-06-09 18:43:43 +09:00
Xyz00777
3c881c61fa Enhance ACL handling for NFSv4: add recursive flag and adjust default ACL processing
currently not working is the indempodency, so the permissions are getting set every time when executet
2025-04-25 19:37:07 +00:00
4 changed files with 36 additions and 6 deletions

View file

@ -195,6 +195,8 @@ stages:
parameters:
testFormat: devel/{0}/1
targets:
- name: RHEL 10.0
test: rhel/10.0
- name: RHEL 9.5
test: rhel/9.5
- name: FreeBSD 14.2

View file

@ -0,0 +1,2 @@
trivial:
- Add Red Hat Enterprise Linux 10.0 to the CI matrix (https://github.com/ansible-collections/ansible.posix/issues/642).

View file

@ -211,8 +211,11 @@ def build_command(module, mode, path, follow, default, recursive, recalculate_ma
cmd.append('--absolute-names')
cmd.append('--omit-header')
if recursive and not use_nfsv4_acls:
cmd.append('--recursive')
if recursive:
if use_nfsv4_acls:
cmd.append('-R') # Add recursive flag for NFSv4 ACLs
else:
cmd.append('--recursive')
if recalculate_mask == 'mask' and mode in ['set', 'rm']:
cmd.append('--mask')
@ -226,13 +229,18 @@ def build_command(module, mode, path, follow, default, recursive, recalculate_ma
cmd.append('-h')
if default:
cmd.insert(1, '-d')
if not use_nfsv4_acls:
cmd.insert(1, '-d')
elif mode == 'set':
# For NFSv4 ACLs, handle default ACLs through the entry format or other means
# This is a placeholder for NFSv4 default ACL handling
pass
cmd.append(path)
return cmd
def acl_changed(module, cmd, entry, use_nfsv4_acls=False):
def acl_changed(module, cmd, entry, recursive=False, use_nfsv4_acls=False):
'''Returns true if the provided command affects the existing ACLs, false otherwise.'''
# To check the ACL changes, use the output of setfacl or nfs4_setfacl with '--test'.
# FreeBSD do not have a --test flag, so by default, it is safer to always say "true".
@ -247,6 +255,18 @@ def acl_changed(module, cmd, entry, use_nfsv4_acls=False):
if line.endswith('*,*') and not use_nfsv4_acls:
return False
# if use_nfsv4_acls and entry is listed
if use_nfsv4_acls:
# For NFSv4 ACLs, ensure the entry is checked against the actual ACLs
for line in lines:
if recursive:
# In recursive mode, ensure all entries match
if entry not in line:
return True
else:
if entry in line:
return False
return True
if use_nfsv4_acls and entry == line:
counter += 1
@ -371,7 +391,7 @@ def main():
module, 'set', path, follow,
default, recursive, recalculate_mask, use_nfsv4_acls, entry
)
changed = acl_changed(module, command, entry, use_nfsv4_acls)
changed = acl_changed(module, command, entry, recursive, use_nfsv4_acls)
if changed and not module.check_mode:
run_acl(module, command)
@ -386,7 +406,7 @@ def main():
module, 'rm', path, follow,
default, recursive, recalculate_mask, use_nfsv4_acls, entry
)
changed = acl_changed(module, command, entry, use_nfsv4_acls)
changed = acl_changed(module, command, entry, recursive, use_nfsv4_acls)
if changed and not module.check_mode:
run_acl(module, command, False)

View file

@ -46,6 +46,12 @@
path: "{{ test_dir }}"
state: directory
mode: "0755"
- name: Install acl package
ansible.builtin.package:
name: acl
state: present
##############################################################################
- name: Grant ansible user read access to a file
ansible.posix.acl: