|
|
|
# Verify with_items that modifies the execution environment still executes in
|
|
|
|
# the correct context.
|
|
|
|
|
|
|
|
- name: integration/playbook_semantics/with_items.yml
|
|
|
|
hosts: test-targets
|
|
|
|
gather_facts: true
|
|
|
|
tasks:
|
|
|
|
- block:
|
|
|
|
- name: Spin up a few interpreters
|
|
|
|
become: true
|
|
|
|
vars:
|
|
|
|
ansible_become_user: "mitogen__user{{ item }}"
|
|
|
|
command:
|
|
|
|
cmd: whoami
|
|
|
|
with_sequence: start=1 end=3
|
|
|
|
register: first_run
|
|
|
|
changed_when: false
|
|
|
|
|
|
|
|
- name: Reuse them
|
|
|
|
become: true
|
|
|
|
vars:
|
|
|
|
ansible_become_user: "mitogen__user{{ item }}"
|
|
|
|
command:
|
|
|
|
cmd: whoami
|
|
|
|
with_sequence: start=1 end=3
|
|
|
|
register: second_run
|
|
|
|
changed_when: false
|
|
|
|
|
|
|
|
- name: Verify first and second run matches expected username.
|
|
|
|
vars:
|
|
|
|
user_expected: "mitogen__user{{ item | int + 1 }}"
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
- first_run.results[item | int].stdout == user_expected
|
|
|
|
- second_run.results[item | int].stdout == user_expected
|
|
|
|
with_sequence: start=0 end=2
|
|
|
|
when:
|
|
|
|
# https://github.com/ansible/ansible/pull/70785
|
|
|
|
- ansible_facts.distribution not in ["MacOSX"]
|
|
|
|
or ansible_version.full is version("2.11", ">=", strict=True)
|
|
|
|
or is_mitogen
|