diff options
Diffstat (limited to 'roles')
| -rw-r--r-- | roles/docker/meta/main.yml | 1 | ||||
| -rw-r--r-- | roles/docker/tasks/main.yml | 22 | ||||
| -rw-r--r-- | roles/openshift_hosted/meta/main.yml | 21 | ||||
| -rw-r--r-- | roles/openshift_master/meta/main.yml | 31 | ||||
| -rw-r--r-- | roles/openshift_master_facts/lookup_plugins/openshift_master_facts_default_predicates.py | 4 | ||||
| -rw-r--r-- | roles/openshift_master_facts/lookup_plugins/openshift_master_facts_default_priorities.py | 4 | ||||
| -rw-r--r-- | roles/openshift_node/meta/main.yml | 24 | ||||
| -rw-r--r-- | roles/openshift_version/tasks/set_version_containerized.yml | 5 | ||||
| -rw-r--r-- | roles/os_firewall/README.md | 7 | ||||
| -rw-r--r-- | roles/os_firewall/defaults/main.yml | 8 | ||||
| -rw-r--r-- | roles/os_firewall/tasks/main.yml | 6 | 
11 files changed, 106 insertions, 27 deletions
diff --git a/roles/docker/meta/main.yml b/roles/docker/meta/main.yml index dadd62c93..ad28cece9 100644 --- a/roles/docker/meta/main.yml +++ b/roles/docker/meta/main.yml @@ -11,4 +11,3 @@ galaxy_info:      - 7  dependencies:  - role: os_firewall -  os_firewall_use_firewalld: False diff --git a/roles/docker/tasks/main.yml b/roles/docker/tasks/main.yml index a93bdc2ad..57da23e0a 100644 --- a/roles/docker/tasks/main.yml +++ b/roles/docker/tasks/main.yml @@ -43,16 +43,18 @@    package: name=docker{{ '-' + docker_version if docker_version is defined else '' }} state=present    when: not openshift.common.is_atomic | bool -- name: Ensure docker.service.d directory exists -  file: -    path: "{{ docker_systemd_dir }}" -    state: directory - -# Extend the default Docker service unit file -- name: Configure Docker service unit file -  template: -    dest: "{{ docker_systemd_dir }}/custom.conf" -    src: custom.conf.j2 +- block: +  # Extend the default Docker service unit file when using iptables-services +  - name: Ensure docker.service.d directory exists +    file: +      path: "{{ docker_systemd_dir }}" +      state: directory + +  - name: Configure Docker service unit file +    template: +      dest: "{{ docker_systemd_dir }}/custom.conf" +      src: custom.conf.j2 +  when: not os_firewall_use_firewalld | default(True) | bool  - include: udev_workaround.yml    when: docker_udev_workaround | default(False) | bool diff --git a/roles/openshift_hosted/meta/main.yml b/roles/openshift_hosted/meta/main.yml index 74c50ae1d..ca5e88b15 100644 --- a/roles/openshift_hosted/meta/main.yml +++ b/roles/openshift_hosted/meta/main.yml @@ -11,4 +11,23 @@ galaxy_info:      - 7    categories:    - cloud -dependencies: [] +dependencies: +- role: openshift_cli +- role: openshift_hosted_facts +- role: openshift_projects +  openshift_projects: "{{ openshift_additional_projects | default({}) | oo_merge_dicts({'default':{'default_node_selector':''},'openshift-infra':{'default_node_selector':''},'logging':{'default_node_selector':''}}) }}" +- role: openshift_serviceaccounts +  openshift_serviceaccounts_names: +  - router +  openshift_serviceaccounts_namespace: default +  openshift_serviceaccounts_sccs: +  - hostnetwork +  when: openshift.common.version_gte_3_2_or_1_2 +- role: openshift_serviceaccounts +  openshift_serviceaccounts_names: +  - router +  - registry +  openshift_serviceaccounts_namespace: default +  openshift_serviceaccounts_sccs: +  - privileged +  when: not openshift.common.version_gte_3_2_or_1_2 diff --git a/roles/openshift_master/meta/main.yml b/roles/openshift_master/meta/main.yml index 7457e4378..3a595b2d1 100644 --- a/roles/openshift_master/meta/main.yml +++ b/roles/openshift_master/meta/main.yml @@ -11,4 +11,33 @@ galaxy_info:      - 7    categories:    - cloud -dependencies: [] +dependencies: +- role: openshift_master_facts +- role: openshift_hosted_facts +- role: openshift_master_certificates +- role: openshift_etcd_client_certificates +  etcd_cert_subdir: "openshift-master-{{ openshift.common.hostname }}" +  etcd_cert_config_dir: "{{ openshift.common.config_base }}/master" +  etcd_cert_prefix: "master.etcd-" +  when: groups.oo_etcd_to_config | default([]) | length != 0 +- role: openshift_clock +- role: openshift_cloud_provider +- role: openshift_builddefaults +- role: os_firewall +  os_firewall_allow: +  - service: api server https +    port: "{{ openshift.master.api_port }}/tcp" +  - service: api controllers https +    port: "{{ openshift.master.controllers_port }}/tcp" +  - service: skydns tcp +    port: "{{ openshift.master.dns_port }}/tcp" +  - service: skydns udp +    port: "{{ openshift.master.dns_port }}/udp" +- role: os_firewall +  os_firewall_allow: +  - service: etcd embedded +    port: 4001/tcp +  when: groups.oo_etcd_to_config | default([]) | length == 0 +- role: nickhammond.logrotate +- role: nuage_master +  when: openshift.common.use_nuage | bool diff --git a/roles/openshift_master_facts/lookup_plugins/openshift_master_facts_default_predicates.py b/roles/openshift_master_facts/lookup_plugins/openshift_master_facts_default_predicates.py index b0984b004..29a59a0d3 100644 --- a/roles/openshift_master_facts/lookup_plugins/openshift_master_facts_default_predicates.py +++ b/roles/openshift_master_facts/lookup_plugins/openshift_master_facts_default_predicates.py @@ -40,10 +40,10 @@ class LookupModule(LookupBase):                  # pylint: disable=line-too-long                  raise AnsibleError("Either OpenShift needs to be installed or openshift_release needs to be specified")          if deployment_type == 'origin': -            if short_version not in ['1.1', '1.2', '1.3', '1.4', '1.5', '1.6']: +            if short_version not in ['1.1', '1.2', '1.3', '1.4', '1.5', '1.6', 'latest']:                  raise AnsibleError("Unknown short_version %s" % short_version)          elif deployment_type == 'openshift-enterprise': -            if short_version not in ['3.1', '3.2', '3.3', '3.4', '3.5', '3.6']: +            if short_version not in ['3.1', '3.2', '3.3', '3.4', '3.5', '3.6', 'latest']:                  raise AnsibleError("Unknown short_version %s" % short_version)          else:              raise AnsibleError("Unknown deployment_type %s" % deployment_type) diff --git a/roles/openshift_master_facts/lookup_plugins/openshift_master_facts_default_priorities.py b/roles/openshift_master_facts/lookup_plugins/openshift_master_facts_default_priorities.py index 4d6572dae..36022597f 100644 --- a/roles/openshift_master_facts/lookup_plugins/openshift_master_facts_default_priorities.py +++ b/roles/openshift_master_facts/lookup_plugins/openshift_master_facts_default_priorities.py @@ -45,10 +45,10 @@ class LookupModule(LookupBase):                  raise AnsibleError("Either OpenShift needs to be installed or openshift_release needs to be specified")          if deployment_type == 'origin': -            if short_version not in ['1.1', '1.2', '1.3', '1.4', '1.5', '1.6']: +            if short_version not in ['1.1', '1.2', '1.3', '1.4', '1.5', '1.6', 'latest']:                  raise AnsibleError("Unknown short_version %s" % short_version)          elif deployment_type == 'openshift-enterprise': -            if short_version not in ['3.1', '3.2', '3.3', '3.4', '3.5', '3.6']: +            if short_version not in ['3.1', '3.2', '3.3', '3.4', '3.5', '3.6', 'latest']:                  raise AnsibleError("Unknown short_version %s" % short_version)          else:              raise AnsibleError("Unknown deployment_type %s" % deployment_type) diff --git a/roles/openshift_node/meta/main.yml b/roles/openshift_node/meta/main.yml index c39269f33..56dee2958 100644 --- a/roles/openshift_node/meta/main.yml +++ b/roles/openshift_node/meta/main.yml @@ -11,4 +11,26 @@ galaxy_info:      - 7    categories:    - cloud -dependencies: [] +dependencies: +- role: openshift_common +- role: openshift_clock +- role: openshift_docker +- role: openshift_node_certificates +- role: openshift_cloud_provider +- role: openshift_node_dnsmasq +  when: openshift.common.use_dnsmasq | bool +- role: os_firewall +  os_firewall_allow: +  - service: Kubernetes kubelet +    port: 10250/tcp +  - service: http +    port: 80/tcp +  - service: https +    port: 443/tcp +  - service: Openshift kubelet ReadOnlyPort +    port: 10255/tcp +  - service: Openshift kubelet ReadOnlyPort udp +    port: 10255/udp +  - service: OpenShift OVS sdn +    port: 4789/udp +    when: openshift.node.use_openshift_sdn | bool diff --git a/roles/openshift_version/tasks/set_version_containerized.yml b/roles/openshift_version/tasks/set_version_containerized.yml index 718537287..cd0f20ae9 100644 --- a/roles/openshift_version/tasks/set_version_containerized.yml +++ b/roles/openshift_version/tasks/set_version_containerized.yml @@ -1,8 +1,9 @@  ---  - name: Set containerized version to configure if openshift_image_tag specified    set_fact: -    # Expects a leading "v" in inventory, strip it off here: -    openshift_version: "{{ openshift_image_tag[1:].split('-')[0] }}" +    # Expects a leading "v" in inventory, strip it off here unless +    # openshift_image_tag=latest +    openshift_version: "{{ openshift_image_tag[1:].split('-')[0] if openshift_image_tag != 'latest' else openshift_image_tag }}"    when: openshift_image_tag is defined and openshift_version is not defined  - name: Set containerized version to configure if openshift_release specified diff --git a/roles/os_firewall/README.md b/roles/os_firewall/README.md index c13c5dfc9..43db3cc74 100644 --- a/roles/os_firewall/README.md +++ b/roles/os_firewall/README.md @@ -4,6 +4,9 @@ OS Firewall  OS Firewall manages firewalld and iptables firewall settings for a minimal use  case (Adding/Removing rules based on protocol and port number). +Note: firewalld is not supported on Atomic Host +https://bugzilla.redhat.com/show_bug.cgi?id=1403331 +  Requirements  ------------ @@ -14,7 +17,7 @@ Role Variables  | Name                      | Default |                                        |  |---------------------------|---------|----------------------------------------| -| os_firewall_use_firewalld | False   | If false, use iptables                 | +| os_firewall_use_firewalld | True    | If false, use iptables                 |  | os_firewall_allow         | []      | List of service,port mappings to allow |  | os_firewall_deny          | []      | List of service, port mappings to deny | @@ -31,6 +34,7 @@ Use iptables and open tcp ports 80 and 443:  ---  - hosts: servers    vars: +    os_firewall_use_firewalld: false      os_firewall_allow:      - service: httpd        port: 80/tcp @@ -45,7 +49,6 @@ Use firewalld and open tcp port 443 and close previously open tcp port 80:  ---  - hosts: servers    vars: -    os_firewall_use_firewalld: true      os_firewall_allow:      - service: https        port: 443/tcp diff --git a/roles/os_firewall/defaults/main.yml b/roles/os_firewall/defaults/main.yml index c870a301a..4c544122f 100644 --- a/roles/os_firewall/defaults/main.yml +++ b/roles/os_firewall/defaults/main.yml @@ -1,9 +1,7 @@  ---  os_firewall_enabled: True -# TODO: Upstream kubernetes only supports iptables currently -# TODO: it might be possible to still use firewalld if we wire up the created -# chains with the public zone (or the zone associated with the correct -# interfaces) -os_firewall_use_firewalld: False +# firewalld is not supported on Atomic Host +# https://bugzilla.redhat.com/show_bug.cgi?id=1403331 +os_firewall_use_firewalld: "{{ False if openshift.common.is_atomic | bool else True }}"  os_firewall_allow: []  os_firewall_deny: [] diff --git a/roles/os_firewall/tasks/main.yml b/roles/os_firewall/tasks/main.yml index 076e5e311..20efe5b0d 100644 --- a/roles/os_firewall/tasks/main.yml +++ b/roles/os_firewall/tasks/main.yml @@ -1,4 +1,10 @@  --- +- name: Assert - Do not use firewalld on Atomic Host +  assert: +    that: not os_firewall_use_firewalld | bool +    msg: "Firewalld is not supported on Atomic Host" +  when: openshift.common.is_atomic | bool +  - include: firewall/firewalld.yml    when: os_firewall_enabled | bool and os_firewall_use_firewalld | bool  | 
