bootstrap_changes.yml 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. ---
  2. - name: Update node-config to prepare for bootstrapping
  3. yedit:
  4. src: "{{ openshift.common.config_base }}/node/node-config.yaml"
  5. edits:
  6. - key: servingInfo.certFile
  7. value: ""
  8. - key: servingInfo.keyFile
  9. value: ""
  10. - key: kubeletArguments.bootstrap-kubeconfig
  11. value:
  12. - "{{ openshift.common.config_base }}/node/bootstrap.kubeconfig"
  13. - key: kubeletArguments.rotate-certificates
  14. value:
  15. - "true"
  16. - key: kubeletArguments.cert-dir
  17. value:
  18. - "{{ openshift.common.config_base }}/node/certificates"
  19. - key: kubeletArguments.feature-gates
  20. value:
  21. - RotateKubeletClientCertificate=true,RotateKubeletServerCertificate=true
  22. - name: Check for existing node-config.yaml
  23. stat:
  24. path: "{{ openshift.common.config_base }}/node/node-config.yaml"
  25. register: existing_node_config
  26. - name: Copy existing configuration to bootstrap configuration
  27. copy:
  28. remote_src: true
  29. src: "{{ openshift.common.config_base }}/node/node-config.yaml"
  30. dest: "{{ openshift.common.config_base }}/node/bootstrap-node-config.yaml"
  31. force: no
  32. owner: root
  33. group: root
  34. mode: 0600
  35. when: existing_node_config.stat.exists
  36. - name: Find existing credentials
  37. find:
  38. paths:
  39. - "{{ openshift.common.config_base }}/node"
  40. patterns:
  41. - system*.kubeconfig
  42. register: system_kubeconfigs
  43. - name: Copy existing credentials to bootstrap credentials
  44. copy:
  45. remote_src: true
  46. src: "{{ item }}"
  47. dest: "{{ openshift.common.config_base }}/node/bootstrap.kubeconfig"
  48. force: no
  49. owner: root
  50. group: root
  51. mode: 0600
  52. with_items: "{{ system_kubeconfigs.files | default([]) | map(attribute='path') | list + [openshift.common.config_base+'/node/node.kubeconfig'] }}"
  53. - name: Remove non-bootstrap configuration
  54. file:
  55. path: "{{ item }}"
  56. state: absent
  57. with_items:
  58. - "{{ openshift.common.config_base }}/node/node.kubeconfig"
  59. - "{{ openshift.common.config_base }}/node/node-config.yaml"
  60. - name: Use the admin.kubeconfig for the kubelet bootstrap identity
  61. copy:
  62. remote_src: true
  63. src: "{{ openshift.common.config_base }}/master/admin.kubeconfig"
  64. dest: "{{ openshift.common.config_base }}/node/bootstrap.kubeconfig"
  65. force: yes
  66. owner: root
  67. group: root
  68. mode: 0600
  69. when: inventory_hostname in groups.oo_masters_to_config
  70. - name: Update symlink master CA for docker-registry (name changed)
  71. file:
  72. src: "{{ item }}"
  73. dest: "/etc/docker/certs.d/docker-registry.default.svc:5000/{{ item | basename }}"
  74. state: link
  75. force: yes
  76. with_items:
  77. - "{{ openshift.common.config_base }}/node/client-ca.crt"
  78. - name: Remove previous bootstrap certificates
  79. file:
  80. path: "{{ openshift.common.config_base }}/node/certificates"
  81. state: absent
  82. - name: Determine if node already has a dynamic config group
  83. command: grep -E '^BOOTSTRAP_CONFIG_NAME=.+' "/etc/sysconfig/{{ openshift_service_type }}-node"
  84. ignore_errors: true
  85. register: existing
  86. - name: Update the sysconfig to group "{{ r_node_dynamic_config_name }}"
  87. lineinfile:
  88. dest: "/etc/sysconfig/{{ openshift_service_type }}-node"
  89. line: "BOOTSTRAP_CONFIG_NAME={{ r_node_dynamic_config_name }}"
  90. regexp: "^BOOTSTRAP_CONFIG_NAME=.*"
  91. when: r_node_dynamic_config_force|default(False) or existing is failed
  92. - name: Set up node-config.yml if dynamic configuration is off
  93. copy:
  94. remote_src: true
  95. src: "{{ openshift.common.config_base }}/node/bootstrap-node-config.yaml"
  96. dest: "{{ openshift.common.config_base }}/node/node-config.yaml"
  97. force: no
  98. owner: root
  99. group: root
  100. mode: 0600
  101. when: r_node_dynamic_config_name|length == 0