diff options
Diffstat (limited to 'roles')
| -rw-r--r-- | roles/openshift_common/meta/main.yml | 3 | ||||
| -rw-r--r-- | roles/openshift_common/tasks/main.yml | 11 | ||||
| -rw-r--r-- | roles/openshift_version/tasks/set_version_containerized.yml | 1 | ||||
| -rw-r--r-- | roles/openshift_version/tasks/set_version_rpm.yml | 19 | 
4 files changed, 22 insertions, 12 deletions
| diff --git a/roles/openshift_common/meta/main.yml b/roles/openshift_common/meta/main.yml index d3f8a343f..cd8c75ec5 100644 --- a/roles/openshift_common/meta/main.yml +++ b/roles/openshift_common/meta/main.yml @@ -13,4 +13,5 @@ galaxy_info:    - cloud  dependencies:  - role: openshift_facts -- role: openshift_docker +- role: openshift_repos +- role: openshift_version diff --git a/roles/openshift_common/tasks/main.yml b/roles/openshift_common/tasks/main.yml index d548daae6..4ec255dbc 100644 --- a/roles/openshift_common/tasks/main.yml +++ b/roles/openshift_common/tasks/main.yml @@ -29,6 +29,17 @@        data_dir: "{{ openshift_data_dir | default(None) }}"        use_dnsmasq: "{{ openshift_use_dnsmasq | default(None) }}" +# Using oo_image_tag_to_rpm_version here is a workaround for how +# openshift_version is set.  That value is computed based on either RPM +# versions or image tags.  openshift_common's usage requires that it be a RPM +# version and openshift_cli expects it to be an image tag. +- name: Install the base package for versioning +  action: "{{ ansible_pkg_mgr }} name={{ openshift.common.service_type }}{{ openshift_version | default('') | oo_image_tag_to_rpm_version(include_dash=True) }} state=present" +  when: not openshift.common.is_containerized | bool + +- name: Set version facts +  openshift_facts: +  # For enterprise versions < 3.1 and origin versions < 1.1 we want to set the  # hostname by default.  - set_fact: diff --git a/roles/openshift_version/tasks/set_version_containerized.yml b/roles/openshift_version/tasks/set_version_containerized.yml index f3eab4831..fc15b2d35 100644 --- a/roles/openshift_version/tasks/set_version_containerized.yml +++ b/roles/openshift_version/tasks/set_version_containerized.yml @@ -22,7 +22,6 @@    when: openshift_version is not defined  - debug: msg="{{ openshift_version }}" -#- debug: var=openshift_version.split('.')  # If we got an openshift_version like "3.2", lookup the latest 3.2 container version  # and use that value instead. diff --git a/roles/openshift_version/tasks/set_version_rpm.yml b/roles/openshift_version/tasks/set_version_rpm.yml index b201f24d8..bcf275135 100644 --- a/roles/openshift_version/tasks/set_version_rpm.yml +++ b/roles/openshift_version/tasks/set_version_rpm.yml @@ -7,17 +7,16 @@      openshift_version: "{{ openshift_pkg_version[1:].split('-')[0] }}"    when: openshift_pkg_version is defined and openshift_version is not defined -# We do not have as fine grained control over version to install presently with rpms, -# we just assume the user has configured the correct repos and install the rpm requested. -- name: Install latest rpm available in configured repos to check version -  action: "{{ ansible_pkg_mgr }} name={{ openshift.common.service_type }}{{ openshift_version | default('') | oo_image_tag_to_rpm_version(include_dash=True) }} state=present" +- name: Gather common package version +  command: > +    {{ repoquery_cmd }} --qf '%{version}' "{{ openshift.common.service_type}}" +  register: common_version +  failed_when: false +  changed_when: false    when: openshift_version is not defined -- name: Reload facts to pick up version -  openshift_facts: -  when: openshift_version is not defined +- debug: var=common_version -- name: Set rpm version to configure to latest available in repos -  set_fact: -    openshift_version: "{{ openshift.common.version }}" +- set_fact: +    openshift_version: "{{ common_version.stdout | default('0.0', True) }}"    when: openshift_version is not defined | 
