summaryrefslogtreecommitdiffstats
path: root/roles/openshift_register_nodes/tasks/main.yml
blob: 502dffc26cdc0cebfb34f11bfc96d8a1ca06a427 (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
---
- name: Create openshift_generated_configs_dir if it doesn't exist
  file:
    path: "{{ openshift_generated_configs_dir }}"
    state: directory

- name: Generate the node client config
  command: >
    {{ openshift.common.admin_binary }} create-api-client-config
      --certificate-authority={{ openshift_master_ca_cert }}
      --client-dir={{ openshift_generated_configs_dir }}/node-{{ item.openshift.common.hostname }}
      --groups=system:nodes
      --master={{ openshift.master.api_url }}
      --signer-cert={{ openshift_master_ca_cert }}
      --signer-key={{ openshift_master_ca_key }}
      --signer-serial={{ openshift_master_ca_serial }}
      --user=system:node:{{ item.openshift.common.hostname }}
  args:
    chdir: "{{ openshift_generated_configs_dir }}"
    creates: "{{ openshift_generated_configs_dir }}/node-{{ item.openshift.common.hostname }}"
  with_items: nodes_needing_certs

- name: Generate the node server certificate
  delegate_to: "{{ openshift_first_master }}"
  command: >
    {{ openshift.common.admin_binary }} create-server-cert
      --cert=server.crt --key=server.key --overwrite=true
      --hostnames={{ [item.openshift.common.hostname, item.openshift.common.public_hostname]|unique|join(",") }}
      --signer-cert={{ openshift_master_ca_cert }}
      --signer-key={{ openshift_master_ca_key }}
      --signer-serial={{ openshift_master_ca_serial }}
  args:
    chdir: "{{ openshift_generated_configs_dir }}/node-{{ item.openshift.common.hostname }}"
    creates: "{{ openshift_generated_configs_dir }}/node-{{ item.openshift.common.hostname }}/server.crt"
  with_items: nodes_needing_certs

- name: Register unregistered nodes
  kubernetes_register_node:
    kubectl_cmd: "{{ [openshift.common.client_binary] }}"
    default_client_config: '~/.kube/config'
    name: "{{ item.openshift.common.hostname }}"
    api_version: "{{ openshift_kube_api_version }}"
    cpu: "{{ item.openshift.node.resources_cpu | default(None) }}"
    memory: "{{ item.openshift.node.resources_memory | default(None) }}"
    pod_cidr: "{{ item.openshift.node.pod_cidr | default(None) }}"
    host_ip: "{{ item.openshift.common.ip }}"
    labels: "{{ item.openshift.node.labels | default({}) }}"
    annotations: "{{ item.openshift.node.annotations | default({}) }}"
    client_context: default/ose3-master-example-com:8443/system:openshift-master
    client_user: system:openshift-master/ose3-master-example-com:8443
    client_cluster: ose3-master-example-com:8443
  with_items: openshift_nodes
  register: register_result