diff --git a/tests/ansible/integration/stub_connections/all.yml b/tests/ansible/integration/stub_connections/all.yml index 9258c172..c845d872 100644 --- a/tests/ansible/integration/stub_connections/all.yml +++ b/tests/ansible/integration/stub_connections/all.yml @@ -1,3 +1,5 @@ - import_playbook: kubectl.yml +- import_playbook: lxc.yml +- import_playbook: lxd.yml - import_playbook: setns_lxc.yml - import_playbook: setns_lxd.yml diff --git a/tests/ansible/integration/stub_connections/kubectl.yml b/tests/ansible/integration/stub_connections/kubectl.yml index c5768a00..ba53d1e0 100644 --- a/tests/ansible/integration/stub_connections/kubectl.yml +++ b/tests/ansible/integration/stub_connections/kubectl.yml @@ -4,6 +4,9 @@ gather_facts: false any_errors_fatal: true tasks: + - meta: end_play + when: not is_mitogen + - meta: end_play when: ansible_version.full < '2.5' diff --git a/tests/ansible/integration/stub_connections/lxc.yml b/tests/ansible/integration/stub_connections/lxc.yml new file mode 100644 index 00000000..7a2cd81c --- /dev/null +++ b/tests/ansible/integration/stub_connections/lxc.yml @@ -0,0 +1,18 @@ + +- name: integration/stub_connections/lxc.yml + hosts: test-targets + gather_facts: false + any_errors_fatal: true + tasks: + - meta: end_play + when: not is_mitogen + + - custom_python_detect_environment: + vars: + ansible_connection: lxc + mitogen_lxc_attach_path: stub-lxc-attach.py + register: out + + - assert: + that: + - out.env.THIS_IS_STUB_LXC_ATTACH == '1' diff --git a/tests/ansible/integration/stub_connections/lxd.yml b/tests/ansible/integration/stub_connections/lxd.yml new file mode 100644 index 00000000..86f4b185 --- /dev/null +++ b/tests/ansible/integration/stub_connections/lxd.yml @@ -0,0 +1,18 @@ + +- name: integration/stub_connections/lxd.yml + hosts: test-targets + gather_facts: false + any_errors_fatal: true + tasks: + - meta: end_play + when: not is_mitogen + + - custom_python_detect_environment: + vars: + ansible_connection: lxd + mitogen_lxc_path: stub-lxc.py + register: out + + - assert: + that: + - out.env.THIS_IS_STUB_LXC == '1' diff --git a/tests/ansible/integration/stub_connections/setns_lxc.yml b/tests/ansible/integration/stub_connections/setns_lxc.yml index 19e2a984..a1feb4fe 100644 --- a/tests/ansible/integration/stub_connections/setns_lxc.yml +++ b/tests/ansible/integration/stub_connections/setns_lxc.yml @@ -8,6 +8,9 @@ any_errors_fatal: false connection: local tasks: + - meta: end_play + when: not is_mitogen + - include_tasks: _end_play_if_not_sudo_linux.yml - command: | @@ -22,9 +25,6 @@ args: chdir: ../.. warn: false - when: | - out.ansible_facts.ansible_system == 'Linux' - and sudo_available.rc == 0 register: result - assert: diff --git a/tests/ansible/integration/stub_connections/setns_lxd.yml b/tests/ansible/integration/stub_connections/setns_lxd.yml index e552a656..b507f412 100644 --- a/tests/ansible/integration/stub_connections/setns_lxd.yml +++ b/tests/ansible/integration/stub_connections/setns_lxd.yml @@ -2,12 +2,15 @@ # setns is hard -- it wants to do superuser syscalls, so we must run it in a # child Ansible via sudo. But that only works if sudo works. -- name: integration/stub_connections/setns_lxc.yml +- name: integration/stub_connections/setns_lxd.yml hosts: test-targets gather_facts: false any_errors_fatal: false connection: local tasks: + - meta: end_play + when: not is_mitogen + - include_tasks: _end_play_if_not_sudo_linux.yml - command: | @@ -15,7 +18,7 @@ -i localhost, -c setns -e mitogen_kind=lxd - -e mitogen_lxc_info_path=stub-lxc.py + -e mitogen_lxc_path=stub-lxc.py -m shell -a "echo hi" localhost diff --git a/tests/data/stubs/stub-lxc-attach.py b/tests/data/stubs/stub-lxc-attach.py index 2fedb961..5263d362 100755 --- a/tests/data/stubs/stub-lxc-attach.py +++ b/tests/data/stubs/stub-lxc-attach.py @@ -4,4 +4,5 @@ import sys import os os.environ['ORIGINAL_ARGV'] = repr(sys.argv) +os.environ['THIS_IS_STUB_LXC_ATTACH'] = '1' os.execv(sys.executable, sys.argv[sys.argv.index('--') + 1:]) diff --git a/tests/data/stubs/stub-lxc.py b/tests/data/stubs/stub-lxc.py index b1448bec..03572cac 100755 --- a/tests/data/stubs/stub-lxc.py +++ b/tests/data/stubs/stub-lxc.py @@ -9,4 +9,5 @@ if sys.argv[1] == 'info': sys.exit(0) os.environ['ORIGINAL_ARGV'] = repr(sys.argv) +os.environ['THIS_IS_STUB_LXC'] = '1' os.execv(sys.executable, sys.argv[sys.argv.index('--') + 1:])