From bb1d5f45255d60a88a3220ea7e7b724a073465b1 Mon Sep 17 00:00:00 2001
From: Michael Gugino <mgugino@redhat.com>
Date: Tue, 10 Oct 2017 13:10:23 -0400
Subject: Fix broken debug_level

Currently, debug_level is documented as a way to change
the debug output level for both masters and nodes.

debug_level does not currently have any effect.

This commit removes debug_level from openshift_facts
and properly sets openshift_master_debug_level and
openshift_node_debug_level to the value of debug_level
specified in the inventory.

This commit also reorganizes some set_fact tasks
needed during master upgrades to put all work-around
set-facts for undefined variables in one place, allowing
for easier cleanup in the future.  This includes an
entry for openshift_master_debug_level.

Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1500164
---
 roles/openshift_master/tasks/registry_auth.yml | 10 --------
 roles/openshift_master/tasks/systemd_units.yml | 34 ++++++--------------------
 roles/openshift_master/tasks/upgrade_facts.yml | 33 +++++++++++++++++++++++++
 3 files changed, 40 insertions(+), 37 deletions(-)
 create mode 100644 roles/openshift_master/tasks/upgrade_facts.yml

(limited to 'roles/openshift_master/tasks')

diff --git a/roles/openshift_master/tasks/registry_auth.yml b/roles/openshift_master/tasks/registry_auth.yml
index 2644f235e..63d483760 100644
--- a/roles/openshift_master/tasks/registry_auth.yml
+++ b/roles/openshift_master/tasks/registry_auth.yml
@@ -1,14 +1,4 @@
 ---
-# We need to setup some variables as this play might be called directly
-# from outside of the role.
-- set_fact:
-    oreg_auth_credentials_path: "{{ r_openshift_master_data_dir }}/.docker"
-  when: oreg_auth_credentials_path is not defined
-
-- set_fact:
-    oreg_host: "{{ oreg_url.split('/')[0] if (oreg_url is defined and '.' in oreg_url.split('/')[0]) else '' }}"
-  when: oreg_host is not defined
-
 - name: Check for credentials file for registry auth
   stat:
     path: "{{ oreg_auth_credentials_path }}"
diff --git a/roles/openshift_master/tasks/systemd_units.yml b/roles/openshift_master/tasks/systemd_units.yml
index 8de62c59a..c6abaeb9b 100644
--- a/roles/openshift_master/tasks/systemd_units.yml
+++ b/roles/openshift_master/tasks/systemd_units.yml
@@ -1,31 +1,6 @@
 ---
-# This file is included both in the openshift_master role and in the upgrade
-# playbooks.  For that reason the ha_svc variables are use set_fact instead of
-# the vars directory on the role.
-
-# This play may be consumed outside the role, we need to ensure that
-# openshift_master_config_dir is set.
-- name: Set openshift_master_config_dir if unset
-  set_fact:
-    openshift_master_config_dir: '/etc/origin/master'
-  when: openshift_master_config_dir is not defined
-
-# This play may be consumed outside the role, we need to ensure that
-# r_openshift_master_data_dir is set.
-- name: Set r_openshift_master_data_dir if unset
-  set_fact:
-    r_openshift_master_data_dir: "{{ openshift_data_dir | default('/var/lib/origin') }}"
-  when: r_openshift_master_data_dir is not defined
-
-- include: registry_auth.yml
-
-- name: Remove the legacy master service if it exists
-  include: clean_systemd_units.yml
-
-- name: Init HA Service Info
-  set_fact:
-    containerized_svc_dir: "/usr/lib/systemd/system"
-    ha_svc_template_path: "native-cluster"
+- include: upgrade_facts.yml
+  when: openshift_master_defaults_in_use is not defined
 
 - name: Set HA Service Info for containerized installs
   set_fact:
@@ -34,6 +9,11 @@
   when:
   - openshift.common.is_containerized | bool
 
+- include: registry_auth.yml
+
+- name: Remove the legacy master service if it exists
+  include: clean_systemd_units.yml
+
 # This is the image used for both HA and non-HA clusters:
 - name: Pre-pull master image
   command: >
diff --git a/roles/openshift_master/tasks/upgrade_facts.yml b/roles/openshift_master/tasks/upgrade_facts.yml
new file mode 100644
index 000000000..f6ad438aa
--- /dev/null
+++ b/roles/openshift_master/tasks/upgrade_facts.yml
@@ -0,0 +1,33 @@
+---
+# This file exists because we call systemd_units.yml from outside of the role
+# during upgrades.  When we remove this pattern, we can probably
+# eliminate most of these set_fact items.
+
+- name: Set openshift_master_config_dir if unset
+  set_fact:
+    openshift_master_config_dir: '/etc/origin/master'
+  when: openshift_master_config_dir is not defined
+
+- name: Set r_openshift_master_data_dir if unset
+  set_fact:
+    r_openshift_master_data_dir: "{{ openshift_data_dir | default('/var/lib/origin') }}"
+  when: r_openshift_master_data_dir is not defined
+
+- set_fact:
+    oreg_auth_credentials_path: "{{ r_openshift_master_data_dir }}/.docker"
+  when: oreg_auth_credentials_path is not defined
+
+- set_fact:
+    oreg_host: "{{ oreg_url.split('/')[0] if (oreg_url is defined and '.' in oreg_url.split('/')[0]) else '' }}"
+  when: oreg_host is not defined
+
+- name: Set openshift_master_debug_level
+  set_fact:
+    openshift_master_debug_level: "{{ debug_level | default(2) }}"
+  when:
+  - openshift_master_debug_level is not defined
+
+- name: Init HA Service Info
+  set_fact:
+    containerized_svc_dir: "{{ containerized_svc_dir | default('/usr/lib/systemd/system') }}"
+    ha_svc_template_path: "{{ ha_svc_template_path | default('native-cluster') }}"
-- 
cgit v1.2.3