mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
1a77ca9b8c
Fix check mode in iptables_state for incomplete iptables-save files along with integration tests (#8029)
* Implement integration test to reproduce #7463
* Make new iptables_state checks async
* Add missing commit to iptable_state integration test
* Remove async when using checkmode in iptables_state integration tests
* Do per table comparison in check mode for iptables_state
* Calculate changes of iptables state per table based on result
* Output target iptables state in checkmode
* Refactor calculation of invidual table states in iptables_state
* Add missing return for table calculation
* Add missing arg to regex check
* Remove leftover debug output for target iptable state
* Parse per table state from raw state string
* Join restored state for extration of table specific rules
* Switch arguments for joining restored iptable state
* Output final ip table state
* Compare content of tables
* Complete iptables partial tables test cases
* Correct order of test iptables data
* Update docu for iptables tables_after
* Add changelog fragment
* Appease the linting gods for iptables_state
* Adjust spelling and remove tables_after from return values
(cherry picked from commit 23396e62dc
)
Co-authored-by: Maxopoly <max@dermax.org>
44 lines
1.3 KiB
YAML
44 lines
1.3 KiB
YAML
---
|
|
####################################################################
|
|
# WARNING: These are designed specifically for Ansible tests #
|
|
# and should not be used as examples of how to write Ansible roles #
|
|
####################################################################
|
|
|
|
# Copyright (c) Ansible Project
|
|
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
- name: ensure iptables package is installed
|
|
package:
|
|
name:
|
|
- iptables
|
|
become: true
|
|
|
|
|
|
- name: include tasks
|
|
vars:
|
|
iptables_saved: "/tmp/test_iptables_state.saved"
|
|
iptables_tests: "/tmp/test_iptables_state.tests"
|
|
|
|
block:
|
|
- name: include tasks to perform basic tests (check_mode, async, idempotency)
|
|
include_tasks: tests/00-basic.yml
|
|
|
|
- name: include tasks to test tables handling
|
|
include_tasks: tests/01-tables.yml
|
|
when:
|
|
- xtables_lock is undefined
|
|
|
|
- name: include tasks to test partial restore files
|
|
include_tasks: tests/02-partial-restore.yml
|
|
when:
|
|
- xtables_lock is undefined
|
|
|
|
|
|
- name: include tasks to test rollbacks
|
|
include_tasks: tests/10-rollback.yml
|
|
when:
|
|
- xtables_lock is undefined
|
|
- ansible_connection in ['ssh', 'paramiko', 'smart']
|
|
|
|
become: true
|