diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 3c11174f..27c39f63 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -21,15 +21,15 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - ansible: [2.14.15, 2.15.10, 2.16.5, 2.17.8] + ansible: [2.14.15, 2.15.10, 2.16.5, 2.17.8, 2.18.9] steps: - name: Check out code uses: actions/checkout@v4 - - name: Set up Python 3.10.14 + - name: Set up Python 3.11.9 uses: actions/setup-python@v5 with: - python-version: 3.10.14 + python-version: 3.11.9 - name: Install ansible-base (v${{ matrix.ansible }}) run: pip install https://github.com/ansible/ansible/archive/v${{ matrix.ansible }}.tar.gz --disable-pip-version-check @@ -50,13 +50,13 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - ansible: [2.14.15, 2.15.10, 2.16.5, 2.17.8] - python: ['3.10'] + ansible: [2.14.15, 2.15.10, 2.16.5, 2.17.8, 2.18.9] + python: ['3.11'] steps: - - name: Set up Python 3.10.14 + - name: Set up Python 3.11.9 uses: actions/setup-python@v5 with: - python-version: 3.10.14 + python-version: 3.11.9 - name: Upgrade pip run: | diff --git a/README.md b/README.md index 8a220329..ba3b8d9c 100644 --- a/README.md +++ b/README.md @@ -327,11 +327,12 @@ This collection is intended for use with the following release versions: ## Ansible Version Compatibility -This collection has been tested against following Ansible Core versions: +This collection has been tested against following Ansible Core versions: * `2.14.x` * `2.15.x` * `2.16.x` * `2.17.x` +* `2.18.x` Plugins, roles and modules within a collection may be tested with only specific Ansible versions. A collection may contain metadata that identifies these versions. diff --git a/plugins/action/common/prepare_plugins/prep_002_global.py b/plugins/action/common/prepare_plugins/prep_002_global.py index 2fda69c6..172b363f 100644 --- a/plugins/action/common/prepare_plugins/prep_002_global.py +++ b/plugins/action/common/prepare_plugins/prep_002_global.py @@ -51,6 +51,8 @@ "bootstrap" ] +ISN_PARENT_KEYS = ['vxlan', 'multisite'] + # Deprecated global keys that are still supported for backwards compatibility ISN_BACKWARD_COMPATIBLE_KEYS = [ "auth_proto", @@ -85,7 +87,7 @@ def prepare(self): elif model_data['vxlan']['fabric']['type'] == 'ISN': # new_global_key is set to 'isn' here only for the conditional check that follows and is not a new key new_global_key = 'isn' - ISN_PARENT_KEYS = ['vxlan', 'multisite', new_global_key] + ISN_PARENT_KEYS.append(new_global_key) if new_global_key in ['ibgp', 'external']: dm_check = data_model_key_check(model_data, PARENT_KEYS) diff --git a/tests/sanity/ignore-2.14.txt b/tests/sanity/ignore-2.14.txt index 95b13a92..997bf3fb 100644 --- a/tests/sanity/ignore-2.14.txt +++ b/tests/sanity/ignore-2.14.txt @@ -39,9 +39,9 @@ plugins/action/dtc/map_msd_inventory.py action-plugin-docs # action plugin has n plugins/action/dtc/existing_links_check.py action-plugin-docs # action plugin has no matching module to provide documentation plugins/action/dtd/prepare_service_model.py action-plugin-docs # action plugin has no matching module to provide documentation plugins/action/test/inventory.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/common/nac_dc_validate.py import-3.10!skip -plugins/action/test/inventory.py import-3.10!skip -plugins/action/common/run_map.py import-3.10!skip -plugins/action/common/read_run_map.py import-3.10!skip -plugins/action/dtc/diff_model_changes.py import-3.10!skip -plugins/filter/version_compare.py import-3.10!skip +plugins/action/common/nac_dc_validate.py import-3.11!skip +plugins/action/test/inventory.py import-3.11!skip +plugins/action/common/run_map.py import-3.11!skip +plugins/action/common/read_run_map.py import-3.11!skip +plugins/action/dtc/diff_model_changes.py import-3.11!skip +plugins/filter/version_compare.py import-3.11!skip diff --git a/tests/sanity/ignore-2.15.txt b/tests/sanity/ignore-2.15.txt index 95b13a92..997bf3fb 100644 --- a/tests/sanity/ignore-2.15.txt +++ b/tests/sanity/ignore-2.15.txt @@ -39,9 +39,9 @@ plugins/action/dtc/map_msd_inventory.py action-plugin-docs # action plugin has n plugins/action/dtc/existing_links_check.py action-plugin-docs # action plugin has no matching module to provide documentation plugins/action/dtd/prepare_service_model.py action-plugin-docs # action plugin has no matching module to provide documentation plugins/action/test/inventory.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/common/nac_dc_validate.py import-3.10!skip -plugins/action/test/inventory.py import-3.10!skip -plugins/action/common/run_map.py import-3.10!skip -plugins/action/common/read_run_map.py import-3.10!skip -plugins/action/dtc/diff_model_changes.py import-3.10!skip -plugins/filter/version_compare.py import-3.10!skip +plugins/action/common/nac_dc_validate.py import-3.11!skip +plugins/action/test/inventory.py import-3.11!skip +plugins/action/common/run_map.py import-3.11!skip +plugins/action/common/read_run_map.py import-3.11!skip +plugins/action/dtc/diff_model_changes.py import-3.11!skip +plugins/filter/version_compare.py import-3.11!skip diff --git a/tests/sanity/ignore-2.16.txt b/tests/sanity/ignore-2.16.txt index 95b13a92..997bf3fb 100644 --- a/tests/sanity/ignore-2.16.txt +++ b/tests/sanity/ignore-2.16.txt @@ -39,9 +39,9 @@ plugins/action/dtc/map_msd_inventory.py action-plugin-docs # action plugin has n plugins/action/dtc/existing_links_check.py action-plugin-docs # action plugin has no matching module to provide documentation plugins/action/dtd/prepare_service_model.py action-plugin-docs # action plugin has no matching module to provide documentation plugins/action/test/inventory.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/common/nac_dc_validate.py import-3.10!skip -plugins/action/test/inventory.py import-3.10!skip -plugins/action/common/run_map.py import-3.10!skip -plugins/action/common/read_run_map.py import-3.10!skip -plugins/action/dtc/diff_model_changes.py import-3.10!skip -plugins/filter/version_compare.py import-3.10!skip +plugins/action/common/nac_dc_validate.py import-3.11!skip +plugins/action/test/inventory.py import-3.11!skip +plugins/action/common/run_map.py import-3.11!skip +plugins/action/common/read_run_map.py import-3.11!skip +plugins/action/dtc/diff_model_changes.py import-3.11!skip +plugins/filter/version_compare.py import-3.11!skip diff --git a/tests/sanity/ignore-2.17.txt b/tests/sanity/ignore-2.17.txt index 95b13a92..997bf3fb 100644 --- a/tests/sanity/ignore-2.17.txt +++ b/tests/sanity/ignore-2.17.txt @@ -39,9 +39,9 @@ plugins/action/dtc/map_msd_inventory.py action-plugin-docs # action plugin has n plugins/action/dtc/existing_links_check.py action-plugin-docs # action plugin has no matching module to provide documentation plugins/action/dtd/prepare_service_model.py action-plugin-docs # action plugin has no matching module to provide documentation plugins/action/test/inventory.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/common/nac_dc_validate.py import-3.10!skip -plugins/action/test/inventory.py import-3.10!skip -plugins/action/common/run_map.py import-3.10!skip -plugins/action/common/read_run_map.py import-3.10!skip -plugins/action/dtc/diff_model_changes.py import-3.10!skip -plugins/filter/version_compare.py import-3.10!skip +plugins/action/common/nac_dc_validate.py import-3.11!skip +plugins/action/test/inventory.py import-3.11!skip +plugins/action/common/run_map.py import-3.11!skip +plugins/action/common/read_run_map.py import-3.11!skip +plugins/action/dtc/diff_model_changes.py import-3.11!skip +plugins/filter/version_compare.py import-3.11!skip diff --git a/tests/sanity/ignore-2.18.txt b/tests/sanity/ignore-2.18.txt new file mode 100644 index 00000000..997bf3fb --- /dev/null +++ b/tests/sanity/ignore-2.18.txt @@ -0,0 +1,47 @@ +plugins/action/common/check_roles.py action-plugin-docs # action plugin has no matching module to provide documentation +plugins/action/common/nac_dc_validate.py action-plugin-docs # action plugin has no matching module to provide documentation +plugins/action/common/prepare_plugins/prep_001_fabric.py action-plugin-docs # action plugin has no matching module to provide documentation +plugins/action/common/prepare_plugins/prep_002_global.py action-plugin-docs # action plugin has no matching module to provide documentation +plugins/action/common/prepare_plugins/prep_003_list_defaults.py action-plugin-docs # action plugin has no matching module to provide documentation +plugins/action/common/prepare_plugins/prep_104_topology_switches.py action-plugin-docs # action plugin has no matching module to provide documentation +plugins/action/common/prepare_plugins/prep_105_fabric_overlay.py action-plugin-docs # action plugin has no matching module to provide documentation +plugins/action/common/prepare_plugins/prep_106_topology_interfaces.py action-plugin-docs # action plugin has no matching module to provide documentation +plugins/action/common/prepare_plugins/prep_107_topology_vpc_interfaces.py action-plugin-docs # action plugin has no matching module to provide documentation +plugins/action/common/prepare_plugins/prep_108_vrf_lites.py action-plugin-docs # action plugin has no matching module to provide documentation +plugins/action/common/prepare_plugins/prep_109_route_control.py action-plugin-docs # action plugin has no matching module to provide documentation +plugins/action/common/prepare_plugins/prep_118_topology_edge_connections.py action-plugin-docs # action plugin has no matching module to provide documentation +plugins/action/common/prepare_plugins/prep_999_verify.py action-plugin-docs # action plugin has no matching module to provide documentation +plugins/action/common/prepare_service_model.py action-plugin-docs # action plugin has no matching module to provide documentation +plugins/action/common/get_credentials.py action-plugin-docs # action plugin has no matching module to provide documentation +plugins/action/common/run_map.py action-plugin-docs # action plugin has no matching module to provide documentation +plugins/action/common/read_run_map.py action-plugin-docs # action plugin has no matching module to provide documentation +plugins/action/common/merge_defaults.py action-plugin-docs # action plugin has no matching module to provide documentation +plugins/action/dtc/add_device_check.py action-plugin-docs # action plugin has no matching module to provide documentation +plugins/action/dtc/manage_child_fabrics.py action-plugin-docs # action plugin has no matching module to provide documentation +plugins/action/dtc/prepare_msite_child_fabrics_data.py action-plugin-docs # action plugin has no matching module to provide documentation +plugins/action/dtc/prepare_msite_data.py action-plugin-docs # action plugin has no matching module to provide documentation +plugins/action/dtc/manage_child_fabric_vrfs.py action-plugin-docs # action plugin has no matching module to provide documentation +plugins/action/dtc/manage_child_fabric_networks.py action-plugin-docs # action plugin has no matching module to provide documentation +plugins/action/dtc/fabric_check_sync.py action-plugin-docs # action plugin has no matching module to provide documentation +plugins/action/dtc/fabrics_config_save.py action-plugin-docs # action plugin has no matching module to provide documentation +plugins/action/dtc/fabrics_deploy.py action-plugin-docs # action plugin has no matching module to provide documentation +plugins/action/dtc/vpc_pair_check.py action-plugin-docs # action plugin has no matching module to provide documentation +plugins/action/dtc/verify_tags.py action-plugin-docs # action plugin has no matching module to provide documentation +plugins/action/dtc/diff_model_changes.py action-plugin-docs # action plugin has no matching module to provide documentation +plugins/action/dtc/update_switch_hostname_policy.py action-plugin-docs # action plugin has no matching module to provide documentation +plugins/action/dtc/links_filter_and_remove.py action-plugin-docs # action plugin has no matching module to provide documentation +plugins/action/dtc/unmanaged_child_fabric_vrfs.py action-plugin-docs # action plugin has no matching module to provide documentation +plugins/action/dtc/unmanaged_child_fabric_networks.py action-plugin-docs # action plugin has no matching module to provide documentation +plugins/action/dtc/unmanaged_policy.py action-plugin-docs # action plugin has no matching module to provide documentation +plugins/action/dtc/unmanaged_edge_connections.py action-plugin-docs # action plugin has no matching module to provide documentation +plugins/action/dtc/get_poap_data.py action-plugin-docs # action plugin has no matching module to provide documentation +plugins/action/dtc/map_msd_inventory.py action-plugin-docs # action plugin has no matching module to provide documentation +plugins/action/dtc/existing_links_check.py action-plugin-docs # action plugin has no matching module to provide documentation +plugins/action/dtd/prepare_service_model.py action-plugin-docs # action plugin has no matching module to provide documentation +plugins/action/test/inventory.py action-plugin-docs # action plugin has no matching module to provide documentation +plugins/action/common/nac_dc_validate.py import-3.11!skip +plugins/action/test/inventory.py import-3.11!skip +plugins/action/common/run_map.py import-3.11!skip +plugins/action/common/read_run_map.py import-3.11!skip +plugins/action/dtc/diff_model_changes.py import-3.11!skip +plugins/filter/version_compare.py import-3.11!skip