diff --git a/roles/kubernetes/preinstall/tasks/0040-verify-settings.yml b/roles/kubernetes/preinstall/tasks/0040-verify-settings.yml index 3ae1c4539..e911c76cc 100644 --- a/roles/kubernetes/preinstall/tasks/0040-verify-settings.yml +++ b/roles/kubernetes/preinstall/tasks/0040-verify-settings.yml @@ -1,10 +1,10 @@ --- - name: Stop if any host not in '--limit' does not have a fact cache vars: - uncached_hosts: "{{ (hostvars | selectattr('ansible_default_ipv4', 'undefined')).keys() }}" - excluded_hosts: "{{ hostvars.keys() | difference(lookup('inventory_hostnames', ansible_limit)) }}" + uncached_hosts: "{{ hostvars | dict2items | selectattr('value.ansible_default_ipv4', 'undefined') | map(attribute='key') }}" + excluded_hosts: "{{ hostvars.keys() | difference(query('inventory_hostnames', ansible_limit)) }}" assert: - that: uncached_hosts | intersect(excluded_hosts) == 0 + that: uncached_hosts | intersect(excluded_hosts) == [] fail_msg: | Kubespray does not support '--limit' without a populated facts cache for the excluded hosts. Please run the facts.yml playbook first without '--limit'.