summaryrefslogtreecommitdiffstats
path: root/roles
diff options
context:
space:
mode:
Diffstat (limited to 'roles')
-rw-r--r--roles/openshift_common/meta/main.yml3
-rw-r--r--roles/openshift_common/tasks/main.yml11
-rw-r--r--roles/openshift_version/tasks/set_version_containerized.yml1
-rw-r--r--roles/openshift_version/tasks/set_version_rpm.yml19
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