Merge pull request #883 from Rosa-Luxemburgstiftung-Berlin/pr-ansible2.12

support for ansible 2.12
pull/884/head
Alex Willmer 3 years ago committed by GitHub
commit 86b1fb0f49
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -276,3 +276,6 @@ jobs:
Ans_39_4:
python.version: '3.9'
tox.env: py39-mode_ansible-ansible4
Ans_39_5:
python.version: '3.9'
tox.env: py39-mode_ansible-ansible5

@ -45,7 +45,7 @@ __all__ = [
ANSIBLE_VERSION_MIN = (2, 10)
ANSIBLE_VERSION_MAX = (2, 11)
ANSIBLE_VERSION_MAX = (2, 12)
NEW_VERSION_MSG = (
"Your Ansible version (%s) is too recent. The most recent version\n"

@ -146,7 +146,9 @@ Noteworthy Differences
----------------------
* Mitogen 0.2.x supports Ansible 2.3-2.9; with Python 2.6, 2.7, or 3.6.
Mitogen 0.3.1+ supports Ansible 2.10, 3, and 4; with Python 2.7, or 3.6-3.9.
Mitogen 0.3.1+ supports
- Ansible 2.10, 3, and 4; with Python 2.7, or 3.6-3.9
- Ansible 5; with Python 3.8-3.9
Verify your installation is running one of these versions by checking
``ansible --version`` output.

@ -21,6 +21,7 @@ To avail of fixes in an unreleased version, please download a ZIP file
v0.3.1.dev0 (unreleased)
------------------------
* :gh:issue:`874` Support for Ansible 5 (ansible-core 2.12)
* :gh:issue:`774` Fix bootstrap failures on macOS 11.x and 12.x, involving Python 2.7 wrapper
* :gh:issue:`834` Support for Ansible 3 and 4 (ansible-core 2.11)
* :gh:issue:`869` Continuous Integration tests are now run with Tox

@ -1,6 +1,6 @@
- include: setup/all.yml
- import_playbook: setup/all.yml
tags: setup
- include: regression/all.yml
- import_playbook: regression/all.yml
tags: regression
- include: integration/all.yml
- import_playbook: integration/all.yml
tags: integration

@ -1,10 +1,10 @@
- include: copy.yml
- include: fixup_perms2__copy.yml
- include: low_level_execute_command.yml
- include: make_tmp_path.yml
- include: make_tmp_path__double.yml
- include: remote_expand_user.yml
- include: remote_file_exists.yml
- include: remove_tmp_path.yml
- include: synchronize.yml
- include: transfer_data.yml
- import_playbook: copy.yml
- import_playbook: fixup_perms2__copy.yml
- import_playbook: low_level_execute_command.yml
- import_playbook: make_tmp_path.yml
- import_playbook: make_tmp_path__double.yml
- import_playbook: remote_expand_user.yml
- import_playbook: remote_file_exists.yml
- import_playbook: remove_tmp_path.yml
- import_playbook: synchronize.yml
- import_playbook: transfer_data.yml

@ -3,39 +3,39 @@
# This playbook imports all tests that are known to work at present.
#
- include: action/all.yml
- import_playbook: action/all.yml
tags: action
- include: async/all.yml
- import_playbook: async/all.yml
tags: async
- include: become/all.yml
- import_playbook: become/all.yml
tags: become
- include: connection/all.yml
- import_playbook: connection/all.yml
tags: connection
- include: connection_delegation/all.yml
- import_playbook: connection_delegation/all.yml
tags: connection_delegation
- include: connection_loader/all.yml
- import_playbook: connection_loader/all.yml
tags: connection_loader
- include: context_service/all.yml
- import_playbook: context_service/all.yml
tags: context_service
- include: glibc_caches/all.yml
- import_playbook: glibc_caches/all.yml
tags: glibc_caches
- include: interpreter_discovery/all.yml
- import_playbook: interpreter_discovery/all.yml
tags: interpreter_discovery
- include: local/all.yml
- import_playbook: local/all.yml
tags: local
- include: module_utils/all.yml
- import_playbook: module_utils/all.yml
tags: module_utils
- include: playbook_semantics/all.yml
- import_playbook: playbook_semantics/all.yml
tags: playbook_semantics
- include: process/all.yml
- import_playbook: process/all.yml
tags: process
- include: runner/all.yml
- import_playbook: runner/all.yml
tags: runner
- include: ssh/all.yml
- import_playbook: ssh/all.yml
tags: ssh
- include: strategy/all.yml
- import_playbook: strategy/all.yml
tags: strategy
- include: stub_connections/all.yml
- import_playbook: stub_connections/all.yml
tags: stub_connections
- include: transport_config/all.yml
- import_playbook: transport_config/all.yml
tags: transport_config

@ -1,9 +1,9 @@
- include: multiple_items_loop.yml
- include: result_binary_producing_json.yml
- include: result_binary_producing_junk.yml
- include: result_shell_echo_hi.yml
- include: runner_new_process.yml
- include: runner_one_job.yml
- include: runner_timeout_then_polling.yml
- include: runner_two_simultaneous_jobs.yml
- include: runner_with_polling_and_timeout.yml
- import_playbook: multiple_items_loop.yml
- import_playbook: result_binary_producing_json.yml
- import_playbook: result_binary_producing_junk.yml
- import_playbook: result_shell_echo_hi.yml
- import_playbook: runner_new_process.yml
- import_playbook: runner_one_job.yml
- import_playbook: runner_timeout_then_polling.yml
- import_playbook: runner_two_simultaneous_jobs.yml
- import_playbook: runner_with_polling_and_timeout.yml

@ -1,7 +1,7 @@
- include: su_password.yml
- include: sudo_flags_failure.yml
- include: sudo_nonexistent.yml
- include: sudo_nopassword.yml
- include: sudo_password.yml
- include: sudo_requiretty.yml
- import_playbook: su_password.yml
- import_playbook: sudo_flags_failure.yml
- import_playbook: sudo_nonexistent.yml
- import_playbook: sudo_nopassword.yml
- import_playbook: sudo_password.yml
- import_playbook: sudo_requiretty.yml

@ -1,11 +1,11 @@
---
- include: become_same_user.yml
- include: disconnect_during_module.yml
- include: disconnect_resets_connection.yml
- include: exec_command.yml
- include: home_dir.yml
- include: put_large_file.yml
- include: put_small_file.yml
- include: reset.yml
- include: reset_become.yml
- import_playbook: become_same_user.yml
- import_playbook: disconnect_during_module.yml
- import_playbook: disconnect_resets_connection.yml
- import_playbook: exec_command.yml
- import_playbook: home_dir.yml
- import_playbook: put_large_file.yml
- import_playbook: put_small_file.yml
- import_playbook: reset.yml
- import_playbook: reset_become.yml

@ -1,5 +1,5 @@
- include: delegate_to_template.yml
- include: local_action.yml
- include: osa_container_standalone.yml
- include: osa_delegate_to_self.yml
- include: stack_construction.yml
- import_playbook: delegate_to_template.yml
- import_playbook: local_action.yml
- import_playbook: osa_container_standalone.yml
- import_playbook: osa_delegate_to_self.yml
- import_playbook: stack_construction.yml

@ -1,3 +1,3 @@
- include: local_blemished.yml
- include: paramiko_unblemished.yml
- include: ssh_blemished.yml
- import_playbook: local_blemished.yml
- import_playbook: paramiko_unblemished.yml
- import_playbook: ssh_blemished.yml

@ -1,4 +1,4 @@
- include: disconnect_cleanup.yml
- include: lru_one_target.yml
- include: reconnection.yml
- include: remote_name.yml
- import_playbook: disconnect_cleanup.yml
- import_playbook: lru_one_target.yml
- import_playbook: reconnection.yml
- import_playbook: remote_name.yml

@ -1,2 +1,2 @@
- include: resolv_conf.yml
- import_playbook: resolv_conf.yml

@ -1,2 +1,2 @@
- include: complex_args.yml
- include: ansible_2_8_tests.yml
- import_playbook: complex_args.yml
- import_playbook: ansible_2_8_tests.yml

@ -63,15 +63,33 @@
ping:
register: legacy
- name: check for dep warning (only on platforms where auto result is not /usr/bin/python and legacy is)
- name: check for dep warning (only on platforms where auto result is not /usr/bin/python and legacy is) for ansible 2.8-2.11
# from ansible 2.12 on this changed
# - https://docs.ansible.com/ansible/devel/porting_guides/porting_guide_5.html#python-interpreter-discovery
# - https://docs.ansible.com/ansible/latest/reference_appendices/interpreter_discovery.html
# default discovery method is now auto and will default to python3
# and the message changed from a deprecation warning to a real warning that can not be suppressed by
# using deprecation_warnings=False
assert:
that:
- legacy.deprecations | default([]) | length > 0
fail_msg: legacy={{legacy}}
# only check for a dep warning if legacy returned /usr/bin/python and auto didn't
when: legacy.ansible_facts.discovered_interpreter_python == '/usr/bin/python' and
auto_out.ansible_facts.discovered_interpreter_python != '/usr/bin/python'
when:
- legacy.ansible_facts.discovered_interpreter_python == '/usr/bin/python'
- auto_out.ansible_facts.discovered_interpreter_python != '/usr/bin/python'
- ansible_version.full is version_compare('2.12.0', '<', strict=True)
- name: check for warning (only on platforms where auto result is not /usr/bin/python and legacy is) from ansible 2.12 on
assert:
that:
- legacy.warnings | default([]) | length > 0
fail_msg: legacy={{legacy}}
# only check for a warning if legacy returned /usr/bin/python and auto didn't
when:
- legacy.ansible_facts.discovered_interpreter_python == '/usr/bin/python'
- auto_out.ansible_facts.discovered_interpreter_python != '/usr/bin/python'
- ansible_version.full is version_compare('2.12.0', '>=', strict=True)
- name: test that auto_silent never warns and got the same answer as auto
block:

@ -1,4 +1,4 @@
- include: cwd_preserved.yml
- include: env_preserved.yml
- import_playbook: cwd_preserved.yml
- import_playbook: env_preserved.yml

@ -1,6 +1,6 @@
#- include: from_config_path.yml
#- include: from_config_path_pkg.yml
#- include: adjacent_to_playbook.yml
- include: adjacent_to_role.yml
#- include: overrides_builtin.yml
#- import_playbook: from_config_path.yml
#- import_playbook: from_config_path_pkg.yml
#- import_playbook: adjacent_to_playbook.yml
- import_playbook: adjacent_to_role.yml
#- import_playbook: overrides_builtin.yml

@ -1,4 +1,4 @@
- include: become_flags.yml
- include: delegate_to.yml
- include: environment.yml
- include: with_items.yml
- import_playbook: become_flags.yml
- import_playbook: delegate_to.yml
- import_playbook: environment.yml
- import_playbook: with_items.yml

@ -1 +1 @@
- include: "unix_socket_cleanup.yml"
- import_playbook: "unix_socket_cleanup.yml"

@ -1,24 +1,24 @@
- include: atexit.yml
- include: builtin_command_module.yml
- include: crashy_new_style_module.yml
- include: custom_bash_hashbang_argument.yml
- include: custom_bash_old_style_module.yml
- include: custom_bash_want_json_module.yml
- include: custom_binary_producing_json.yml
- include: custom_binary_producing_junk.yml
- include: custom_binary_single_null.yml
- include: custom_perl_json_args_module.yml
- include: custom_perl_want_json_module.yml
- include: custom_python_json_args_module.yml
- include: custom_python_new_style_missing_interpreter.yml
- include: custom_python_new_style_module.yml
- include: custom_python_prehistoric_module.yml
- include: custom_python_want_json_module.yml
- include: custom_script_interpreter.yml
- include: environment_isolation.yml
- import_playbook: atexit.yml
- import_playbook: builtin_command_module.yml
- import_playbook: crashy_new_style_module.yml
- import_playbook: custom_bash_hashbang_argument.yml
- import_playbook: custom_bash_old_style_module.yml
- import_playbook: custom_bash_want_json_module.yml
- import_playbook: custom_binary_producing_json.yml
- import_playbook: custom_binary_producing_junk.yml
- import_playbook: custom_binary_single_null.yml
- import_playbook: custom_perl_json_args_module.yml
- import_playbook: custom_perl_want_json_module.yml
- import_playbook: custom_python_json_args_module.yml
- import_playbook: custom_python_new_style_missing_interpreter.yml
- import_playbook: custom_python_new_style_module.yml
- import_playbook: custom_python_prehistoric_module.yml
- import_playbook: custom_python_want_json_module.yml
- import_playbook: custom_script_interpreter.yml
- import_playbook: environment_isolation.yml
# I hate this test. I hope it dies, it has caused nothing but misery and suffering
#- include: etc_environment.yml
- include: forking_active.yml
- include: forking_correct_parent.yml
- include: forking_inactive.yml
- include: missing_module.yml
#- import_playbook: etc_environment.yml
- import_playbook: forking_active.yml
- import_playbook: forking_correct_parent.yml
- import_playbook: forking_inactive.yml
- import_playbook: missing_module.yml

@ -1,3 +1,3 @@
- include: config.yml
- include: timeouts.yml
- include: variables.yml
- import_playbook: config.yml
- import_playbook: timeouts.yml
- import_playbook: variables.yml

@ -1 +1 @@
- include: mixed_vanilla_mitogen.yml
- import_playbook: mixed_vanilla_mitogen.yml

@ -1,7 +1,7 @@
- include: kubectl.yml
- include: lxc.yml
- include: lxd.yml
- include: mitogen_doas.yml
- include: mitogen_sudo.yml
- include: setns_lxc.yml
- include: setns_lxd.yml
- import_playbook: kubectl.yml
- import_playbook: lxc.yml
- import_playbook: lxd.yml
- import_playbook: mitogen_doas.yml
- import_playbook: mitogen_sudo.yml
- import_playbook: setns_lxc.yml
- import_playbook: setns_lxd.yml

@ -1,11 +1,11 @@
- include: become_method.yml
- include: become_pass.yml
- include: become_user.yml
- include: become.yml
- include: password.yml
- include: port.yml
- include: python_path.yml
- include: remote_addr.yml
- include: remote_user.yml
- include: transport.yml
- include: transport__smart.yml
- import_playbook: become_method.yml
- import_playbook: become_pass.yml
- import_playbook: become_user.yml
- import_playbook: become.yml
- import_playbook: password.yml
- import_playbook: port.yml
- import_playbook: python_path.yml
- import_playbook: remote_addr.yml
- import_playbook: remote_user.yml
- import_playbook: transport.yml
- import_playbook: transport__smart.yml

@ -1,30 +1,30 @@
- include: issue_109__target_has_old_ansible_installed.yml
- import_playbook: issue_109__target_has_old_ansible_installed.yml
tags: regression
- include: issue_113__duplicate_module_imports.yml
- import_playbook: issue_113__duplicate_module_imports.yml
tags: regression
- include: issue_118__script_not_marked_exec.yml
- import_playbook: issue_118__script_not_marked_exec.yml
tags: regression
- include: issue_122__environment_difference.yml
- import_playbook: issue_122__environment_difference.yml
tags: regression
- include: issue_140__thread_pileup.yml
- import_playbook: issue_140__thread_pileup.yml
tags: regression
- include: issue_152__local_action_wrong_interpreter.yml
- import_playbook: issue_152__local_action_wrong_interpreter.yml
tags: regression
- include: issue_152__virtualenv_python_fails.yml
- import_playbook: issue_152__virtualenv_python_fails.yml
tags: regression
- include: issue_154__module_state_leaks.yml
- import_playbook: issue_154__module_state_leaks.yml
tags: regression
- include: issue_177__copy_module_failing.yml
- import_playbook: issue_177__copy_module_failing.yml
tags: regression
- include: issue_332_ansiblemoduleerror_first_occurrence.yml
- import_playbook: issue_332_ansiblemoduleerror_first_occurrence.yml
tags: regression
- include: issue_558_unarchive_failed.yml
- import_playbook: issue_558_unarchive_failed.yml
tags: regression
- include: issue_590__sys_modules_crap.yml
- import_playbook: issue_590__sys_modules_crap.yml
tags: regression
- include: issue_591__setuptools_cwd_crash.yml
- import_playbook: issue_591__setuptools_cwd_crash.yml
tags: regression
- include: issue_615__streaming_transfer.yml
- import_playbook: issue_615__streaming_transfer.yml
tags: regression
- include: issue_655__wait_for_connection_error.yml
- import_playbook: issue_655__wait_for_connection_error.yml
tags: regression

@ -1 +1 @@
- include: report.yml
- import_playbook: report.yml

@ -35,7 +35,8 @@
[tox]
envlist =
init,
py{27,36,39}-mode_ansible-ansible{2.10,3,4},
py{27,36}-mode_ansible-ansible{2.10,3,4},
py{39}-mode_ansible-ansible{2.10,3,4,5},
py{27,36,39}-mode_mitogen-distro_centos{6,7,8},
py{27,36,39}-mode_mitogen-distro_debian{9,10,11},
py{27,36,39}-mode_mitogen-distro_ubuntu{1604,1804,2004},
@ -64,6 +65,7 @@ deps =
ansible3: ansible-base<2.10.14
ansible3: ansible==3.4.0
ansible4: ansible==4.8.0
ansible5: ansible==5.0.1
install_command =
python -m pip --no-python-version-warning install {opts} {packages}
commands_pre =

Loading…
Cancel
Save