basic_facts.yml 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. ---
  2. - name: Ensure that all non-node hosts are accessible
  3. hosts: oo_masters_to_config:oo_etcd_to_config:oo_lb_to_config:oo_nfs_to_config
  4. any_errors_fatal: true
  5. tasks:
  6. - name: Initialize basic host facts
  7. # l_init_fact_hosts is passed in via play during control-plane-only
  8. # upgrades and scale-up plays; otherwise oo_all_hosts is used.
  9. hosts: "{{ l_init_fact_hosts | default('oo_all_hosts') }}"
  10. roles:
  11. - role: openshift_facts
  12. tasks:
  13. # TODO: Should this role be refactored into health_checks??
  14. - name: Run openshift_sanitize_inventory to set variables
  15. import_role:
  16. name: openshift_sanitize_inventory
  17. - name: Detecting Operating System from ostree_booted
  18. stat:
  19. path: /run/ostree-booted
  20. register: ostree_booted
  21. # TODO(michaelgugino) remove this line once CI is updated.
  22. - name: set openshift_deployment_type if unset
  23. set_fact:
  24. openshift_deployment_type: "{{ deployment_type }}"
  25. when:
  26. - openshift_deployment_type is undefined
  27. - deployment_type is defined
  28. - name: initialize_facts set fact openshift_is_atomic and openshift_is_containerized
  29. set_fact:
  30. openshift_is_atomic: "{{ ostree_booted.stat.exists }}"
  31. openshift_is_containerized: "{{ ostree_booted.stat.exists or (containerized | default(false) | bool) }}"
  32. # TODO: Should this be moved into health checks??
  33. # Seems as though any check that happens with a corresponding fail should move into health_checks
  34. # Fail as early as possible if Atomic and old version of Docker
  35. - when:
  36. - openshift_is_atomic | bool
  37. block:
  38. # See https://access.redhat.com/articles/2317361
  39. # and https://github.com/ansible/ansible/issues/15892
  40. # NOTE: the "'s can not be removed at this level else the docker command will fail
  41. # NOTE: When ansible >2.2.1.x is used this can be updated per
  42. # https://github.com/openshift/openshift-ansible/pull/3475#discussion_r103525121
  43. - name: Determine Atomic Host Docker Version
  44. shell: 'CURLY="{"; docker version --format "$CURLY{json .Server.Version}}"'
  45. register: l_atomic_docker_version
  46. - name: assert atomic host docker version is 1.12 or later
  47. assert:
  48. that:
  49. - l_atomic_docker_version.stdout | replace('"', '') is version_compare('1.12','>=')
  50. msg: Installation on Atomic Host requires Docker 1.12 or later. Please upgrade and restart the Atomic Host.
  51. - name: Initialize special first-master variables
  52. hosts: oo_first_master
  53. roles:
  54. - role: openshift_facts
  55. tasks:
  56. - set_fact:
  57. # We need to setup openshift_client_binary here for special uses of delegate_to in
  58. # later roles and plays.
  59. first_master_client_binary: "{{ openshift_client_binary }}"
  60. #Some roles may require this to be set for first master
  61. openshift_client_binary: "{{ openshift_client_binary }}"
  62. - name: Disable web console if required
  63. hosts: oo_masters_to_config
  64. gather_facts: no
  65. tasks:
  66. - set_fact:
  67. openshift_web_console_install: False
  68. when: openshift_deployment_subtype == 'registry' or ( osm_disabled_features is defined and 'WebConsole' in osm_disabled_features )