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