summaryrefslogtreecommitdiffstats
path: root/roles/openshift_register_nodes/tasks/main.yml
diff options
context:
space:
mode:
Diffstat (limited to 'roles/openshift_register_nodes/tasks/main.yml')
-rw-r--r--roles/openshift_register_nodes/tasks/main.yml58
1 files changed, 27 insertions, 31 deletions
diff --git a/roles/openshift_register_nodes/tasks/main.yml b/roles/openshift_register_nodes/tasks/main.yml
index 59216fc87..7319b88b1 100644
--- a/roles/openshift_register_nodes/tasks/main.yml
+++ b/roles/openshift_register_nodes/tasks/main.yml
@@ -1,18 +1,20 @@
---
-# TODO: support configuration for multiple masters, currently hardcoding
-# the info from the first master
+# TODO: support new create-config command to generate node certs and config
+# TODO: recreate master/node configs if settings that affect the configs
+# change (hostname, public_hostname, ip, public_ip, etc)
# TODO: create a failed_when condition
- name: Create node server certificates
command: >
/usr/bin/openshift admin create-server-cert
--overwrite=false
- --cert={{ openshift_cert_dir }}/node-{{ item.openshift_node_hostname }}/server.crt
- --key={{ openshift_cert_dir }}/node-{{ item.openshift_node_hostname }}/server.key
- --hostnames={{ [openshift_hostname, openshift_public_hostname, openshift_ip, openshift_public_ip]|join(",") }}
+ --cert={{ openshift_cert_dir }}/node-{{ item.openshift.common.hostname }}/server.crt
+ --key={{ openshift_cert_dir }}/node-{{ item.openshift.common.hostname }}/server.key
+ --hostnames={{ [item.openshift.common.hostname,
+ item.openshift.common.public_hostname]|unique|join(",") }}
args:
chdir: "{{ openshift_cert_dir_parent }}"
- creates: "{{ openshift_cert_dir_abs }}/node-{{ item.openshift_node_hostname }}/server.crt"
+ creates: "{{ openshift_cert_dir_abs }}/node-{{ item.openshift.common.hostname }}/server.crt"
with_items: openshift_nodes
register: server_cert_result
@@ -21,48 +23,42 @@
command: >
/usr/bin/openshift admin create-node-cert
--overwrite=false
- --cert={{ openshift_cert_dir }}/node-{{ item.openshift_node_hostname }}/cert.crt
- --key={{ openshift_cert_dir }}/node-{{ item.openshift_node_hostname }}/key.key
- --node-name={{ item.openshift_node_hostname }}
+ --cert={{ openshift_cert_dir }}/node-{{ item.openshift.common.hostname }}/cert.crt
+ --key={{ openshift_cert_dir }}/node-{{ item.openshift.common.hostname }}/key.key
+ --node-name={{ item.openshift.common.hostname }}
args:
chdir: "{{ openshift_cert_dir_parent }}"
- creates: "{{ openshift_cert_dir_abs }}/node-{{ item.openshift_node_hostname }}/cert.crt"
+ creates: "{{ openshift_cert_dir_abs }}/node-{{ item.openshift.common.hostname }}/cert.crt"
with_items: openshift_nodes
register: node_cert_result
-# TODO: re-create kubeconfig if certs were regenerated, not just if
-# .kubeconfig doesn't exist
# TODO: create a failed_when condition
- name: Create kubeconfigs for nodes
command: >
/usr/bin/openshift admin create-kubeconfig
- --client-certificate={{ openshift_cert_dir }}/node-{{ item.openshift_node_hostname }}/cert.crt
- --client-key={{ openshift_cert_dir }}/node-{{ item.openshift_node_hostname }}/key.key
- --kubeconfig={{ openshift_cert_dir }}/node-{{ item.openshift_node_hostname }}/.kubeconfig
- --master={{ openshift_master_urls[0] }}
- --public-master={{ openshift_master_public_urls[0] }}
+ --client-certificate={{ openshift_cert_dir }}/node-{{ item.openshift.common.hostname }}/cert.crt
+ --client-key={{ openshift_cert_dir }}/node-{{ item.openshift.common.hostname }}/key.key
+ --kubeconfig={{ openshift_cert_dir }}/node-{{ item.openshift.common.hostname }}/.kubeconfig
+ --master={{ openshift.master.api_url }}
+ --public-master={{ openshift.master.public_api_url }}
args:
chdir: "{{ openshift_cert_dir_parent }}"
- creates: "{{ openshift_cert_dir_abs }}/node-{{ item.openshift_node_hostname }}/.kubeconfig"
+ creates: "{{ openshift_cert_dir_abs }}/node-{{ item.openshift.common.hostname }}/.kubeconfig"
with_items: openshift_nodes
register: kubeconfig_result
-# TODO: generate the node configs (openshift start node --write-config
-# --config='{{ openshift_cert_dir }}/node-{{ item.openshift_node_hostname }}/node.yaml'
-# --kubeconfig='{{ openshift_cert_dir }}/node-{{ item.openshift_node_hostname }}/.kubeconfig'
-# will need to modify the generated node config as needed
-# (servingInfo.{certFile,clientCA,keyFile})
-
- name: Register unregistered nodes
kubernetes_register_node:
- name: "{{ item.openshift_node_name }}"
+ client_user: openshift-client
+ name: "{{ item.openshift.common.hostname }}"
api_version: "{{ openshift_kube_api_version }}"
- cpu: "{{ item.openshift_node_cpu if item.openshift_node_cpu else None }}"
- memory: "{{ item.openshift_node_memory if item.openshift_node_memory else None }}"
- pod_cidr: "{{ item.openshift_node_pod_cidr if item.openshift_node_pod_cidr else None }}"
- host_ip: "{{ item.openshift_node_host_ip }}"
- labels: "{{ item.openshift_node_labels if item.openshift_node_labels else {} }}"
- annotations: "{{ item.openshift_node_annotations if item.openshift_node_annotations else {} }}"
+ 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({}) }}"
+ external_id: "{{ item.openshift.node.external_id }}"
# TODO: support customizing other attributes such as: client_config,
# client_cluster, client_context, client_user
# TODO: update for v1beta3 changes after rebase: hostnames, external_ips,