mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
Don't pass mode from synchronize action plugin to the ansible module
Fixes https://github.com/ansible/ansible-modules-core/issues/1783
This commit is contained in:
parent
b678b9828c
commit
b06353791c
2 changed files with 123 additions and 2 deletions
|
@ -169,6 +169,11 @@ class ActionModule(ActionBase):
|
||||||
if use_ssh_args:
|
if use_ssh_args:
|
||||||
self._task.args['ssh_args'] = constants.ANSIBLE_SSH_ARGS
|
self._task.args['ssh_args'] = constants.ANSIBLE_SSH_ARGS
|
||||||
|
|
||||||
|
# Remove mode as it is handled purely in this action module
|
||||||
|
if 'mode' in self._task.args:
|
||||||
|
del self._task.args['mode']
|
||||||
|
|
||||||
|
|
||||||
# run the module and store the result
|
# run the module and store the result
|
||||||
result = self._execute_module('synchronize', task_vars=task_vars)
|
result = self._execute_module('synchronize', task_vars=task_vars)
|
||||||
|
|
||||||
|
|
|
@ -40,6 +40,124 @@
|
||||||
- "sync_result.msg.startswith('>f+')"
|
- "sync_result.msg.startswith('>f+')"
|
||||||
- "sync_result.msg.endswith('+ foo.txt\n')"
|
- "sync_result.msg.endswith('+ foo.txt\n')"
|
||||||
|
|
||||||
|
- name: test that the file was really copied over
|
||||||
|
stat:
|
||||||
|
path: "{{ output_dir }}/foo.result"
|
||||||
|
register: stat_result
|
||||||
|
|
||||||
|
- assert:
|
||||||
|
that:
|
||||||
|
- "stat_result.stat.exists == True"
|
||||||
|
- "stat_result.stat.checksum == '2aae6c35c94fcfb415dbe95f408b9ce91ee846ed'"
|
||||||
|
|
||||||
|
- name: test that the file is not copied a second time
|
||||||
|
synchronize: src={{output_dir}}/foo.txt dest={{output_dir}}/foo.result
|
||||||
|
register: sync_result
|
||||||
|
|
||||||
|
- assert:
|
||||||
|
that:
|
||||||
|
- "sync_result.changed == False"
|
||||||
|
|
||||||
|
- name: Cleanup
|
||||||
|
file:
|
||||||
|
state: absent
|
||||||
|
path: "{{output_dir}}/{{item}}"
|
||||||
|
with_items:
|
||||||
|
- foo.result
|
||||||
|
- bar.result
|
||||||
|
|
||||||
|
- name: Synchronize using the mode=push param
|
||||||
|
synchronize:
|
||||||
|
src: "{{output_dir}}/foo.txt"
|
||||||
|
dest: "{{output_dir}}/foo.result"
|
||||||
|
mode: push
|
||||||
|
register: sync_result
|
||||||
|
|
||||||
|
- assert:
|
||||||
|
that:
|
||||||
|
- "'changed' in sync_result"
|
||||||
|
- "sync_result.changed == true"
|
||||||
|
- "'cmd' in sync_result"
|
||||||
|
- "'rsync' in sync_result.cmd"
|
||||||
|
- "'msg' in sync_result"
|
||||||
|
- "sync_result.msg.startswith('>f+')"
|
||||||
|
- "sync_result.msg.endswith('+ foo.txt\n')"
|
||||||
|
|
||||||
|
- name: test that the file was really copied over
|
||||||
|
stat:
|
||||||
|
path: "{{ output_dir }}/foo.result"
|
||||||
|
register: stat_result
|
||||||
|
|
||||||
|
- assert:
|
||||||
|
that:
|
||||||
|
- "stat_result.stat.exists == True"
|
||||||
|
- "stat_result.stat.checksum == '2aae6c35c94fcfb415dbe95f408b9ce91ee846ed'"
|
||||||
|
|
||||||
|
- name: test that the file is not copied a second time
|
||||||
|
synchronize:
|
||||||
|
src: "{{output_dir}}/foo.txt"
|
||||||
|
dest: "{{output_dir}}/foo.result"
|
||||||
|
mode: push
|
||||||
|
register: sync_result
|
||||||
|
|
||||||
|
- assert:
|
||||||
|
that:
|
||||||
|
- "sync_result.changed == False"
|
||||||
|
|
||||||
|
- name: Cleanup
|
||||||
|
file:
|
||||||
|
state: absent
|
||||||
|
path: "{{output_dir}}/{{item}}"
|
||||||
|
with_items:
|
||||||
|
- foo.result
|
||||||
|
- bar.result
|
||||||
|
|
||||||
|
- name: Synchronize using the mode=pull param
|
||||||
|
synchronize:
|
||||||
|
src: "{{output_dir}}/foo.txt"
|
||||||
|
dest: "{{output_dir}}/foo.result"
|
||||||
|
mode: pull
|
||||||
|
register: sync_result
|
||||||
|
|
||||||
|
- assert:
|
||||||
|
that:
|
||||||
|
- "'changed' in sync_result"
|
||||||
|
- "sync_result.changed == true"
|
||||||
|
- "'cmd' in sync_result"
|
||||||
|
- "'rsync' in sync_result.cmd"
|
||||||
|
- "'msg' in sync_result"
|
||||||
|
- "sync_result.msg.startswith('>f+')"
|
||||||
|
- "sync_result.msg.endswith('+ foo.txt\n')"
|
||||||
|
|
||||||
|
- name: test that the file was really copied over
|
||||||
|
stat:
|
||||||
|
path: "{{ output_dir }}/foo.result"
|
||||||
|
register: stat_result
|
||||||
|
|
||||||
|
- assert:
|
||||||
|
that:
|
||||||
|
- "stat_result.stat.exists == True"
|
||||||
|
- "stat_result.stat.checksum == '2aae6c35c94fcfb415dbe95f408b9ce91ee846ed'"
|
||||||
|
|
||||||
|
- name: test that the file is not copied a second time
|
||||||
|
synchronize:
|
||||||
|
src: "{{output_dir}}/foo.txt"
|
||||||
|
dest: "{{output_dir}}/foo.result"
|
||||||
|
mode: pull
|
||||||
|
register: sync_result
|
||||||
|
|
||||||
|
- assert:
|
||||||
|
that:
|
||||||
|
- "sync_result.changed == False"
|
||||||
|
|
||||||
|
- name: Cleanup
|
||||||
|
file:
|
||||||
|
state: absent
|
||||||
|
path: "{{output_dir}}/{{item}}"
|
||||||
|
with_items:
|
||||||
|
- foo.result
|
||||||
|
- bar.result
|
||||||
|
|
||||||
- name: synchronize files using with_items (issue#5965)
|
- name: synchronize files using with_items (issue#5965)
|
||||||
synchronize: src={{output_dir}}/{{item}} dest={{output_dir}}/{{item}}.result
|
synchronize: src={{output_dir}}/{{item}} dest={{output_dir}}/{{item}}.result
|
||||||
with_items:
|
with_items:
|
||||||
|
@ -47,7 +165,6 @@
|
||||||
- bar.txt
|
- bar.txt
|
||||||
register: sync_result
|
register: sync_result
|
||||||
|
|
||||||
- debug: var=sync_result
|
|
||||||
- assert:
|
- assert:
|
||||||
that:
|
that:
|
||||||
- "sync_result.changed"
|
- "sync_result.changed"
|
||||||
|
@ -61,7 +178,6 @@
|
||||||
synchronize: src={{output_dir}}/foo.txt dest={{output_dir}}/foo.rsync_path rsync_path="sudo rsync"
|
synchronize: src={{output_dir}}/foo.txt dest={{output_dir}}/foo.rsync_path rsync_path="sudo rsync"
|
||||||
register: sync_result
|
register: sync_result
|
||||||
|
|
||||||
- debug: var=sync_result
|
|
||||||
- assert:
|
- assert:
|
||||||
that:
|
that:
|
||||||
- "'changed' in sync_result"
|
- "'changed' in sync_result"
|
||||||
|
|
Loading…
Reference in a new issue