summaryrefslogtreecommitdiffstats
path: root/playbooks/adhoc/preflight/check.yml
diff options
context:
space:
mode:
Diffstat (limited to 'playbooks/adhoc/preflight/check.yml')
-rw-r--r--playbooks/adhoc/preflight/check.yml159
1 files changed, 159 insertions, 0 deletions
diff --git a/playbooks/adhoc/preflight/check.yml b/playbooks/adhoc/preflight/check.yml
new file mode 100644
index 000000000..b66c1a824
--- /dev/null
+++ b/playbooks/adhoc/preflight/check.yml
@@ -0,0 +1,159 @@
+---
+- 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