tripleo-quickstart-extras/roles/build-images/templates/overcloud-image-build.sh.j2

44 lines
1.5 KiB
Django/Jinja

#!/bin/bash
# script to build overcloud images
set -eux
{% if build_image_isolated|bool %}
# NOTE(trown): DIB expects /dev/pts to exist and libguestfs is not mounting the guest with it
# so we just manually mount it in the guest
# This will be fixed when https://www.redhat.com/archives/libguestfs/2016-December/msg00024.html
# is available in CentOS version of libguestfs
# This fix is now available in 7.4 libguestfs-1.36.3-6.el7_4.3.x86_64
# so workaround was modified to work with both.
mkdir -p /dev/pts
mount devpts /dev/pts -t devpts ||:
{% endif %}
sudo yum -y install python-tripleoclient
# TODO(gcerami): remove after https://bugs.launchpad.net/tripleo/+bug/1818305
# has a root cause
export DIB_DEBUG_TRACE=1
export DIB_YUM_REPO_CONF=""
{% for repo_path in overcloud_repo_paths %}
export DIB_YUM_REPO_CONF="$DIB_YUM_REPO_CONF {{ repo_path }}"
{% endfor %}
{% if base_image_url is defined and base_image_path is defined %}
curl -Lo {{ base_image_path }} {{ base_image_url }}
export DIB_LOCAL_IMAGE={{ base_image_path }}
{% endif %}
{# note(trown): there was not support in tripleoclient for YAML config images in Newton #}
{% if release == 'newton'-%}
tripleo-build-images \
{% for yaml_path in image_build_yaml_paths -%}
--image-config-file {{ yaml_path }} \
{% endfor -%}
{% else -%}
openstack overcloud image build{% if not skip_build_images %} --no-skip{% endif %} \
{% for yaml_path in image_build_yaml_paths -%}
--config-file {{ yaml_path }} \
{% endfor -%}
{% endif -%}