basic_facts.yml 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  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 }}"