diff options
| author | Scott Dodson <sdodson@redhat.com> | 2017-12-18 16:36:11 -0500 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-12-18 16:36:11 -0500 | 
| commit | 84266ade6839f9a82e3111f12fce64b88a48845a (patch) | |
| tree | d3ba81605995f802fc32a08de13bd572f9980a8c | |
| parent | b713000887c5ef1d84d376038aacd0c6966d1692 (diff) | |
| parent | 23b283e22982c032db341b7b4d81a384f0ec0b71 (diff) | |
Merge pull request #6513 from mgugino-upstream-stage/remove-node-facts-pt2
Remove openshift_node_facts role
| -rw-r--r-- | DEPLOYMENT_TYPES.md | 2 | ||||
| -rwxr-xr-x | roles/openshift_facts/library/openshift_facts.py | 44 | ||||
| -rw-r--r-- | roles/openshift_node/defaults/main.yml | 16 | ||||
| -rw-r--r-- | roles/openshift_node/meta/main.yml | 2 | ||||
| -rw-r--r-- | roles/openshift_node/tasks/config.yml | 2 | ||||
| -rw-r--r-- | roles/openshift_node/tasks/container_images.yml | 2 | ||||
| -rw-r--r-- | roles/openshift_node/tasks/openvswitch_system_container.yml | 4 | ||||
| -rw-r--r-- | roles/openshift_node/tasks/upgrade/containerized_upgrade_pull.yml | 2 | ||||
| -rw-r--r-- | roles/openshift_node/templates/node.yaml.v1.j2 | 6 | ||||
| -rw-r--r-- | roles/openshift_node/templates/openvswitch.docker.service | 2 | ||||
| -rw-r--r-- | roles/openshift_node_facts/filter_plugins/openshift_node_facts_filters.py | 32 | ||||
| -rw-r--r-- | roles/openshift_node_facts/meta/main.yml | 15 | ||||
| -rw-r--r-- | roles/openshift_node_facts/tasks/main.yml | 13 | ||||
| -rw-r--r-- | roles/openshift_node_group/defaults/main.yml | 8 | 
14 files changed, 39 insertions, 111 deletions
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 }}"  | 
