check.yml 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. ---
  2. - hosts: OSEv3
  3. gather_facts: no
  4. tasks:
  5. - set_fact:
  6. deployment_type: "{{ deployment_type | default('openshift-enterprise') }}"
  7. containerized: "{{ containerized | default('no') | bool }}"
  8. openshift_release: "{{ openshift_release | default('3.3') }}"
  9. oo_preflight_check_results: "{{ oo_preflight_check_results | default([]) }}"
  10. - hosts: OSEv3
  11. name: check content available on all hosts
  12. gather_facts: no
  13. ignore_errors: yes
  14. tasks:
  15. - when:
  16. - not containerized
  17. block:
  18. - name: determine if yum update will work
  19. action: check_yum_update
  20. register: r
  21. - set_fact:
  22. oo_preflight_check_results: "{{ oo_preflight_check_results + [r|combine({'_task': 'check content available on all hosts'})] }}"
  23. - name: determine if expected version matches what is available
  24. aos_version:
  25. version: "{{ openshift_release }}"
  26. when:
  27. - deployment_type == "openshift-enterprise"
  28. register: r
  29. - set_fact:
  30. oo_preflight_check_results: "{{ oo_preflight_check_results + [r|combine({'_task': 'determine if expected version matches what is available'})] }}"
  31. - hosts: masters
  32. name: determine if yum install of master pkgs will work
  33. gather_facts: no
  34. ignore_errors: yes
  35. tasks:
  36. - when:
  37. - not containerized
  38. block:
  39. - name: main packages for enterprise
  40. when:
  41. - deployment_type == "openshift-enterprise"
  42. check_yum_update:
  43. packages:
  44. - atomic-openshift
  45. - atomic-openshift-clients
  46. - atomic-openshift-master
  47. register: r
  48. - set_fact:
  49. oo_preflight_check_results: "{{ oo_preflight_check_results + [r|combine({'_task': 'main packages for enterprise'})] }}"
  50. - name: main packages for origin
  51. when:
  52. - deployment_type == "origin"
  53. check_yum_update:
  54. packages:
  55. - origin
  56. - origin-clients
  57. - origin-master
  58. register: r
  59. - set_fact:
  60. oo_preflight_check_results: "{{ oo_preflight_check_results + [r|combine({'_task': 'main packages for origin'})] }}"
  61. - name: other master packages
  62. check_yum_update:
  63. packages:
  64. - etcd
  65. - bash-completion
  66. - cockpit-bridge
  67. - cockpit-docker
  68. - cockpit-kubernetes
  69. - cockpit-shell
  70. - cockpit-ws
  71. - httpd-tools
  72. register: r
  73. - set_fact:
  74. oo_preflight_check_results: "{{ oo_preflight_check_results + [r|combine({'_task': 'other master packages'})] }}"
  75. - hosts: nodes
  76. name: determine if yum install of node pkgs will work
  77. gather_facts: no
  78. ignore_errors: yes
  79. tasks:
  80. - when:
  81. - not containerized
  82. block:
  83. - name: main packages for enterprise
  84. when:
  85. - deployment_type == "openshift-enterprise"
  86. check_yum_update:
  87. packages:
  88. - atomic-openshift
  89. - atomic-openshift-node
  90. - atomic-openshift-sdn-ovs
  91. register: r
  92. - set_fact:
  93. oo_preflight_check_results: "{{ oo_preflight_check_results + [r|combine({'_task': 'main packages for enterprise'})] }}"
  94. - name: main packages for origin
  95. when:
  96. - deployment_type == "origin"
  97. check_yum_update:
  98. packages:
  99. - origin
  100. - origin-node
  101. - origin-sdn-ovs
  102. register: r
  103. - set_fact:
  104. oo_preflight_check_results: "{{ oo_preflight_check_results + [r|combine({'_task': 'main packages for origin'})] }}"
  105. - name: other node packages
  106. check_yum_update:
  107. packages:
  108. - docker
  109. - PyYAML
  110. - firewalld
  111. - iptables
  112. - iptables-services
  113. - nfs-utils
  114. - ntp
  115. - yum-utils
  116. - dnsmasq
  117. - libselinux-python
  118. - ceph-common
  119. - glusterfs-fuse
  120. - iscsi-initiator-utils
  121. - pyparted
  122. - python-httplib2
  123. - openssl
  124. - flannel
  125. - bind
  126. register: r
  127. - set_fact:
  128. oo_preflight_check_results: "{{ oo_preflight_check_results + [r|combine({'_task': 'other node packages'})] }}"
  129. - hosts: OSEv3
  130. name: verify check results
  131. gather_facts: no
  132. tasks:
  133. - set_fact:
  134. oo_preflight_check_failures: "{{ oo_preflight_check_results | select('failed', 'equalto', True) | list }}"
  135. - name: ensure all checks succeed
  136. action: fail
  137. when: oo_preflight_check_failures