summaryrefslogtreecommitdiffstats
path: root/roles/openshift_node/tasks/main.yml
diff options
context:
space:
mode:
Diffstat (limited to 'roles/openshift_node/tasks/main.yml')
-rw-r--r--roles/openshift_node/tasks/main.yml34
1 files changed, 25 insertions, 9 deletions
diff --git a/roles/openshift_node/tasks/main.yml b/roles/openshift_node/tasks/main.yml
index e8bd13855..165010afb 100644
--- a/roles/openshift_node/tasks/main.yml
+++ b/roles/openshift_node/tasks/main.yml
@@ -26,6 +26,7 @@
proxy_mode: "{{ openshift_node_proxy_mode | default('iptables') }}"
local_quota_per_fsgroup: "{{ openshift_node_local_quota_per_fsgroup | default(None) }}"
dns_ip: "{{ openshift_dns_ip | default(none) | get_dns_ip(hostvars[inventory_hostname])}}"
+ env_vars: "{{ openshift_node_env_vars | default(None) }}"
# We have to add tuned-profiles in the same transaction otherwise we run into depsolving
# problems because the rpms don't pin the version properly. This was fixed in 3.1 packaging.
@@ -39,12 +40,12 @@
- name: Pull node image
command: >
- docker pull {{ openshift.node.node_image }}:{{ openshift_version }}
+ docker pull {{ openshift.node.node_image }}{{ ':' + openshift_version if openshift_version is defined and openshift_version != '' else '' }}
when: openshift.common.is_containerized | bool
- name: Pull OpenVSwitch image
command: >
- docker pull {{ openshift.node.ovs_image }}:{{ openshift_version }}
+ docker pull {{ openshift.node.ovs_image }}{{ ':' + openshift_version if openshift_version is defined and openshift_version != '' else '' }}
when: openshift.common.is_containerized | bool and openshift.common.use_openshift_sdn | bool
- name: Install the systemd units
@@ -91,6 +92,16 @@
notify:
- restart node
+- name: Configure Node Environment Variables
+ lineinfile:
+ dest: /etc/sysconfig/{{ openshift.common.service_type }}-node
+ regexp: "^{{ item.key }}="
+ line: "{{ item.key }}={{ item.value }}"
+ create: true
+ with_dict: "{{ openshift.node.env_vars | default({}) }}"
+ notify:
+ - restart node
+
- name: Additional storage plugin configuration
include: storage_plugins/main.yml
@@ -110,18 +121,23 @@
changed_when: false
when: openshift.common.is_containerized | bool
+- name: Start and enable node dep
+ service: name={{ openshift.common.service_type }}-node-dep enabled=yes state=started
+ when: openshift.common.is_containerized | bool
+
- name: Start and enable node
service: name={{ openshift.common.service_type }}-node enabled=yes state=started
register: node_start_result
ignore_errors: yes
-
-- name: Check logs on failure
- command: journalctl -xe
- register: node_failure
+
+- name: Wait 30 seconds for docker initialization whenever node has failed
+ pause:
+ seconds: 30
when: node_start_result | failed
-
-- name: Dump failure information
- debug: var=node_failure
+
+- name: Start and enable node again
+ service: name={{ openshift.common.service_type }}-node enabled=yes state=started
+ register: node_start_result
when: node_start_result | failed
- set_fact: