upgrade.yml 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. ---
  2. - name: Stop control plane services
  3. service:
  4. name: "{{ item }}"
  5. state: stopped
  6. with_items:
  7. - "{{ openshift_service_type }}-master-api"
  8. - "{{ openshift_service_type }}-master-controllers"
  9. failed_when: false
  10. - import_tasks: static_shim.yml
  11. - import_tasks: upgrade/upgrade_scheduler.yml
  12. # master_config_hook is passed in from upgrade play.
  13. - include_tasks: "upgrade/{{ master_config_hook }}"
  14. when: master_config_hook is defined
  15. - import_tasks: set_loopback_context.yml
  16. - name: Check for ca-bundle.crt
  17. stat:
  18. path: "{{ openshift.common.config_base }}/master/ca-bundle.crt"
  19. register: ca_bundle_stat
  20. failed_when: false
  21. - name: Check for ca.crt
  22. stat:
  23. path: "{{ openshift.common.config_base }}/master/ca.crt"
  24. register: ca_crt_stat
  25. failed_when: false
  26. - name: Migrate ca.crt to ca-bundle.crt
  27. command: mv ca.crt ca-bundle.crt
  28. args:
  29. chdir: "{{ openshift.common.config_base }}/master"
  30. when: ca_crt_stat.stat.isreg and not ca_bundle_stat.stat.exists
  31. - name: Link ca.crt to ca-bundle.crt
  32. file:
  33. src: "{{ openshift.common.config_base }}/master/ca-bundle.crt"
  34. path: "{{ openshift.common.config_base }}/master/ca.crt"
  35. state: link
  36. when: ca_crt_stat.stat.isreg and not ca_bundle_stat.stat.exists
  37. - name: Find existing master sysconfig
  38. find:
  39. paths:
  40. - /etc/sysconfig
  41. patterns:
  42. - openshift-master-api
  43. - openshift-master-controllers
  44. - origin-master-api
  45. - origin-master-controllers
  46. register: sysconfigs
  47. - when: sysconfigs|succeeded and sysconfigs.matched > 0
  48. name: Migrate OPENSHIFT_DEFAULT_REGISTRY from master sysconfig to master-config.yaml
  49. block:
  50. - name: Get master sysconfig contents
  51. slurp:
  52. src: "{{ sysconfigs.files[0].path }}"
  53. register: sysconfig
  54. # TODO: surely there is a better way
  55. - name: Update imagePolicyConfig.internalRegistryHostname
  56. yedit:
  57. src: "{{ openshift.common.config_base }}/master/master-config.yaml"
  58. key: "imagePolicyConfig.internalRegistryHostname"
  59. value: "{{ item | regex_replace('^OPENSHIFT_DEFAULT_REGISTRY=\\s*([^#\\s]+).*','\\1') }}"
  60. with_items: "{{ (sysconfig.content | b64decode).split('\n') | select('match','^OPENSHIFT_DEFAULT_REGISTRY=\\s*.+') | list }}"
  61. - name: Create the master service env file if it does not exist
  62. template:
  63. src: "master.env.j2"
  64. dest: "{{ openshift.common.config_base }}/master/master.env"
  65. force: no
  66. - name: Update oreg value
  67. yedit:
  68. src: "{{ openshift.common.config_base }}/master/master-config.yaml"
  69. key: 'imageConfig.format'
  70. value: "{{ oreg_url | default(oreg_url_master) }}"
  71. when: oreg_url is defined or oreg_url_master is defined
  72. - name: Change default node selector to compute=true
  73. yedit:
  74. src: "{{ openshift.common.config_base }}/master/master-config.yaml"
  75. key: 'projectConfig.defaultNodeSelector'
  76. value: '{{ hostvars[groups.oo_first_master.0].l_osm_default_node_selector }}'
  77. when: openshift_upgrade_target | version_compare('3.9', '>=')
  78. - name: Remove use of pod presets from master config
  79. yedit:
  80. src: "{{ openshift.common.config_base }}/master/master-config.yaml"
  81. key: 'admissionConfig.pluginConfig.PodPreset'
  82. state: absent
  83. - name: Find current value for runtime-config
  84. yedit:
  85. src: "/tmp/master-config.yaml"
  86. key: "kubernetesMasterConfig.apiServerArguments.runtime-config"
  87. state: list
  88. register: runtime_config
  89. - name: Set the runtime-config to exclude pod presets
  90. yedit:
  91. src: "{{ openshift.common.config_base }}/master/master-config.yaml"
  92. key: "kubernetesMasterConfig.apiServerArguments.runtime-config"
  93. value: "{{ runtime_config.result | join(',') | regex_replace('(?:,)*apis/settings\\.k8s\\.io/v1alpha1=true','') }}"
  94. when: runtime_config.result
  95. - name: Remove old service information
  96. file:
  97. path: "{{ item }}"
  98. state: absent
  99. with_items:
  100. - /etc/systemd/system/atomic-openshift-master-api.service
  101. - /etc/systemd/system/atomic-openshift-master-controllers.service
  102. - /etc/systemd/system/origin-master-api.service
  103. - /etc/systemd/system/origin-master-controllers.service
  104. - /usr/lib/systemd/system/atomic-openshift-master-api.service
  105. - /usr/lib/systemd/system/atomic-openshift-master-controllers.service
  106. - /usr/lib/systemd/system/origin-master-api.service
  107. - /usr/lib/systemd/system/origin-master-controllers.service
  108. - name: reload systemd units
  109. command: systemctl daemon-reload