diff options
| author | Matt Bruzek <mbruzek@gmail.com> | 2018-01-18 15:27:13 -0600 | 
|---|---|---|
| committer | Matt Bruzek <mbruzek@gmail.com> | 2018-01-18 15:27:13 -0600 | 
| commit | cb581bfb67a53f887c4705d45fc7b0024a6816f9 (patch) | |
| tree | 9c351ddd9282f5d3d37c1189af0ac2ad444c0125 /roles/openshift_hosted | |
| parent | c7a1c448cbd64de98e1f097d14b58ee9f6ccf511 (diff) | |
| parent | 1a2a895356df638756d2117e3d324710167737db (diff) | |
| download | openshift-cb581bfb67a53f887c4705d45fc7b0024a6816f9.tar.gz openshift-cb581bfb67a53f887c4705d45fc7b0024a6816f9.tar.bz2 openshift-cb581bfb67a53f887c4705d45fc7b0024a6816f9.tar.xz openshift-cb581bfb67a53f887c4705d45fc7b0024a6816f9.zip  | |
Merge branch 'master' into mbruzek-openshift-openstack
Diffstat (limited to 'roles/openshift_hosted')
| -rw-r--r-- | roles/openshift_hosted/defaults/main.yml | 2 | ||||
| -rw-r--r-- | roles/openshift_hosted/filter_plugins/openshift_hosted_filters.py | 42 | ||||
| -rw-r--r-- | roles/openshift_hosted/meta/main.yml | 2 | ||||
| -rw-r--r-- | roles/openshift_hosted/tasks/main.yml | 4 | ||||
| -rw-r--r-- | roles/openshift_hosted/tasks/registry.yml | 25 | ||||
| -rw-r--r-- | roles/openshift_hosted/tasks/registry_storage.yml | 4 | ||||
| -rw-r--r-- | roles/openshift_hosted/tasks/router.yml | 15 | ||||
| -rw-r--r-- | roles/openshift_hosted/tasks/storage/glusterfs.yml | 2 | ||||
| -rw-r--r-- | roles/openshift_hosted/tasks/storage/glusterfs_endpoints.yml | 15 | ||||
| -rw-r--r-- | roles/openshift_hosted/tasks/wait_for_pod.yml | 12 | 
10 files changed, 36 insertions, 87 deletions
diff --git a/roles/openshift_hosted/defaults/main.yml b/roles/openshift_hosted/defaults/main.yml index b6501d288..f40085976 100644 --- a/roles/openshift_hosted/defaults/main.yml +++ b/roles/openshift_hosted/defaults/main.yml @@ -69,7 +69,7 @@ r_openshift_hosted_router_os_firewall_allow: []  ############  openshift_hosted_registry_selector: "{{ openshift_registry_selector | default(openshift_hosted_infra_selector) }}" -penshift_hosted_registry_registryurl: "{{ openshift_hosted_images_dict[openshift_deployment_type] }}" +openshift_hosted_registry_registryurl: "{{ openshift_hosted_images_dict[openshift_deployment_type] }}"  openshift_hosted_registry_routecertificates: {}  openshift_hosted_registry_routetermination: "passthrough" diff --git a/roles/openshift_hosted/filter_plugins/openshift_hosted_filters.py b/roles/openshift_hosted/filter_plugins/openshift_hosted_filters.py deleted file mode 100644 index 003ce5f9e..000000000 --- a/roles/openshift_hosted/filter_plugins/openshift_hosted_filters.py +++ /dev/null @@ -1,42 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- -''' -Custom filters for use in openshift_hosted -''' - - -class FilterModule(object): -    ''' Custom ansible filters for use by openshift_hosted role''' - -    @staticmethod -    def get_router_replicas(replicas=None, router_nodes=None): -        ''' This function will return the number of replicas -            based on the results from the defined -            openshift_hosted_router_replicas OR -            the query from oc_obj on openshift nodes with a selector OR -            default to 1 - -        ''' -        # We always use what they've specified if they've specified a value -        if replicas is not None: -            return replicas - -        replicas = 1 - -        # Ignore boolean expression limit of 5. -        # pylint: disable=too-many-boolean-expressions -        if (isinstance(router_nodes, dict) and -                'results' in router_nodes and -                'results' in router_nodes['results'] and -                isinstance(router_nodes['results']['results'], list) and -                len(router_nodes['results']['results']) > 0 and -                'items' in router_nodes['results']['results'][0]): - -            if len(router_nodes['results']['results'][0]['items']) > 0: -                replicas = len(router_nodes['results']['results'][0]['items']) - -        return replicas - -    def filters(self): -        ''' returns a mapping of filters to methods ''' -        return {'get_router_replicas': self.get_router_replicas} diff --git a/roles/openshift_hosted/meta/main.yml b/roles/openshift_hosted/meta/main.yml index ac9e241a5..ace2d15b0 100644 --- a/roles/openshift_hosted/meta/main.yml +++ b/roles/openshift_hosted/meta/main.yml @@ -14,4 +14,4 @@ galaxy_info:  dependencies:  - role: openshift_facts  - role: lib_openshift -- role: lib_os_firewall +- role: lib_utils diff --git a/roles/openshift_hosted/tasks/main.yml b/roles/openshift_hosted/tasks/main.yml index d306adf42..57f59f872 100644 --- a/roles/openshift_hosted/tasks/main.yml +++ b/roles/openshift_hosted/tasks/main.yml @@ -1,6 +1,6 @@  --- -# This role is intended to be used with include_role. -# include_role: +# This role is intended to be used with import_role. +# import_role:  #   name:  openshift_hosted  #   tasks_from: "{{ item }}"  # with_items: diff --git a/roles/openshift_hosted/tasks/registry.yml b/roles/openshift_hosted/tasks/registry.yml index 429f0c514..22294e3d4 100644 --- a/roles/openshift_hosted/tasks/registry.yml +++ b/roles/openshift_hosted/tasks/registry.yml @@ -1,10 +1,4 @@  --- -- name: Create temp directory for doing work in -  command: mktemp -d /tmp/openshift-hosted-ansible-XXXXXX -  register: mktempHosted -  changed_when: False -  check_mode: no -  - name: setup firewall    import_tasks: firewall.yml    vars: @@ -132,25 +126,10 @@      edits: "{{ openshift_hosted_registry_edits }}"      force: "{{ True|bool in openshift_hosted_registry_force }}" +# TODO(michaelgugino) remove this set fact.  It is currently necessary due to +# custom module not properly templating variables.  - name: setup registry list    set_fact:      r_openshift_hosted_registry_list:      - name: "{{ openshift_hosted_registry_name }}"        namespace: "{{ openshift_hosted_registry_namespace }}" - -- name: Wait for pod (Registry) -  include_tasks: wait_for_pod.yml -  vars: -    l_openshift_hosted_wait_for_pod: "{{ openshift_hosted_registry_wait }}" -    l_openshift_hosted_wfp_items: "{{ r_openshift_hosted_registry_list }}" - -- include_tasks: storage/glusterfs.yml -  when: -  - openshift_hosted_registry_storage_kind | default(none) == 'glusterfs' or openshift_hosted_registry_storage_glusterfs_swap - -- name: Delete temp directory -  file: -    name: "{{ mktempHosted.stdout }}" -    state: absent -  changed_when: False -  check_mode: no diff --git a/roles/openshift_hosted/tasks/registry_storage.yml b/roles/openshift_hosted/tasks/registry_storage.yml new file mode 100644 index 000000000..aa66a7867 --- /dev/null +++ b/roles/openshift_hosted/tasks/registry_storage.yml @@ -0,0 +1,4 @@ +--- +- include_tasks: storage/glusterfs.yml +  when: +  - openshift_hosted_registry_storage_kind | default(none) == 'glusterfs' or openshift_hosted_registry_storage_glusterfs_swap diff --git a/roles/openshift_hosted/tasks/router.yml b/roles/openshift_hosted/tasks/router.yml index 4e9219477..c2be00d19 100644 --- a/roles/openshift_hosted/tasks/router.yml +++ b/roles/openshift_hosted/tasks/router.yml @@ -18,6 +18,7 @@  - name: set_fact replicas    set_fact: +    # get_router_replicas is a custom filter in role lib_utils      replicas: "{{ openshift_hosted_router_replicas | default(None) | get_router_replicas(router_nodes) }}"  - name: Get the certificate contents for router @@ -25,10 +26,10 @@      backup: True      dest: "/etc/origin/master/{{ item | basename }}"      src: "{{ item }}" -  with_items: "{{ openshift_hosted_routers | oo_collect(attribute='certificate') | -                  oo_select_keys_from_list(['keyfile', 'certfile', 'cafile']) }}" +  with_items: "{{ openshift_hosted_routers | lib_utils_oo_collect(attribute='certificate') | +                  lib_utils_oo_select_keys_from_list(['keyfile', 'certfile', 'cafile']) }}"    when: ( not openshift_hosted_router_create_certificate | bool ) or openshift_hosted_router_certificate != {} or -        (  openshift_hosted_routers | oo_collect(attribute='certificate') | oo_select_keys_from_list(['keyfile', 'certfile', 'cafile'])|length > 0 ) +        (  openshift_hosted_routers | lib_utils_oo_collect(attribute='certificate') | lib_utils_oo_select_keys_from_list(['keyfile', 'certfile', 'cafile'])|length > 0 )  # This is for when we desire a cluster signed cert @@ -55,7 +56,7 @@    when:    - openshift_hosted_router_create_certificate | bool    - openshift_hosted_router_certificate == {} -  - openshift_hosted_routers | oo_collect(attribute='certificate') | oo_select_keys_from_list(['keyfile', 'certfile', 'cafile'])|length == 0 +  - openshift_hosted_routers | lib_utils_oo_collect(attribute='certificate') | lib_utils_oo_select_keys_from_list(['keyfile', 'certfile', 'cafile'])|length == 0  - name: Create the router service account(s)    oc_serviceaccount: @@ -98,9 +99,3 @@      ports: "{{ item.ports }}"      stats_port: "{{ item.stats_port }}"    with_items: "{{ openshift_hosted_routers }}" - -- name: Wait for pod (Routers) -  include_tasks: wait_for_pod.yml -  vars: -    l_openshift_hosted_wait_for_pod: "{{ openshift_hosted_router_wait }}" -    l_openshift_hosted_wfp_items: "{{ openshift_hosted_routers }}" diff --git a/roles/openshift_hosted/tasks/storage/glusterfs.yml b/roles/openshift_hosted/tasks/storage/glusterfs.yml index 18b2edcc6..b39c44b01 100644 --- a/roles/openshift_hosted/tasks/storage/glusterfs.yml +++ b/roles/openshift_hosted/tasks/storage/glusterfs.yml @@ -17,7 +17,7 @@    until:    - "registry_pods.results.results[0]['items'] | count > 0"    # There must be as many matching pods with 'Ready' status True as there are expected replicas -  - "registry_pods.results.results[0]['items'] | oo_collect(attribute='status.conditions') | oo_collect(attribute='status', filters={'type': 'Ready'}) | map('bool') | select | list | count == openshift_hosted_registry_replicas | default(l_default_replicas) | int" +  - "registry_pods.results.results[0]['items'] | lib_utils_oo_collect(attribute='status.conditions') | lib_utils_oo_collect(attribute='status', filters={'type': 'Ready'}) | map('bool') | select | list | count == openshift_hosted_registry_replicas | default(l_default_replicas) | int"    delay: 10    retries: "{{ (600 / 10) | int }}" diff --git a/roles/openshift_hosted/tasks/storage/glusterfs_endpoints.yml b/roles/openshift_hosted/tasks/storage/glusterfs_endpoints.yml index bd7181c17..fef945d51 100644 --- a/roles/openshift_hosted/tasks/storage/glusterfs_endpoints.yml +++ b/roles/openshift_hosted/tasks/storage/glusterfs_endpoints.yml @@ -1,4 +1,10 @@  --- +- name: Create temp directory for doing work in +  command: mktemp -d /tmp/openshift-hosted-ansible-XXXXXX +  register: mktempHosted +  changed_when: False +  check_mode: no +  - name: Generate GlusterFS registry endpoints    template:      src: "{{ openshift.common.examples_content_version }}/glusterfs-registry-endpoints.yml.j2" @@ -10,7 +16,14 @@      dest: "{{ mktempHosted.stdout }}/glusterfs-registry-service.yml"  - name: Create GlusterFS registry service and endpoint -  command: "{{ openshift.common.client_binary }} apply -f {{ item }} -n {{ openshift_hosted_registry_namespace | default('default') }}" +  command: "{{ openshift_client_binary }} apply -f {{ item }} -n {{ openshift_hosted_registry_namespace | default('default') }}"    with_items:    - "{{ mktempHosted.stdout }}/glusterfs-registry-service.yml"    - "{{ mktempHosted.stdout }}/glusterfs-registry-endpoints.yml" + +- name: Delete temp directory +  file: +    name: "{{ mktempHosted.stdout }}" +    state: absent +  changed_when: False +  check_mode: no diff --git a/roles/openshift_hosted/tasks/wait_for_pod.yml b/roles/openshift_hosted/tasks/wait_for_pod.yml index 056c79334..a14b0febc 100644 --- a/roles/openshift_hosted/tasks/wait_for_pod.yml +++ b/roles/openshift_hosted/tasks/wait_for_pod.yml @@ -3,17 +3,17 @@    block:    - name: Ensure OpenShift pod correctly rolls out (best-effort today)      command: | -      {{ openshift.common.client_binary }} rollout status deploymentconfig {{ item.name }} \ +      {{ openshift_client_binary }} rollout status deploymentconfig {{ item.name }} \                          --namespace {{ item.namespace | default('default') }} \                          --config {{ openshift_master_config_dir }}/admin.kubeconfig      async: 600 -    poll: 15 +    poll: 5      with_items: "{{ l_openshift_hosted_wfp_items }}"      failed_when: false    - name: Determine the latest version of the OpenShift pod deployment      command: | -      {{ openshift.common.client_binary }} get deploymentconfig {{ item.name }} \ +      {{ openshift_client_binary }} get deploymentconfig {{ item.name }} \               --namespace {{ item.namespace }} \               --config {{ openshift_master_config_dir }}/admin.kubeconfig \               -o jsonpath='{ .status.latestVersion }' @@ -22,14 +22,14 @@    - name: Poll for OpenShift pod deployment success      command: | -      {{ openshift.common.client_binary }} get replicationcontroller {{ item.0.name }}-{{ item.1.stdout }} \ +      {{ openshift_client_binary }} get replicationcontroller {{ item.0.name }}-{{ item.1.stdout }} \               --namespace {{ item.0.namespace }} \               --config {{ openshift_master_config_dir }}/admin.kubeconfig \               -o jsonpath='{ .metadata.annotations.openshift\.io/deployment\.phase }'      register: openshift_hosted_wfp_rc_phase      until: "'Running' not in openshift_hosted_wfp_rc_phase.stdout" -    delay: 15 -    retries: 40 +    delay: 5 +    retries: 60      failed_when: "'Failed' in openshift_hosted_wfp_rc_phase.stdout"      with_together:      - "{{ l_openshift_hosted_wfp_items }}"  | 
