use the test output_dir instead of remote_tmp_dir for tasks delegated to localhost

pull/82238/head
s-hertel 1 year ago
parent 83783eb994
commit 28dcd7ac19

@ -211,15 +211,24 @@
- name: test the task invocation by running ansible in command task - name: test the task invocation by running ansible in command task
vars: vars:
pexpect_python: "{{ hostvars['localhost']['ansible_python_interpreter'] }}" pexpect_python: "{{ hostvars['localhost']['ansible_python_interpreter'] }}"
localhost_cmd_file: "{{ output_dir }}/test_command.py"
module_defaults: module_defaults:
ansible.builtin.pip: ansible.builtin.pip:
virtualenv_python: "{{ pexpect_python }}" virtualenv_python: "{{ pexpect_python }}"
block: block:
- include_role: - include_role:
name: setup_pexpect name: setup_pexpect
apply:
delegate_to: localhost
vars:
setup_pexpect_tmpdir: "{{ output_dir }}"
- name: copy script into output directory
copy: src=test_command.py dest={{ localhost_cmd_file }} mode=0444
delegate_to: localhost
- command: | - command: |
ansible localhost -m expect -a "command='{{pexpect_python}} {{test_command_file}} foo --quiet' responses='{\"foo\": \"bar\"}'" -vvv ansible localhost -m expect -a "command='{{pexpect_python}} {{localhost_cmd_file}} foo --quiet' responses='{\"foo\": \"bar\"}'" -vvv
delegate_to: localhost delegate_to: localhost
register: task_invocation register: task_invocation

@ -1,19 +1,22 @@
- name: Copy constraints file - vars:
copy: pexpect_constraint_dir: "{{ setup_pexpect_tmpdir | default(remote_tmp_dir) }}"
src: constraints.txt block:
dest: "{{ remote_tmp_dir }}/pexpect-constraints.txt" - name: Copy constraints file
copy:
src: constraints.txt
dest: "{{ pexpect_constraint_dir }}/pexpect-constraints.txt"
- name: Install pexpect with --user - name: Install pexpect with --user
pip: pip:
name: pexpect name: pexpect
extra_args: '--user --constraint "{{ remote_tmp_dir }}/pexpect-constraints.txt"' extra_args: '--user --constraint "{{ pexpect_constraint_dir }}/pexpect-constraints.txt"'
state: present state: present
ignore_errors: yes # fails when inside a virtual environment ignore_errors: yes # fails when inside a virtual environment
register: pip_user register: pip_user
- name: Install pexpect - name: Install pexpect
pip: pip:
name: pexpect name: pexpect
extra_args: '--constraint "{{ remote_tmp_dir }}/pexpect-constraints.txt"' extra_args: '--constraint "{{ pexpect_constraint_dir }}/pexpect-constraints.txt"'
state: present state: present
when: pip_user is failed when: pip_user is failed

Loading…
Cancel
Save