mirror of
https://github.com/ansible-collections/ansible.posix.git
synced 2026-03-26 21:33:32 +00:00
Compare commits
20 Commits
6835e71770
...
2.1.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e54b8bf68f | ||
|
|
d792d39716 | ||
|
|
9d3cb96f23 | ||
|
|
a27063e1dc | ||
|
|
2351c27339 | ||
|
|
5902dcab58 | ||
|
|
953577cdb7 | ||
|
|
59493f92aa | ||
|
|
20ea2f068e | ||
|
|
1f1d637b7f | ||
|
|
7128f64169 | ||
|
|
3149f38296 | ||
|
|
8cc459f381 | ||
|
|
82e4990f72 | ||
|
|
98f3e1255e | ||
|
|
a004bd9494 | ||
|
|
a357ceeb49 | ||
|
|
e8fc89fe5a | ||
|
|
ce72b7b1f4 | ||
|
|
f61bb76a86 |
@@ -37,7 +37,7 @@ variables:
|
||||
resources:
|
||||
containers:
|
||||
- container: default
|
||||
image: quay.io/ansible/azure-pipelines-test-container:7.0.0
|
||||
image: quay.io/ansible/azure-pipelines-test-container:6.0.0
|
||||
|
||||
pool: Standard
|
||||
|
||||
@@ -64,7 +64,7 @@ stages:
|
||||
- template: templates/matrix.yml
|
||||
parameters:
|
||||
nameFormat: "{0}"
|
||||
testFormat: 2.19/{0}
|
||||
testFormat: 2.19/{0OI}
|
||||
targets:
|
||||
- name: Sanity
|
||||
test: sanity
|
||||
@@ -92,6 +92,7 @@ stages:
|
||||
dependsOn: []
|
||||
jobs:
|
||||
- template: templates/matrix.yml
|
||||
I
|
||||
parameters:
|
||||
nameFormat: "{0}"
|
||||
testFormat: 2.17/{0}
|
||||
@@ -115,6 +116,19 @@ stages:
|
||||
test: sanity
|
||||
- name: Units
|
||||
test: units
|
||||
- stage: Sanity_2_15
|
||||
displayName: Ansible 2.15 sanity & Units & Lint
|
||||
dependsOn: []
|
||||
jobs:
|
||||
- template: templates/matrix.yml
|
||||
parameters:
|
||||
nameFormat: "{0}"
|
||||
testFormat: 2.15/{0}
|
||||
targets:
|
||||
- name: Sanity
|
||||
test: sanity
|
||||
- name: Units
|
||||
test: units
|
||||
## Docker
|
||||
- stage: Docker_devel
|
||||
displayName: Docker devel
|
||||
@@ -124,8 +138,8 @@ stages:
|
||||
parameters:
|
||||
testFormat: devel/linux/{0}/1
|
||||
targets:
|
||||
- name: Fedora 42
|
||||
test: fedora42
|
||||
- name: Fedora 41
|
||||
test: fedora41
|
||||
- name: Ubuntu 22.04
|
||||
test: ubuntu2204
|
||||
- name: Ubuntu 24.04
|
||||
@@ -136,7 +150,7 @@ stages:
|
||||
jobs:
|
||||
- template: templates/matrix.yml
|
||||
parameters:
|
||||
testFormat: 2.19/linux/{0}/1
|
||||
testFormat: devel/linux/{0}/1
|
||||
targets:
|
||||
- name: Fedora 41
|
||||
test: fedora41
|
||||
@@ -185,6 +199,23 @@ stages:
|
||||
- name: Ubuntu 22.04
|
||||
test: ubuntu2204
|
||||
|
||||
- stage: Docker_2_15
|
||||
displayName: Docker 2.15
|
||||
dependsOn: []
|
||||
jobs:
|
||||
- template: templates/matrix.yml
|
||||
parameters:
|
||||
testFormat: 2.15/linux/{0}/1
|
||||
targets:
|
||||
- name: CentOS 7
|
||||
test: centos7
|
||||
- name: Fedora 37
|
||||
test: fedora37
|
||||
- name: openSUSE 15 py3
|
||||
test: opensuse15
|
||||
- name: Ubuntu 22.04
|
||||
test: ubuntu2204
|
||||
|
||||
## Remote
|
||||
- stage: Remote_devel
|
||||
displayName: Remote devel
|
||||
@@ -196,10 +227,10 @@ stages:
|
||||
targets:
|
||||
- name: RHEL 10.0
|
||||
test: rhel/10.0
|
||||
- name: RHEL 9.6
|
||||
test: rhel/9.6
|
||||
- name: FreeBSD 14.3
|
||||
test: freebsd/14.3
|
||||
- name: RHEL 9.5
|
||||
test: rhel/9.5
|
||||
- name: FreeBSD 14.2
|
||||
test: freebsd/14.2
|
||||
- name: FreeBSD 13.5
|
||||
test: freebsd/13.5
|
||||
- stage: Remote_2_19
|
||||
@@ -208,7 +239,7 @@ stages:
|
||||
jobs:
|
||||
- template: templates/matrix.yml
|
||||
parameters:
|
||||
testFormat: 2.19/{0}/1
|
||||
testFormat: devel/{0}/1
|
||||
targets:
|
||||
- name: RHEL 10.0
|
||||
test: rhel/10.0
|
||||
@@ -228,8 +259,8 @@ stages:
|
||||
targets:
|
||||
- name: RHEL 9.4
|
||||
test: rhel/9.4
|
||||
- name: FreeBSD 13.5
|
||||
test: freebsd/13.5
|
||||
- name: FreeBSD 13.3
|
||||
test: freebsd/13.3
|
||||
- stage: Remote_2_17
|
||||
displayName: Remote 2.17
|
||||
dependsOn: []
|
||||
@@ -240,8 +271,8 @@ stages:
|
||||
targets:
|
||||
- name: RHEL 9.3
|
||||
test: rhel/9.3
|
||||
- name: FreeBSD 13.5
|
||||
test: freebsd/13.5
|
||||
- name: FreeBSD 13.3
|
||||
test: freebsd/13.3
|
||||
- stage: Remote_2_16
|
||||
displayName: Remote 2.16
|
||||
dependsOn: []
|
||||
@@ -255,11 +286,29 @@ stages:
|
||||
- name: RHEL 9.2
|
||||
test: rhel/9.2
|
||||
|
||||
- stage: Remote_2_15
|
||||
displayName: Remote 2.15
|
||||
dependsOn: []
|
||||
jobs:
|
||||
- template: templates/matrix.yml
|
||||
parameters:
|
||||
testFormat: 2.15/{0}/1
|
||||
targets:
|
||||
- name: RHEL 7.9
|
||||
test: rhel/7.9
|
||||
- name: RHEL 8.7
|
||||
test: rhel/8.7
|
||||
- name: RHEL 9.1
|
||||
test: rhel/9.1
|
||||
|
||||
## Finally
|
||||
|
||||
- stage: Summary
|
||||
condition: succeededOrFailed()
|
||||
dependsOn:
|
||||
- Sanity_2_15
|
||||
- Remote_2_15
|
||||
- Docker_2_15
|
||||
- Sanity_2_16
|
||||
- Remote_2_16
|
||||
- Docker_2_16
|
||||
|
||||
@@ -4,6 +4,27 @@ ansible.posix Release Notes
|
||||
|
||||
.. contents:: Topics
|
||||
|
||||
v2.1.0
|
||||
======
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
This is the minor release of the ``ansible.posix`` collection.
|
||||
This changelog contains all changes to the modules and plugins
|
||||
in the stable-2 branch that have been added after the release of
|
||||
``ansible.posix`` 2.0.0
|
||||
|
||||
Minor Changes
|
||||
-------------
|
||||
|
||||
- profile_tasks and profile_roles callback plugins - avoid deleted/deprecated callback functions, instead use modern interface that was introduced a longer time ago (https://github.com/ansible-collections/ansible.posix/issues/650).
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- ansible.posix.cgroup_perf_recap - fixes json module load path (https://github.com/ansible-collections/ansible.posix/issues/630).
|
||||
|
||||
v2.0.0
|
||||
======
|
||||
|
||||
|
||||
13
README.md
13
README.md
@@ -21,7 +21,7 @@ An Ansible Collection of modules and plugins that target POSIX UNIX/Linux and de
|
||||
* Python:
|
||||
* The Python interpreter version must meet Ansible Core's requirements.
|
||||
* Ansible Core:
|
||||
- ansible-core 2.16 or later
|
||||
- ansible-core 2.15 or later
|
||||
|
||||
## Installation
|
||||
|
||||
@@ -46,10 +46,10 @@ To upgrade the collection to the latest available version, run the following com
|
||||
ansible-galaxy collection install ansible.posix --upgrade
|
||||
```
|
||||
|
||||
You can also install a specific version of the collection, for example, if you need to downgrade when something is broken in the latest version (please report an issue in this repository). Use the following syntax to install version 2.0.0:
|
||||
You can also install a specific version of the collection, for example, if you need to downgrade when something is broken in the latest version (please report an issue in this repository). Use the following syntax to install version 1.0.0:
|
||||
|
||||
```shell
|
||||
ansible-galaxy collection install ansible.posix:==2.0.0
|
||||
ansible-galaxy collection install ansible.posix:==1.0.0
|
||||
```
|
||||
|
||||
See [using Ansible collections](https://docs.ansible.com/ansible/devel/user_guide/collections_using.html) for more details.
|
||||
@@ -78,10 +78,11 @@ ansible-doc -t callback ansible.posix.profile_tasks
|
||||
|
||||
The following ansible-core versions have been tested with this collection:
|
||||
|
||||
- ansible-core 2.20 (devel)
|
||||
- ansible-core 2.19 (stable) *
|
||||
- ansible-core 2.18 (stable)
|
||||
- ansible-core 2.19 (devel)
|
||||
- ansible-core 2.18 (stable) *
|
||||
- ansible-core 2.17 (stable)
|
||||
- ansible-core 2.16 (stable)
|
||||
- ansible-core 2.15 (stable)
|
||||
|
||||
## Contributing
|
||||
|
||||
|
||||
@@ -490,3 +490,25 @@ releases:
|
||||
- 597_remove_fstab_comment_on_updating.yml
|
||||
- 598_icmp_block_inversion.yml
|
||||
release_date: '2024-12-04'
|
||||
2.1.0:
|
||||
changes:
|
||||
bugfixes:
|
||||
- ansible.posix.cgroup_perf_recap - fixes json module load path (https://github.com/ansible-collections/ansible.posix/issues/630).
|
||||
minor_changes:
|
||||
- profile_tasks and profile_roles callback plugins - avoid deleted/deprecated
|
||||
callback functions, instead use modern interface that was introduced a longer
|
||||
time ago (https://github.com/ansible-collections/ansible.posix/issues/650).
|
||||
release_summary: 'This is the minor release of the ``ansible.posix`` collection.
|
||||
|
||||
This changelog contains all changes to the modules and plugins
|
||||
|
||||
in the stable-2 branch that have been added after the release of
|
||||
|
||||
``ansible.posix`` 2.0.0'
|
||||
fragments:
|
||||
- 2.1.0.yml
|
||||
- 631_fixes_module_path.yml
|
||||
- 642_ci_add_rhel10.yml
|
||||
- 650-profile_tasks_roles.yml
|
||||
- 654_ci_bump_core_version.yml
|
||||
release_date: '2025-07-16'
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
trivial:
|
||||
- Bump version to 3.0.0 for the next release (https://github.com/ansible-collections/ansible.posix/issues/603).
|
||||
@@ -1,2 +0,0 @@
|
||||
trivial:
|
||||
- Remove ubuntu20.04 from CI tests (https://github.com/ansible-collections/ansible.posix/issues/612).
|
||||
@@ -1,3 +0,0 @@
|
||||
---
|
||||
minor_changes:
|
||||
- profile_tasks - Add option to provide a different date/time format (https://github.com/ansible-collections/ansible.posix/issues/279).
|
||||
@@ -1,6 +0,0 @@
|
||||
---
|
||||
bugfixes:
|
||||
- ansible.posix.cgroup_perf_recap - fixes json module load path (https://github.com/ansible-collections/ansible.posix/issues/630).
|
||||
trivial:
|
||||
- ansible.posix.seboolean - remove unnecessary condition from seboolean integration tests (https://github.com/ansible-collections/ansible.posix/issues/630).
|
||||
- ansible.posix.selinux - optimize conditions for selinux integration tests (https://github.com/ansible-collections/ansible.posix/issues/630).
|
||||
@@ -1,2 +0,0 @@
|
||||
trivial:
|
||||
- Add Red Hat Enterprise Linux 10.0 to the CI matrix (https://github.com/ansible-collections/ansible.posix/issues/642).
|
||||
@@ -1,2 +0,0 @@
|
||||
minor_changes:
|
||||
- "profile_tasks and profile_roles callback plugins - avoid deleted/deprecated callback functions, instead use modern interface that was introduced a longer time ago (https://github.com/ansible-collections/ansible.posix/issues/650)."
|
||||
@@ -1,3 +0,0 @@
|
||||
---
|
||||
trivial:
|
||||
- Bump ansible-core version to 2.20 of devel branch and add 2.19 to CI
|
||||
@@ -1,2 +0,0 @@
|
||||
trivial:
|
||||
- AZP - fixed syntax error in CI test.
|
||||
@@ -1,3 +0,0 @@
|
||||
---
|
||||
trivial:
|
||||
- README - Update README to reflect Ansible Core 2.19 release.
|
||||
@@ -1,3 +0,0 @@
|
||||
---
|
||||
trivial:
|
||||
- AZP - Update AZP matrix to follow ansible-test changes.
|
||||
@@ -1,2 +0,0 @@
|
||||
trivial:
|
||||
- Update AZP CI matrix (https://github.com/ansible-collections/ansible.posix/issues/673).
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
namespace: ansible
|
||||
name: posix
|
||||
version: 3.0.0
|
||||
version: 2.1.0
|
||||
readme: README.md
|
||||
authors:
|
||||
- Ansible (github.com/ansible)
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
---
|
||||
requires_ansible: ">=2.16.0"
|
||||
requires_ansible: ">=2.15.0"
|
||||
|
||||
@@ -52,17 +52,6 @@ DOCUMENTATION = '''
|
||||
- section: callback_profile_tasks
|
||||
key: summary_only
|
||||
version_added: 1.5.0
|
||||
datetime_format:
|
||||
description:
|
||||
- Datetime format, as expected by the C(strftime) and C(strptime) methods.
|
||||
An C(iso8601) alias will be translated to C('%Y-%m-%dT%H:%M:%S.%f') if that datetime standard wants to be used.
|
||||
default: '%A %d %B %Y %H:%M:%S %z'
|
||||
env:
|
||||
- name: PROFILE_TASKS_DATETIME_FORMAT
|
||||
ini:
|
||||
- section: callback_profile_tasks
|
||||
key: datetime_format
|
||||
version_added: 3.0.0
|
||||
'''
|
||||
|
||||
EXAMPLES = '''
|
||||
@@ -83,15 +72,14 @@ sample output: >
|
||||
'''
|
||||
|
||||
import collections
|
||||
|
||||
from datetime import datetime
|
||||
import time
|
||||
|
||||
from ansible.module_utils.six.moves import reduce
|
||||
from ansible.plugins.callback import CallbackBase
|
||||
|
||||
|
||||
# define start time
|
||||
dt0 = dtn = datetime.now().astimezone()
|
||||
t0 = tn = time.time()
|
||||
|
||||
|
||||
def secondsToStr(t):
|
||||
@@ -116,18 +104,17 @@ def filled(msg, fchar="*"):
|
||||
|
||||
def timestamp(self):
|
||||
if self.current is not None:
|
||||
elapsed = (datetime.now().astimezone() - self.stats[self.current]['started']).total_seconds()
|
||||
elapsed = time.time() - self.stats[self.current]['started']
|
||||
self.stats[self.current]['elapsed'] += elapsed
|
||||
|
||||
|
||||
def tasktime(self):
|
||||
global dtn
|
||||
cdtn = datetime.now().astimezone()
|
||||
datetime_current = cdtn.strftime(self.datetime_format)
|
||||
time_elapsed = secondsToStr((cdtn - dtn).total_seconds())
|
||||
time_total_elapsed = secondsToStr((cdtn - dt0).total_seconds())
|
||||
dtn = cdtn
|
||||
return filled('%s (%s)%s%s' % (datetime_current, time_elapsed, ' ' * 7, time_total_elapsed))
|
||||
def tasktime():
|
||||
global tn
|
||||
time_current = time.strftime('%A %d %B %Y %H:%M:%S %z')
|
||||
time_elapsed = secondsToStr(time.time() - tn)
|
||||
time_total_elapsed = secondsToStr(time.time() - t0)
|
||||
tn = time.time()
|
||||
return filled('%s (%s)%s%s' % (time_current, time_elapsed, ' ' * 7, time_total_elapsed))
|
||||
|
||||
|
||||
class CallbackModule(CallbackBase):
|
||||
@@ -147,7 +134,6 @@ class CallbackModule(CallbackBase):
|
||||
self.sort_order = None
|
||||
self.summary_only = None
|
||||
self.task_output_limit = None
|
||||
self.datetime_format = None
|
||||
|
||||
super(CallbackModule, self).__init__()
|
||||
|
||||
@@ -173,14 +159,9 @@ class CallbackModule(CallbackBase):
|
||||
else:
|
||||
self.task_output_limit = int(self.task_output_limit)
|
||||
|
||||
self.datetime_format = self.get_option('datetime_format')
|
||||
if self.datetime_format is not None:
|
||||
if self.datetime_format == 'iso8601':
|
||||
self.datetime_format = '%Y-%m-%dT%H:%M:%S.%f'
|
||||
|
||||
def _display_tasktime(self):
|
||||
if not self.summary_only:
|
||||
self._display.display(tasktime(self))
|
||||
self._display.display(tasktime())
|
||||
|
||||
def _record_task(self, task):
|
||||
"""
|
||||
@@ -195,11 +176,10 @@ class CallbackModule(CallbackBase):
|
||||
# with the same UUID is executed when `serial` is specified in a playbook.
|
||||
# elapsed: Elapsed time since the first serialized task was started
|
||||
self.current = task._uuid
|
||||
dtn = datetime.now().astimezone()
|
||||
if self.current not in self.stats:
|
||||
self.stats[self.current] = {'started': dtn, 'elapsed': 0.0, 'name': task.get_name()}
|
||||
self.stats[self.current] = {'started': time.time(), 'elapsed': 0.0, 'name': task.get_name()}
|
||||
else:
|
||||
self.stats[self.current]['started'] = dtn
|
||||
self.stats[self.current]['started'] = time.time()
|
||||
if self._display.verbosity >= 2:
|
||||
self.stats[self.current]['path'] = task.get_path()
|
||||
|
||||
@@ -213,7 +193,7 @@ class CallbackModule(CallbackBase):
|
||||
# Align summary report header with other callback plugin summary
|
||||
self._display.banner("TASKS RECAP")
|
||||
|
||||
self._display.display(tasktime(self))
|
||||
self._display.display(tasktime())
|
||||
self._display.display(filled("", fchar="="))
|
||||
|
||||
timestamp(self)
|
||||
|
||||
@@ -28,11 +28,6 @@ options:
|
||||
- Name of a port or port range to add/remove to/from firewalld.
|
||||
- Must be in the form PORT/PROTOCOL or PORT-PORT/PROTOCOL for port ranges.
|
||||
type: str
|
||||
source_port:
|
||||
description:
|
||||
- Name of a source port or port range to add/remove to/from firewalld.
|
||||
- Must be in the form PORT/PROTOCOL or PORT-PORT/PROTOCOL for port ranges.
|
||||
type: str
|
||||
port_forward:
|
||||
description:
|
||||
- Port and protocol to forward using firewalld.
|
||||
@@ -190,13 +185,6 @@ EXAMPLES = r'''
|
||||
permanent: true
|
||||
state: enabled
|
||||
|
||||
- name: Permit traffic in home zone from port 20561/udp
|
||||
ansible.posix.firewalld:
|
||||
source_port: 20561/udp
|
||||
zone: home
|
||||
permanent: true
|
||||
state: enabled
|
||||
|
||||
- name: Permit traffic in dmz zone on http service
|
||||
ansible.posix.firewalld:
|
||||
zone: dmz
|
||||
@@ -564,43 +552,6 @@ class PortTransaction(FirewallTransaction):
|
||||
self.update_fw_settings(fw_zone, fw_settings)
|
||||
|
||||
|
||||
class SourcePortTransaction(FirewallTransaction):
|
||||
"""
|
||||
SourcePortTransaction
|
||||
"""
|
||||
|
||||
def __init__(self, module, action_args=None, zone=None, desired_state=None, permanent=False, immediate=False):
|
||||
super(SourcePortTransaction, self).__init__(
|
||||
module, action_args=action_args, desired_state=desired_state, zone=zone, permanent=permanent, immediate=immediate
|
||||
)
|
||||
|
||||
def get_enabled_immediate(self, port, protocol, timeout):
|
||||
if self.fw_offline:
|
||||
dummy, fw_settings = self.get_fw_zone_settings()
|
||||
return fw_settings.querySourcePort(port=port, protocol=protocol)
|
||||
return self.fw.querySourcePort(zone=self.zone, port=port, protocol=protocol)
|
||||
|
||||
def get_enabled_permanent(self, port, protocol, timeout):
|
||||
dummy, fw_settings = self.get_fw_zone_settings()
|
||||
return fw_settings.querySourcePort(port=port, protocol=protocol)
|
||||
|
||||
def set_enabled_immediate(self, port, protocol, timeout):
|
||||
self.fw.addSourcePort(zone=self.zone, port=port, protocol=protocol, timeout=timeout)
|
||||
|
||||
def set_enabled_permanent(self, port, protocol, timeout):
|
||||
fw_zone, fw_settings = self.get_fw_zone_settings()
|
||||
fw_settings.addSourcePort(port=port, protocol=protocol)
|
||||
self.update_fw_settings(fw_zone, fw_settings)
|
||||
|
||||
def set_disabled_immediate(self, port, protocol, timeout):
|
||||
self.fw.removeSourcePort(zone=self.zone, port=port, protocol=protocol)
|
||||
|
||||
def set_disabled_permanent(self, port, protocol, timeout):
|
||||
fw_zone, fw_settings = self.get_fw_zone_settings()
|
||||
fw_settings.removeSourcePort(port=port, protocol=protocol)
|
||||
self.update_fw_settings(fw_zone, fw_settings)
|
||||
|
||||
|
||||
class InterfaceTransaction(FirewallTransaction):
|
||||
"""
|
||||
InterfaceTransaction
|
||||
@@ -928,7 +879,6 @@ def main():
|
||||
service=dict(type='str'),
|
||||
protocol=dict(type='str'),
|
||||
port=dict(type='str'),
|
||||
source_port=dict(type='str'),
|
||||
port_forward=dict(type='list', elements='dict'),
|
||||
rich_rule=dict(type='str'),
|
||||
zone=dict(type='str'),
|
||||
@@ -950,8 +900,8 @@ def main():
|
||||
source=('permanent',),
|
||||
),
|
||||
mutually_exclusive=[
|
||||
['icmp_block', 'icmp_block_inversion', 'service', 'protocol', 'port', 'source_port', 'port_forward',
|
||||
'rich_rule', 'interface', 'forward', 'masquerade', 'source', 'target']
|
||||
['icmp_block', 'icmp_block_inversion', 'service', 'protocol', 'port', 'port_forward', 'rich_rule',
|
||||
'interface', 'forward', 'masquerade', 'source', 'target']
|
||||
],
|
||||
)
|
||||
|
||||
@@ -1007,17 +957,6 @@ def main():
|
||||
else:
|
||||
port_protocol = None
|
||||
|
||||
source_port = None
|
||||
if module.params['source_port'] is not None:
|
||||
if '/' in module.params['source_port']:
|
||||
source_port, source_port_protocol = module.params['source_port'].strip().split('/')
|
||||
else:
|
||||
source_port_protocol = None
|
||||
if not source_port_protocol:
|
||||
module.fail_json(msg='improper source_port format (missing protocol?)')
|
||||
else:
|
||||
source_port_protocol = None
|
||||
|
||||
port_forward_toaddr = ''
|
||||
port_forward = None
|
||||
if module.params['port_forward'] is not None:
|
||||
@@ -1034,7 +973,7 @@ def main():
|
||||
port_forward_toaddr = port_forward['toaddr']
|
||||
|
||||
modification = False
|
||||
if any([icmp_block, icmp_block_inversion, service, protocol, port, source_port, port_forward, rich_rule,
|
||||
if any([icmp_block, icmp_block_inversion, service, protocol, port, port_forward, rich_rule,
|
||||
interface, forward, masquerade, source, target]):
|
||||
modification = True
|
||||
if modification and desired_state in ['absent', 'present'] and target is None:
|
||||
@@ -1140,26 +1079,6 @@ def main():
|
||||
)
|
||||
)
|
||||
|
||||
if source_port is not None:
|
||||
|
||||
transaction = SourcePortTransaction(
|
||||
module,
|
||||
action_args=(source_port, source_port_protocol, timeout),
|
||||
zone=zone,
|
||||
desired_state=desired_state,
|
||||
permanent=permanent,
|
||||
immediate=immediate,
|
||||
)
|
||||
|
||||
changed, transaction_msgs = transaction.run()
|
||||
msgs = msgs + transaction_msgs
|
||||
if changed is True:
|
||||
msgs.append(
|
||||
"Changed source_port %s to %s" % (
|
||||
"%s/%s" % (source_port, source_port_protocol), desired_state
|
||||
)
|
||||
)
|
||||
|
||||
if port_forward is not None:
|
||||
transaction = ForwardPortTransaction(
|
||||
module,
|
||||
|
||||
@@ -80,13 +80,6 @@ EXAMPLES = r'''
|
||||
sysctl_file: /tmp/test_sysctl.conf
|
||||
reload: false
|
||||
|
||||
# Enable resource limits management in FreeBSD
|
||||
- ansible.posix.sysctl:
|
||||
name: kern.racct.enable
|
||||
value: '1'
|
||||
sysctl_file: /boot/loader.conf
|
||||
reload: false
|
||||
|
||||
# Set ip forwarding on in /proc and verify token value with the sysctl command
|
||||
- ansible.posix.sysctl:
|
||||
name: net.ipv4.ip_forward
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
needs/privileged
|
||||
needs/root
|
||||
destructive
|
||||
shippable/posix/group1
|
||||
skip/aix
|
||||
|
||||
@@ -21,10 +21,6 @@
|
||||
- name: Include port test cases for firewalld module
|
||||
ansible.builtin.include_tasks: port_test_cases.yml
|
||||
|
||||
# firewalld source_port operation test cases
|
||||
- name: Include source_port test cases for firewalld module
|
||||
ansible.builtin.include_tasks: source_port_test_cases.yml
|
||||
|
||||
# firewalld source operation test cases
|
||||
- name: Include source test cases for firewalld module
|
||||
ansible.builtin.include_tasks: source_test_cases.yml
|
||||
|
||||
@@ -1,107 +0,0 @@
|
||||
---
|
||||
# Test playbook for the firewalld module - source_port operations
|
||||
|
||||
- name: Firewalld source_port range test permanent enabled
|
||||
ansible.posix.firewalld:
|
||||
source_port: 5500-6850/tcp
|
||||
permanent: true
|
||||
state: enabled
|
||||
register: result
|
||||
|
||||
- name: Assert firewalld source_port range test permanent enabled worked
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- result is changed
|
||||
|
||||
- name: Firewalld source_port range test permanent enabled rerun (verify not changed)
|
||||
ansible.posix.firewalld:
|
||||
source_port: 5500-6850/tcp
|
||||
permanent: true
|
||||
state: enabled
|
||||
register: result
|
||||
|
||||
- name: Assert firewalld source_port range test permanent enabled rerun worked (verify not changed)
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- result is not changed
|
||||
|
||||
- name: Firewalld source_port test permanent enabled
|
||||
ansible.posix.firewalld:
|
||||
source_port: 6900/tcp
|
||||
permanent: true
|
||||
state: enabled
|
||||
register: result
|
||||
|
||||
- name: Assert firewalld source_port test permanent enabled worked
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- result is changed
|
||||
|
||||
- name: Firewalld source_port test permanent enabled
|
||||
ansible.posix.firewalld:
|
||||
source_port: 6900/tcp
|
||||
permanent: true
|
||||
state: enabled
|
||||
register: result
|
||||
|
||||
- name: Assert firewalld source_port test permanent enabled worked
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- result is not changed
|
||||
|
||||
- name: Firewalld source_port test disabled
|
||||
ansible.posix.firewalld:
|
||||
source_port: "{{ item }}"
|
||||
permanent: true
|
||||
state: disabled
|
||||
loop:
|
||||
- 6900/tcp
|
||||
- 5500-6850/tcp
|
||||
|
||||
- name: Firewalld source_port test permanent enabled
|
||||
ansible.posix.firewalld:
|
||||
source_port: 8081/tcp
|
||||
permanent: true
|
||||
state: enabled
|
||||
register: result
|
||||
|
||||
- name: Assert firewalld source_port test permanent enabled worked
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- result is changed
|
||||
|
||||
- name: Firewalld source_port test permanent enabled rerun (verify not changed)
|
||||
ansible.posix.firewalld:
|
||||
source_port: 8081/tcp
|
||||
permanent: true
|
||||
state: enabled
|
||||
register: result
|
||||
|
||||
- name: Assert firewalld source_port test permanent enabled rerun worked (verify not changed)
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- result is not changed
|
||||
|
||||
- name: Firewalld source_port test permanent disabled
|
||||
ansible.posix.firewalld:
|
||||
source_port: 8081/tcp
|
||||
permanent: true
|
||||
state: disabled
|
||||
register: result
|
||||
|
||||
- name: Assert firewalld source_port test permanent disabled worked
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- result is changed
|
||||
|
||||
- name: Firewalld source_port test permanent disabled rerun (verify not changed)
|
||||
ansible.posix.firewalld:
|
||||
source_port: 8081/tcp
|
||||
permanent: true
|
||||
state: disabled
|
||||
register: result
|
||||
|
||||
- name: Assert firewalld source_port test permanent disabled rerun worked (verify not changed)
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- result is not changed
|
||||
@@ -85,4 +85,4 @@
|
||||
- result is not changed
|
||||
- >
|
||||
result.msg == 'parameters are mutually exclusive:
|
||||
icmp_block|icmp_block_inversion|service|protocol|port|source_port|port_forward|rich_rule|interface|forward|masquerade|source|target'
|
||||
icmp_block|icmp_block_inversion|service|protocol|port|port_forward|rich_rule|interface|forward|masquerade|source|target'
|
||||
|
||||
Reference in New Issue
Block a user