Get osa container image from tripleo-common defaults

When using the tripleo-deploy-openshift script standalone, we want it
to default to the same image as what's used when calling the script
from TripleO. Parse the default values from the
container_image_prepare_defaults.yaml file and use them to construct
the URI of the openshift-ansible image instead of hardcoding it.

The script first search for the `container_image_prepare_defaults.yaml`
in the location of the rpm-installed tripleo-common, then relative to
the script in case of a tripleo-common checkout, and finally defaults
to the latest upstream image if the file cannot be found.

Change-Id: Ieb65bfcfb7f87599488344fbe91114e9d0a021fc
This commit is contained in:
Martin André
2019-01-07 10:03:44 +01:00
parent 8307c641e3
commit c85e5ed1de

View File

@@ -1,14 +1,31 @@
#!/bin/bash
build_default_image () {
if [ -f /usr/share/openstack-tripleo-common/common/container-images/container_image_prepare_defaults.yaml ]; then
local default_file=/usr/share/openstack-tripleo-common/common/container-images/container_image_prepare_defaults.yaml
elif [ -f ${BASH_SOURCE%/*}/../container-images/container_image_prepare_defaults.yaml ]; then
local default_file=${BASH_SOURCE%/*}/../container-images/container_image_prepare_defaults.yaml
else
echo "docker.io/openshift/origin-ansible:latest"
exit
fi
local namespace=$(awk '/openshift_namespace:/ {print $2}' $default_file)
local prefix=$(awk '/openshift_prefix:/ {print $2}' $default_file)
local tag=$(awk '/openshift_tag:/ {print $2}' $default_file)
echo ${namespace}/${prefix}-ansible:${tag}
}
OPENSHIFT_ANSIBLE_DEFAULT_IMAGE=$(build_default_image)
: ${CONFIG_DOWNLOAD_DIR:=}
: ${OPENSHIFT_ANSIBLE_IMAGE:=docker.io/openshift/origin-ansible:latest}
: ${OPENSHIFT_ANSIBLE_IMAGE:=$OPENSHIFT_ANSIBLE_DEFAULT_IMAGE}
usage () {
echo "Usage: $0 [options]"
echo ""
echo "Options:"
echo " -i, --image the openshift-ansible image tag to use. Default to"
echo " docker.io/openshift/origin-ansible:latest"
echo " -i, --image the openshift-ansible image tag to use. Defaults to"
echo " $OPENSHIFT_ANSIBLE_DEFAULT_IMAGE"
echo " -d, --config-download-dir the path to the config-download directory for openshift"
echo " -h, --help print this help and exit"
}