Compare commits

...

17 commits

Author SHA1 Message Date
Mandar Kulkarni
b049330248
Merge c401a5d331 into 9171b7fcf1 2024-10-16 10:27:54 +09:00
softwarefactory-project-zuul[bot]
9171b7fcf1
Merge pull request #581 from saito-hideki/pr/selinux_integration_test
[CI] Modify conditions for selinux integratuion tests

SUMMARY
Conditions for selinux integration tests have been modified to be more accurate.
This fix only affects integration tests, so it will not affect module behavior.
ISSUE TYPE

CI tests Pull Request

COMPONENT NAME

ansible.posix.selinux

ADDITIONAL INFORMATION
None
2024-10-15 23:58:44 +00:00
Hideki Saito
2f095566c7
Modify conditions for selinux integratuion tests
Signed-off-by: Hideki Saito <saito@fgrep.org>
2024-10-15 17:15:51 +09:00
Mandar Kulkarni
c401a5d331 sanity fix in tests 2024-06-07 15:03:48 -07:00
Mandar Kulkarni
94059765b6 sanity fix in tests 2024-06-07 14:58:52 -07:00
Mandar Kulkarni
48c2e9310e sanity fix in tests 2024-06-07 14:52:22 -07:00
Mandar Kulkarni
0a58f59906 modified based on feedback 2024-06-07 14:48:33 -07:00
Mandar Kulkarni
892c045679 rebase 2024-06-07 14:45:58 -07:00
Mandar Kulkarni
793518be3c Modify based on feedback 2024-06-07 14:42:11 -07:00
Mandar Kulkarni
b4fe18e6ff Modifying output to be displayed based on feedback 2024-06-07 14:41:54 -07:00
mandar
e72424ae50 Adding tests, corrections 2024-06-07 14:41:21 -07:00
Mandar Kulkarni
6afd4cdcf1 Modifying based on feedback 2024-06-07 14:40:56 -07:00
Mandar Kulkarni
ee7748732c Added Changelog fragment 2024-06-07 14:40:56 -07:00
Mandar Kulkarni
1e0654f8b6 Fix: moving conditional to correct place 2024-06-07 14:40:56 -07:00
Mandar Kulkarni
fe7dd71bda Added documentation and example for quiet option 2024-06-07 14:40:55 -07:00
Mandar Kulkarni
1a4c2051e8 Adding rsync parameter 'quiet' to synchronize 2024-06-07 14:40:40 -07:00
Mandar Kulkarni
8bb61047f8 Adding parameter to synchronize module to suppress verbose output and print error only 2024-06-07 14:40:39 -07:00
6 changed files with 67 additions and 10 deletions

View file

@ -0,0 +1,2 @@
minor_changes:
- synchronize - add the ``quiet`` option to suppress non-error messages (https://github.com/ansible-collections/ansible.posix/issues/171).

View file

@ -0,0 +1,3 @@
---
trivial:
- selinux - conditions for selinux integration tests have been modified to be more accurate.

View file

@ -8,7 +8,6 @@
from __future__ import absolute_import, division, print_function from __future__ import absolute_import, division, print_function
__metaclass__ = type __metaclass__ = type
DOCUMENTATION = r''' DOCUMENTATION = r'''
--- ---
module: synchronize module: synchronize
@ -204,6 +203,12 @@ options:
description: Internal use only. See O(use_ssh_args) for ssh arg settings. description: Internal use only. See O(use_ssh_args) for ssh arg settings.
type: str type: str
required: false required: false
quiet:
description:
- This option specifies quiet option which on true suppresses the output.
type: bool
default: false
version_added: 1.6.0
notes: notes:
- C(rsync) must be installed on both the local and remote host. - C(rsync) must be installed on both the local and remote host.
@ -361,6 +366,12 @@ EXAMPLES = r'''
src: /tmp/localpath/ src: /tmp/localpath/
dest: /tmp/remotepath dest: /tmp/remotepath
rsync_path: /usr/gnu/bin/rsync rsync_path: /usr/gnu/bin/rsync
- name: Synchronization with quiet option enabled
ansible.posix.synchronize:
src: some/relative/path
dest: /some/absolute/path
quiet: true
''' '''
@ -438,6 +449,7 @@ def main():
delay_updates=dict(type='bool', default=True), delay_updates=dict(type='bool', default=True),
mode=dict(type='str', default='push', choices=['pull', 'push']), mode=dict(type='str', default='push', choices=['pull', 'push']),
link_dest=dict(type='list', elements='path'), link_dest=dict(type='list', elements='path'),
quiet=dict(type='bool', default=False)
), ),
supports_check_mode=True, supports_check_mode=True,
) )
@ -478,6 +490,7 @@ def main():
verify_host = module.params['verify_host'] verify_host = module.params['verify_host']
link_dest = module.params['link_dest'] link_dest = module.params['link_dest']
delay_updates = module.params['delay_updates'] delay_updates = module.params['delay_updates']
quiet = module.params['quiet']
if '/' not in rsync: if '/' not in rsync:
rsync = module.get_bin_path(rsync, required=True) rsync = module.get_bin_path(rsync, required=True)
@ -602,6 +615,9 @@ def main():
cmd.append(shlex_quote(source)) cmd.append(shlex_quote(source))
cmd.append(shlex_quote(dest)) cmd.append(shlex_quote(dest))
if quiet:
cmd.append('--quiet')
cmdstr = ' '.join(cmd) cmdstr = ' '.join(cmd)
# If we are using password authentication, write the password into the pipe # If we are using password authentication, write the password into the pipe
@ -634,14 +650,17 @@ def main():
out_lines = out_clean.split('\n') out_lines = out_clean.split('\n')
while '' in out_lines: while '' in out_lines:
out_lines.remove('') out_lines.remove('')
if module._diff:
diff = {'prepared': out_clean}
return module.exit_json(changed=changed, msg=out_clean,
rc=rc, cmd=cmdstr, stdout_lines=out_lines,
diff=diff)
return module.exit_json(changed=changed, msg=out_clean, result = dict(changed=changed, rc=rc, cmd=cmdstr, stdout_lines=out_lines, msg=out_clean)
rc=rc, cmd=cmdstr, stdout_lines=out_lines)
if quiet:
changes = out.count(changed_marker) if changed else 0
result['msg'] = "%s files/directories have been synchronized" % changes
if module._diff:
result['diff'] = {'prepared': out_clean}
return module.exit_json(**result)
if __name__ == '__main__': if __name__ == '__main__':

View file

@ -0,0 +1,2 @@
[testgroup]
testhost ansible_connection="local" ansible_pipelining="yes" ansible_python_interpreter="/Users/mandkulk/venv3.9/bin/python"

View file

@ -128,8 +128,8 @@
ansible.builtin.assert: ansible.builtin.assert:
that: that:
- selinux_config_original | length == selinux_config_after | length - selinux_config_original | length == selinux_config_after | length
- selinux_config_after[selinux_config_after.index('SELINUX=disabled')] is search("^SELINUX=\w+$") - (selinux_config_after | select("search", "^SELINUX=disabled\s*$") | list | length) > 0
- selinux_config_after[selinux_config_after.index('SELINUXTYPE=targeted')] is search("^SELINUXTYPE=\w+$") - (selinux_config_after | select("search", "^SELINUXTYPE=targeted\s*$") | list | length) > 0
- name: TEST 1 | Disable SELinux again, with kernel arguments update - name: TEST 1 | Disable SELinux again, with kernel arguments update
ansible.posix.selinux: ansible.posix.selinux:

View file

@ -339,6 +339,37 @@
- stat_result_b.stat.exists == True - stat_result_b.stat.exists == True
- stat_result_b.stat.checksum == '2aae6c35c94fcfb415dbe95f408b9ce91ee846ed' - stat_result_b.stat.checksum == '2aae6c35c94fcfb415dbe95f408b9ce91ee846ed'
- name: Synchronize files with quiet option
ansible.posix.synchronize:
src: '{{ output_dir }}/foo.txt'
dest: '{{ output_dir }}/foo.result'
quiet: true
register: sync_result
- name: Assertion for synchronize with quiet option
ansible.builtin.assert:
that:
- '''files/directories have been synchronized'' in sync_result.msg'
- name: Cleanup
ansible.builtin.file:
state: absent
path: '{{ output_dir }}/{{ item }}'
loop:
- foo.result
- bar.result
- name: Synchronize files without quiet option
ansible.posix.synchronize:
src: '{{ output_dir }}/foo.txt'
dest: '{{ output_dir }}/foo.result'
register: sync_result
- name: Assertion for synchronize without quiet option
ansible.builtin.assert:
that:
- '''files/directories have been synchronized'' not in sync_result.msg'
- name: Cleanup - name: Cleanup
ansible.builtin.file: ansible.builtin.file:
state: absent state: absent