diff options
| author | Kenny Woodson <kwoodson@redhat.com> | 2017-07-11 16:16:33 -0400 | 
|---|---|---|
| committer | Kenny Woodson <kwoodson@redhat.com> | 2017-08-04 19:01:58 -0400 | 
| commit | 9215c26cccf0a9558849c73e117d1369852c7f11 (patch) | |
| tree | c24c5ee8c7c887ffee4b651a46e3b65c8a8030e4 | |
| parent | 3db2bb10c0ad5e7ed702bfccdec03562533e8539 (diff) | |
Removing tasks from module openshift_facts.
| -rw-r--r-- | playbooks/common/openshift-cluster/initialize_facts.yml | 136 | ||||
| -rw-r--r-- | roles/openshift_facts/defaults/main.yml | 2 | ||||
| -rw-r--r-- | roles/openshift_facts/meta/main.yml | 3 | ||||
| -rw-r--r-- | roles/openshift_facts/tasks/main.yml | 118 | ||||
| -rw-r--r-- | roles/openshift_facts/vars/Fedora.yml | 6 | ||||
| -rw-r--r-- | roles/openshift_facts/vars/default.yml | 6 | ||||
| -rw-r--r-- | roles/openshift_facts/vars/main.yml | 5 | 
7 files changed, 133 insertions, 143 deletions
| diff --git a/playbooks/common/openshift-cluster/initialize_facts.yml b/playbooks/common/openshift-cluster/initialize_facts.yml index 9cebecd68..4bf5d33b1 100644 --- a/playbooks/common/openshift-cluster/initialize_facts.yml +++ b/playbooks/common/openshift-cluster/initialize_facts.yml @@ -6,12 +6,140 @@  - name: Initialize host facts    hosts: oo_all_hosts -  roles: -  - openshift_facts    tasks: -  - openshift_facts: +  - name: load openshift_facts module +    include_role: +      name: openshift_facts + +  # TODO: Should this role be refactored into health_checks?? +  - name: Run openshift_sanitize_inventory to set variables +    include_role: +      name: openshift_sanitize_inventory + +  - name: Detecting Operating System from ostree_booted +    stat: +      path: /run/ostree-booted +    register: ostree_booted + +  # Locally setup containerized facts for now +  - name: initialize_facts set fact l_is_atomic +    set_fact: +      l_is_atomic: "{{ ostree_booted.stat.exists }}" + +  - name: initialize_facts set fact for containerized and l_is_*_system_container +    set_fact: +      l_is_containerized: "{{ (l_is_atomic | bool) or (containerized | default(false) | bool) }}" +      l_is_openvswitch_system_container: "{{ (openshift_use_openvswitch_system_container | default(openshift_use_system_containers | default(false)) | bool) }}" +      l_is_node_system_container: "{{ (openshift_use_node_system_container | default(openshift_use_system_containers | default(false)) | bool) }}" +      l_is_master_system_container: "{{ (openshift_use_master_system_container | default(openshift_use_system_containers | default(false)) | bool) }}" +      l_is_etcd_system_container: "{{ (openshift_use_etcd_system_container | default(openshift_use_system_containers | default(false)) | bool) }}" + +  - name: initialize_facts set facts for l_any_system_container +    set_fact: +      l_any_system_container: "{{ l_is_etcd_system_container or l_is_openvswitch_system_container or l_is_node_system_container or l_is_master_system_container }}" + +  - name: initialize_facts set fact for l_etcd_runtime +    set_fact: +      l_etcd_runtime: "{{ 'runc' if l_is_etcd_system_container else 'docker' if l_is_containerized else 'host' }}" + +  # TODO: Should this be moved into health checks?? +  # Seems as though any check that happens with a corresponding fail should move into health_checks +  - name: Validate python version - ans_dist is fedora and python is v3 +    fail: +      msg: | +        openshift-ansible requires Python 3 for {{ ansible_distribution }}; +        For information on enabling Python 3 with Ansible, see https://docs.ansible.com/ansible/python_3_support.html +    when: +    - ansible_distribution == 'Fedora' +    - ansible_python['version']['major'] != 3 + +  # TODO: Should this be moved into health checks?? +  # Seems as though any check that happens with a corresponding fail should move into health_checks +  - name: Validate python version - ans_dist not Fedora and python must be v2 +    fail: +      msg: "openshift-ansible requires Python 2 for {{ ansible_distribution }}" +    when: +    - ansible_distribution != 'Fedora' +    - ansible_python['version']['major'] != 2 + +  # TODO: Should this be moved into health checks?? +  # Seems as though any check that happens with a corresponding fail should move into health_checks +  # Fail as early as possible if Atomic and old version of Docker +  - when: +    - l_is_atomic | bool +    block: + +    # See https://access.redhat.com/articles/2317361 +    # and https://github.com/ansible/ansible/issues/15892 +    # NOTE: the "'s can not be removed at this level else the docker command will fail +    # NOTE: When ansible >2.2.1.x is used this can be updated per +    # https://github.com/openshift/openshift-ansible/pull/3475#discussion_r103525121 +    - name: Determine Atomic Host Docker Version +      shell: 'CURLY="{"; docker version --format "$CURLY{json .Server.Version}}"' +      register: l_atomic_docker_version + +    - name: assert atomic host docker version is 1.12 or later +      assert: +        that: +        - l_atomic_docker_version.stdout | replace('"', '') | version_compare('1.12','>=') +        msg: Installation on Atomic Host requires Docker 1.12 or later. Please upgrade and restart the Atomic Host. + +  - when: +    - not l_is_atomic | bool +    block: +    - name: Ensure openshift-ansible installer package deps are installed +      package: +        name: "{{ item }}" +        state: present +      with_items: +      - iproute +      - "{{ 'python3-dbus' if ansible_distribution == 'Fedora' else 'python-dbus' }}" +      - PyYAML +      - yum-utils + +    - name: Ensure various deps for running system containers are installed +      package: +        name: "{{ item }}" +        state: present +      with_items: +      - atomic +      - ostree +      - runc +      when: +      - l_any_system_container | bool + +  - name: Gather Cluster facts and set is_containerized if needed +    openshift_facts:        role: common        local_facts: +        debug_level: "{{ openshift_debug_level | default(2) }}" +        deployment_type: "{{ openshift_deployment_type }}" +        deployment_subtype: "{{ openshift_deployment_subtype | default(None) }}" +        cluster_id: "{{ openshift_cluster_id | default('default') }}"          hostname: "{{ openshift_hostname | default(None) }}" -  - set_fact: +        ip: "{{ openshift_ip | default(None) }}" +        is_containerized: "{{ l_is_containerized | default(None) }}" +        is_openvswitch_system_container: "{{ l_is_openvswitch_system_container | default(false) }}" +        is_node_system_container: "{{ l_is_node_system_container | default(false) }}" +        is_master_system_container: "{{ l_is_master_system_container | default(false) }}" +        is_etcd_system_container: "{{ l_is_etcd_system_container | default(false) }}" +        etcd_runtime: "{{ l_etcd_runtime }}" +        system_images_registry: "{{ system_images_registry | default('') }}" +        public_hostname: "{{ openshift_public_hostname | default(None) }}" +        public_ip: "{{ openshift_public_ip | default(None) }}" +        portal_net: "{{ openshift_portal_net | default(openshift_master_portal_net) | default(None) }}" +        http_proxy: "{{ openshift_http_proxy | default(None) }}" +        https_proxy: "{{ openshift_https_proxy | default(None) }}" +        no_proxy: "{{ openshift_no_proxy | default(None) }}" +        generate_no_proxy_hosts: "{{ openshift_generate_no_proxy_hosts | default(True) }}" +        no_proxy_internal_hostnames: "{{ openshift_no_proxy_internal_hostnames | default(None) }}" +        sdn_network_plugin_name: "{{ os_sdn_network_plugin_name | default(None) }}" +        use_openshift_sdn: "{{ openshift_use_openshift_sdn | default(None) }}" + +  - name: initialize_facts set_fact repoquery command +    set_fact: +      repoquery_cmd: "{{ 'dnf repoquery --latest-limit 1 -d 0' if ansible_pkg_mgr == 'dnf' else 'repoquery --plugins' }}" + +  - name: initialize_facts set_fact on openshift_docker_hosted_registry_network +    set_fact:        openshift_docker_hosted_registry_network: "{{ hostvars[groups.oo_first_master.0].openshift.common.portal_net }}" diff --git a/roles/openshift_facts/defaults/main.yml b/roles/openshift_facts/defaults/main.yml deleted file mode 100644 index cc4dc9365..000000000 --- a/roles/openshift_facts/defaults/main.yml +++ /dev/null @@ -1,2 +0,0 @@ ---- -openshift_use_system_containers: false diff --git a/roles/openshift_facts/meta/main.yml b/roles/openshift_facts/meta/main.yml index 7eead2d6e..0be3afd24 100644 --- a/roles/openshift_facts/meta/main.yml +++ b/roles/openshift_facts/meta/main.yml @@ -12,5 +12,4 @@ galaxy_info:    categories:    - cloud    - system -dependencies: -- role: openshift_sanitize_inventory +dependencies: [] diff --git a/roles/openshift_facts/tasks/main.yml b/roles/openshift_facts/tasks/main.yml deleted file mode 100644 index 4af02ab96..000000000 --- a/roles/openshift_facts/tasks/main.yml +++ /dev/null @@ -1,118 +0,0 @@ ---- -- name: Detecting Operating System -  stat: -    path: /run/ostree-booted -  register: ostree_booted - -# Locally setup containerized facts for now -- set_fact: -    l_is_atomic: "{{ ostree_booted.stat.exists }}" -    l_use_crio: "{{ openshift_docker_use_crio | default(false) }}" -- set_fact: -    l_is_containerized: "{{ (l_is_atomic | bool) or (containerized | default(false) | bool) }}" -    l_is_openvswitch_system_container: "{{ (openshift_use_openvswitch_system_container | default(openshift_use_system_containers) | bool) }}" -    l_is_node_system_container: "{{ (openshift_use_node_system_container | default(openshift_use_system_containers) | bool) }}" -    l_is_master_system_container: "{{ (openshift_use_master_system_container | default(openshift_use_system_containers) | bool) }}" -    l_is_etcd_system_container: "{{ (openshift_use_etcd_system_container | default(openshift_use_system_containers) | bool) }}" -- set_fact: -    l_any_system_container: "{{ l_is_etcd_system_container or l_is_openvswitch_system_container or l_is_node_system_container or l_is_master_system_container }}" -- set_fact: -    l_etcd_runtime: "{{ 'runc' if l_is_etcd_system_container else 'docker' if l_is_containerized else 'host' }}" - - -- name: Validate python version -  fail: -    msg: | -      openshift-ansible requires Python 3 for {{ ansible_distribution }}; -      For information on enabling Python 3 with Ansible, see https://docs.ansible.com/ansible/python_3_support.html -  when: -  - ansible_distribution == 'Fedora' -  - ansible_python['version']['major'] != 3 -  - r_openshift_facts_ran is not defined - -- name: Validate python version -  fail: -    msg: "openshift-ansible requires Python 2 for {{ ansible_distribution }}" -  when: -  - ansible_distribution != 'Fedora' -  - ansible_python['version']['major'] != 2 -  - r_openshift_facts_ran is not defined - -# Fail as early as possible if Atomic and old version of Docker -- block: - -  # See https://access.redhat.com/articles/2317361 -  # and https://github.com/ansible/ansible/issues/15892 -  # NOTE: the "'s can not be removed at this level else the docker command will fail -  # NOTE: When ansible >2.2.1.x is used this can be updated per -  # https://github.com/openshift/openshift-ansible/pull/3475#discussion_r103525121 -  - name: Determine Atomic Host Docker Version -    shell: 'CURLY="{"; docker version --format "$CURLY{json .Server.Version}}"' -    register: l_atomic_docker_version - -  - assert: -      msg: Installation on Atomic Host requires Docker 1.12 or later. Please upgrade and restart the Atomic Host. -      that: -      - l_atomic_docker_version.stdout | replace('"', '') | version_compare('1.12','>=') - -  when: -  - not l_use_crio -  - l_is_atomic | bool -  - r_openshift_facts_ran is not defined - -- name: Load variables -  include_vars: "{{ item }}" -  with_first_found: -  - "{{ ansible_distribution }}.yml" -  - "default.yml" - -- name: Ensure various deps are installed -  package: name={{ item }} state=present -  with_items: "{{ required_packages }}" -  when: -  - not l_is_atomic | bool -  - r_openshift_facts_ran is not defined - -- name: Ensure various deps for running system containers are installed -  package: name={{ item }} state=present -  with_items: "{{ required_system_containers_packages }}" -  when: -  - not l_is_atomic | bool -  - l_any_system_container | bool -  - r_openshift_facts_ran is not defined - -- name: Gather Cluster facts and set is_containerized if needed -  openshift_facts: -    role: common -    local_facts: -      debug_level: "{{ openshift_debug_level | default(2) }}" -      deployment_type: "{{ openshift_deployment_type }}" -      deployment_subtype: "{{ openshift_deployment_subtype | default(None) }}" -      cluster_id: "{{ openshift_cluster_id | default('default') }}" -      hostname: "{{ openshift_hostname | default(None) }}" -      ip: "{{ openshift_ip | default(None) }}" -      is_containerized: "{{ l_is_containerized | default(None) }}" -      is_openvswitch_system_container: "{{ l_is_openvswitch_system_container | default(false) }}" -      is_node_system_container: "{{ l_is_node_system_container | default(false) }}" -      is_master_system_container: "{{ l_is_master_system_container | default(false) }}" -      is_etcd_system_container: "{{ l_is_etcd_system_container | default(false) }}" -      etcd_runtime: "{{ l_etcd_runtime }}" -      system_images_registry: "{{ system_images_registry | default('') }}" -      public_hostname: "{{ openshift_public_hostname | default(None) }}" -      public_ip: "{{ openshift_public_ip | default(None) }}" -      portal_net: "{{ openshift_portal_net | default(openshift_master_portal_net) | default(None) }}" -      http_proxy: "{{ openshift_http_proxy | default(None) }}" -      https_proxy: "{{ openshift_https_proxy | default(None) }}" -      no_proxy: "{{ openshift_no_proxy | default(None) }}" -      generate_no_proxy_hosts: "{{ openshift_generate_no_proxy_hosts | default(True) }}" -      no_proxy_internal_hostnames: "{{ openshift_no_proxy_internal_hostnames | default(None) }}" -      sdn_network_plugin_name: "{{ os_sdn_network_plugin_name | default(None) }}" -      use_openshift_sdn: "{{ openshift_use_openshift_sdn | default(None) }}" - -- name: Set repoquery command -  set_fact: -    repoquery_cmd: "{{ 'dnf repoquery --latest-limit 1 -d 0' if ansible_pkg_mgr == 'dnf' else 'repoquery --plugins' }}" - -- name: Register that this already ran -  set_fact: -    r_openshift_facts_ran: True diff --git a/roles/openshift_facts/vars/Fedora.yml b/roles/openshift_facts/vars/Fedora.yml deleted file mode 100644 index 745f5f398..000000000 --- a/roles/openshift_facts/vars/Fedora.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- -required_packages: -  - iproute -  - python3-dbus -  - PyYAML -  - yum-utils diff --git a/roles/openshift_facts/vars/default.yml b/roles/openshift_facts/vars/default.yml deleted file mode 100644 index 3cd616d16..000000000 --- a/roles/openshift_facts/vars/default.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- -required_packages: -  - iproute -  - python-dbus -  - PyYAML -  - yum-utils diff --git a/roles/openshift_facts/vars/main.yml b/roles/openshift_facts/vars/main.yml deleted file mode 100644 index 89d4034d3..000000000 --- a/roles/openshift_facts/vars/main.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -required_system_containers_packages: -  - atomic -  - ostree -  - runc | 
