mirror of
https://github.com/ansible-collections/ansible.posix.git
synced 2026-01-11 15:15:26 +01:00
Compare commits
4 commits
6dacd62307
...
2dc0bd8d79
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2dc0bd8d79 | ||
|
|
9343c6f56f | ||
|
|
9dc73a686a | ||
|
|
3c881c61fa |
6 changed files with 50 additions and 15 deletions
|
|
@ -4,7 +4,8 @@
|
||||||
# SPDX-FileCopyrightText: 2024, Ansible Project
|
# SPDX-FileCopyrightText: 2024, Ansible Project
|
||||||
|
|
||||||
skip_list:
|
skip_list:
|
||||||
- meta-runtime[unsupported-version] # Tis rule doesn't make any sense
|
- meta-runtime[unsupported-version] # This rule doesn't make any sense
|
||||||
- fqcn[deep] # This rule produces false positives for files in tests/unit/plugins/action/fixtures/
|
- fqcn[deep] # This rule produces false positives for files in tests/unit/plugins/action/fixtures/
|
||||||
|
- sanity[cannot-ignore] # This rule is skipped to keep backward compatibility with Python 2
|
||||||
exclude_paths:
|
exclude_paths:
|
||||||
- changelogs/
|
- changelogs/
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@ pool: Standard
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
- stage: Sanity_devel
|
- stage: Sanity_devel
|
||||||
displayName: Ansible devel sanity
|
displayName: Ansible devel Sanity & Units & Lint
|
||||||
dependsOn: []
|
dependsOn: []
|
||||||
jobs:
|
jobs:
|
||||||
- template: templates/matrix.yml
|
- template: templates/matrix.yml
|
||||||
|
|
@ -58,7 +58,7 @@ stages:
|
||||||
- name: Lint
|
- name: Lint
|
||||||
test: lint
|
test: lint
|
||||||
- stage: Sanity_2_19
|
- stage: Sanity_2_19
|
||||||
displayName: Ansible 2.19 sanitay & Units & Lint
|
displayName: Ansible 2.19 Sanity & Units & Lint
|
||||||
dependsOn: []
|
dependsOn: []
|
||||||
jobs:
|
jobs:
|
||||||
- template: templates/matrix.yml
|
- template: templates/matrix.yml
|
||||||
|
|
@ -73,7 +73,7 @@ stages:
|
||||||
- name: Lint
|
- name: Lint
|
||||||
test: lint
|
test: lint
|
||||||
- stage: Sanity_2_18
|
- stage: Sanity_2_18
|
||||||
displayName: Ansible 2.18 sanity & Units & Lint
|
displayName: Ansible 2.18 Sanity & Units & Lint
|
||||||
dependsOn: []
|
dependsOn: []
|
||||||
jobs:
|
jobs:
|
||||||
- template: templates/matrix.yml
|
- template: templates/matrix.yml
|
||||||
|
|
@ -88,7 +88,7 @@ stages:
|
||||||
- name: Lint
|
- name: Lint
|
||||||
test: lint
|
test: lint
|
||||||
- stage: Sanity_2_17
|
- stage: Sanity_2_17
|
||||||
displayName: Ansible 2.17 sanity & Units & Lint
|
displayName: Ansible 2.17 Sanity & Units & Lint
|
||||||
dependsOn: []
|
dependsOn: []
|
||||||
jobs:
|
jobs:
|
||||||
- template: templates/matrix.yml
|
- template: templates/matrix.yml
|
||||||
|
|
@ -103,7 +103,7 @@ stages:
|
||||||
- name: Lint
|
- name: Lint
|
||||||
test: lint
|
test: lint
|
||||||
- stage: Sanity_2_16
|
- stage: Sanity_2_16
|
||||||
displayName: Ansible 2.16 sanity & Units & Lint
|
displayName: Ansible 2.16 Sanity & Units & Lint
|
||||||
dependsOn: []
|
dependsOn: []
|
||||||
jobs:
|
jobs:
|
||||||
- template: templates/matrix.yml
|
- template: templates/matrix.yml
|
||||||
|
|
@ -115,6 +115,8 @@ stages:
|
||||||
test: sanity
|
test: sanity
|
||||||
- name: Units
|
- name: Units
|
||||||
test: units
|
test: units
|
||||||
|
- name: Lint
|
||||||
|
test: lint
|
||||||
## Docker
|
## Docker
|
||||||
- stage: Docker_devel
|
- stage: Docker_devel
|
||||||
displayName: Docker devel
|
displayName: Docker devel
|
||||||
|
|
|
||||||
4
changelogs/fragments/682_update_ci_20250929.yml
Normal file
4
changelogs/fragments/682_update_ci_20250929.yml
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
trivial:
|
||||||
|
- Updatng AZP CI matrix to ignore ansible-bad-import-from on six(https://github.com/ansible-collections/ansible.posix/pull/682).
|
||||||
|
- Skipped sanity[cannot-ignore] to keep backward compatibility with Python2.
|
||||||
|
- Consolidate all ansible-lint option locations into .ansible-lint file.
|
||||||
|
|
@ -211,7 +211,10 @@ def build_command(module, mode, path, follow, default, recursive, recalculate_ma
|
||||||
cmd.append('--absolute-names')
|
cmd.append('--absolute-names')
|
||||||
cmd.append('--omit-header')
|
cmd.append('--omit-header')
|
||||||
|
|
||||||
if recursive and not use_nfsv4_acls:
|
if recursive:
|
||||||
|
if use_nfsv4_acls:
|
||||||
|
cmd.append('-R') # Add recursive flag for NFSv4 ACLs
|
||||||
|
else:
|
||||||
cmd.append('--recursive')
|
cmd.append('--recursive')
|
||||||
|
|
||||||
if recalculate_mask == 'mask' and mode in ['set', 'rm']:
|
if recalculate_mask == 'mask' and mode in ['set', 'rm']:
|
||||||
|
|
@ -226,13 +229,18 @@ def build_command(module, mode, path, follow, default, recursive, recalculate_ma
|
||||||
cmd.append('-h')
|
cmd.append('-h')
|
||||||
|
|
||||||
if default:
|
if default:
|
||||||
|
if not use_nfsv4_acls:
|
||||||
cmd.insert(1, '-d')
|
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)
|
cmd.append(path)
|
||||||
return cmd
|
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.'''
|
'''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'.
|
# 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".
|
# 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:
|
if line.endswith('*,*') and not use_nfsv4_acls:
|
||||||
return False
|
return False
|
||||||
# if use_nfsv4_acls and entry is listed
|
# 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:
|
if use_nfsv4_acls and entry == line:
|
||||||
counter += 1
|
counter += 1
|
||||||
|
|
||||||
|
|
@ -371,7 +391,7 @@ def main():
|
||||||
module, 'set', path, follow,
|
module, 'set', path, follow,
|
||||||
default, recursive, recalculate_mask, use_nfsv4_acls, entry
|
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:
|
if changed and not module.check_mode:
|
||||||
run_acl(module, command)
|
run_acl(module, command)
|
||||||
|
|
@ -386,7 +406,7 @@ def main():
|
||||||
module, 'rm', path, follow,
|
module, 'rm', path, follow,
|
||||||
default, recursive, recalculate_mask, use_nfsv4_acls, entry
|
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:
|
if changed and not module.check_mode:
|
||||||
run_acl(module, command, False)
|
run_acl(module, command, False)
|
||||||
|
|
|
||||||
|
|
@ -1 +1,10 @@
|
||||||
tests/utils/shippable/timing.py shebang
|
tests/utils/shippable/timing.py shebang
|
||||||
|
plugins/action/synchronize.py pylint:ansible-bad-import-from
|
||||||
|
plugins/callback/cgroup_perf_recap.py pylint:ansible-bad-import-from
|
||||||
|
plugins/modules/mount.py pylint:ansible-bad-import-from
|
||||||
|
plugins/modules/sysctl.py pylint:ansible-bad-import-from
|
||||||
|
plugins/shell/csh.py pylint:ansible-bad-import-from
|
||||||
|
plugins/shell/fish.py pylint:ansible-bad-import-from
|
||||||
|
tests/unit/mock/procenv.py pylint:ansible-bad-import-from
|
||||||
|
tests/unit/mock/yaml_helper.py pylint:ansible-bad-import-from
|
||||||
|
tests/unit/modules/conftest.py pylint:ansible-bad-import-from
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,5 @@ command -v ansible
|
||||||
pip install --upgrade --user pip
|
pip install --upgrade --user pip
|
||||||
pip install --upgrade --user ansible-lint
|
pip install --upgrade --user ansible-lint
|
||||||
|
|
||||||
PATH="${PATH/\~/${HOME}}" ansible-lint \
|
# To specify additional options, you can specify them into .ansible-lint file.
|
||||||
--exclude changelogs/ \
|
PATH="${PATH/\~/${HOME}}" ansible-lint
|
||||||
--profile=production
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue