bootstrap.yml 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. ---
  2. # TODO: create a module for this command.
  3. # oc_serviceaccounts_kubeconfig
  4. - name: create service account kubeconfig with csr rights
  5. command: "oc serviceaccounts create-kubeconfig node-bootstrapper -n openshift-infra"
  6. register: kubeconfig_out
  7. - name: put service account kubeconfig into a file on disk for bootstrap
  8. copy:
  9. content: "{{ kubeconfig_out.stdout }}"
  10. dest: "{{ openshift_master_config_dir }}/bootstrap.kubeconfig"
  11. - name: create a temp dir for this work
  12. command: mktemp -d /tmp/openshift_node_config-XXXXXX
  13. register: mktempout
  14. run_once: true
  15. # This generate is so that we do not have to maintain
  16. # our own copy of the template. This is generated by
  17. # the product and the following settings will be
  18. # generated by the master
  19. - name: generate a node-config dynamically
  20. command: >
  21. {{ openshift_master_client_binary }} adm create-node-config
  22. --node-dir={{ mktempout.stdout }}/
  23. --node=CONFIGMAP
  24. --hostnames=test
  25. --certificate-authority={{ openshift_master_config_dir }}/ca.crt
  26. --signer-cert={{ openshift_master_config_dir }}/ca.crt
  27. --signer-key={{ openshift_master_config_dir }}/ca.key
  28. --signer-serial={{ openshift_master_config_dir }}/ca.serial.txt
  29. --node-client-certificate-authority={{ openshift_master_config_dir }}/ca.crt
  30. register: configgen
  31. run_once: true
  32. - name: remove the default settings
  33. yedit:
  34. state: "{{ item.state | default('present') }}"
  35. src: "{{ mktempout.stdout }}/node-config.yaml"
  36. key: "{{ item.key }}"
  37. value: "{{ item.value | default(omit) }}"
  38. with_items: "{{ openshift_master_node_config_default_edits }}"
  39. run_once: true
  40. - name: copy the generated config into each group
  41. copy:
  42. src: "{{ mktempout.stdout }}/node-config.yaml"
  43. remote_src: true
  44. dest: "{{ mktempout.stdout }}/node-config-{{ item.type }}.yaml"
  45. with_items: "{{ openshift_master_node_configs }}"
  46. run_once: true
  47. - name: "specialize the generated configs for node-config-{{ item.type }}"
  48. yedit:
  49. src: "{{ mktempout.stdout }}/node-config-{{ item.type }}.yaml"
  50. edits: "{{ item.edits }}"
  51. with_items: "{{ openshift_master_node_configs }}"
  52. run_once: true
  53. - name: create node-config.yaml configmap
  54. oc_configmap:
  55. name: "node-config-{{ item.type }}"
  56. namespace: "{{ openshift_master_bootstrap_namespace }}"
  57. from_file:
  58. node-config.yaml: "{{ mktempout.stdout }}/node-config-{{ item.type }}.yaml"
  59. with_items: "{{ openshift_master_node_configs }}"
  60. run_once: true
  61. - name: remove templated files
  62. file:
  63. dest: "{{ mktempout.stdout }}/"
  64. state: absent
  65. with_items: "{{ openshift_master_node_configs }}"
  66. run_once: true