summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott Dodson <sdodson@redhat.com>2016-04-25 12:52:43 -0400
committerScott Dodson <sdodson@redhat.com>2016-04-25 13:58:33 -0400
commitb90fb397908c4e5f9001724e7f8ddcc25f4ffdea (patch)
tree13e79f1befe7a2011fbece21233317b30d8dba85
parent04b52454275572f9d09e76c6ce46bdd60aa46c72 (diff)
downloadopenshift-b90fb397908c4e5f9001724e7f8ddcc25f4ffdea.tar.gz
openshift-b90fb397908c4e5f9001724e7f8ddcc25f4ffdea.tar.bz2
openshift-b90fb397908c4e5f9001724e7f8ddcc25f4ffdea.tar.xz
openshift-b90fb397908c4e5f9001724e7f8ddcc25f4ffdea.zip
Fix image version handling for v1.2.0-rc1
-rw-r--r--filter_plugins/oo_filters.py7
-rw-r--r--roles/openshift_docker/tasks/main.yml5
2 files changed, 8 insertions, 4 deletions
diff --git a/filter_plugins/oo_filters.py b/filter_plugins/oo_filters.py
index 3da4562ac..0f54d8a0a 100644
--- a/filter_plugins/oo_filters.py
+++ b/filter_plugins/oo_filters.py
@@ -820,15 +820,18 @@ class FilterModule(object):
def oo_image_tag_to_rpm_version(version, include_dash=False):
""" Convert an image tag string to an RPM version if necessary
Empty strings and strings that are already in rpm version format
- are ignored.
+ are ignored. Also remove non semantic version components.
Ex. v3.2.0.10 -> -3.2.0.10
+ v1.2.0-rc1 -> -1.2.0
"""
if not isinstance(version, basestring):
raise errors.AnsibleFilterError("|failed expects a string or unicode")
-
+ # TODO: Do we need to make this actually convert v1.2.0-rc1 into 1.2.0-0.rc1
+ # We'd need to be really strict about how we build the RPM Version+Release
if version.startswith("v"):
version = version.replace("v", "")
+ version = version.split('-')[0]
if include_dash:
version = "-" + version
diff --git a/roles/openshift_docker/tasks/main.yml b/roles/openshift_docker/tasks/main.yml
index 23613b762..c4cf2b17a 100644
--- a/roles/openshift_docker/tasks/main.yml
+++ b/roles/openshift_docker/tasks/main.yml
@@ -9,7 +9,8 @@
when: openshift.common.is_containerized is defined and openshift.common.is_containerized | bool and openshift_image_tag is not defined
- set_fact:
- l_image_tag: "{{ cli_image_version.stdout_lines[0].split(' ')[1].split('-')[0] }}"
+ l_image_tag: "{{ cli_image_version.stdout_lines[0].split(' ')[1].split('-')[0:2] | join('-') if openshift.common.deployment_type == 'origin' else
+ cli_image_version.stdout_lines[0].split(' ')[1].split('-')[0] }}"
when: openshift.common.is_containerized is defined and openshift.common.is_containerized | bool and openshift_image_tag is not defined
- set_fact:
@@ -24,5 +25,5 @@
- role: docker
local_facts:
openshift_image_tag: "{{ l_image_tag }}"
- openshift_version: "{{ l_image_tag if l_image_tag is defined else '' | oo_image_tag_to_rpm_version }}"
+ openshift_version: "{{ l_image_tag.split('-')[0] if l_image_tag is defined else '' | oo_image_tag_to_rpm_version }}"
when: openshift.common.is_containerized is defined and openshift.common.is_containerized | bool