install.yml 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. ---
  2. - name: Install openshift support packages
  3. package:
  4. name: "{{ openshift_node_support_packages | join(',') }}"
  5. state: latest
  6. update_cache: true
  7. async: 3600
  8. poll: 30
  9. register: result
  10. until: result is succeeded
  11. - name: Get cluster version
  12. command: >
  13. oc get clusterversion
  14. --config={{ openshift_node_kubeconfig_path }}
  15. --output=jsonpath='{.items[0].status.desired.version}'
  16. delegate_to: localhost
  17. register: oc_get
  18. until:
  19. - oc_get.stdout is defined
  20. - oc_get.stdout != ''
  21. - name: Set fact l_cluster_version
  22. set_fact:
  23. l_cluster_version: "{{ oc_get.stdout | regex_search('^\\d+\\.\\d+') }}"
  24. - name: Override cluster version when running CI
  25. set_fact:
  26. l_cluster_version: "*"
  27. when: ci_version_override | default(false) | bool == true
  28. - name: Get kubernetes server version
  29. command: >
  30. oc version
  31. --config={{ openshift_node_kubeconfig_path }}
  32. --output=json
  33. delegate_to: localhost
  34. register: oc_get
  35. until:
  36. - oc_get.stdout is defined
  37. - oc_get.stdout != ''
  38. - name: Set fact kubernetes_major_version
  39. set_fact:
  40. kubernetes_major_version: "{{ (oc_get.stdout | from_json).serverVersion.major }}"
  41. - name: Set fact kubernetes_minor_version
  42. set_fact:
  43. kubernetes_minor_version: "{{ (oc_get.stdout | from_json).serverVersion.minor | regex_search('^\\d+') }}"
  44. - block:
  45. - name: Install openshift packages
  46. package:
  47. name: "{{ openshift_node_packages | join(',') }}"
  48. state: latest
  49. async: 3600
  50. poll: 30
  51. register: result
  52. until: result is succeeded
  53. rescue:
  54. - name: Package install failure message
  55. fail:
  56. msg: >
  57. Unable to install {{ openshift_node_packages | join(', ') }}.
  58. Please ensure repos are configured properly to provide these packages
  59. and indicated versions.
  60. - name: Enable the CRI-O service
  61. systemd:
  62. name: "crio"
  63. enabled: yes
  64. # persistent storage in journal is needed for MachineConfig to work
  65. - name: Enable persistent storage on journal
  66. ini_file:
  67. dest: "/etc/systemd/journald.conf"
  68. section: Journal
  69. option: Storage
  70. value: "persistent"
  71. no_extra_spaces: yes