mirror of
https://github.com/ansible-collections/ansible.posix.git
synced 2026-01-12 07:35:31 +01:00
Compare commits
19 commits
6609f2f75d
...
0d8fac7eb2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0d8fac7eb2 | ||
|
|
4c6898ee6e | ||
|
|
f5eae12146 | ||
|
|
f632fad9d4 | ||
|
|
6175a5028b | ||
|
|
c401a5d331 | ||
|
|
94059765b6 | ||
|
|
48c2e9310e | ||
|
|
0a58f59906 | ||
|
|
892c045679 | ||
|
|
793518be3c | ||
|
|
b4fe18e6ff | ||
|
|
e72424ae50 | ||
|
|
6afd4cdcf1 | ||
|
|
ee7748732c | ||
|
|
1e0654f8b6 | ||
|
|
fe7dd71bda | ||
|
|
1a4c2051e8 | ||
|
|
8bb61047f8 |
22 changed files with 245 additions and 135 deletions
|
|
@ -4,6 +4,74 @@ ansible.posix Release Notes
|
||||||
|
|
||||||
.. contents:: Topics
|
.. contents:: Topics
|
||||||
|
|
||||||
|
v2.0.0
|
||||||
|
======
|
||||||
|
|
||||||
|
Release Summary
|
||||||
|
---------------
|
||||||
|
|
||||||
|
This is the major release of the ``ansible.posix`` collection.
|
||||||
|
This changelog contains all changes to the modules and plugins
|
||||||
|
in this collection that have been added after the release of
|
||||||
|
``ansible.posix`` 1.6.2
|
||||||
|
|
||||||
|
Minor Changes
|
||||||
|
-------------
|
||||||
|
|
||||||
|
- authorized_keys - allow using absolute path to a file as a SSH key(s) source (https://github.com/ansible-collections/ansible.posix/pull/568)
|
||||||
|
- callback plugins - Add recap information to timer, profile_roles and profile_tasks callback outputs (https://github.com/ansible-collections/ansible.posix/pull/387).
|
||||||
|
|
||||||
|
Breaking Changes / Porting Guide
|
||||||
|
--------------------------------
|
||||||
|
|
||||||
|
- firewalld - Changed the type of forward and masquerade options from str to bool (https://github.com/ansible-collections/ansible.posix/issues/582).
|
||||||
|
- firewalld - Changed the type of icmp_block_inversion option from str to bool (https://github.com/ansible-collections/ansible.posix/issues/586).
|
||||||
|
|
||||||
|
Removed Features (previously deprecated)
|
||||||
|
----------------------------------------
|
||||||
|
|
||||||
|
- skippy - Remove skippy pluglin as it is no longer supported(https://github.com/ansible-collections/ansible.posix/issues/350).
|
||||||
|
|
||||||
|
Bugfixes
|
||||||
|
--------
|
||||||
|
|
||||||
|
- acl - Fixed to set ACLs on paths mounted with NFS version 4 correctly (https://github.com/ansible-collections/ansible.posix/issues/240).
|
||||||
|
- mount - Handle ``boot`` option on Linux, NetBSD and OpenBSD correctly (https://github.com/ansible-collections/ansible.posix/issues/364).
|
||||||
|
- mount - If a comment is appended to a fstab entry, state present creates a double-entry (https://github.com/ansible-collections/ansible.posix/issues/595).
|
||||||
|
|
||||||
|
v1.6.2
|
||||||
|
======
|
||||||
|
|
||||||
|
Release Summary
|
||||||
|
---------------
|
||||||
|
|
||||||
|
This is the bugfix release of the stable version ``ansible.posix`` collection.
|
||||||
|
This changelog contains all changes to the modules and plugins
|
||||||
|
in this collection that have been added after the release of
|
||||||
|
``ansible.posix`` 1.6.1.
|
||||||
|
|
||||||
|
Bugfixes
|
||||||
|
--------
|
||||||
|
|
||||||
|
- backport - Drop ansible-core 2.14 and set 2.15 minimum version (https://github.com/ansible-collections/ansible.posix/issues/578).
|
||||||
|
|
||||||
|
v1.6.1
|
||||||
|
======
|
||||||
|
|
||||||
|
Release Summary
|
||||||
|
---------------
|
||||||
|
|
||||||
|
This is the bugfix release of the stable version ``ansible.posix`` collection.
|
||||||
|
This changelog contains all changes to the modules and plugins
|
||||||
|
in this collection that have been added after the release of
|
||||||
|
``ansible.posix`` 1.6.1.
|
||||||
|
|
||||||
|
Bugfixes
|
||||||
|
--------
|
||||||
|
|
||||||
|
- acl - Fixed to set ACLs on paths mounted with NFS version 4 correctly (https://github.com/ansible-collections/ansible.posix/issues/240).
|
||||||
|
- mount - Handle ``boot`` option on Linux, NetBSD and OpenBSD correctly (https://github.com/ansible-collections/ansible.posix/issues/364).
|
||||||
|
- skippy - Revert removal of skippy plugin. It will be removed in version 2.0.0 (https://github.com/ansible-collections/ansible.posix/issues/573).
|
||||||
|
|
||||||
v1.6.0
|
v1.6.0
|
||||||
======
|
======
|
||||||
|
|
|
||||||
|
|
@ -405,3 +405,88 @@ releases:
|
||||||
- dropping-ansible29.yml
|
- dropping-ansible29.yml
|
||||||
- test-reqs.yml
|
- test-reqs.yml
|
||||||
release_date: '2024-09-11'
|
release_date: '2024-09-11'
|
||||||
|
1.6.1:
|
||||||
|
changes:
|
||||||
|
bugfixes:
|
||||||
|
- acl - Fixed to set ACLs on paths mounted with NFS version 4 correctly (https://github.com/ansible-collections/ansible.posix/issues/240).
|
||||||
|
- mount - Handle ``boot`` option on Linux, NetBSD and OpenBSD correctly (https://github.com/ansible-collections/ansible.posix/issues/364).
|
||||||
|
- skippy - Revert removal of skippy plugin. It will be removed in version 2.0.0
|
||||||
|
(https://github.com/ansible-collections/ansible.posix/issues/573).
|
||||||
|
release_summary: 'This is the bugfix release of the stable version ``ansible.posix``
|
||||||
|
collection.
|
||||||
|
|
||||||
|
This changelog contains all changes to the modules and plugins
|
||||||
|
|
||||||
|
in this collection that have been added after the release of
|
||||||
|
|
||||||
|
``ansible.posix`` 1.6.1.'
|
||||||
|
fragments:
|
||||||
|
- 1.6.1.yml
|
||||||
|
- 365-boot-linux.yml
|
||||||
|
- 566_bump_version_161.yml
|
||||||
|
- 567_remove_version_added.yml
|
||||||
|
- 570_nfs4_acl.yml
|
||||||
|
- 571_ci_bump_core_version.yml
|
||||||
|
- 572_revert_removal_of_skippy.yml
|
||||||
|
release_date: '2024-10-11'
|
||||||
|
1.6.2:
|
||||||
|
changes:
|
||||||
|
bugfixes:
|
||||||
|
- backport - Drop ansible-core 2.14 and set 2.15 minimum version (https://github.com/ansible-collections/ansible.posix/issues/578).
|
||||||
|
release_summary: 'This is the bugfix release of the stable version ``ansible.posix``
|
||||||
|
collection.
|
||||||
|
|
||||||
|
This changelog contains all changes to the modules and plugins
|
||||||
|
|
||||||
|
in this collection that have been added after the release of
|
||||||
|
|
||||||
|
``ansible.posix`` 1.6.1.'
|
||||||
|
fragments:
|
||||||
|
- 1.6.2.yml
|
||||||
|
- 580_drop_ansible214.yml
|
||||||
|
release_date: '2024-10-22'
|
||||||
|
2.0.0:
|
||||||
|
changes:
|
||||||
|
breaking_changes:
|
||||||
|
- firewalld - Changed the type of forward and masquerade options from str to
|
||||||
|
bool (https://github.com/ansible-collections/ansible.posix/issues/582).
|
||||||
|
- firewalld - Changed the type of icmp_block_inversion option from str to bool
|
||||||
|
(https://github.com/ansible-collections/ansible.posix/issues/586).
|
||||||
|
bugfixes:
|
||||||
|
- acl - Fixed to set ACLs on paths mounted with NFS version 4 correctly (https://github.com/ansible-collections/ansible.posix/issues/240).
|
||||||
|
- mount - Handle ``boot`` option on Linux, NetBSD and OpenBSD correctly (https://github.com/ansible-collections/ansible.posix/issues/364).
|
||||||
|
- mount - If a comment is appended to a fstab entry, state present creates a
|
||||||
|
double-entry (https://github.com/ansible-collections/ansible.posix/issues/595).
|
||||||
|
minor_changes:
|
||||||
|
- authorized_keys - allow using absolute path to a file as a SSH key(s) source
|
||||||
|
(https://github.com/ansible-collections/ansible.posix/pull/568)
|
||||||
|
- callback plugins - Add recap information to timer, profile_roles and profile_tasks
|
||||||
|
callback outputs (https://github.com/ansible-collections/ansible.posix/pull/387).
|
||||||
|
release_summary: 'This is the major release of the ``ansible.posix`` collection.
|
||||||
|
|
||||||
|
This changelog contains all changes to the modules and plugins
|
||||||
|
|
||||||
|
in this collection that have been added after the release of
|
||||||
|
|
||||||
|
``ansible.posix`` 1.6.2'
|
||||||
|
removed_features:
|
||||||
|
- skippy - Remove skippy pluglin as it is no longer supported(https://github.com/ansible-collections/ansible.posix/issues/350).
|
||||||
|
fragments:
|
||||||
|
- 2.0.0.yml
|
||||||
|
- 365-boot-linux.yml
|
||||||
|
- 387_callback_output_header.yml
|
||||||
|
- 556_remove_skippy_callback.yml
|
||||||
|
- 566_bump_version_161.yml
|
||||||
|
- 567_remove_version_added.yml
|
||||||
|
- 568_update_authorized_key.yml
|
||||||
|
- 570_nfs4_acl.yml
|
||||||
|
- 571_ci_bump_core_version.yml
|
||||||
|
- 576_bump_version_2.yml
|
||||||
|
- 581_ci_selinux.yml
|
||||||
|
- 584_firewalld_opt_type.yml
|
||||||
|
- 587_update_README.yml
|
||||||
|
- 588_ci_enable_devel.yml
|
||||||
|
- 593_replace_freebsd_version.yml
|
||||||
|
- 597_remove_fstab_comment_on_updating.yml
|
||||||
|
- 598_icmp_block_inversion.yml
|
||||||
|
release_date: '2024-12-04'
|
||||||
|
|
|
||||||
|
|
@ -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).
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
---
|
|
||||||
bugfixes:
|
|
||||||
- mount - Handle ``boot`` option on Linux, NetBSD and OpenBSD correctly (https://github.com/ansible-collections/ansible.posix/issues/364).
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
---
|
|
||||||
minor_changes:
|
|
||||||
- callback plugins - Add recap information to timer, profile_roles and profile_tasks callback outputs (https://github.com/ansible-collections/ansible.posix/pull/387).
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
---
|
|
||||||
trivial:
|
|
||||||
- Bump version to 1.6.1 for next release.
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
---
|
|
||||||
trivial:
|
|
||||||
- mount - remove wrong version_added section from ``opts_no_log``.
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
---
|
|
||||||
minor_changes:
|
|
||||||
- authorized_keys - allow using absolute path to a file as a SSH key(s) source (https://github.com/ansible-collections/ansible.posix/pull/568)
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
---
|
|
||||||
bugfixes:
|
|
||||||
- acl - Fixed to set ACLs on paths mounted with NFS version 4 correctly (https://github.com/ansible-collections/ansible.posix/issues/240).
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
---
|
|
||||||
trivial:
|
|
||||||
- Bump ansible-core version to 2.19 of devel branch and add 2.18 to CI.
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
---
|
|
||||||
trivial:
|
|
||||||
- Bump ansible.posix version to 2.0.0.
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
---
|
|
||||||
trivial:
|
|
||||||
- selinux - conditions for selinux integration tests have been modified to be more accurate.
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
---
|
|
||||||
breaking_changes:
|
|
||||||
- firewalld - Changed the type of forward and masquerade options from str to bool (https://github.com/ansible-collections/ansible.posix/issues/582).
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
---
|
|
||||||
trivial:
|
|
||||||
- README.md - update README to cover RH guidelines (https://github.com/ansible-collections/ansible.posix/issues/585).
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
---
|
|
||||||
trivial:
|
|
||||||
- Enabled remote and docker integration tests for devel branch.
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
---
|
|
||||||
trivial:
|
|
||||||
- Replaced FreeBSD version 13.3 with 13.4 and 14.1 in CI for devel branch.
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
---
|
|
||||||
bugfixes:
|
|
||||||
- mount - If a comment is appended to a fstab entry, state present creates a double-entry (https://github.com/ansible-collections/ansible.posix/issues/595).
|
|
||||||
|
|
@ -74,7 +74,8 @@ options:
|
||||||
icmp_block_inversion:
|
icmp_block_inversion:
|
||||||
description:
|
description:
|
||||||
- Enable/Disable inversion of ICMP blocks for a zone in firewalld.
|
- Enable/Disable inversion of ICMP blocks for a zone in firewalld.
|
||||||
type: str
|
- Note that the option type is changed to bool in ansible.posix version 2.0.0 and later.
|
||||||
|
type: bool
|
||||||
zone:
|
zone:
|
||||||
description:
|
description:
|
||||||
- The firewalld zone to add/remove to/from.
|
- The firewalld zone to add/remove to/from.
|
||||||
|
|
@ -152,7 +153,7 @@ author:
|
||||||
'''
|
'''
|
||||||
|
|
||||||
EXAMPLES = r'''
|
EXAMPLES = r'''
|
||||||
- name: permanently enable https service, also enable it immediately if possible
|
- name: Permanently enable https service, also enable it immediately if possible
|
||||||
ansible.posix.firewalld:
|
ansible.posix.firewalld:
|
||||||
service: https
|
service: https
|
||||||
state: enabled
|
state: enabled
|
||||||
|
|
@ -160,81 +161,92 @@ EXAMPLES = r'''
|
||||||
immediate: true
|
immediate: true
|
||||||
offline: true
|
offline: true
|
||||||
|
|
||||||
- name: permit traffic in default zone for https service
|
- name: Permit traffic in default zone for https service
|
||||||
ansible.posix.firewalld:
|
ansible.posix.firewalld:
|
||||||
service: https
|
service: https
|
||||||
permanent: true
|
permanent: true
|
||||||
state: enabled
|
state: enabled
|
||||||
|
|
||||||
- name: permit ospf traffic
|
- name: Permit ospf traffic
|
||||||
ansible.posix.firewalld:
|
ansible.posix.firewalld:
|
||||||
protocol: ospf
|
protocol: ospf
|
||||||
permanent: true
|
permanent: true
|
||||||
state: enabled
|
state: enabled
|
||||||
|
|
||||||
- name: do not permit traffic in default zone on port 8081/tcp
|
- name: Do not permit traffic in default zone on port 8081/tcp
|
||||||
ansible.posix.firewalld:
|
ansible.posix.firewalld:
|
||||||
port: 8081/tcp
|
port: 8081/tcp
|
||||||
permanent: true
|
permanent: true
|
||||||
state: disabled
|
state: disabled
|
||||||
|
|
||||||
- ansible.posix.firewalld:
|
- name: Permit traffic in default zone on port 161-162/ucp
|
||||||
|
ansible.posix.firewalld:
|
||||||
port: 161-162/udp
|
port: 161-162/udp
|
||||||
permanent: true
|
permanent: true
|
||||||
state: enabled
|
state: enabled
|
||||||
|
|
||||||
- ansible.posix.firewalld:
|
- name: Permit traffic in dmz zone on http service
|
||||||
|
ansible.posix.firewalld:
|
||||||
zone: dmz
|
zone: dmz
|
||||||
service: http
|
service: http
|
||||||
permanent: true
|
permanent: true
|
||||||
state: enabled
|
state: enabled
|
||||||
|
|
||||||
- ansible.posix.firewalld:
|
- name: Enable FTP service with rate limiting using firewalld rich rule
|
||||||
|
ansible.posix.firewalld:
|
||||||
rich_rule: rule service name="ftp" audit limit value="1/m" accept
|
rich_rule: rule service name="ftp" audit limit value="1/m" accept
|
||||||
permanent: true
|
permanent: true
|
||||||
state: enabled
|
state: enabled
|
||||||
|
|
||||||
- ansible.posix.firewalld:
|
- name: Allow traffic from 192.0.2.0/24 in internal zone
|
||||||
|
ansible.posix.firewalld:
|
||||||
source: 192.0.2.0/24
|
source: 192.0.2.0/24
|
||||||
zone: internal
|
zone: internal
|
||||||
state: enabled
|
state: enabled
|
||||||
|
|
||||||
- ansible.posix.firewalld:
|
- name: Assign eth2 interface to trusted zone
|
||||||
|
ansible.posix.firewalld:
|
||||||
zone: trusted
|
zone: trusted
|
||||||
interface: eth2
|
interface: eth2
|
||||||
permanent: true
|
permanent: true
|
||||||
state: enabled
|
state: enabled
|
||||||
|
|
||||||
- ansible.posix.firewalld:
|
- name: Enable forwarding in internal zone
|
||||||
|
ansible.posix.firewalld:
|
||||||
forward: true
|
forward: true
|
||||||
state: enabled
|
state: enabled
|
||||||
permanent: true
|
permanent: true
|
||||||
zone: internal
|
zone: internal
|
||||||
|
|
||||||
- ansible.posix.firewalld:
|
- name: Enable masquerade in dmz zone
|
||||||
|
ansible.posix.firewalld:
|
||||||
masquerade: true
|
masquerade: true
|
||||||
state: enabled
|
state: enabled
|
||||||
permanent: true
|
permanent: true
|
||||||
zone: dmz
|
zone: dmz
|
||||||
|
|
||||||
- ansible.posix.firewalld:
|
- name: Create custom zone if not already present
|
||||||
|
ansible.posix.firewalld:
|
||||||
zone: custom
|
zone: custom
|
||||||
state: present
|
state: present
|
||||||
permanent: true
|
permanent: true
|
||||||
|
|
||||||
- ansible.posix.firewalld:
|
- name: Enable ICMP block inversion in drop zone
|
||||||
|
ansible.posix.firewalld:
|
||||||
zone: drop
|
zone: drop
|
||||||
state: enabled
|
state: enabled
|
||||||
permanent: true
|
permanent: true
|
||||||
icmp_block_inversion: true
|
icmp_block_inversion: true
|
||||||
|
|
||||||
- ansible.posix.firewalld:
|
- name: Block ICMP echo requests in drop zone
|
||||||
|
ansible.posix.firewalld:
|
||||||
zone: drop
|
zone: drop
|
||||||
state: enabled
|
state: enabled
|
||||||
permanent: true
|
permanent: true
|
||||||
icmp_block: echo-request
|
icmp_block: echo-request
|
||||||
|
|
||||||
- ansible.posix.firewalld:
|
- name: Set internal zone target to ACCEPT
|
||||||
|
ansible.posix.firewalld:
|
||||||
zone: internal
|
zone: internal
|
||||||
state: present
|
state: present
|
||||||
permanent: true
|
permanent: true
|
||||||
|
|
@ -250,7 +262,6 @@ EXAMPLES = r'''
|
||||||
'''
|
'''
|
||||||
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
from ansible.module_utils.parsing.convert_bool import boolean
|
|
||||||
from ansible_collections.ansible.posix.plugins.module_utils.firewalld import FirewallTransaction, fw_offline
|
from ansible_collections.ansible.posix.plugins.module_utils.firewalld import FirewallTransaction, fw_offline
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
|
@ -864,7 +875,7 @@ def main():
|
||||||
module = AnsibleModule(
|
module = AnsibleModule(
|
||||||
argument_spec=dict(
|
argument_spec=dict(
|
||||||
icmp_block=dict(type='str'),
|
icmp_block=dict(type='str'),
|
||||||
icmp_block_inversion=dict(type='str'),
|
icmp_block_inversion=dict(type='bool'),
|
||||||
service=dict(type='str'),
|
service=dict(type='str'),
|
||||||
protocol=dict(type='str'),
|
protocol=dict(type='str'),
|
||||||
port=dict(type='str'),
|
port=dict(type='str'),
|
||||||
|
|
@ -987,16 +998,7 @@ def main():
|
||||||
msgs.append("Changed icmp-block %s to %s" % (icmp_block, desired_state))
|
msgs.append("Changed icmp-block %s to %s" % (icmp_block, desired_state))
|
||||||
|
|
||||||
if icmp_block_inversion is not None:
|
if icmp_block_inversion is not None:
|
||||||
# Type of icmp_block_inversion will be changed to boolean in a future release.
|
expected_state = 'enabled' if (desired_state == 'enabled') == icmp_block_inversion else 'disabled'
|
||||||
icmp_block_inversion_status = True
|
|
||||||
try:
|
|
||||||
icmp_block_inversion_status = boolean(icmp_block_inversion, True)
|
|
||||||
except TypeError:
|
|
||||||
module.warn('The value of the icmp_block_inversion option is "%s". '
|
|
||||||
'The type of the option will be changed from string to boolean in a future release. '
|
|
||||||
'To avoid unexpected behavior, please change the value to boolean.' % icmp_block_inversion)
|
|
||||||
expected_state = 'enabled' if (desired_state == 'enabled') == icmp_block_inversion_status else 'disabled'
|
|
||||||
|
|
||||||
transaction = IcmpBlockInversionTransaction(
|
transaction = IcmpBlockInversionTransaction(
|
||||||
module,
|
module,
|
||||||
action_args=(),
|
action_args=(),
|
||||||
|
|
|
||||||
|
|
@ -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__':
|
||||||
|
|
|
||||||
2
tests/integration/inventory
Normal file
2
tests/integration/inventory
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
[testgroup]
|
||||||
|
testhost ansible_connection="local" ansible_pipelining="yes" ansible_python_interpreter="/Users/mandkulk/venv3.9/bin/python"
|
||||||
|
|
@ -114,60 +114,3 @@
|
||||||
ansible.builtin.assert:
|
ansible.builtin.assert:
|
||||||
that:
|
that:
|
||||||
- result is not changed
|
- result is not changed
|
||||||
|
|
||||||
# Validate backwards compatible behavior until icmp block inversion is switched from string to boolean type
|
|
||||||
- name: Icmp block inversion enabled when icmp block inversion is non-boolean string and state is enabled
|
|
||||||
block:
|
|
||||||
- name: Testing enable icmp block inversion
|
|
||||||
ansible.posix.firewalld:
|
|
||||||
zone: trusted
|
|
||||||
icmp_block_inversion: some string
|
|
||||||
permanent: true
|
|
||||||
state: enabled
|
|
||||||
register: result
|
|
||||||
|
|
||||||
- name: Assert icmp block inversion is enabled
|
|
||||||
ansible.builtin.assert:
|
|
||||||
that:
|
|
||||||
- result is changed
|
|
||||||
|
|
||||||
- name: Testing enable icmp block inversion (verify not changed)
|
|
||||||
ansible.posix.firewalld:
|
|
||||||
zone: trusted
|
|
||||||
icmp_block_inversion: some string
|
|
||||||
permanent: true
|
|
||||||
state: enabled
|
|
||||||
register: result
|
|
||||||
|
|
||||||
- name: Assert icmp block inversion is enabled (verify not changed)
|
|
||||||
ansible.builtin.assert:
|
|
||||||
that:
|
|
||||||
- result is not changed
|
|
||||||
|
|
||||||
- name: Icmp block inversion disabled when icmp block inversion is non-boolean string and state is disabled
|
|
||||||
block:
|
|
||||||
- name: Testing disable icmp block inversion
|
|
||||||
ansible.posix.firewalld:
|
|
||||||
zone: trusted
|
|
||||||
icmp_block_inversion: some string
|
|
||||||
permanent: true
|
|
||||||
state: disabled
|
|
||||||
register: result
|
|
||||||
|
|
||||||
- name: Assert icmp block inversion is disabled
|
|
||||||
ansible.builtin.assert:
|
|
||||||
that:
|
|
||||||
- result is changed
|
|
||||||
|
|
||||||
- name: Testing disable icmp block inversion (verify not changed)
|
|
||||||
ansible.posix.firewalld:
|
|
||||||
zone: trusted
|
|
||||||
icmp_block_inversion: some string
|
|
||||||
permanent: true
|
|
||||||
state: disabled
|
|
||||||
register: result
|
|
||||||
|
|
||||||
- name: Assert icmp block inversion is disabled (verify not changed)
|
|
||||||
ansible.builtin.assert:
|
|
||||||
that:
|
|
||||||
- result is not changed
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue