--- - hosts: OSEv3 gather_facts: no tasks: - set_fact: deployment_type: "{{ deployment_type | default('openshift-enterprise') }}" containerized: "{{ containerized | default('no') | bool }}" openshift_release: "{{ openshift_release | default('3.3') }}" oo_preflight_check_results: "{{ oo_preflight_check_results | default([]) }}" - hosts: OSEv3 name: check content available on all hosts gather_facts: no ignore_errors: yes tasks: - when: - not containerized block: - name: determine if yum update will work action: check_yum_update register: r - set_fact: oo_preflight_check_results: "{{ oo_preflight_check_results + [r|combine({'_task': 'check content available on all hosts'})] }}" - name: determine if expected version matches what is available aos_version: version: "{{ openshift_release }}" when: - deployment_type == "openshift-enterprise" register: r - set_fact: oo_preflight_check_results: "{{ oo_preflight_check_results + [r|combine({'_task': 'determine if expected version matches what is available'})] }}" - hosts: masters name: determine if yum install of master pkgs will work gather_facts: no ignore_errors: yes tasks: - when: - not containerized block: - name: main packages for enterprise when: - deployment_type == "openshift-enterprise" check_yum_update: packages: - atomic-openshift - atomic-openshift-clients - atomic-openshift-master register: r - set_fact: oo_preflight_check_results: "{{ oo_preflight_check_results + [r|combine({'_task': 'main packages for enterprise'})] }}" - name: main packages for origin when: - deployment_type == "origin" check_yum_update: packages: - origin - origin-clients - origin-master register: r - set_fact: oo_preflight_check_results: "{{ oo_preflight_check_results + [r|combine({'_task': 'main packages for origin'})] }}" - name: other master packages check_yum_update: packages: - etcd - bash-completion - cockpit-bridge - cockpit-docker - cockpit-kubernetes - cockpit-shell - cockpit-ws - httpd-tools register: r - set_fact: oo_preflight_check_results: "{{ oo_preflight_check_results + [r|combine({'_task': 'other master packages'})] }}" - hosts: nodes name: determine if yum install of node pkgs will work gather_facts: no ignore_errors: yes tasks: - when: - not containerized block: - name: main packages for enterprise when: - deployment_type == "openshift-enterprise" check_yum_update: packages: - atomic-openshift - atomic-openshift-node - atomic-openshift-sdn-ovs register: r - set_fact: oo_preflight_check_results: "{{ oo_preflight_check_results + [r|combine({'_task': 'main packages for enterprise'})] }}" - name: main packages for origin when: - deployment_type == "origin" check_yum_update: packages: - origin - origin-node - origin-sdn-ovs register: r - set_fact: oo_preflight_check_results: "{{ oo_preflight_check_results + [r|combine({'_task': 'main packages for origin'})] }}" - name: other node packages check_yum_update: packages: - docker - PyYAML - firewalld - iptables - iptables-services - nfs-utils - ntp - yum-utils - dnsmasq - libselinux-python - ceph-common - glusterfs-fuse - iscsi-initiator-utils - pyparted - python-httplib2 - openssl - flannel - bind register: r - set_fact: oo_preflight_check_results: "{{ oo_preflight_check_results + [r|combine({'_task': 'other node packages'})] }}" - hosts: OSEv3 name: verify check results gather_facts: no tasks: - set_fact: oo_preflight_check_failures: "{{ oo_preflight_check_results | select('failed', 'equalto', True) | list }}" - name: ensure all checks succeed action: fail when: oo_preflight_check_failures