|
@@ -1080,13 +1080,9 @@ def get_openshift_version(facts, cli_image=None):
|
|
|
elif 'node' in facts:
|
|
|
container = facts['common']['service_type'] + '-node'
|
|
|
|
|
|
- if container is not None:
|
|
|
- exit_code, output, _ = module.run_command(['docker', 'exec', container, 'openshift', 'version'])
|
|
|
- # if for some reason the container is installed but not running
|
|
|
- # we'll fall back to using docker run later in this method.
|
|
|
- if exit_code == 0:
|
|
|
- version = parse_openshift_version(output)
|
|
|
-
|
|
|
+ # Try to get the version fromthe available cli image _before_ resorting
|
|
|
+ # to exec'ing in to the running container. This is to be more fault
|
|
|
+ # tolerant in environments where the container is not running.
|
|
|
if version is None and cli_image is not None:
|
|
|
# Assume we haven't installed the environment yet and we need
|
|
|
# to query the latest image, but only if docker is installed
|
|
@@ -1094,6 +1090,13 @@ def get_openshift_version(facts, cli_image=None):
|
|
|
exit_code, output, _ = module.run_command(['docker', 'run', '--rm', cli_image, 'version'])
|
|
|
version = parse_openshift_version(output)
|
|
|
|
|
|
+ if version is None and container is not None:
|
|
|
+ exit_code, output, _ = module.run_command(['docker', 'exec', container, 'openshift', 'version'])
|
|
|
+ # if for some reason the container is installed but not running
|
|
|
+ # we'll fall back to using docker run later in this method.
|
|
|
+ if exit_code == 0:
|
|
|
+ version = parse_openshift_version(output)
|
|
|
+
|
|
|
return version
|
|
|
|
|
|
def parse_openshift_version(output):
|
|
@@ -1351,7 +1354,7 @@ def set_container_facts_if_unset(facts):
|
|
|
facts['common']['admin_binary'] = '/usr/local/bin/oadm'
|
|
|
facts['common']['client_binary'] = '/usr/local/bin/oc'
|
|
|
openshift_version = get_openshift_version(facts, cli_image)
|
|
|
- if openshift_version is not None:
|
|
|
+ if openshift_version is not None and openshift_version is not "":
|
|
|
base_version = openshift_version.split('-')[0]
|
|
|
facts['common']['image_tag'] = "v" + base_version
|
|
|
|