Closed webknjaz closed 3 years ago
I've xfailed it. Whoever is going to implement the fix, must start by dropping the xfail
mark from the test so that the actual test result will show up in the test results.
How feasible is it to do this, with most modules being pulled out of core and into the collections, now? Presumably these aren't easily located when you've only installed ansible-base
on the system.
Because of some changes in the Ansible Core repo, tests started failing 4 days ago. This needs to be investigated and fixed. PRs are welcome. If anybody wants to take this task, feel free to drop a comment here and then send a PR.
Issue Type
Ansible and Ansible Lint details
This is caused by a hardcoded list of deprecations from inside the linter at https://github.com/ansible/ansible-lint/blob/master/lib/ansiblelint/rules/DeprecatedModuleRule.py#L19-L29
This list does change with each version of ansible and some of these are now total failures.
We identified two potential new ways of interacting with ansible in a portable way:
Apparently ansible displays the deprecation warnings (module renames), only on STDERR when it encounteres an outdated name. Even worse is the fact that the stderr output is split on multiple lines due to https://github.com/ansible/ansible/issues/71461 and there is no option to collect these warnings. Apparently they were not implemented using python warnings support, and thus is not possible to collect them from outside.
Desired Behaviour
List of deprecated modules should be dynamically retried from ansible itself and not being a static list.
Actual Behaviour (Bug report only)
One test started failing in the CI when running against ansible/ansible@devel.
test/TestDeprecatedModule.py::TestDeprecatedModuleRule::test_module_deprecated
: https://travis-ci.com/ansible/ansible-lint/jobs/285300600#L391