Skip to content
Snippets Groups Projects
Unverified Commit bf6687b0 authored by Max Gautier's avatar Max Gautier Committed by GitHub
Browse files

preinstall: fix checking that excluded host are cached (#11693)

- Lookup was not returning a list, making the difference filter spit out
  garbage -> query always return a list
- hostvars is a dictionnary, so convert to list before selectattr and
  map back to only get keys
parent d23753e9
No related branches found
No related tags found
No related merge requests found
--- ---
- name: Stop if any host not in '--limit' does not have a fact cache - name: Stop if any host not in '--limit' does not have a fact cache
vars: vars:
uncached_hosts: "{{ (hostvars | selectattr('ansible_default_ipv4', 'undefined')).keys() }}" uncached_hosts: "{{ hostvars | dict2items | selectattr('value.ansible_default_ipv4', 'undefined') | map(attribute='key') }}"
excluded_hosts: "{{ hostvars.keys() | difference(lookup('inventory_hostnames', ansible_limit)) }}" excluded_hosts: "{{ hostvars.keys() | difference(query('inventory_hostnames', ansible_limit)) }}"
assert: assert:
that: uncached_hosts | intersect(excluded_hosts) == 0 that: uncached_hosts | intersect(excluded_hosts) == []
fail_msg: | fail_msg: |
Kubespray does not support '--limit' without a populated facts cache for the excluded hosts. Kubespray does not support '--limit' without a populated facts cache for the excluded hosts.
Please run the facts.yml playbook first without '--limit'. Please run the facts.yml playbook first without '--limit'.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment