ansible_mitogen: Allow mitogen_fetch to bypass slurp module

This reapplies an earlier change, when this plugin was first introduced to
Mitogen. The plugin was updated to fix

[DEPRECATION WARNING]: The '_remote_checksum()' method is deprecated.

I've elected to short-circuit the if statemtn logic, rather than
deleting/unindenting, to make the code delta much smaller. This should make it
easier to maintain/update.

Fixes #915
pull/923/head
Alex Willmer 3 years ago
parent 0ff9c6e579
commit 25ea6dde02

@ -70,8 +70,8 @@ class ActionModule(ActionBase):
remote_stat = {} remote_stat = {}
remote_checksum = None remote_checksum = None
if not self._connection.become: if True:
# Get checksum for the remote file. Don't bother if using become as slurp will be used. # Get checksum for the remote file even using become. Mitogen doesn't need slurp.
# Follow symlinks because fetch always follows symlinks # Follow symlinks because fetch always follows symlinks
try: try:
remote_stat = self._execute_remote_stat(source, all_vars=task_vars, follow=True) remote_stat = self._execute_remote_stat(source, all_vars=task_vars, follow=True)

@ -25,6 +25,7 @@ v0.3.3.dev0
* :gh:issue:`918` Support Python 3.10 * :gh:issue:`918` Support Python 3.10
* :gh:issue:`920` Support Ansible :ans:conn:`~podman` connection plugin * :gh:issue:`920` Support Ansible :ans:conn:`~podman` connection plugin
* :gh:issue:`836` :func:`mitogen.utils.with_router` decorator preserves the docstring in addition to the name. * :gh:issue:`836` :func:`mitogen.utils.with_router` decorator preserves the docstring in addition to the name.
* :gh:issue:`936` :ans:mod:`fetch` no longer emits `[DEPRECATION WARNING]: The '_remote_checksum()' method is deprecated.`
v0.3.2 (2022-01-12) v0.3.2 (2022-01-12)

@ -1,12 +1,14 @@
# issue #615: 'fetch' with become: was internally using slurp. # issue #615: 'fetch' with become: was internally using slurp.
- hosts: target - hosts: test-targets
any_errors_fatal: True any_errors_fatal: True
gather_facts: no gather_facts: no
# Without Mitogen this causes Ansible to use the slurp module, which is *slow*
become: true become: true
vars: vars:
mitogen_ssh_compression: false mitogen_ssh_compression: false
tasks: tasks:
- block:
- shell: | - shell: |
dd if=/dev/zero of=/tmp/512mb.zero bs=1048576 count=512; dd if=/dev/zero of=/tmp/512mb.zero bs=1048576 count=512;
chmod go= /tmp/512mb.zero chmod go= /tmp/512mb.zero
@ -15,9 +17,16 @@
src: /tmp/512mb.zero src: /tmp/512mb.zero
dest: /tmp/fetch-out dest: /tmp/fetch-out
- file:
path: /tmp/512mb.zero
state: absent
- file: - file:
path: /tmp/fetch-out path: /tmp/fetch-out
state: absent state: absent
delegate_to: localhost delegate_to: localhost
run_once: true
when:
- is_mitogen
tags: tags:
- issue_615 - issue_615

Loading…
Cancel
Save