|
|
|
# Verify basic operation of the synchronize module.
|
|
|
|
|
|
|
|
- name: integration/action/synchronize.yml
|
|
|
|
hosts: test-targets
|
|
|
|
vars:
|
|
|
|
ansible_user: mitogen__has_sudo_pubkey
|
|
|
|
ansible_become_pass: has_sudo_pubkey_password
|
|
|
|
ansible_ssh_private_key_file: /tmp/synchronize-action-key
|
|
|
|
|
|
|
|
# https://github.com/ansible/ansible/issues/56629
|
|
|
|
ansible_ssh_pass: ''
|
|
|
|
ansible_password: ''
|
|
|
|
tasks:
|
|
|
|
# must copy git file to set proper file mode.
|
|
|
|
- name: Copy synchronize-action-key
|
|
|
|
copy:
|
|
|
|
dest: /tmp/synchronize-action-key
|
|
|
|
src: ../../../data/docker/mitogen__has_sudo_pubkey.key
|
|
|
|
mode: u=rw,go=
|
|
|
|
delegate_to: localhost
|
|
|
|
|
|
|
|
- name: Cleanup sync-test
|
|
|
|
file:
|
|
|
|
path: /tmp/sync-test
|
|
|
|
state: absent
|
|
|
|
delegate_to: localhost
|
|
|
|
run_once: true
|
|
|
|
|
|
|
|
- name: Create sync-test
|
|
|
|
file:
|
|
|
|
path: /tmp/sync-test
|
|
|
|
state: directory
|
|
|
|
delegate_to: localhost
|
|
|
|
run_once: true
|
|
|
|
|
|
|
|
- name: Create syn-test item
|
|
|
|
copy:
|
|
|
|
dest: /tmp/sync-test/item
|
|
|
|
content: "item!"
|
|
|
|
delegate_to: localhost
|
|
|
|
run_once: true
|
|
|
|
|
|
|
|
# TODO: https://github.com/dw/mitogen/issues/692
|
|
|
|
# - file:
|
|
|
|
# path: /tmp/sync-test.out
|
|
|
|
# state: absent
|
|
|
|
# become: true
|
|
|
|
|
|
|
|
# exception: File "/tmp/venv/lib/python2.7/site-packages/ansible/plugins/action/__init__.py", line 129, in cleanup
|
|
|
|
# exception: self._remove_tmp_path(self._connection._shell.tmpdir)
|
|
|
|
# exception: AttributeError: 'get_with_context_result' object has no attribute '_shell'
|
|
|
|
# TODO: looks like a bug on Ansible's end with 2.10? Maybe 2.10.1 will fix it
|
|
|
|
# https://github.com/dw/mitogen/issues/746
|
|
|
|
- name: do synchronize test
|
|
|
|
block:
|
|
|
|
- synchronize:
|
|
|
|
private_key: /tmp/synchronize-action-key
|
|
|
|
dest: /tmp/sync-test.out
|
|
|
|
src: /tmp/sync-test/
|
|
|
|
|
|
|
|
- slurp:
|
|
|
|
src: /tmp/sync-test.out/item
|
|
|
|
register: out
|
|
|
|
|
|
|
|
- set_fact: outout="{{out.content|b64decode}}"
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that: outout == "item!"
|
|
|
|
fail_msg: |
|
|
|
|
outout={{ outout }}
|
|
|
|
when: False
|
|
|
|
|
|
|
|
# TODO: https://github.com/dw/mitogen/issues/692
|
|
|
|
# - file:
|
|
|
|
# path: "{{item}}"
|
|
|
|
# state: absent
|
|
|
|
# become: true
|
|
|
|
# with_items:
|
|
|
|
# - /tmp/synchronize-action-key
|
|
|
|
# - /tmp/sync-test
|
|
|
|
# - /tmp/sync-test.out
|
|
|
|
tags:
|
|
|
|
- synchronize
|