diff --git a/.markdownlint.yaml b/.markdownlint.yaml index 4f8a9799f..6bf4ccd9a 100644 --- a/.markdownlint.yaml +++ b/.markdownlint.yaml @@ -1,3 +1,4 @@ +--- # Default state for all rules default: true diff --git a/.sanity-ansible-ignore-2.11.txt b/.sanity-ansible-ignore-2.11.txt index 0400b31e6..5eff638a0 100644 --- a/.sanity-ansible-ignore-2.11.txt +++ b/.sanity-ansible-ignore-2.11.txt @@ -1,73 +1,3 @@ -plugins/module_utils/network_lsr/nm/__init__.py empty-init!skip -plugins/module_utils/network_lsr/nm/__init__.py import-2.6!skip -plugins/module_utils/network_lsr/nm/__init__.py import-2.7!skip -plugins/module_utils/network_lsr/nm/__init__.py import-3.5!skip -plugins/module_utils/network_lsr/nm/__init__.py import-3.6!skip -plugins/module_utils/network_lsr/nm/__init__.py import-3.7!skip -plugins/module_utils/network_lsr/nm/__init__.py import-3.8!skip -plugins/module_utils/network_lsr/nm/__init__.py import-3.9!skip -plugins/module_utils/network_lsr/nm/__init__.py import-3.10!skip -plugins/module_utils/network_lsr/nm/active_connection.py import-2.6!skip -plugins/module_utils/network_lsr/nm/active_connection.py import-2.7!skip -plugins/module_utils/network_lsr/nm/active_connection.py import-3.5!skip -plugins/module_utils/network_lsr/nm/active_connection.py import-3.6!skip -plugins/module_utils/network_lsr/nm/active_connection.py import-3.7!skip -plugins/module_utils/network_lsr/nm/active_connection.py import-3.8!skip -plugins/module_utils/network_lsr/nm/active_connection.py import-3.9!skip -plugins/module_utils/network_lsr/nm/active_connection.py import-3.10!skip -plugins/module_utils/network_lsr/nm/client.py import-2.6!skip -plugins/module_utils/network_lsr/nm/client.py import-2.7!skip -plugins/module_utils/network_lsr/nm/client.py import-3.5!skip -plugins/module_utils/network_lsr/nm/client.py import-3.6!skip -plugins/module_utils/network_lsr/nm/client.py import-3.7!skip -plugins/module_utils/network_lsr/nm/client.py import-3.8!skip -plugins/module_utils/network_lsr/nm/client.py import-3.9!skip -plugins/module_utils/network_lsr/nm/client.py import-3.10!skip -plugins/module_utils/network_lsr/nm/connection.py import-2.6!skip -plugins/module_utils/network_lsr/nm/connection.py import-2.7!skip -plugins/module_utils/network_lsr/nm/connection.py import-3.5!skip -plugins/module_utils/network_lsr/nm/connection.py import-3.6!skip -plugins/module_utils/network_lsr/nm/connection.py import-3.7!skip -plugins/module_utils/network_lsr/nm/connection.py import-3.8!skip -plugins/module_utils/network_lsr/nm/connection.py import-3.9!skip -plugins/module_utils/network_lsr/nm/connection.py import-3.10!skip -plugins/module_utils/network_lsr/nm/error.py import-2.6!skip -plugins/module_utils/network_lsr/nm/error.py import-2.7!skip -plugins/module_utils/network_lsr/nm/error.py import-3.5!skip -plugins/module_utils/network_lsr/nm/error.py import-3.6!skip -plugins/module_utils/network_lsr/nm/error.py import-3.7!skip -plugins/module_utils/network_lsr/nm/error.py import-3.8!skip -plugins/module_utils/network_lsr/nm/error.py import-3.9!skip -plugins/module_utils/network_lsr/nm/error.py import-3.10!skip -plugins/module_utils/network_lsr/nm/provider.py import-2.6!skip -plugins/module_utils/network_lsr/nm/provider.py import-2.7!skip -plugins/module_utils/network_lsr/nm/provider.py import-3.5!skip -plugins/module_utils/network_lsr/nm/provider.py import-3.6!skip -plugins/module_utils/network_lsr/nm/provider.py import-3.7!skip -plugins/module_utils/network_lsr/nm/provider.py import-3.8!skip -plugins/module_utils/network_lsr/nm/provider.py import-3.9!skip -plugins/module_utils/network_lsr/nm/provider.py import-3.10!skip -plugins/modules/network_connections.py validate-modules:doc-default-does-not-match-spec -plugins/modules/network_connections.py validate-modules:doc-required-mismatch -plugins/modules/network_connections.py validate-modules:missing-examples plugins/modules/network_connections.py validate-modules:missing-gplv3-license -plugins/modules/network_connections.py validate-modules:module-invalid-version-added -plugins/modules/network_connections.py validate-modules:no-default-for-required-parameter -plugins/modules/network_connections.py validate-modules:parameter-list-no-elements -plugins/modules/network_connections.py validate-modules:parameter-type-not-in-doc -plugins/modules/network_connections.py validate-modules:undocumented-parameter -tests/network/ensure_provider_tests.py compile-2.6!skip -tests/network/ensure_provider_tests.py compile-2.7!skip -tests/network/ensure_provider_tests.py compile-3.5!skip -tests/network/ensure_provider_tests.py future-import-boilerplate!skip -tests/network/ensure_provider_tests.py metaclass-boilerplate!skip +plugins/modules/network_state.py validate-modules:missing-gplv3-license tests/network/ensure_provider_tests.py shebang!skip -tests/network/integration/conftest.py future-import-boilerplate!skip -tests/network/integration/conftest.py metaclass-boilerplate!skip -tests/network/integration/test_ethernet.py future-import-boilerplate!skip -tests/network/integration/test_ethernet.py metaclass-boilerplate!skip -tests/network/merge_coverage.sh shebang!skip -tests/network/unit/test_network_connections.py future-import-boilerplate!skip -tests/network/unit/test_network_connections.py metaclass-boilerplate!skip -tests/network/unit/test_nm_provider.py future-import-boilerplate!skip -tests/network/unit/test_nm_provider.py metaclass-boilerplate!skip diff --git a/.sanity-ansible-ignore-2.12.txt b/.sanity-ansible-ignore-2.12.txt index 1c22c07ce..5eff638a0 100644 --- a/.sanity-ansible-ignore-2.12.txt +++ b/.sanity-ansible-ignore-2.12.txt @@ -1,72 +1,3 @@ -plugins/module_utils/network_lsr/nm/__init__.py empty-init!skip -plugins/module_utils/network_lsr/nm/__init__.py import-2.6!skip -plugins/module_utils/network_lsr/nm/__init__.py import-2.7!skip -plugins/module_utils/network_lsr/nm/__init__.py import-3.5!skip -plugins/module_utils/network_lsr/nm/__init__.py import-3.6!skip -plugins/module_utils/network_lsr/nm/__init__.py import-3.7!skip -plugins/module_utils/network_lsr/nm/__init__.py import-3.8!skip -plugins/module_utils/network_lsr/nm/__init__.py import-3.9!skip -plugins/module_utils/network_lsr/nm/__init__.py import-3.10!skip -plugins/module_utils/network_lsr/nm/active_connection.py import-2.6!skip -plugins/module_utils/network_lsr/nm/active_connection.py import-2.7!skip -plugins/module_utils/network_lsr/nm/active_connection.py import-3.5!skip -plugins/module_utils/network_lsr/nm/active_connection.py import-3.6!skip -plugins/module_utils/network_lsr/nm/active_connection.py import-3.7!skip -plugins/module_utils/network_lsr/nm/active_connection.py import-3.8!skip -plugins/module_utils/network_lsr/nm/active_connection.py import-3.9!skip -plugins/module_utils/network_lsr/nm/active_connection.py import-3.10!skip -plugins/module_utils/network_lsr/nm/client.py import-2.6!skip -plugins/module_utils/network_lsr/nm/client.py import-2.7!skip -plugins/module_utils/network_lsr/nm/client.py import-3.5!skip -plugins/module_utils/network_lsr/nm/client.py import-3.6!skip -plugins/module_utils/network_lsr/nm/client.py import-3.7!skip -plugins/module_utils/network_lsr/nm/client.py import-3.8!skip -plugins/module_utils/network_lsr/nm/client.py import-3.9!skip -plugins/module_utils/network_lsr/nm/client.py import-3.10!skip -plugins/module_utils/network_lsr/nm/connection.py import-2.6!skip -plugins/module_utils/network_lsr/nm/connection.py import-2.7!skip -plugins/module_utils/network_lsr/nm/connection.py import-3.5!skip -plugins/module_utils/network_lsr/nm/connection.py import-3.6!skip -plugins/module_utils/network_lsr/nm/connection.py import-3.7!skip -plugins/module_utils/network_lsr/nm/connection.py import-3.8!skip -plugins/module_utils/network_lsr/nm/connection.py import-3.9!skip -plugins/module_utils/network_lsr/nm/connection.py import-3.10!skip -plugins/module_utils/network_lsr/nm/error.py import-2.6!skip -plugins/module_utils/network_lsr/nm/error.py import-2.7!skip -plugins/module_utils/network_lsr/nm/error.py import-3.5!skip -plugins/module_utils/network_lsr/nm/error.py import-3.6!skip -plugins/module_utils/network_lsr/nm/error.py import-3.7!skip -plugins/module_utils/network_lsr/nm/error.py import-3.8!skip -plugins/module_utils/network_lsr/nm/error.py import-3.9!skip -plugins/module_utils/network_lsr/nm/error.py import-3.10!skip -plugins/module_utils/network_lsr/nm/provider.py import-2.6!skip -plugins/module_utils/network_lsr/nm/provider.py import-2.7!skip -plugins/module_utils/network_lsr/nm/provider.py import-3.5!skip -plugins/module_utils/network_lsr/nm/provider.py import-3.6!skip -plugins/module_utils/network_lsr/nm/provider.py import-3.7!skip -plugins/module_utils/network_lsr/nm/provider.py import-3.8!skip -plugins/module_utils/network_lsr/nm/provider.py import-3.9!skip -plugins/module_utils/network_lsr/nm/provider.py import-3.10!skip -plugins/modules/network_connections.py validate-modules:doc-default-does-not-match-spec -plugins/modules/network_connections.py validate-modules:doc-required-mismatch -plugins/modules/network_connections.py validate-modules:missing-examples plugins/modules/network_connections.py validate-modules:missing-gplv3-license -plugins/modules/network_connections.py validate-modules:module-invalid-version-added -plugins/modules/network_connections.py validate-modules:no-default-for-required-parameter -plugins/modules/network_connections.py validate-modules:parameter-list-no-elements -plugins/modules/network_connections.py validate-modules:parameter-type-not-in-doc -plugins/modules/network_connections.py validate-modules:undocumented-parameter -plugins/modules/network_state.py import-2.6!skip -plugins/modules/network_state.py import-2.7!skip -plugins/modules/network_state.py import-3.5!skip -plugins/modules/network_state.py import-3.6!skip -plugins/modules/network_state.py import-3.7!skip -plugins/modules/network_state.py import-3.8!skip -plugins/modules/network_state.py import-3.9!skip -plugins/modules/network_state.py import-3.10!skip -plugins/modules/network_state.py validate-modules:import-error -plugins/modules/network_state.py validate-modules:missing-examples plugins/modules/network_state.py validate-modules:missing-gplv3-license -plugins/modules/network_state.py validate-modules:module-invalid-version-added tests/network/ensure_provider_tests.py shebang!skip -tests/network/merge_coverage.sh shebang!skip diff --git a/.sanity-ansible-ignore-2.13.txt b/.sanity-ansible-ignore-2.13.txt index 1c22c07ce..5eff638a0 100644 --- a/.sanity-ansible-ignore-2.13.txt +++ b/.sanity-ansible-ignore-2.13.txt @@ -1,72 +1,3 @@ -plugins/module_utils/network_lsr/nm/__init__.py empty-init!skip -plugins/module_utils/network_lsr/nm/__init__.py import-2.6!skip -plugins/module_utils/network_lsr/nm/__init__.py import-2.7!skip -plugins/module_utils/network_lsr/nm/__init__.py import-3.5!skip -plugins/module_utils/network_lsr/nm/__init__.py import-3.6!skip -plugins/module_utils/network_lsr/nm/__init__.py import-3.7!skip -plugins/module_utils/network_lsr/nm/__init__.py import-3.8!skip -plugins/module_utils/network_lsr/nm/__init__.py import-3.9!skip -plugins/module_utils/network_lsr/nm/__init__.py import-3.10!skip -plugins/module_utils/network_lsr/nm/active_connection.py import-2.6!skip -plugins/module_utils/network_lsr/nm/active_connection.py import-2.7!skip -plugins/module_utils/network_lsr/nm/active_connection.py import-3.5!skip -plugins/module_utils/network_lsr/nm/active_connection.py import-3.6!skip -plugins/module_utils/network_lsr/nm/active_connection.py import-3.7!skip -plugins/module_utils/network_lsr/nm/active_connection.py import-3.8!skip -plugins/module_utils/network_lsr/nm/active_connection.py import-3.9!skip -plugins/module_utils/network_lsr/nm/active_connection.py import-3.10!skip -plugins/module_utils/network_lsr/nm/client.py import-2.6!skip -plugins/module_utils/network_lsr/nm/client.py import-2.7!skip -plugins/module_utils/network_lsr/nm/client.py import-3.5!skip -plugins/module_utils/network_lsr/nm/client.py import-3.6!skip -plugins/module_utils/network_lsr/nm/client.py import-3.7!skip -plugins/module_utils/network_lsr/nm/client.py import-3.8!skip -plugins/module_utils/network_lsr/nm/client.py import-3.9!skip -plugins/module_utils/network_lsr/nm/client.py import-3.10!skip -plugins/module_utils/network_lsr/nm/connection.py import-2.6!skip -plugins/module_utils/network_lsr/nm/connection.py import-2.7!skip -plugins/module_utils/network_lsr/nm/connection.py import-3.5!skip -plugins/module_utils/network_lsr/nm/connection.py import-3.6!skip -plugins/module_utils/network_lsr/nm/connection.py import-3.7!skip -plugins/module_utils/network_lsr/nm/connection.py import-3.8!skip -plugins/module_utils/network_lsr/nm/connection.py import-3.9!skip -plugins/module_utils/network_lsr/nm/connection.py import-3.10!skip -plugins/module_utils/network_lsr/nm/error.py import-2.6!skip -plugins/module_utils/network_lsr/nm/error.py import-2.7!skip -plugins/module_utils/network_lsr/nm/error.py import-3.5!skip -plugins/module_utils/network_lsr/nm/error.py import-3.6!skip -plugins/module_utils/network_lsr/nm/error.py import-3.7!skip -plugins/module_utils/network_lsr/nm/error.py import-3.8!skip -plugins/module_utils/network_lsr/nm/error.py import-3.9!skip -plugins/module_utils/network_lsr/nm/error.py import-3.10!skip -plugins/module_utils/network_lsr/nm/provider.py import-2.6!skip -plugins/module_utils/network_lsr/nm/provider.py import-2.7!skip -plugins/module_utils/network_lsr/nm/provider.py import-3.5!skip -plugins/module_utils/network_lsr/nm/provider.py import-3.6!skip -plugins/module_utils/network_lsr/nm/provider.py import-3.7!skip -plugins/module_utils/network_lsr/nm/provider.py import-3.8!skip -plugins/module_utils/network_lsr/nm/provider.py import-3.9!skip -plugins/module_utils/network_lsr/nm/provider.py import-3.10!skip -plugins/modules/network_connections.py validate-modules:doc-default-does-not-match-spec -plugins/modules/network_connections.py validate-modules:doc-required-mismatch -plugins/modules/network_connections.py validate-modules:missing-examples plugins/modules/network_connections.py validate-modules:missing-gplv3-license -plugins/modules/network_connections.py validate-modules:module-invalid-version-added -plugins/modules/network_connections.py validate-modules:no-default-for-required-parameter -plugins/modules/network_connections.py validate-modules:parameter-list-no-elements -plugins/modules/network_connections.py validate-modules:parameter-type-not-in-doc -plugins/modules/network_connections.py validate-modules:undocumented-parameter -plugins/modules/network_state.py import-2.6!skip -plugins/modules/network_state.py import-2.7!skip -plugins/modules/network_state.py import-3.5!skip -plugins/modules/network_state.py import-3.6!skip -plugins/modules/network_state.py import-3.7!skip -plugins/modules/network_state.py import-3.8!skip -plugins/modules/network_state.py import-3.9!skip -plugins/modules/network_state.py import-3.10!skip -plugins/modules/network_state.py validate-modules:import-error -plugins/modules/network_state.py validate-modules:missing-examples plugins/modules/network_state.py validate-modules:missing-gplv3-license -plugins/modules/network_state.py validate-modules:module-invalid-version-added tests/network/ensure_provider_tests.py shebang!skip -tests/network/merge_coverage.sh shebang!skip diff --git a/.sanity-ansible-ignore-2.14.txt b/.sanity-ansible-ignore-2.14.txt index 318c8d117..5eff638a0 100644 --- a/.sanity-ansible-ignore-2.14.txt +++ b/.sanity-ansible-ignore-2.14.txt @@ -1,72 +1,3 @@ -plugins/module_utils/network_lsr/nm/__init__.py empty-init!skip -plugins/module_utils/network_lsr/nm/__init__.py import-2.7!skip -plugins/module_utils/network_lsr/nm/__init__.py import-3.5!skip -plugins/module_utils/network_lsr/nm/__init__.py import-3.6!skip -plugins/module_utils/network_lsr/nm/__init__.py import-3.7!skip -plugins/module_utils/network_lsr/nm/__init__.py import-3.8!skip -plugins/module_utils/network_lsr/nm/__init__.py import-3.9!skip -plugins/module_utils/network_lsr/nm/__init__.py import-3.10!skip -plugins/module_utils/network_lsr/nm/__init__.py import-3.11!skip -plugins/module_utils/network_lsr/nm/active_connection.py import-2.7!skip -plugins/module_utils/network_lsr/nm/active_connection.py import-3.5!skip -plugins/module_utils/network_lsr/nm/active_connection.py import-3.6!skip -plugins/module_utils/network_lsr/nm/active_connection.py import-3.7!skip -plugins/module_utils/network_lsr/nm/active_connection.py import-3.8!skip -plugins/module_utils/network_lsr/nm/active_connection.py import-3.9!skip -plugins/module_utils/network_lsr/nm/active_connection.py import-3.10!skip -plugins/module_utils/network_lsr/nm/active_connection.py import-3.11!skip -plugins/module_utils/network_lsr/nm/client.py import-2.7!skip -plugins/module_utils/network_lsr/nm/client.py import-3.5!skip -plugins/module_utils/network_lsr/nm/client.py import-3.6!skip -plugins/module_utils/network_lsr/nm/client.py import-3.7!skip -plugins/module_utils/network_lsr/nm/client.py import-3.8!skip -plugins/module_utils/network_lsr/nm/client.py import-3.9!skip -plugins/module_utils/network_lsr/nm/client.py import-3.10!skip -plugins/module_utils/network_lsr/nm/client.py import-3.11!skip -plugins/module_utils/network_lsr/nm/connection.py import-2.7!skip -plugins/module_utils/network_lsr/nm/connection.py import-3.5!skip -plugins/module_utils/network_lsr/nm/connection.py import-3.6!skip -plugins/module_utils/network_lsr/nm/connection.py import-3.7!skip -plugins/module_utils/network_lsr/nm/connection.py import-3.8!skip -plugins/module_utils/network_lsr/nm/connection.py import-3.9!skip -plugins/module_utils/network_lsr/nm/connection.py import-3.10!skip -plugins/module_utils/network_lsr/nm/connection.py import-3.11!skip -plugins/module_utils/network_lsr/nm/error.py import-2.7!skip -plugins/module_utils/network_lsr/nm/error.py import-3.5!skip -plugins/module_utils/network_lsr/nm/error.py import-3.6!skip -plugins/module_utils/network_lsr/nm/error.py import-3.7!skip -plugins/module_utils/network_lsr/nm/error.py import-3.8!skip -plugins/module_utils/network_lsr/nm/error.py import-3.9!skip -plugins/module_utils/network_lsr/nm/error.py import-3.10!skip -plugins/module_utils/network_lsr/nm/error.py import-3.11!skip -plugins/module_utils/network_lsr/nm/provider.py import-2.7!skip -plugins/module_utils/network_lsr/nm/provider.py import-3.5!skip -plugins/module_utils/network_lsr/nm/provider.py import-3.6!skip -plugins/module_utils/network_lsr/nm/provider.py import-3.7!skip -plugins/module_utils/network_lsr/nm/provider.py import-3.8!skip -plugins/module_utils/network_lsr/nm/provider.py import-3.9!skip -plugins/module_utils/network_lsr/nm/provider.py import-3.10!skip -plugins/module_utils/network_lsr/nm/provider.py import-3.11!skip -plugins/modules/network_connections.py validate-modules:doc-default-does-not-match-spec -plugins/modules/network_connections.py validate-modules:doc-required-mismatch -plugins/modules/network_connections.py validate-modules:missing-examples plugins/modules/network_connections.py validate-modules:missing-gplv3-license -plugins/modules/network_connections.py validate-modules:module-invalid-version-added -plugins/modules/network_connections.py validate-modules:no-default-for-required-parameter -plugins/modules/network_connections.py validate-modules:parameter-list-no-elements -plugins/modules/network_connections.py validate-modules:parameter-type-not-in-doc -plugins/modules/network_connections.py validate-modules:undocumented-parameter -plugins/modules/network_state.py import-2.7!skip -plugins/modules/network_state.py import-3.5!skip -plugins/modules/network_state.py import-3.6!skip -plugins/modules/network_state.py import-3.7!skip -plugins/modules/network_state.py import-3.8!skip -plugins/modules/network_state.py import-3.9!skip -plugins/modules/network_state.py import-3.10!skip -plugins/modules/network_state.py import-3.11!skip -plugins/modules/network_state.py validate-modules:import-error -plugins/modules/network_state.py validate-modules:missing-examples plugins/modules/network_state.py validate-modules:missing-gplv3-license -plugins/modules/network_state.py validate-modules:module-invalid-version-added tests/network/ensure_provider_tests.py shebang!skip -tests/network/merge_coverage.sh shebang!skip diff --git a/.sanity-ansible-ignore-2.15.txt b/.sanity-ansible-ignore-2.15.txt index 318c8d117..5eff638a0 100644 --- a/.sanity-ansible-ignore-2.15.txt +++ b/.sanity-ansible-ignore-2.15.txt @@ -1,72 +1,3 @@ -plugins/module_utils/network_lsr/nm/__init__.py empty-init!skip -plugins/module_utils/network_lsr/nm/__init__.py import-2.7!skip -plugins/module_utils/network_lsr/nm/__init__.py import-3.5!skip -plugins/module_utils/network_lsr/nm/__init__.py import-3.6!skip -plugins/module_utils/network_lsr/nm/__init__.py import-3.7!skip -plugins/module_utils/network_lsr/nm/__init__.py import-3.8!skip -plugins/module_utils/network_lsr/nm/__init__.py import-3.9!skip -plugins/module_utils/network_lsr/nm/__init__.py import-3.10!skip -plugins/module_utils/network_lsr/nm/__init__.py import-3.11!skip -plugins/module_utils/network_lsr/nm/active_connection.py import-2.7!skip -plugins/module_utils/network_lsr/nm/active_connection.py import-3.5!skip -plugins/module_utils/network_lsr/nm/active_connection.py import-3.6!skip -plugins/module_utils/network_lsr/nm/active_connection.py import-3.7!skip -plugins/module_utils/network_lsr/nm/active_connection.py import-3.8!skip -plugins/module_utils/network_lsr/nm/active_connection.py import-3.9!skip -plugins/module_utils/network_lsr/nm/active_connection.py import-3.10!skip -plugins/module_utils/network_lsr/nm/active_connection.py import-3.11!skip -plugins/module_utils/network_lsr/nm/client.py import-2.7!skip -plugins/module_utils/network_lsr/nm/client.py import-3.5!skip -plugins/module_utils/network_lsr/nm/client.py import-3.6!skip -plugins/module_utils/network_lsr/nm/client.py import-3.7!skip -plugins/module_utils/network_lsr/nm/client.py import-3.8!skip -plugins/module_utils/network_lsr/nm/client.py import-3.9!skip -plugins/module_utils/network_lsr/nm/client.py import-3.10!skip -plugins/module_utils/network_lsr/nm/client.py import-3.11!skip -plugins/module_utils/network_lsr/nm/connection.py import-2.7!skip -plugins/module_utils/network_lsr/nm/connection.py import-3.5!skip -plugins/module_utils/network_lsr/nm/connection.py import-3.6!skip -plugins/module_utils/network_lsr/nm/connection.py import-3.7!skip -plugins/module_utils/network_lsr/nm/connection.py import-3.8!skip -plugins/module_utils/network_lsr/nm/connection.py import-3.9!skip -plugins/module_utils/network_lsr/nm/connection.py import-3.10!skip -plugins/module_utils/network_lsr/nm/connection.py import-3.11!skip -plugins/module_utils/network_lsr/nm/error.py import-2.7!skip -plugins/module_utils/network_lsr/nm/error.py import-3.5!skip -plugins/module_utils/network_lsr/nm/error.py import-3.6!skip -plugins/module_utils/network_lsr/nm/error.py import-3.7!skip -plugins/module_utils/network_lsr/nm/error.py import-3.8!skip -plugins/module_utils/network_lsr/nm/error.py import-3.9!skip -plugins/module_utils/network_lsr/nm/error.py import-3.10!skip -plugins/module_utils/network_lsr/nm/error.py import-3.11!skip -plugins/module_utils/network_lsr/nm/provider.py import-2.7!skip -plugins/module_utils/network_lsr/nm/provider.py import-3.5!skip -plugins/module_utils/network_lsr/nm/provider.py import-3.6!skip -plugins/module_utils/network_lsr/nm/provider.py import-3.7!skip -plugins/module_utils/network_lsr/nm/provider.py import-3.8!skip -plugins/module_utils/network_lsr/nm/provider.py import-3.9!skip -plugins/module_utils/network_lsr/nm/provider.py import-3.10!skip -plugins/module_utils/network_lsr/nm/provider.py import-3.11!skip -plugins/modules/network_connections.py validate-modules:doc-default-does-not-match-spec -plugins/modules/network_connections.py validate-modules:doc-required-mismatch -plugins/modules/network_connections.py validate-modules:missing-examples plugins/modules/network_connections.py validate-modules:missing-gplv3-license -plugins/modules/network_connections.py validate-modules:module-invalid-version-added -plugins/modules/network_connections.py validate-modules:no-default-for-required-parameter -plugins/modules/network_connections.py validate-modules:parameter-list-no-elements -plugins/modules/network_connections.py validate-modules:parameter-type-not-in-doc -plugins/modules/network_connections.py validate-modules:undocumented-parameter -plugins/modules/network_state.py import-2.7!skip -plugins/modules/network_state.py import-3.5!skip -plugins/modules/network_state.py import-3.6!skip -plugins/modules/network_state.py import-3.7!skip -plugins/modules/network_state.py import-3.8!skip -plugins/modules/network_state.py import-3.9!skip -plugins/modules/network_state.py import-3.10!skip -plugins/modules/network_state.py import-3.11!skip -plugins/modules/network_state.py validate-modules:import-error -plugins/modules/network_state.py validate-modules:missing-examples plugins/modules/network_state.py validate-modules:missing-gplv3-license -plugins/modules/network_state.py validate-modules:module-invalid-version-added tests/network/ensure_provider_tests.py shebang!skip -tests/network/merge_coverage.sh shebang!skip diff --git a/.sanity-ansible-ignore-2.16.txt b/.sanity-ansible-ignore-2.16.txt new file mode 100644 index 000000000..5eff638a0 --- /dev/null +++ b/.sanity-ansible-ignore-2.16.txt @@ -0,0 +1,3 @@ +plugins/modules/network_connections.py validate-modules:missing-gplv3-license +plugins/modules/network_state.py validate-modules:missing-gplv3-license +tests/network/ensure_provider_tests.py shebang!skip diff --git a/.sanity-ansible-ignore-2.9.txt b/.sanity-ansible-ignore-2.9.txt index f1713d483..5eff638a0 100644 --- a/.sanity-ansible-ignore-2.9.txt +++ b/.sanity-ansible-ignore-2.9.txt @@ -1,45 +1,3 @@ -plugins/module_utils/network_lsr/nm/__init__.py empty-init!skip -plugins/module_utils/network_lsr/nm/active_connection.py import-2.6!skip -plugins/module_utils/network_lsr/nm/active_connection.py import-2.7!skip -plugins/module_utils/network_lsr/nm/active_connection.py import-3.5!skip -plugins/module_utils/network_lsr/nm/active_connection.py import-3.6!skip -plugins/module_utils/network_lsr/nm/active_connection.py import-3.7!skip -plugins/module_utils/network_lsr/nm/active_connection.py import-3.8!skip -plugins/module_utils/network_lsr/nm/client.py import-2.6!skip -plugins/module_utils/network_lsr/nm/client.py import-2.7!skip -plugins/module_utils/network_lsr/nm/client.py import-3.5!skip -plugins/module_utils/network_lsr/nm/client.py import-3.6!skip -plugins/module_utils/network_lsr/nm/client.py import-3.7!skip -plugins/module_utils/network_lsr/nm/client.py import-3.8!skip -plugins/module_utils/network_lsr/nm/connection.py import-2.6!skip -plugins/module_utils/network_lsr/nm/connection.py import-2.7!skip -plugins/module_utils/network_lsr/nm/connection.py import-3.5!skip -plugins/module_utils/network_lsr/nm/connection.py import-3.6!skip -plugins/module_utils/network_lsr/nm/connection.py import-3.7!skip -plugins/module_utils/network_lsr/nm/connection.py import-3.8!skip -plugins/module_utils/network_lsr/nm/provider.py import-2.6!skip -plugins/module_utils/network_lsr/nm/provider.py import-2.7!skip -plugins/module_utils/network_lsr/nm/provider.py import-3.5!skip -plugins/module_utils/network_lsr/nm/provider.py import-3.6!skip -plugins/module_utils/network_lsr/nm/provider.py import-3.7!skip -plugins/module_utils/network_lsr/nm/provider.py import-3.8!skip -plugins/modules/network_connections.py validate-modules:missing-examples plugins/modules/network_connections.py validate-modules:missing-gplv3-license -plugins/modules/network_connections.py validate-modules:no-default-for-required-parameter -plugins/modules/network_connections.py validate-modules:parameter-type-not-in-doc -plugins/modules/network_connections.py validate-modules:undocumented-parameter -tests/network/ensure_provider_tests.py compile-2.6!skip -tests/network/ensure_provider_tests.py compile-2.7!skip -tests/network/ensure_provider_tests.py compile-3.5!skip -tests/network/ensure_provider_tests.py future-import-boilerplate!skip -tests/network/ensure_provider_tests.py metaclass-boilerplate!skip +plugins/modules/network_state.py validate-modules:missing-gplv3-license tests/network/ensure_provider_tests.py shebang!skip -tests/network/integration/conftest.py future-import-boilerplate!skip -tests/network/integration/conftest.py metaclass-boilerplate!skip -tests/network/integration/test_ethernet.py future-import-boilerplate!skip -tests/network/integration/test_ethernet.py metaclass-boilerplate!skip -tests/network/merge_coverage.sh shebang!skip -tests/network/unit/test_network_connections.py future-import-boilerplate!skip -tests/network/unit/test_network_connections.py metaclass-boilerplate!skip -tests/network/unit/test_nm_provider.py future-import-boilerplate!skip -tests/network/unit/test_nm_provider.py metaclass-boilerplate!skip diff --git a/library/network_connections.py b/library/network_connections.py index 07b29ccf9..43915c928 100644 --- a/library/network_connections.py +++ b/library/network_connections.py @@ -12,7 +12,7 @@ author: Thomas Haller (@thom311) short_description: module for network role to manage connection profiles requirements: [pygobject, dbus, NetworkManager] -version_added: "2.0" +version_added: "2.13.0" description: - "WARNING: Do not use this module directly! It is only for role internal use." - | @@ -22,9 +22,44 @@ role and currently it is not expected to use this module outside the role. Thus, consult README.md for examples for the role. The requirements are only for the NetworkManager (nm) provider. -options: {} +options: + __debug_flags: + description: Flags to use for debugging + required: false + type: str + default: '' + force_state_change: + description: Force a state change + required: false + type: bool + default: False + ignore_errors: + description: Ignore errors + required: false + type: bool + default: False + __header: + description: Header to use in generated files + required: true + type: str + provider: + description: Network provider to use - initscripts or nm + required: true + type: str + connections: + description: Network configuration options + required: false + default: [] + type: list + elements: dict """ +EXAMPLES = """ +network_connections: + connections: + - name: eth0 + state: up +""" import errno import functools @@ -1454,7 +1489,6 @@ def rollback_checkpoint(self, path): ) def connection_activate(self, connection, timeout=15, wait_time=None): - already_retried = False while True: @@ -1681,9 +1715,14 @@ class RunEnvironmentAnsible(RunEnvironment): ARGS = { "ignore_errors": {"required": False, "default": False, "type": "bool"}, "force_state_change": {"required": False, "default": False, "type": "bool"}, - "provider": {"required": True, "default": None, "type": "str"}, - "connections": {"required": False, "default": None, "type": "list"}, - "__header": {"required": True, "default": None, "type": "str"}, + "provider": {"required": True, "type": "str"}, + "connections": { + "required": False, + "default": [], + "type": "list", + "elements": "dict", + }, + "__header": {"required": True, "type": "str"}, "__debug_flags": {"required": False, "default": "", "type": "str"}, } diff --git a/library/network_state.py b/library/network_state.py index 3f88f7993..3f8a9a36d 100644 --- a/library/network_state.py +++ b/library/network_state.py @@ -9,7 +9,7 @@ DOCUMENTATION = r""" --- module: network_state -version_added: "2.9" +version_added: "2.13.0" short_description: module for network role to apply network state configuration description: - This module allows to apply the network state configuration through nmstate, @@ -22,6 +22,19 @@ author: "Wen Liang (@liangwen12year)" """ +EXAMPLES = r""" +network_state: + desired_state: + dns-resolver: + config: + search: + - example.com + - example.org + server: + - 2001:4860:4860::8888 + - 8.8.8.8 +""" + RETURN = r""" state: description: Network state after running the module @@ -29,8 +42,18 @@ returned: always """ -from ansible.module_utils.basic import AnsibleModule -import libnmstate # pylint: disable=import-error +import traceback + +from ansible.module_utils.basic import AnsibleModule, missing_required_lib + +try: + import libnmstate # pylint: disable=import-error +except ImportError: + NETWORK_HAS_NMSTATE = False + NETWORK_NMSTATE_IMPORT_ERROR = traceback.format_exc() +else: + NETWORK_HAS_NMSTATE = True + NETWORK_NMSTATE_IMPORT_ERROR = None class NetworkState: @@ -71,6 +94,12 @@ def run_module(): argument_spec=module_args, ) + if not NETWORK_HAS_NMSTATE: + module.fail_json( + msg=missing_required_lib("libnmstate"), + exception=NETWORK_NMSTATE_IMPORT_ERROR, + ) + network_state_module = NetworkState(module, "network_state") network_state_module.run() diff --git a/module_utils/network_lsr/nm/__init__.py b/module_utils/network_lsr/nm/__init__.py index 74c17cb5a..e69de29bb 100644 --- a/module_utils/network_lsr/nm/__init__.py +++ b/module_utils/network_lsr/nm/__init__.py @@ -1,11 +0,0 @@ -# Relative import is not support by ansible 2.8 yet -# pylint: disable=import-error, no-name-in-module -from __future__ import absolute_import, division, print_function - -__metaclass__ = type - -from ansible.module_utils.network_lsr.nm import provider # noqa:E501 - -# pylint: enable=import-error, no-name-in-module - -provider.NetworkManagerProvider diff --git a/module_utils/network_lsr/nm/client.py b/module_utils/network_lsr/nm/client.py index f47cc533e..2327c76b7 100644 --- a/module_utils/network_lsr/nm/client.py +++ b/module_utils/network_lsr/nm/client.py @@ -10,32 +10,38 @@ # pylint: disable=import-error, no-name-in-module from ansible.module_utils.network_lsr.nm import error # noqa:E501 -import gi - try: - gi.require_version("NM", "1.0") - - # It is required to state the NM version before importing it - # But this break the flake8 rule: https://www.flake8rules.com/rules/E402.html - # Use NOQA: E402 to suppress it. - from gi.repository import NM # NOQA: E402 - from gi.repository import GLib # NOQA: E402 - from gi.repository import Gio # NOQA: E402 - - # pylint: enable=import-error, no-name-in-module - - NM - GLib - Gio -except ValueError: - # This is to workaround a bug in ansible 2.9 which causes - # this code to be executed on the control node, where NM - # is not guaranteed to exist. On the other hand, it is - # ensured on the managed nodes as NM package is installed - # in the network role. Therefore, this exception handling - # does not affect the network installation and configuration - # on the managed nodes. - pass + import gi +except ImportError: + NETWORK_HAS_GI = False +else: + NETWORK_HAS_GI = True + +if NETWORK_HAS_GI: + try: + gi.require_version("NM", "1.0") + + # It is required to state the NM version before importing it + # But this break the flake8 rule: https://www.flake8rules.com/rules/E402.html + # Use NOQA: E402 to suppress it. + from gi.repository import NM # NOQA: E402 + from gi.repository import GLib # NOQA: E402 + from gi.repository import Gio # NOQA: E402 + + # pylint: enable=import-error, no-name-in-module + + NM + GLib + Gio + except ValueError: + # This is to workaround a bug in ansible 2.9 which causes + # this code to be executed on the control node, where NM + # is not guaranteed to exist. On the other hand, it is + # ensured on the managed nodes as NM package is installed + # in the network role. Therefore, this exception handling + # does not affect the network installation and configuration + # on the managed nodes. + pass def get_client(): diff --git a/tests/integration/conftest.py b/tests/integration/conftest.py deleted file mode 100644 index 1fb2c7029..000000000 --- a/tests/integration/conftest.py +++ /dev/null @@ -1,8 +0,0 @@ -# -*- coding: utf-8 -* -# SPDX-License-Identifier: BSD-3-Clause - - -def pytest_addoption(parser): - parser.addoption( - "--provider", action="store", default="nm", help="Network provider" - )