From 23b283e22982c032db341b7b4d81a384f0ec0b71 Mon Sep 17 00:00:00 2001
From: Michael Gugino <mgugino@redhat.com>
Date: Mon, 18 Dec 2017 14:33:43 -0500
Subject: Remove openshift_node_facts role

This commit removes the remainder of openshift_node_facts
role.
---
 DEPLOYMENT_TYPES.md                                |  2 +-
 roles/openshift_facts/library/openshift_facts.py   | 44 ++++------------------
 roles/openshift_node/defaults/main.yml             | 16 ++++++++
 roles/openshift_node/meta/main.yml                 |  2 -
 roles/openshift_node/tasks/config.yml              |  2 +-
 roles/openshift_node/tasks/container_images.yml    |  2 +-
 .../tasks/openvswitch_system_container.yml         |  4 +-
 .../tasks/upgrade/containerized_upgrade_pull.yml   |  2 +-
 roles/openshift_node/templates/node.yaml.v1.j2     |  6 +--
 .../templates/openvswitch.docker.service           |  2 +-
 .../filter_plugins/openshift_node_facts_filters.py | 32 ----------------
 roles/openshift_node_facts/meta/main.yml           | 15 --------
 roles/openshift_node_facts/tasks/main.yml          | 13 -------
 roles/openshift_node_group/defaults/main.yml       |  8 +++-
 14 files changed, 39 insertions(+), 111 deletions(-)
 delete mode 100644 roles/openshift_node_facts/filter_plugins/openshift_node_facts_filters.py
 delete mode 100644 roles/openshift_node_facts/meta/main.yml
 delete mode 100644 roles/openshift_node_facts/tasks/main.yml

diff --git a/DEPLOYMENT_TYPES.md b/DEPLOYMENT_TYPES.md
index 3788e9bfb..3e93f3fc8 100644
--- a/DEPLOYMENT_TYPES.md
+++ b/DEPLOYMENT_TYPES.md
@@ -13,5 +13,5 @@ The table below outlines the defaults per `openshift_deployment_type`:
 | **openshift_service_type** (also used for package names)        | origin                                   | atomic-openshift                       |
 | **openshift.common.config_base**                                | /etc/origin                              | /etc/origin                            |
 | **openshift_data_dir**                                          | /var/lib/origin                          | /var/lib/origin                        |
-| **openshift.master.registry_url openshift.node.registry_url**   | openshift/origin-${component}:${version} | openshift3/ose-${component}:${version} |
+| **openshift.master.registry_url oreg_url_node**                 | openshift/origin-${component}:${version} | openshift3/ose-${component}:${version} |
 | **Image Streams**                                               | centos                                   | rhel                                   |
diff --git a/roles/openshift_facts/library/openshift_facts.py b/roles/openshift_facts/library/openshift_facts.py
index 58e64994f..1ac65100d 100755
--- a/roles/openshift_facts/library/openshift_facts.py
+++ b/roles/openshift_facts/library/openshift_facts.py
@@ -69,22 +69,6 @@ def migrate_common_facts(facts):
     return facts
 
 
-def migrate_node_facts(facts):
-    """ Migrate facts from various roles into node """
-    params = {
-        'common': ('dns_ip'),
-    }
-    if 'node' not in facts:
-        facts['node'] = {}
-    # pylint: disable=consider-iterating-dictionary
-    for role in params.keys():
-        if role in facts:
-            for param in params[role]:
-                if param in facts[role]:
-                    facts['node'][param] = facts[role].pop(param)
-    return facts
-
-
 def migrate_admission_plugin_facts(facts):
     """ Apply migrations for admission plugin facts """
     if 'master' in facts:
@@ -104,7 +88,6 @@ def migrate_local_facts(facts):
     """ Apply migrations of local facts """
     migrated_facts = copy.deepcopy(facts)
     migrated_facts = migrate_common_facts(migrated_facts)
-    migrated_facts = migrate_node_facts(migrated_facts)
     migrated_facts = migrate_admission_plugin_facts(migrated_facts)
     return migrated_facts
 
@@ -536,7 +519,7 @@ def set_aggregate_facts(facts):
 
 def set_deployment_facts_if_unset(facts):
     """ Set Facts that vary based on deployment_type. This currently
-        includes master.registry_url, node.registry_url
+        includes master.registry_url
 
         Args:
             facts (dict): existing facts
@@ -544,24 +527,17 @@ def set_deployment_facts_if_unset(facts):
             dict: the facts dict updated with the generated deployment_type
             facts
     """
-    # disabled to avoid breaking up facts related to deployment type into
-    # multiple methods for now.
-    # pylint: disable=too-many-statements, too-many-branches
-    for role in ('master', 'node'):
-        if role in facts:
-            deployment_type = facts['common']['deployment_type']
-            if 'registry_url' not in facts[role]:
-                registry_url = 'openshift/origin-${component}:${version}'
-                if deployment_type == 'openshift-enterprise':
-                    registry_url = 'openshift3/ose-${component}:${version}'
-                facts[role]['registry_url'] = registry_url
-
     if 'master' in facts:
         deployment_type = facts['common']['deployment_type']
         openshift_features = ['Builder', 'S2IBuilder', 'WebConsole']
         if 'disabled_features' not in facts['master']:
             if facts['common']['deployment_subtype'] == 'registry':
                 facts['master']['disabled_features'] = openshift_features
+        if 'registry_url' not in facts['master']:
+            registry_url = 'openshift/origin-${component}:${version}'
+            if deployment_type == 'openshift-enterprise':
+                registry_url = 'openshift3/ose-${component}:${version}'
+            facts['master']['registry_url'] = registry_url
 
     return facts
 
@@ -1305,14 +1281,12 @@ def set_container_facts_if_unset(facts):
     deployment_type = facts['common']['deployment_type']
     if deployment_type == 'openshift-enterprise':
         master_image = 'openshift3/ose'
-        ovs_image = 'openshift3/openvswitch'
         pod_image = 'openshift3/ose-pod'
         router_image = 'openshift3/ose-haproxy-router'
         registry_image = 'openshift3/ose-docker-registry'
         deployer_image = 'openshift3/ose-deployer'
     else:
         master_image = 'openshift/origin'
-        ovs_image = 'openshift/openvswitch'
         pod_image = 'openshift/origin-pod'
         router_image = 'openshift/origin-haproxy-router'
         registry_image = 'openshift/origin-docker-registry'
@@ -1333,10 +1307,6 @@ def set_container_facts_if_unset(facts):
     if 'master' in facts and 'master_image' not in facts['master']:
         facts['master']['master_image'] = master_image
         facts['master']['master_system_image'] = master_image
-    if 'node' in facts:
-        if 'ovs_image' not in facts['node']:
-            facts['node']['ovs_image'] = ovs_image
-            facts['node']['ovs_system_image'] = ovs_image
 
     if safe_get_bool(facts['common']['is_containerized']):
         facts['common']['client_binary'] = '/usr/local/bin/oc'
@@ -1539,7 +1509,7 @@ class OpenShiftFacts(object):
                                       max_requests_inflight=500)
 
         if 'node' in roles:
-            defaults['node'] = dict(labels={}, annotations={})
+            defaults['node'] = dict(labels={})
 
         if 'cloudprovider' in roles:
             defaults['cloudprovider'] = dict(kind=None)
diff --git a/roles/openshift_node/defaults/main.yml b/roles/openshift_node/defaults/main.yml
index 906c76fba..08e45dda1 100644
--- a/roles/openshift_node/defaults/main.yml
+++ b/roles/openshift_node/defaults/main.yml
@@ -10,6 +10,22 @@ openshift_node_proxy_mode: iptables
 openshift_set_node_ip: False
 openshift_config_base: '/etc/origin'
 
+openshift_oreg_url_default_dict:
+  origin: "openshift/origin-${component}:${version}"
+  openshift-enterprise: "openshift3/ose-${component}:${version}"
+openshift_oreg_url_default: "{{ openshift_oreg_url_default_dict[openshift_deployment_type] }}"
+oreg_url_node: "{{ oreg_url | default(openshift_oreg_url_default) }}"
+
+osn_ovs_image_default_dict:
+  origin: "openshift/openvswitch"
+  openshift-enterprise: "openshift3/openvswitch"
+osn_ovs_image_default: "{{ osn_ovs_image_default_dict[openshift_deployment_type] }}"
+osn_ovs_image: "{{ osn_ovs_image_default }}"
+
+openshift_dns_ip: "{{ ansible_default_ipv4['address'] }}"
+
+openshift_node_env_vars: {}
+
 # Create list of 'k=v' pairs.
 l_node_kubelet_node_labels: "{{ openshift_node_labels | default({}) | oo_dict_to_keqv_list }}"
 
diff --git a/roles/openshift_node/meta/main.yml b/roles/openshift_node/meta/main.yml
index 70057c7f3..b531d2dfe 100644
--- a/roles/openshift_node/meta/main.yml
+++ b/roles/openshift_node/meta/main.yml
@@ -12,8 +12,6 @@ galaxy_info:
   categories:
   - cloud
 dependencies:
-- role: openshift_node_facts
-  when: not (openshift_node_upgrade_in_progress | default(False))
 - role: lib_openshift
 - role: lib_os_firewall
   when: not (openshift_node_upgrade_in_progress | default(False))
diff --git a/roles/openshift_node/tasks/config.yml b/roles/openshift_node/tasks/config.yml
index a96785d5c..8f38a47aa 100644
--- a/roles/openshift_node/tasks/config.yml
+++ b/roles/openshift_node/tasks/config.yml
@@ -46,7 +46,7 @@
     regexp: "^{{ item.key }}="
     line: "{{ item.key }}={{ item.value }}"
     create: true
-  with_dict: "{{ openshift.node.env_vars | default({}) }}"
+  with_dict: "{{ openshift_node_env_vars }}"
   notify:
     - restart node
 
diff --git a/roles/openshift_node/tasks/container_images.yml b/roles/openshift_node/tasks/container_images.yml
index 0b8c806ae..bb788e2f1 100644
--- a/roles/openshift_node/tasks/container_images.yml
+++ b/roles/openshift_node/tasks/container_images.yml
@@ -12,7 +12,7 @@
 
 - name: Pre-pull openvswitch image
   command: >
-    docker pull {{ openshift.node.ovs_image }}:{{ openshift_image_tag }}
+    docker pull {{ osn_ovs_image }}:{{ openshift_image_tag }}
   register: pull_result
   changed_when: "'Downloaded newer image' in pull_result.stdout"
   when:
diff --git a/roles/openshift_node/tasks/openvswitch_system_container.yml b/roles/openshift_node/tasks/openvswitch_system_container.yml
index b61bc84c1..30ef9ef44 100644
--- a/roles/openshift_node/tasks/openvswitch_system_container.yml
+++ b/roles/openshift_node/tasks/openvswitch_system_container.yml
@@ -9,14 +9,14 @@
 
 - name: Pre-pull OpenVSwitch system container image
   command: >
-    atomic pull --storage=ostree {{ 'docker:' if system_images_registry == 'docker' else system_images_registry + '/' }}{{ openshift.node.ovs_system_image }}:{{ openshift_image_tag }}
+    atomic pull --storage=ostree {{ 'docker:' if system_images_registry == 'docker' else system_images_registry + '/' }}{{ osn_ovs_image }}:{{ openshift_image_tag }}
   register: pull_result
   changed_when: "'Pulling layer' in pull_result.stdout"
 
 - name: Install or Update OpenVSwitch system container
   oc_atomic_container:
     name: openvswitch
-    image: "{{ 'docker:' if system_images_registry == 'docker' else system_images_registry + '/' }}{{ openshift.node.ovs_system_image }}:{{ openshift_image_tag }}"
+    image: "{{ 'docker:' if system_images_registry == 'docker' else system_images_registry + '/' }}{{ osn_ovs_image }}:{{ openshift_image_tag }}"
     state: latest
     values:
       - "DOCKER_SERVICE={{ l_service_name }}"
diff --git a/roles/openshift_node/tasks/upgrade/containerized_upgrade_pull.yml b/roles/openshift_node/tasks/upgrade/containerized_upgrade_pull.yml
index 3e7455bbb..0a14e5174 100644
--- a/roles/openshift_node/tasks/upgrade/containerized_upgrade_pull.yml
+++ b/roles/openshift_node/tasks/upgrade/containerized_upgrade_pull.yml
@@ -7,7 +7,7 @@
 
 - name: Pre-pull openvswitch image
   command: >
-    docker pull {{ openshift.node.ovs_image }}:{{ openshift_image_tag }}
+    docker pull {{ osn_ovs_image }}:{{ openshift_image_tag }}
   register: pull_result
   changed_when: "'Downloaded newer image' in pull_result.stdout"
   when: openshift_use_openshift_sdn | bool
diff --git a/roles/openshift_node/templates/node.yaml.v1.j2 b/roles/openshift_node/templates/node.yaml.v1.j2
index b673733df..76e75297a 100644
--- a/roles/openshift_node/templates/node.yaml.v1.j2
+++ b/roles/openshift_node/templates/node.yaml.v1.j2
@@ -5,14 +5,12 @@ dnsBindAddress: 127.0.0.1:53
 dnsRecursiveResolvConf: /etc/origin/node/resolv.conf
 {% endif %}
 dnsDomain: {{ openshift.common.dns_domain }}
-{% if 'dns_ip' in openshift.node %}
-dnsIP: {{ openshift.node.dns_ip }}
-{% endif %}
+dnsIP: {{ openshift_dns_ip }}
 dockerConfig:
   execHandlerName: ""
 iptablesSyncPeriod: "{{ openshift_node_iptables_sync_period }}"
 imageConfig:
-  format: {{ openshift.node.registry_url }}
+  format: {{ oreg_url_node }}
   latest: {{ openshift_node_image_config_latest }}
 kind: NodeConfig
 kubeletArguments: {{ l2_openshift_node_kubelet_args | default(None) | to_padded_yaml(level=1) }}
diff --git a/roles/openshift_node/templates/openvswitch.docker.service b/roles/openshift_node/templates/openvswitch.docker.service
index 37f091c76..1fc9b6e72 100644
--- a/roles/openshift_node/templates/openvswitch.docker.service
+++ b/roles/openshift_node/templates/openvswitch.docker.service
@@ -6,7 +6,7 @@ PartOf={{ openshift_docker_service_name }}.service
 [Service]
 EnvironmentFile=/etc/sysconfig/openvswitch
 ExecStartPre=-/usr/bin/docker rm -f openvswitch
-ExecStart=/usr/bin/docker run --name openvswitch --rm --privileged --net=host --pid=host -v /lib/modules:/lib/modules -v /run:/run -v /sys:/sys:ro -v /etc/origin/openvswitch:/etc/openvswitch {{ openshift.node.ovs_image }}:${IMAGE_VERSION}
+ExecStart=/usr/bin/docker run --name openvswitch --rm --privileged --net=host --pid=host -v /lib/modules:/lib/modules -v /run:/run -v /sys:/sys:ro -v /etc/origin/openvswitch:/etc/openvswitch {{ osn_ovs_image }}:${IMAGE_VERSION}
 ExecStartPost=/usr/bin/sleep 5
 ExecStop=/usr/bin/docker stop openvswitch
 SyslogIdentifier=openvswitch
diff --git a/roles/openshift_node_facts/filter_plugins/openshift_node_facts_filters.py b/roles/openshift_node_facts/filter_plugins/openshift_node_facts_filters.py
deleted file mode 100644
index 69069f2dc..000000000
--- a/roles/openshift_node_facts/filter_plugins/openshift_node_facts_filters.py
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/usr/bin/python
-# -*- coding: utf-8 -*-
-'''
-Custom filters for use in openshift-node
-'''
-from ansible import errors
-
-
-class FilterModule(object):
-    ''' Custom ansible filters for use by openshift_node_facts role'''
-
-    @staticmethod
-    def node_get_dns_ip(openshift_dns_ip, hostvars):
-        ''' Navigates the complicated logic of when to set dnsIP
-
-            In all situations if they've set openshift_dns_ip use that
-            For 1.0/3.0 installs we use the openshift_master_cluster_vip, openshift_node_first_master_ip, else None
-            For 1.1/3.1 installs we use openshift_master_cluster_vip, else None (product will use kube svc ip)
-            For 1.2/3.2+ installs we set to the node's default interface ip
-        '''
-
-        if not issubclass(type(hostvars), dict):
-            raise errors.AnsibleFilterError("|failed expects hostvars is a dict")
-
-        # We always use what they've specified if they've specified a value
-        if openshift_dns_ip is not None:
-            return openshift_dns_ip
-        return hostvars['ansible_default_ipv4']['address']
-
-    def filters(self):
-        ''' returns a mapping of filters to methods '''
-        return {'node_get_dns_ip': self.node_get_dns_ip}
diff --git a/roles/openshift_node_facts/meta/main.yml b/roles/openshift_node_facts/meta/main.yml
deleted file mode 100644
index 59bf680ce..000000000
--- a/roles/openshift_node_facts/meta/main.yml
+++ /dev/null
@@ -1,15 +0,0 @@
----
-galaxy_info:
-  author: Andrew Butcher
-  description: OpenShift Node Facts
-  company: Red Hat, Inc.
-  license: Apache License, Version 2.0
-  min_ansible_version: 1.9
-  platforms:
-  - name: EL
-    versions:
-    - 7
-  categories:
-  - cloud
-dependencies:
-- role: openshift_facts
diff --git a/roles/openshift_node_facts/tasks/main.yml b/roles/openshift_node_facts/tasks/main.yml
deleted file mode 100644
index 2ea7a4cec..000000000
--- a/roles/openshift_node_facts/tasks/main.yml
+++ /dev/null
@@ -1,13 +0,0 @@
----
-- name: Set node facts
-  openshift_facts:
-    role: "{{ item.role }}"
-    local_facts: "{{ item.local_facts }}"
-  with_items:
-  - role: node
-    local_facts:
-      annotations: "{{ openshift_node_annotations | default(none) }}"
-      registry_url: "{{ oreg_url_node | default(oreg_url) | default(None) }}"
-      ovs_image: "{{ osn_ovs_image | default(None) }}"
-      dns_ip: "{{ openshift_dns_ip | default(none) | node_get_dns_ip(hostvars[inventory_hostname])}}"
-      env_vars: "{{ openshift_node_env_vars | default(None) }}"
diff --git a/roles/openshift_node_group/defaults/main.yml b/roles/openshift_node_group/defaults/main.yml
index 7c81409a5..cccdea66f 100644
--- a/roles/openshift_node_group/defaults/main.yml
+++ b/roles/openshift_node_group/defaults/main.yml
@@ -17,7 +17,13 @@ openshift_node_group_edits: []
 openshift_node_group_namespace: openshift-node
 openshift_node_group_labels: []
 
-openshift_imageconfig_format: "{{ oreg_url if oreg_url is defined else openshift.node.registry_url }}"
+openshift_oreg_url_default_dict:
+  origin: "openshift/origin-${component}:${version}"
+  openshift-enterprise: openshift3/ose-${component}:${version}
+openshift_oreg_url_default: "{{ openshift_oreg_url_default_dict[openshift_deployment_type] }}"
+oreg_url_node: "{{ oreg_url | default(openshift_oreg_url_default) }}"
+
+openshift_imageconfig_format: "{{ oreg_url_node }}"
 openshift_node_group_cloud_provider: "{{ openshift_cloudprovider_kind | default('aws') }}"
 openshift_node_group_network_plugin_default: "{{ os_sdn_network_plugin_name | default('redhat/openshift-ovs-subnet') }}"
 openshift_node_group_network_plugin: "{{ openshift_node_group_network_plugin_default }}"
-- 
cgit v1.2.3