diff options
| -rw-r--r-- | playbooks/common/openshift-node/config.yml | 27 | ||||
| -rw-r--r-- | roles/openshift_node/meta/main.yml | 1 | ||||
| -rw-r--r-- | roles/openshift_node/tasks/main.yml | 28 | ||||
| -rw-r--r-- | roles/openshift_node_facts/meta/main.yml | 15 | ||||
| -rw-r--r-- | roles/openshift_node_facts/tasks/main.yml | 34 | 
5 files changed, 55 insertions, 50 deletions
diff --git a/playbooks/common/openshift-node/config.yml b/playbooks/common/openshift-node/config.yml index 501ba4273..ef7d54f9f 100644 --- a/playbooks/common/openshift-node/config.yml +++ b/playbooks/common/openshift-node/config.yml @@ -1,25 +1,4 @@  --- -- name: Gather and set facts for node hosts -  hosts: oo_nodes_to_config -  vars: -    t_oo_option_node_debug_level: "{{ lookup('oo_option', 'openshift_node_debug_level') }}" -  pre_tasks: -  - set_fact: -      openshift_node_debug_level: "{{ t_oo_option_node_debug_level }}" -    when: openshift_node_debug_level is not defined and t_oo_option_node_debug_level != "" -  roles: -  - openshift_facts -  tasks: -  # Since the master is generating the node certificates before they are -  # configured, we need to make sure to set the node properties beforehand if -  # we do not want the defaults -  - openshift_facts: -      role: node -      local_facts: -        labels: "{{ openshift_node_labels | default(None) }}" -        annotations: "{{ openshift_node_annotations | default(None) }}" -        schedulable: "{{ openshift_schedulable | default(openshift_scheduleable) | default(None) }}" -  - name: Evaluate node groups    hosts: localhost    become: no @@ -32,7 +11,11 @@        ansible_ssh_user: "{{ g_ssh_user | default(omit) }}"        ansible_become: "{{ g_sudo | default(omit) }}"      with_items: "{{ groups.oo_nodes_to_config | default([]) }}" -    when: hostvars[item].openshift is defined and hostvars[item].openshift.common is defined and hostvars[item].openshift.common.is_containerized | bool and (item in groups.oo_nodes_to_config and item in groups.oo_masters_to_config) +    when: +    - hostvars[item].openshift is defined +    - hostvars[item].openshift.common is defined +    - hostvars[item].openshift.common.is_containerized | bool +    - (item in groups.oo_nodes_to_config and item in groups.oo_masters_to_config)      changed_when: False  - name: Configure containerized nodes diff --git a/roles/openshift_node/meta/main.yml b/roles/openshift_node/meta/main.yml index e19d82ddc..4fb841add 100644 --- a/roles/openshift_node/meta/main.yml +++ b/roles/openshift_node/meta/main.yml @@ -12,6 +12,7 @@ galaxy_info:    categories:    - cloud  dependencies: +- role: openshift_node_facts  - role: lib_openshift  - role: openshift_common  - role: openshift_clock diff --git a/roles/openshift_node/tasks/main.yml b/roles/openshift_node/tasks/main.yml index 8b4931e7c..87b1f6537 100644 --- a/roles/openshift_node/tasks/main.yml +++ b/roles/openshift_node/tasks/main.yml @@ -6,34 +6,6 @@      (not ansible_selinux or ansible_selinux.status != 'enabled') and      deployment_type in ['enterprise', 'online', 'atomic-enterprise', 'openshift-enterprise'] -- name: Set node facts -  openshift_facts: -    role: "{{ item.role }}" -    local_facts: "{{ item.local_facts }}" -  with_items: -    # Reset node labels to an empty dictionary. -    - role: node -      local_facts: -        labels: {} -    - role: node -      local_facts: -        annotations: "{{ openshift_node_annotations | default(none) }}" -        debug_level: "{{ openshift_node_debug_level | default(openshift.common.debug_level) }}" -        iptables_sync_period: "{{ openshift_node_iptables_sync_period | default(None) }}" -        kubelet_args: "{{ openshift_node_kubelet_args | default(None) }}" -        labels: "{{ lookup('oo_option', 'openshift_node_labels') | default( openshift_node_labels | default(none), true) }}" -        registry_url: "{{ oreg_url_node | default(oreg_url) | default(None) }}" -        schedulable: "{{ openshift_schedulable | default(openshift_scheduleable) | default(None) }}" -        sdn_mtu: "{{ openshift_node_sdn_mtu | default(None) }}" -        storage_plugin_deps: "{{ osn_storage_plugin_deps | default(None) }}" -        set_node_ip: "{{ openshift_set_node_ip | default(None) }}" -        node_image: "{{ osn_image | default(None) }}" -        ovs_image: "{{ osn_ovs_image | default(None) }}" -        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) }}" -  # https://docs.openshift.com/container-platform/3.4/admin_guide/overcommit.html#disabling-swap-memory  - name: Check for swap usage    command: grep "^[^#].*swap" /etc/fstab diff --git a/roles/openshift_node_facts/meta/main.yml b/roles/openshift_node_facts/meta/main.yml new file mode 100644 index 000000000..59bf680ce --- /dev/null +++ b/roles/openshift_node_facts/meta/main.yml @@ -0,0 +1,15 @@ +--- +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 new file mode 100644 index 000000000..c268c945e --- /dev/null +++ b/roles/openshift_node_facts/tasks/main.yml @@ -0,0 +1,34 @@ +--- +- set_fact: +    openshift_node_debug_level: "{{ lookup('oo_option', 'openshift_node_debug_level') }}" +  when: +  - openshift_node_debug_level is not defined +  - lookup('oo_option', 'openshift_node_debug_level') != "" + +- name: Set node facts +  openshift_facts: +    role: "{{ item.role }}" +    local_facts: "{{ item.local_facts }}" +  with_items: +  # Reset node labels to an empty dictionary. +  - role: node +    local_facts: +      labels: {} +  - role: node +    local_facts: +      annotations: "{{ openshift_node_annotations | default(none) }}" +      debug_level: "{{ openshift_node_debug_level | default(openshift.common.debug_level) }}" +      iptables_sync_period: "{{ openshift_node_iptables_sync_period | default(None) }}" +      kubelet_args: "{{ openshift_node_kubelet_args | default(None) }}" +      labels: "{{ lookup('oo_option', 'openshift_node_labels') | default( openshift_node_labels | default(none), true) }}" +      registry_url: "{{ oreg_url_node | default(oreg_url) | default(None) }}" +      schedulable: "{{ openshift_schedulable | default(openshift_scheduleable) | default(None) }}" +      sdn_mtu: "{{ openshift_node_sdn_mtu | default(None) }}" +      storage_plugin_deps: "{{ osn_storage_plugin_deps | default(None) }}" +      set_node_ip: "{{ openshift_set_node_ip | default(None) }}" +      node_image: "{{ osn_image | default(None) }}" +      ovs_image: "{{ osn_ovs_image | default(None) }}" +      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) }}"  | 
