- hosts: testhost vars: - test1: key1: val1 roles: - { role: prepare_tests } tasks: - name: check that envvar does not exist shell: echo $key1 register: test_env - name: assert no val in stdout assert: that: - '"val1" not in test_env.stdout' - name: check that envvar does exist shell: echo $key1 environment: "{{test1}}" register: test_env2 - name: assert val1 in stdout assert: that: - '"val1" in test_env2.stdout' - hosts: testhost tasks: vars: - test1: key1: val1 - test2: key1: not1 other1: val2 environment: "{{test1}}" tasks: - name: check that play envvar does exist shell: echo $key1 register: test_env3 - name: assert val1 in stdout assert: that: - '"val1" in test_env3.stdout' - name: check that task envvar does exist shell: echo $key1; echo $other1 register: test_env4 environment: "{{test2}}" - name: assert all vars appear as expected assert: that: - '"val1" not in test_env4.stdout' - '"not1" in test_env4.stdout' - '"val2" in test_env4.stdout'