Release Support: OpenStack Pike

This PS adds support for OpenStack Pike.

Change-Id: I5ed4df112d7b71493417ef7d655dd57df5213306
Signed-off-by: Pete Birley <pete@port.direct>
This commit is contained in:
Pete Birley 2018-05-17 22:43:08 -05:00
parent fc9a6610d5
commit a4fa9b761e
4 changed files with 381 additions and 0 deletions

View File

@ -84,6 +84,18 @@
- ^.*\.rst$
- ^doc/.*$
- ^releasenotes/.*$
- openstack-helm-pike-loci-deploy-ceph:
voting: false
irrelevant-files:
- ^.*\.rst$
- ^doc/.*$
- ^releasenotes/.*$
- openstack-helm-pike-kolla-deploy-ceph:
voting: false
irrelevant-files:
- ^.*\.rst$
- ^doc/.*$
- ^releasenotes/.*$
gate:
jobs:
- openstack-helm-linter:
@ -271,6 +283,20 @@
parent: openstack-helm-dev-deploy
run: tools/gate/playbooks/dev-deploy-ceph.yaml
- job:
name: openstack-helm-pike-loci-deploy-ceph
vars:
zuul_osh_extra_helm_args_relative_path: --values=./tools/overrides/releases/pike/loci.yaml
parent: openstack-helm-dev-deploy
run: tools/gate/playbooks/dev-deploy-ceph.yaml
- job:
name: openstack-helm-pike-kolla-deploy-ceph
vars:
zuul_osh_extra_helm_args_relative_path: --values=./tools/overrides/releases/pike/kolla.yaml
parent: openstack-helm-dev-deploy
run: tools/gate/playbooks/dev-deploy-ceph.yaml
- job:
timeout: 10800
name: openstack-helm-multinode-tempest

View File

@ -0,0 +1,172 @@
#!/bin/bash
set -ex
OPENSTACK_VERSION="stable/pike"
IMAGE_TAG="${OPENSTACK_VERSION#*/}"
sudo docker run -d \
--name docker-in-docker \
--privileged=true \
--net=host \
-v /var/lib/docker \
-v ${HOME}/.docker/config.json:/root/.docker/config.json:ro\
docker.io/docker:17.07.0-dind \
dockerd \
--pidfile=/var/run/docker.pid \
--host=unix:///var/run/docker.sock \
--storage-driver=overlay2
sudo docker exec docker-in-docker apk update
sudo docker exec docker-in-docker apk add git
sudo docker exec docker-in-docker docker build --force-rm --pull --no-cache \
https://git.openstack.org/openstack/loci.git \
--network host \
--build-arg FROM=gcr.io/google_containers/ubuntu-slim:0.14 \
--build-arg PROJECT=requirements \
--build-arg PROJECT_REF=${OPENSTACK_VERSION} \
--tag docker.io/openstackhelm/requirements:${IMAGE_TAG}
sudo docker exec docker-in-docker docker push docker.io/openstackhelm/requirements:${IMAGE_TAG}
sudo docker exec docker-in-docker docker build --force-rm --pull --no-cache \
https://git.openstack.org/openstack/loci.git \
--build-arg PROJECT=keystone \
--build-arg FROM=gcr.io/google_containers/ubuntu-slim:0.14 \
--build-arg PROJECT_REF=${OPENSTACK_VERSION} \
--build-arg PROFILES="apache ldap" \
--build-arg PIP_PACKAGES="pycrypto python-openstackclient" \
--build-arg WHEELS=openstackhelm/requirements:${IMAGE_TAG} \
--tag docker.io/openstackhelm/keystone:${IMAGE_TAG}
sudo docker exec docker-in-docker docker push docker.io/openstackhelm/keystone:${IMAGE_TAG}
sudo docker exec docker-in-docker docker build --force-rm --pull --no-cache \
https://git.openstack.org/openstack/loci.git \
--build-arg PROJECT=heat \
--build-arg FROM=gcr.io/google_containers/ubuntu-slim:0.14 \
--build-arg PROJECT_REF=${OPENSTACK_VERSION} \
--build-arg PROFILES="apache" \
--build-arg PIP_PACKAGES="pycrypto" \
--build-arg DIST_PACKAGES="curl" \
--build-arg WHEELS=openstackhelm/requirements:${IMAGE_TAG} \
--tag docker.io/openstackhelm/heat:${IMAGE_TAG}
sudo docker exec docker-in-docker docker push docker.io/openstackhelm/heat:${IMAGE_TAG}
sudo docker exec docker-in-docker docker build --force-rm --pull --no-cache \
https://git.openstack.org/openstack/loci.git \
--build-arg PROJECT=barbican \
--build-arg FROM=gcr.io/google_containers/ubuntu-slim:0.14 \
--build-arg PROJECT_REF=${OPENSTACK_VERSION} \
--build-arg PIP_PACKAGES="pycrypto" \
--build-arg WHEELS=openstackhelm/requirements:${IMAGE_TAG} \
--tag docker.io/openstackhelm/barbican:${IMAGE_TAG}
sudo docker exec docker-in-docker docker push docker.io/openstackhelm/barbican:${IMAGE_TAG}
sudo docker exec docker-in-docker docker build --force-rm --pull --no-cache \
https://git.openstack.org/openstack/loci.git \
--build-arg PROJECT=glance \
--build-arg FROM=gcr.io/google_containers/ubuntu-slim:0.14 \
--build-arg PROJECT_REF=${OPENSTACK_VERSION} \
--build-arg PROFILES="glance ceph" \
--build-arg PIP_PACKAGES="pycrypto python-swiftclient" \
--build-arg WHEELS=openstackhelm/requirements:${IMAGE_TAG} \
--tag docker.io/openstackhelm/glance:${IMAGE_TAG}
sudo docker exec docker-in-docker docker push docker.io/openstackhelm/glance:${IMAGE_TAG}
sudo docker exec docker-in-docker docker build --force-rm --pull --no-cache \
https://git.openstack.org/openstack/loci.git \
--build-arg PROJECT=cinder \
--build-arg FROM=gcr.io/google_containers/ubuntu-slim:0.14 \
--build-arg PROJECT_REF=${OPENSTACK_VERSION} \
--build-arg PROFILES="cinder lvm ceph qemu" \
--build-arg PIP_PACKAGES="pycrypto python-swiftclient" \
--build-arg WHEELS=openstackhelm/requirements:${IMAGE_TAG} \
--tag docker.io/openstackhelm/cinder:${IMAGE_TAG}
sudo docker exec docker-in-docker docker push docker.io/openstackhelm/cinder:${IMAGE_TAG}
sudo docker exec docker-in-docker docker build --force-rm --pull --no-cache \
https://git.openstack.org/openstack/loci.git \
--build-arg PROJECT=neutron \
--build-arg FROM=gcr.io/google_containers/ubuntu-slim:0.14 \
--build-arg PROJECT_REF=${OPENSTACK_VERSION} \
--build-arg PROFILES="neutron linuxbridge openvswitch" \
--build-arg PIP_PACKAGES="pycrypto" \
--build-arg WHEELS=openstackhelm/requirements:${IMAGE_TAG} \
--tag docker.io/openstackhelm/neutron:${IMAGE_TAG}
sudo docker exec docker-in-docker docker push docker.io/openstackhelm/neutron:${IMAGE_TAG}
sudo docker exec docker-in-docker docker build --force-rm --pull --no-cache \
https://git.openstack.org/openstack/loci.git \
--build-arg PROJECT=neutron \
--build-arg FROM=docker.io/ubuntu:18.04 \
--build-arg PROJECT_REF=${OPENSTACK_VERSION} \
--build-arg PROFILES="neutron linuxbridge openvswitch" \
--build-arg PIP_PACKAGES="pycrypto" \
--build-arg DIST_PACKAGES="ethtool lshw" \
--build-arg WHEELS=openstackhelm/requirements:${IMAGE_TAG} \
--tag docker.io/openstackhelm/neutron:${IMAGE_TAG}-sriov-1804
sudo docker exec docker-in-docker docker push docker.io/openstackhelm/neutron:${IMAGE_TAG}-sriov-1804
sudo docker exec docker-in-docker docker build --force-rm --pull --no-cache \
https://git.openstack.org/openstack/loci.git \
--build-arg PROJECT=nova \
--build-arg FROM=gcr.io/google_containers/ubuntu-slim:0.14 \
--build-arg PROJECT_REF=${OPENSTACK_VERSION} \
--build-arg PROFILES="nova ceph linuxbridge openvswitch configdrive qemu apache" \
--build-arg PIP_PACKAGES="pycrypto" \
--build-arg WHEELS=openstackhelm/requirements:${IMAGE_TAG} \
--tag docker.io/openstackhelm/nova:${IMAGE_TAG}
sudo docker exec docker-in-docker docker push docker.io/openstackhelm/nova:${IMAGE_TAG}
sudo docker exec docker-in-docker docker build --force-rm --pull --no-cache \
https://git.openstack.org/openstack/loci.git \
--build-arg PROJECT=horizon \
--build-arg FROM=gcr.io/google_containers/ubuntu-slim:0.14 \
--build-arg PROJECT_REF=${OPENSTACK_VERSION} \
--build-arg PROFILES="horizon apache" \
--build-arg PIP_PACKAGES="pycrypto" \
--build-arg WHEELS=openstackhelm/requirements:${IMAGE_TAG} \
--tag docker.io/openstackhelm/horizon:${IMAGE_TAG}
sudo docker exec docker-in-docker docker push docker.io/openstackhelm/horizon:${IMAGE_TAG}
sudo docker exec docker-in-docker docker build --force-rm --pull --no-cache \
https://git.openstack.org/openstack/loci.git \
--build-arg PROJECT=senlin \
--build-arg FROM=gcr.io/google_containers/ubuntu-slim:0.14 \
--build-arg PROJECT_REF=${OPENSTACK_VERSION} \
--build-arg PROFILES="senlin" \
--build-arg PIP_PACKAGES="pycrypto" \
--build-arg WHEELS=openstackhelm/requirements:${IMAGE_TAG} \
--tag docker.io/openstackhelm/senlin:${IMAGE_TAG}
sudo docker exec docker-in-docker docker push docker.io/openstackhelm/senlin:${IMAGE_TAG}
sudo docker exec docker-in-docker docker build --force-rm --pull --no-cache \
https://git.openstack.org/openstack/loci.git \
--build-arg PROJECT=congress \
--build-arg FROM=gcr.io/google_containers/ubuntu-slim:0.14 \
--build-arg PROJECT_REF=${OPENSTACK_VERSION} \
--build-arg PROFILES="congress" \
--build-arg PIP_PACKAGES="pycrypto python-congressclient" \
--build-arg WHEELS=openstackhelm/requirements:${IMAGE_TAG} \
--tag docker.io/openstackhelm/congress:${IMAGE_TAG}
sudo docker exec docker-in-docker docker push docker.io/openstackhelm/congress:${IMAGE_TAG}
sudo docker exec docker-in-docker docker build --force-rm --pull --no-cache \
https://git.openstack.org/openstack/loci.git \
--build-arg PROJECT=magnum \
--build-arg FROM=gcr.io/google_containers/ubuntu-slim:0.14 \
--build-arg PROJECT_REF=${OPENSTACK_VERSION} \
--build-arg PROFILES="magnum" \
--build-arg PIP_PACKAGES="pycrypto" \
--build-arg WHEELS=openstackhelm/requirements:${IMAGE_TAG} \
--tag docker.io/openstackhelm/magnum:${IMAGE_TAG}
sudo docker exec docker-in-docker docker push docker.io/openstackhelm/magnum:${IMAGE_TAG}
sudo docker exec docker-in-docker docker build --force-rm --pull --no-cache \
https://git.openstack.org/openstack/loci.git \
--build-arg PROJECT=ironic \
--build-arg FROM=gcr.io/google_containers/ubuntu-slim:0.14 \
--build-arg PROJECT_REF=${OPENSTACK_VERSION} \
--build-arg PROFILES="ironic ipxe ipmi qemu tftp" \
--build-arg PIP_PACKAGES="pycrypto" \
--build-arg DIST_PACKAGES="iproute2" \
--build-arg WHEELS=openstackhelm/requirements:${IMAGE_TAG} \
--tag docker.io/openstackhelm/ironic:${IMAGE_TAG}
sudo docker exec docker-in-docker docker push docker.io/openstackhelm/ironic:${IMAGE_TAG}

View File

@ -0,0 +1,103 @@
conf:
neutron:
agent:
root_helper: sudo /var/lib/kolla/venv/bin/neutron-rootwrap /etc/neutron/rootwrap.conf
images:
tags:
barbican_api: 'docker.io/kolla/ubuntu-source-barbican-api:pike'
barbican_db_sync: 'docker.io/kolla/ubuntu-source-barbican-api:pike'
bootstrap: 'docker.io/kolla/ubuntu-source-heat-engine:pike'
cinder_api: 'docker.io/kolla/ubuntu-source-cinder-api:pike'
cinder_backup: 'docker.io/kolla/ubuntu-source-cinder-backup:pike'
cinder_db_sync: 'docker.io/kolla/ubuntu-source-cinder-api:pike'
cinder_scheduler: 'docker.io/kolla/ubuntu-source-cinder-scheduler:pike'
cinder_volume: 'docker.io/kolla/ubuntu-source-cinder-volume:pike'
cinder_volume_usage_audit: 'docker.io/kolla/ubuntu-source-cinder-volume:pike'
congress_api: 'docker.io/kolla/ubuntu-source-congress-api:pike'
congress_datasource: 'docker.io/kolla/ubuntu-source-congress-datasource:pike'
congress_db_sync: 'docker.io/kolla/ubuntu-source-congress-api:pike'
congress_ds_create: 'docker.io/kolla/ubuntu-source-congress-api:pike'
congress_policy_engine: 'docker.io/kolla/ubuntu-source-congress-policy-engine:pike'
congress_scripted_test: 'docker.io/kolla/ubuntu-source-congress-api:pike'
db_drop: 'docker.io/kolla/ubuntu-source-heat-engine:pike'
db_init: 'docker.io/kolla/ubuntu-source-heat-engine:pike'
glance_api: 'docker.io/kolla/ubuntu-source-glance-api:pike'
glance_bootstrap: 'docker.io/kolla/ubuntu-source-heat-engine:pike'
glance_db_sync: 'docker.io/kolla/ubuntu-source-glance-api:pike'
glance_registry: 'docker.io/kolla/ubuntu-source-glance-registry:pike'
heat_api: 'docker.io/kolla/ubuntu-source-heat-api:pike'
heat_cfn: 'docker.io/kolla/ubuntu-source-heat-api:pike'
heat_cloudwatch: 'docker.io/kolla/ubuntu-source-heat-api:pike'
heat_db_sync: 'docker.io/kolla/ubuntu-source-heat-api:pike'
heat_engine: 'docker.io/kolla/ubuntu-source-heat-engine:pike'
heat_engine_cleaner: 'docker.io/kolla/ubuntu-source-heat-engine:pike'
horizon: 'docker.io/kolla/ubuntu-source-horizon:pike'
horizon_db_sync: 'docker.io/kolla/ubuntu-source-horizon:pike'
ironic_api: 'docker.io/kolla/ubuntu-source-ironic-api:pike'
ironic_bootstrap: 'docker.io/kolla/ubuntu-source-heat-engine:pike'
ironic_conductor: 'docker.io/kolla/ubuntu-source-ironic-conductor:pike'
ironic_db_sync: 'docker.io/kolla/ubuntu-source-ironic-api:pike'
ironic_pxe: 'docker.io/kolla/ubuntu-source-ironic-pxe:pike'
ironic_pxe_init: 'docker.io/kolla/ubuntu-source-ironic-pxe:pike'
keystone_api: 'docker.io/kolla/ubuntu-source-keystone:pike'
keystone_bootstrap: 'docker.io/kolla/ubuntu-source-keystone:pike'
keystone_credential_rotate: 'docker.io/kolla/ubuntu-source-keystone:pike'
keystone_credential_setup: 'docker.io/kolla/ubuntu-source-keystone:pike'
keystone_db_sync: 'docker.io/kolla/ubuntu-source-keystone:pike'
keystone_domain_manage: 'docker.io/kolla/ubuntu-source-keystone:pike'
keystone_fernet_rotate: 'docker.io/kolla/ubuntu-source-keystone:pike'
keystone_fernet_setup: 'docker.io/kolla/ubuntu-source-keystone:pike'
ks_endpoints: 'docker.io/kolla/ubuntu-source-heat-engine:pike'
ks_service: 'docker.io/kolla/ubuntu-source-heat-engine:pike'
ks_user: 'docker.io/kolla/ubuntu-source-heat-engine:pike'
magnum_api: 'docker.io/kolla/ubuntu-source-magnum-api:pike'
magnum_conductor: 'docker.io/kolla/ubuntu-source-magnum-conductor:pike'
magnum_db_sync: 'docker.io/kolla/ubuntu-source-magnum-api:pike'
neutron_db_sync: 'docker.io/kolla/ubuntu-source-neutron-server:pike'
neutron_dhcp: 'docker.io/kolla/ubuntu-source-neutron-dhcp-agent:pike'
neutron_l3: 'docker.io/kolla/ubuntu-source-neutron-l3-agent:pike'
neutron_linuxbridge_agent: 'docker.io/kolla/ubuntu-source-neutron-linuxbridge-agent:pike'
neutron_metadata: 'docker.io/kolla/ubuntu-source-neutron-metadata-agent:pike'
neutron_openvswitch_agent: 'docker.io/kolla/ubuntu-source-neutron-openvswitch-agent:pike'
neutron_server: 'docker.io/kolla/ubuntu-source-neutron-server:pike'
nova_api: 'docker.io/kolla/ubuntu-source-nova-api:pike'
nova_cell_setup: 'docker.io/kolla/ubuntu-source-nova-api:pike'
nova_compute: 'docker.io/kolla/ubuntu-source-nova-compute:pike'
nova_compute_ironic: 'docker.io/kolla/ubuntu-source-nova-compute-ironic:pike'
nova_compute_ssh: 'docker.io/kolla/ubuntu-source-nova-ssh:pike'
nova_conductor: 'docker.io/kolla/ubuntu-source-nova-conductor:pike'
nova_consoleauth: 'docker.io/kolla/ubuntu-source-nova-consoleauth:pike'
nova_db_sync: 'docker.io/kolla/ubuntu-source-nova-api:pike'
nova_novncproxy: 'docker.io/kolla/ubuntu-source-nova-novncproxy:pike'
nova_novncproxy_assets: 'docker.io/kolla/ubuntu-source-nova-novncproxy:pike'
nova_placement: 'docker.io/kolla/ubuntu-source-nova-placement-api:pike'
nova_scheduler: 'docker.io/kolla/ubuntu-source-nova-scheduler:pike'
nova_spiceproxy: 'docker.io/kolla/ubuntu-source-nova-spicehtml5proxy:pike'
nova_spiceproxy_assets: 'docker.io/kolla/ubuntu-source-nova-spicehtml5proxy:pike'
scripted_test: 'docker.io/kolla/ubuntu-source-heat-engine:pike'
senlin_api: 'docker.io/kolla/ubuntu-source-senlin-api:pike'
senlin_db_sync: 'docker.io/kolla/ubuntu-source-senlin-api:pike'
senlin_engine: 'docker.io/kolla/ubuntu-source-senlin-engine:pike'
tempest: 'docker.io/kolla/ubuntu-source-tempest:pike'
test: 'docker.io/kolla/ubuntu-source-rally:pike'
pod:
#NOTE(portdirect): see https://github.com/openstack/kolla/blob/f62f5ae2fa5e7808722f9b37b48a50b39c20b46d/kolla/common/config.py#L695-L998
user:
barbican:
uid: 42403
cinder:
uid: 42407
congress:
uid: 42410
glance:
uid: 42415
heat:
uid: 42418
magnum:
uid: 42428
neutron:
uid: 42435
nova:
uid: 42436
senlin:
uid: 42443

View File

@ -0,0 +1,80 @@
images:
tags:
barbican_api: 'docker.io/openstackhelm/barbican:pike'
barbican_db_sync: 'docker.io/openstackhelm/barbican:pike'
bootstrap: 'docker.io/openstackhelm/heat:pike'
cinder_api: 'docker.io/openstackhelm/cinder:pike'
cinder_backup: 'docker.io/openstackhelm/cinder:pike'
cinder_db_sync: 'docker.io/openstackhelm/cinder:pike'
cinder_scheduler: 'docker.io/openstackhelm/cinder:pike'
cinder_volume: 'docker.io/openstackhelm/cinder:pike'
cinder_volume_usage_audit: 'docker.io/openstackhelm/cinder:pike'
congress_api: 'docker.io/openstackhelm/congress:pike'
congress_datasource: 'docker.io/openstackhelm/congress:pike'
congress_db_sync: 'docker.io/openstackhelm/congress:pike'
congress_ds_create: 'docker.io/openstackhelm/congress:pike'
congress_policy_engine: 'docker.io/openstackhelm/congress:pike'
congress_scripted_test: 'docker.io/openstackhelm/congress:pike'
db_drop: 'docker.io/openstackhelm/heat:pike'
db_init: 'docker.io/openstackhelm/heat:pike'
glance_api: 'docker.io/openstackhelm/glance:pike'
glance_bootstrap: 'docker.io/openstackhelm/heat:pike'
glance_db_sync: 'docker.io/openstackhelm/glance:pike'
glance_registry: 'docker.io/openstackhelm/glance:pike'
heat_api: 'docker.io/openstackhelm/heat:pike'
heat_cfn: 'docker.io/openstackhelm/heat:pike'
heat_cloudwatch: 'docker.io/openstackhelm/heat:pike'
heat_db_sync: 'docker.io/openstackhelm/heat:pike'
heat_engine: 'docker.io/openstackhelm/heat:pike'
heat_engine_cleaner: 'docker.io/openstackhelm/heat:pike'
horizon: 'docker.io/openstackhelm/horizon:pike'
horizon_db_sync: 'docker.io/openstackhelm/horizon:pike'
ironic_api: 'docker.io/openstackhelm/ironic:pike'
ironic_bootstrap: 'docker.io/openstackhelm/ironic:pike'
ironic_conductor: 'docker.io/openstackhelm/ironic:pike'
ironic_db_sync: 'docker.io/openstackhelm/ironic:pike'
ironic_pxe: 'docker.io/openstackhelm/ironic:pike'
ironic_pxe_init: 'docker.io/openstackhelm/ironic:pike'
keystone_api: 'docker.io/openstackhelm/keystone:pike'
keystone_bootstrap: 'docker.io/openstackhelm/heat:pike'
keystone_credential_rotate: 'docker.io/openstackhelm/keystone:pike'
keystone_credential_setup: 'docker.io/openstackhelm/keystone:pike'
keystone_db_sync: 'docker.io/openstackhelm/keystone:pike'
keystone_domain_manage: 'docker.io/openstackhelm/keystone:pike'
keystone_fernet_rotate: 'docker.io/openstackhelm/keystone:pike'
keystone_fernet_setup: 'docker.io/openstackhelm/keystone:pike'
ks_endpoints: 'docker.io/openstackhelm/heat:pike'
ks_service: 'docker.io/openstackhelm/heat:pike'
ks_user: 'docker.io/openstackhelm/heat:pike'
magnum_api: 'docker.io/openstackhelm/magnum:pike'
magnum_conductor: 'docker.io/openstackhelm/magnum:pike'
magnum_db_sync: 'docker.io/openstackhelm/magnum:pike'
neutron_db_sync: 'docker.io/openstackhelm/neutron:pike'
neutron_dhcp: 'docker.io/openstackhelm/neutron:pike'
neutron_l3: 'docker.io/openstackhelm/neutron:pike'
neutron_linuxbridge_agent: 'docker.io/openstackhelm/neutron:pike'
neutron_metadata: 'docker.io/openstackhelm/neutron:pike'
neutron_openvswitch_agent: 'docker.io/openstackhelm/neutron:pike'
neutron_server: 'docker.io/openstackhelm/neutron:pike'
neutron_sriov_agent: 'docker.io/openstackhelm/neutron:pike-sriov-1804'
neutron_sriov_agent_init: 'docker.io/openstackhelm/neutron:pike-sriov-1804'
nova_api: 'docker.io/openstackhelm/nova:pike'
nova_cell_setup: 'docker.io/openstackhelm/nova:pike'
nova_compute: 'docker.io/openstackhelm/nova:pike'
nova_compute_ironic: 'docker.io/kolla/ubuntu-source-nova-compute-ironic:pike'
nova_compute_ssh: 'docker.io/openstackhelm/nova:pike'
nova_conductor: 'docker.io/openstackhelm/nova:pike'
nova_consoleauth: 'docker.io/openstackhelm/nova:pike'
nova_db_sync: 'docker.io/openstackhelm/nova:pike'
nova_novncproxy: 'docker.io/kolla/ubuntu-source-nova-novncproxy:pike'
nova_novncproxy_assets: 'docker.io/kolla/ubuntu-source-nova-novncproxy:pike'
nova_placement: 'docker.io/openstackhelm/nova:pike'
nova_scheduler: 'docker.io/openstackhelm/nova:pike'
nova_spiceproxy: 'docker.io/kolla/ubuntu-source-nova-spicehtml5proxy:pike'
nova_spiceproxy_assets: 'docker.io/kolla/ubuntu-source-nova-spicehtml5proxy:pike'
scripted_test: 'docker.io/openstackhelm/heat:pike'
senlin_api: 'docker.io/openstackhelm/senlin:pike'
senlin_db_sync: 'docker.io/openstackhelm/senlin:pike'
senlin_engine: 'docker.io/openstackhelm/senlin:pike'
tempest: 'docker.io/kolla/ubuntu-source-tempest:pike'
test: 'docker.io/kolla/ubuntu-source-rally:pike'