mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-06-22 16:20:22 -07:00
Remove _load_hosts() from Play initialization as it's no longer needed and it breaks using extra_vars defining a list for hosts (#17699)
Thanks to @jimi-c for the solution Fixes #16583
This commit is contained in:
parent
3874e653c1
commit
8aa8e07d13
5 changed files with 95 additions and 23 deletions
|
@ -27,7 +27,7 @@ UNAME := $(shell uname | tr '[:upper:]' '[:lower:]')
|
|||
|
||||
all: setup other non_destructive destructive
|
||||
|
||||
other: test_test_infra parsing test_var_precedence unicode test_templating_settings environment test_connection test_async_conditional includes blocks pull check_mode test_hash test_handlers test_group_by test_vault test_tags test_lookup_paths no_log test_gathering_facts test_binary_modules
|
||||
other: test_test_infra parsing test_var_precedence unicode test_templating_settings environment test_connection test_async_conditional includes blocks pull check_mode test_hash test_handlers test_group_by test_vault test_tags test_lookup_paths no_log test_gathering_facts test_binary_modules test_hosts_field
|
||||
|
||||
test_test_infra:
|
||||
# ensure fail/assert work locally and can stop execution with non-zero exit code
|
||||
|
@ -354,3 +354,32 @@ test_async:
|
|||
# Verify that the warning exists by examining debug output.
|
||||
ANSIBLE_DEBUG=1 LC_ALL=bogus ansible-playbook test_async.yml -i localhost, -e ansible_connection=ssh -v $(TEST_FLAGS) \
|
||||
| grep 'bash: warning: setlocale: LC_ALL: cannot change locale (bogus)' > /dev/null
|
||||
|
||||
test_hosts_field:
|
||||
# Hosts in playbook has a list of strings consisting solely of digits
|
||||
ansible-playbook test_hosts_field.yml -i inventory.hosts_field -e'target_kv=42' -e'{ "target_json_cli": "42", "target_json_cli_list": ["42", "localhost"] }' -e "@test_hosts_field.json" -t string_digit_host_in_list -v $(TEST_FLAGS) | tee test_hosts_field.out
|
||||
grep 'Running on 42' test_hosts_field.out 2>&1
|
||||
test `grep -c 'ok=1' test_hosts_field.out` = 1
|
||||
# Hosts taken from kv extra_var on the CLI
|
||||
ansible-playbook test_hosts_field.yml -i inventory.hosts_field -e'target_kv=42' -e'{ "target_json_cli": "42", "target_json_cli_list": ["42", "localhost"] }' -e "@test_hosts_field.json" -t hosts_from_kv_string -v $(TEST_FLAGS) | tee test_hosts_field.out
|
||||
grep 'Running on 42' test_hosts_field.out 2>&1
|
||||
test `grep -c 'ok=1' test_hosts_field.out` = 1
|
||||
# hosts is taken from an all digit json extra_vars string on the CLI
|
||||
ansible-playbook test_hosts_field.yml -i inventory.hosts_field -e'target_kv=42' -e'{ "target_json_cli": "42", "target_json_cli_list": ["42", "localhost"] }' -e "@test_hosts_field.json" -t hosts_from_cli_json_string -v $(TEST_FLAGS) | tee test_hosts_field.out
|
||||
grep 'Running on 42' test_hosts_field.out 2>&1
|
||||
test `grep -c 'ok=1' test_hosts_field.out` = 1
|
||||
# hosts is taken from a json list in extra_vars on the CLI
|
||||
ansible-playbook test_hosts_field.yml -i inventory.hosts_field -e'target_kv=42' -e'{ "target_json_cli": "42", "target_json_cli_list": ["42", "localhost"] }' -e "@test_hosts_field.json" -t hosts_from_cli_json_list -v $(TEST_FLAGS) | tee test_hosts_field.out
|
||||
grep 'Running on 42' test_hosts_field.out 2>&1
|
||||
grep 'Running on localhost' test_hosts_field.out 2>&1
|
||||
test `grep -c 'ok=1' test_hosts_field.out` = 2
|
||||
# hosts is taken from a json string in an extra_vars file
|
||||
ansible-playbook test_hosts_field.yml -i inventory.hosts_field -e'target_kv=42' -e'{ "target_json_cli": "42", "target_json_cli_list": ["42", "localhost"] }' -e "@test_hosts_field.json" -t hosts_from_json_file_string -v $(TEST_FLAGS) | tee test_hosts_field.out
|
||||
grep 'Running on 42' test_hosts_field.out 2>&1
|
||||
test `grep -c 'ok=1' test_hosts_field.out` = 1
|
||||
# hosts is taken from a json list in an extra_vars file
|
||||
ansible-playbook test_hosts_field.yml -i inventory.hosts_field -e'target_kv=42' -e'{ "target_json_cli": "42", "target_json_cli_list": ["42", "localhost"] }' -e "@test_hosts_field.json" -t hosts_from_json_file_list -v $(TEST_FLAGS) | tee test_hosts_field.out
|
||||
grep 'Running on 42' test_hosts_field.out 2>&1
|
||||
grep 'Running on localhost' test_hosts_field.out 2>&1
|
||||
test `grep -c 'ok=1' test_hosts_field.out` = 2
|
||||
rm test_hosts_field.out
|
||||
|
|
2
test/integration/inventory.hosts_field
Normal file
2
test/integration/inventory.hosts_field
Normal file
|
@ -0,0 +1,2 @@
|
|||
42 ansible_host=127.0.0.42 ansible_connection=local
|
||||
|
1
test/integration/test_hosts_field.json
Normal file
1
test/integration/test_hosts_field.json
Normal file
|
@ -0,0 +1 @@
|
|||
{ "target_json_file": "42", "target_json_file_list": ["42", "localhost"] }
|
62
test/integration/test_hosts_field.yml
Normal file
62
test/integration/test_hosts_field.yml
Normal file
|
@ -0,0 +1,62 @@
|
|||
---
|
||||
#- name: Host in playbook is an integer
|
||||
# hosts: 42
|
||||
# tags: numeric_host
|
||||
# tasks:
|
||||
# - command: echo 'Running on {{ inventory_hostname }}'
|
||||
|
||||
#- name: Host in playbook is a string of digits
|
||||
# hosts: "42"
|
||||
# tags: string_digit_host
|
||||
# tasks:
|
||||
# - command: echo 'Running on {{ inventory_hostname }}'
|
||||
|
||||
#- name: Host in playbook is a list of integer
|
||||
# hosts:
|
||||
# - 42
|
||||
# tags: numeric_host_in_list
|
||||
# tasks:
|
||||
# - command: echo 'Running on {{ inventory_hostname }}'
|
||||
|
||||
- name: Host in playbook is a list of strings of digits
|
||||
hosts:
|
||||
- "42"
|
||||
gather_facts: False
|
||||
tags: string_digit_host_in_list
|
||||
tasks:
|
||||
- command: echo 'Running on {{ inventory_hostname }}'
|
||||
|
||||
- name: Hosts taken from kv extra_var on the CLI
|
||||
hosts: "{{ target_kv }}"
|
||||
gather_facts: False
|
||||
tags: hosts_from_kv_string
|
||||
tasks:
|
||||
- command: echo 'Running on {{ inventory_hostname }}'
|
||||
|
||||
- name: Hosts taken from a json string on the CLI
|
||||
hosts: "{{ target_json_cli }}"
|
||||
gather_facts: False
|
||||
tags: hosts_from_cli_json_string
|
||||
tasks:
|
||||
- command: echo 'Running on {{ inventory_hostname }}'
|
||||
|
||||
- name: Hosts taken from a json list on the CLI
|
||||
hosts: "{{ target_json_cli_list }}"
|
||||
gather_facts: False
|
||||
tags: hosts_from_cli_json_list
|
||||
tasks:
|
||||
- command: echo 'Running on {{ inventory_hostname }}'
|
||||
|
||||
- name: Hosts is taken from a json string in an extra_vars file
|
||||
hosts: "{{ target_json_file }}"
|
||||
gather_facts: False
|
||||
tags: hosts_from_json_file_string
|
||||
tasks:
|
||||
- command: echo 'Running on {{ inventory_hostname }}'
|
||||
|
||||
- name: Hosts is taken from a json list in an extra_vars file
|
||||
hosts: "{{ target_json_file_list }}"
|
||||
gather_facts: False
|
||||
tags: hosts_from_json_file_list
|
||||
tasks:
|
||||
- command: echo 'Running on {{ inventory_hostname }}'
|
Loading…
Add table
Add a link
Reference in a new issue