- hosts: primary tasks: - shell: cmd: | set -u set -e set -x cd ~ if [[ "{{ image_name }}" =~ ^(ubuntu-mesos|centos-dcos)$ ]]; then EXTRA_PROJECTS="openstack/tripleo-image-elements openstack/heat-templates" else EXTRA_PROJECTS="" fi /usr/zuul-env/bin/zuul-cloner --cache-dir /opt/git \ https://opendev.org \ openstack/diskimage-builder \ openstack/dib-utils \ openstack/magnum $EXTRA_PROJECTS virtualenv env ./env/bin/pip install $(pwd)/openstack/dib-utils ./env/bin/pip install $(pwd)/openstack/diskimage-builder # TODO(pabelanger): Remove once we migrated to bindep ./openstack/diskimage-builder/tests/install_test_deps.sh # activate the virtualenv so that any tools run by dib run # using the python inside it set +u source ./env/bin/activate set -u DIB_ELEMENTS=./openstack/diskimage-builder/diskimage_builder/elements if [ "{{ image_name }}" == "ubuntu-mesos" ]; then TRIPLEO_ELEMENTS=./openstack/tripleo-image-elements/elements HEAT_ELEMENTS=./openstack/heat-templates/hot/software-config/elements MESOS_ELEMENTS=./openstack/magnum/magnum/drivers/mesos_ubuntu_v1/image export ELEMENTS_PATH=$TRIPLEO_ELEMENTS:$HEAT_ELEMENTS:$MESOS_ELEMENTS $MESOS_ELEMENTS/install_imagebuild_deps.sh export DIB_RELEASE=trusty export DIB_IMAGE_SIZE=2.2 disk-image-create ubuntu vm docker mesos \ os-collect-config os-refresh-config os-apply-config \ heat-config heat-config-script -o $WORKSPACE/{{ image_name }}.qcow2 $MESOS_ELEMENTS/validate_image.sh $WORKSPACE/{{ image_name }}.qcow2 elif [ "{{ image_name }}" == "centos-dcos" ]; then DCOS_ELEMENTS=./openstack/magnum/contrib/drivers/dcos_centos_v1/image TRIPLEO_ELEMENTS=./openstack/tripleo-image-elements/elements HEAT_ELEMENTS=./openstack/heat-templates/hot/software-config/elements # Order matters, we need the docker elements from DCOS_ELEMENTS to be used first export ELEMENTS_PATH=$DCOS_ELEMENTS:$DIB_ELEMENTS:$TRIPLEO_ELEMENTS:$HEAT_ELEMENTS $DCOS_ELEMENTS/install_imagebuild_deps.sh export DIB_IMAGE_SIZE=3.0 export FS_TYPE=xfs curl -O https://downloads.dcos.io/dcos/stable/commit/e64024af95b62c632c90b9063ed06296fcf38ea5/dcos_generate_config.sh export DCOS_GENERATE_CONFIG_SRC=`pwd`/dcos_generate_config.sh disk-image-create \ centos7 vm docker dcos selinux-permissive \ os-collect-config os-refresh-config os-apply-config \ heat-config heat-config-script \ -o $WORKSPACE/{{ image_name }}.qcow2 #TODO: Add size validation else export ELEMENTS_PATH=$DIB_ELEMENTS export DIB_RELEASE="25" export DIB_IMAGE_SIZE=2.5 export FEDORA_ATOMIC_TREE_URL="https://kojipkgs.fedoraproject.org/atomic/25/" export FEDORA_ATOMIC_TREE_REF="8b15e9b988b4b02f4cb8b39bdd63d182ab7004a8926ecdac6314ee5c7ffa646b" disk-image-create -x -o $WORKSPACE/{{ image_name }}-dib fedora-atomic fi set +u deactivate set -u executable: /bin/bash chdir: '{{ ansible_user_dir }}/workspace' environment: '{{ zuul | zuul_legacy_vars }}'