tests: Fix duplicate local task executions

integration/ssh/timeouts.yml is noteworthy. It was an accidental N**2 in time
-  executing num hosts * num hosts tasks.
pull/1060/head
Alex Willmer 6 months ago
parent 65c8a42c13
commit 7079a07a15

@ -1,14 +1,16 @@
- name: bench/file_transfer.yml
hosts: test-targets
tasks:
- name: Make 32MiB file
delegate_to: localhost
run_once: true
shell: openssl rand 33554432 > /tmp/bigfile.in
args:
creates: /tmp/bigfile.in
- name: Make 320MiB file
delegate_to: localhost
run_once: true
shell: >
cat
/tmp/bigfile.in
@ -22,6 +24,8 @@
/tmp/bigfile.in
/tmp/bigfile.in
> /tmp/bigbigfile.in
args:
creates: /tmp/bigbigfile.in
- name: Delete SSH file is present.
file:
@ -36,17 +40,20 @@
copy:
src: /tmp/bigfile.in
dest: /tmp/bigfile.out
mode: ugo=rw
- name: Copy 320MiB file via SSH
copy:
src: /tmp/bigbigfile.in
dest: /tmp/bigbigfile.out
mode: ugo=rw
- name: Delete localhost sudo file if present.
file:
path: "{{item}}"
state: absent
delegate_to: localhost
run_once: true
become: true
with_items:
- /tmp/bigfile.out
@ -56,21 +63,51 @@
- name: Copy 32MiB file via localhost sudo
delegate_to: localhost
run_once: true
become: true
copy:
src: /tmp/bigfile.in
dest: /tmp/bigfile.out
mode: ugo=rw
tags:
- requires_local_sudo
- name: Copy 320MiB file via localhost sudo
delegate_to: localhost
run_once: true
become: true
copy:
src: /tmp/bigbigfile.in
dest: /tmp/bigbigfile.out
mode: ugo=rw
tags:
- requires_local_sudo
- name: Local cleanup
file:
path: "{{ item.path }}"
state: absent
loop:
- /tmp/bigfile.in
- /tmp/bigfile.out
- /tmp/bigbigfile.in
- /tmp/bigbigfile.out
delegate_to: localhost
run_once: true
tags:
- cleanup_local
- cleanup
- name: Target cleanup
file:
path: "{{ item.path }}"
state: absent
loop:
- /tmp/bigfile.out
- /tmp/bigbigfile.out
tags:
- cleanup_target
- cleanup
tags:
- resource_intensive

@ -9,6 +9,7 @@
content:
this is a tiny file.
delegate_to: localhost
run_once: true
- name: Create large file
copy:
@ -16,6 +17,7 @@
# Must be larger than Connection.SMALL_SIZE_LIMIT.
content: "{% for x in range(200000) %}x{% endfor %}"
delegate_to: localhost
run_once: true
- name: Cleanup copied files
file:

@ -38,6 +38,7 @@
- name: Create local weird mode file
delegate_to: localhost
run_once: true
copy:
content: "weird mode"
dest: "/tmp/weird-mode"

@ -24,18 +24,21 @@
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:

@ -0,0 +1,17 @@
- name: Cleanup local file
file:
path: /tmp/{{ file_name }}
state: absent
delegate_to: localhost
run_once: true
tags:
- cleanup_local
- cleanup
- name: Cleanup target file
file:
path: /tmp/{{ file_name }}.out
state: absent
tags:
- cleanup_target
- cleanup

@ -1,20 +1,21 @@
---
- name: Create {{ file_name }}
shell: dd if=/dev/urandom of=/tmp/{{ file_name }} bs=1024 count={{ file_size }}
args:
command:
cmd: dd if=/dev/urandom of=/tmp/{{ file_name }} bs=1024 count={{ file_size_kib }}
creates: /tmp/{{file_name}}
delegate_to: localhost
run_once: true
- name: Copy {{ file_name }}
copy:
dest: /tmp/{{file_name}}.out
src: /tmp/{{file_name}}
mode: "{{ file_mode }}"
- name: Stat created {{ file_name }}
stat: path=/tmp/{{ file_name }}
register: original
delegate_to: localhost
run_once: true
- name: Stat copied {{ file_name }}
stat: path=/tmp/{{ file_name }}.out

@ -6,9 +6,11 @@
gather_facts: no
vars:
file_name: large-file
file_size: 512
file_size_kib: 512
file_mode: u=rw,go=
tasks:
- include_tasks: _put_file.yml
- include_tasks: _cleanup_file.yml
tags:
- put_file
- put_large_file

@ -6,9 +6,11 @@
gather_facts: no
vars:
file_name: small-file
file_size: 123
file_size_kib: 123
file_mode: u=rw,go=
tasks:
- include_tasks: _put_file.yml
- include_tasks: _cleanup_file.yml
tags:
- put_file
- put_small_file

@ -1,23 +1,27 @@
- name: integration/playbook_semantics/delegate_to.yml
hosts: test-targets
vars:
local_path: "/tmp/delegate_to.{{ inventory_hostname }}.txt"
tasks:
#
# delegate_to, no sudo
#
- name: "delegate_to, no sudo"
copy:
dest: /tmp/delegate_to.yml.txt
dest: "{{ local_path }}"
content: "Hello, world."
register: out
mode: u=rw,go=r
delegate_to: localhost
- name: "delegate_to, no sudo"
assert:
that: "lookup('file', '/tmp/delegate_to.yml.txt') == 'Hello, world.'"
that:
- lookup('file', local_path) == 'Hello, world.'
fail_msg: "{{ lookup('file', local_path) }}"
- name: "delegate_to, no sudo"
file:
path: /tmp/delegate_to.yml.txt
path: "{{ local_path }}"
state: absent
delegate_to: localhost
@ -27,18 +31,20 @@
#
- name: "connection:local, no sudo"
copy:
dest: /tmp/delegate_to.yml.txt
dest: "{{ local_path }}"
content: "Hello, world."
register: out
mode: u=rw,go=r
connection: local
- name: "connection:local, no sudo"
assert:
that: "lookup('file', '/tmp/delegate_to.yml.txt') == 'Hello, world.'"
that:
- lookup('file', local_path) == 'Hello, world.'
fail_msg: "{{ lookup('file', local_path) }}"
- name: "connection:local, no sudo"
file:
path: /tmp/delegate_to.yml.txt
path: "{{ local_path }}"
state: absent
connection: local
@ -47,7 +53,10 @@
# delegate_to, sudo
#
- name: "delegate_to, sudo"
shell: whoami > /tmp/delegate_to.yml.txt
shell: |
whoami > "{{ local_path }}"
args:
creates: "{{ local_path }}"
delegate_to: localhost
become: true
tags:
@ -55,13 +64,15 @@
- name: "delegate_to, sudo"
assert:
that: "lookup('file', '/tmp/delegate_to.yml.txt') == 'root'"
that:
- lookup('file', local_path) == 'root'
fail_msg: "{{ lookup('file', local_path) }}"
tags:
- requires_local_sudo
- name: "delegate_to, sudo"
file:
path: /tmp/delegate_to.yml.txt
path: "{{ local_path }}"
state: absent
delegate_to: localhost
become: true
@ -73,7 +84,10 @@
# connection:local, sudo
#
- name: "connection:local, sudo"
shell: whoami > /tmp/delegate_to.yml.txt
shell: |
whoami > "{{ local_path }}"
args:
creates: "{{ local_path }}"
connection: local
become: true
tags:
@ -81,13 +95,15 @@
- name: "connection:local, sudo"
assert:
that: "lookup('file', '/tmp/delegate_to.yml.txt') == 'root'"
that:
- lookup('file', local_path) == 'root'
fail_msg: "{{ lookup('file', local_path) }}"
tags:
- requires_local_sudo
- name: "connection:local, sudo"
file:
path: /tmp/delegate_to.yml.txt
path: "{{ local_path }}"
state: absent
connection: local
become: true

@ -1,4 +1,3 @@
- name: integration/runner/missing_module.yml
hosts: test-targets[0]
connection: local
@ -17,6 +16,8 @@
args:
chdir: ../..
register: out
changed_when: false
check_mode: false
ignore_errors: true
- assert:

@ -20,13 +20,15 @@
{% for inv in ansible_inventory_sources %}
-i "{{ inv }}"
{% endfor %}
test-targets
-m custom_python_detect_environment
"{{ inventory_hostname }}"
-m ping
-e ansible_user=mitogen__slow_user -e ansible_password=slow_user_password
-e ansible_python_interpreter=python3000
args:
chdir: ../..
register: out
changed_when: false
check_mode: false
ignore_errors: true
- name: Verify connection timeout occurred

@ -8,6 +8,7 @@
- name: Create file tree
connection: local
run_once: true
shell: >
mkdir /tmp/filetree.in;
seq -f /tmp/filetree.in/%g 1 1000 | xargs touch;
@ -21,17 +22,30 @@
file:
state: directory
path: /tmp/filetree.out
mode: u=rwx,go=rx
- name: Trigger nasty process pileup
copy:
src: "{{item.src}}"
dest: "/tmp/filetree.out/{{item.path}}"
mode: 0644
mode: u=rw,go=r
with_filetree: /tmp/filetree.in
when: item.state == 'file'
loop_control:
label: "/tmp/filetree.out/{{ item.path }}"
- name: Cleanup local file tree
connection: local
run_once: true
file:
path: /tmp/filetree.in
state: absent
- name: Cleanup remote file tree
file:
path: /tmp/filetree.out
state: absent
tags:
- resource_intensive
- issue_140

@ -4,10 +4,9 @@
# can test for.
- name: regression/issue_152__local_action_wrong_interpreter.yml
hosts: test-targets
hosts: test-targets[0]
connection: local
tasks:
- name: Create /tmp/issue_152_interpreter.sh
copy:
dest: /tmp/issue_152_interpreter.sh

@ -14,11 +14,14 @@
shell: |
dd if=/dev/zero of=/tmp/512mb.zero bs=1048576 count=512;
chmod go= /tmp/512mb.zero
args:
creates: /tmp/512mb.zero
- name: Fetch /tmp/512mb.zero
fetch:
src: /tmp/512mb.zero
dest: /tmp/fetch-out
dest: /tmp/fetch-{{ inventory_hostname }}-512mb.zero
flat: true
- name: Cleanup /tmp/512mb.zero
file:
@ -27,11 +30,10 @@
- name: Cleanup fetched file
file:
path: /tmp/fetch-out
path: /tmp/fetch-{{ inventory_hostname }}-512mb.zero
state: absent
become: false
delegate_to: localhost
run_once: true
tags:
- issue_615
- mitogen_only

Loading…
Cancel
Save