zuul-jobs/roles/validate-host/tasks/main.yaml
Jeremy Stanley 763916231f validate-host: Options to require v4 and v6 routes
Make it possible for a site to demand that the validate-host role
finds IPv4 and/or IPv6 routes, making one or both explicitly
mandatory, instead of the default behavior of succeeding as long as
at least one is available. This allows a site to, for example,
discard nodes during a pre playbook if they lack IPv4 connectivity.

Change-Id: Icaa82212468a659a3756ed51cac442de33065b55
2020-11-18 16:01:39 +00:00

49 lines
1.5 KiB
YAML

- name: Define zuul_info_dir fact
set_fact:
zuul_info_dir: "{{ zuul.executor.log_root }}/zuul-info"
- name: Ensure Zuul Ansible directory exists
delegate_to: localhost
run_once: true
file:
path: "{{ zuul_info_dir }}"
state: directory
mode: 0755
- name: Collect information about the host
setup:
register: setupinfo
- name: Sanitize hostname
set_fact:
validate_host_hostname_sanitized: "{{ validate_host_hostname | replace('/', '_') }}"
- name: Write out all ansible variables/facts known for each host
delegate_to: localhost
template:
dest: "{{ zuul_info_dir }}/host-info.{{ validate_host_hostname_sanitized }}.yaml"
src: templates/host-info.j2
mode: 0644
- name: zuul_debug_info block
block:
- name: Collect information about zuul worker
zuul_debug_info:
ipv4_route_required: "{{ zuul_site_ipv4_route_required|default(false) }}"
ipv6_route_required: "{{ zuul_site_ipv6_route_required|default(false) }}"
image_manifest: "{{ zuul_site_image_manifest|default(omit) }}"
image_manifest_files: "{{ zuul_site_image_manifest_files|default(omit) }}"
traceroute_host: "{{ zuul_site_traceroute_host|default(omit) }}"
register: zdi
- name: Write out all zuul information for each host
delegate_to: localhost
template:
dest: "{{ zuul_info_dir }}/zuul-info.{{ validate_host_hostname_sanitized }}.txt"
src: templates/zuul-info.j2
mode: 0644
when:
- ansible_os_family != "Windows"
- ansible_python_version is version('2.7', '>=')