Merge "Gate: Ocata gates"
This commit is contained in:
commit
2825b03714
26
.zuul.yaml
26
.zuul.yaml
@ -74,6 +74,18 @@
|
|||||||
- ^.*\.rst$
|
- ^.*\.rst$
|
||||||
- ^doc/.*$
|
- ^doc/.*$
|
||||||
- ^releasenotes/.*$
|
- ^releasenotes/.*$
|
||||||
|
- openstack-helm-ocata-loci-deploy-ceph:
|
||||||
|
voting: false
|
||||||
|
irrelevant-files:
|
||||||
|
- ^.*\.rst$
|
||||||
|
- ^doc/.*$
|
||||||
|
- ^releasenotes/.*$
|
||||||
|
- openstack-helm-ocata-kolla-deploy-ceph:
|
||||||
|
voting: false
|
||||||
|
irrelevant-files:
|
||||||
|
- ^.*\.rst$
|
||||||
|
- ^doc/.*$
|
||||||
|
- ^releasenotes/.*$
|
||||||
gate:
|
gate:
|
||||||
jobs:
|
jobs:
|
||||||
- openstack-helm-linter:
|
- openstack-helm-linter:
|
||||||
@ -206,3 +218,17 @@
|
|||||||
zuul_osh_extra_helm_args_relative_path: --values=./tools/overrides/releases/newton/kolla.yaml
|
zuul_osh_extra_helm_args_relative_path: --values=./tools/overrides/releases/newton/kolla.yaml
|
||||||
parent: openstack-helm-dev-deploy
|
parent: openstack-helm-dev-deploy
|
||||||
run: tools/gate/playbooks/dev-deploy-ceph.yaml
|
run: tools/gate/playbooks/dev-deploy-ceph.yaml
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: openstack-helm-ocata-loci-deploy-ceph
|
||||||
|
vars:
|
||||||
|
zuul_osh_extra_helm_args_relative_path: --values=./tools/overrides/releases/ocata/loci.yaml
|
||||||
|
parent: openstack-helm-dev-deploy
|
||||||
|
run: tools/gate/playbooks/dev-deploy-ceph.yaml
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: openstack-helm-ocata-kolla-deploy-ceph
|
||||||
|
vars:
|
||||||
|
zuul_osh_extra_helm_args_relative_path: --values=./tools/overrides/releases/ocata/kolla.yaml
|
||||||
|
parent: openstack-helm-dev-deploy
|
||||||
|
run: tools/gate/playbooks/dev-deploy-ceph.yaml
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -ex
|
set -ex
|
||||||
|
OPENSTACK_VERSION="newton-eol"
|
||||||
|
IMAGE_TAG="newton"
|
||||||
|
|
||||||
sudo docker run -d \
|
sudo docker run -d \
|
||||||
--name docker-in-docker \
|
--name docker-in-docker \
|
||||||
@ -21,122 +23,128 @@ sudo docker exec docker-in-docker docker build --force-rm --pull --no-cache \
|
|||||||
--build-arg FROM=gcr.io/google_containers/ubuntu-slim:0.14 \
|
--build-arg FROM=gcr.io/google_containers/ubuntu-slim:0.14 \
|
||||||
--build-arg PROJECT=requirements \
|
--build-arg PROJECT=requirements \
|
||||||
--build-arg PROJECT_REF=stable/newton \
|
--build-arg PROJECT_REF=stable/newton \
|
||||||
--tag docker.io/openstackhelm/requirements:newton
|
--tag docker.io/openstackhelm/requirements:${IMAGE_TAG}
|
||||||
sudo docker exec docker-in-docker docker push docker.io/openstackhelm/requirements:newton
|
sudo docker exec docker-in-docker docker push docker.io/openstackhelm/requirements:${IMAGE_TAG}
|
||||||
|
|
||||||
sudo docker exec docker-in-docker docker build https://git.openstack.org/openstack/loci.git \
|
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 PROJECT=keystone \
|
||||||
--build-arg FROM=gcr.io/google_containers/ubuntu-slim:0.14 \
|
--build-arg FROM=gcr.io/google_containers/ubuntu-slim:0.14 \
|
||||||
--build-arg PROJECT_REF=newton-eol \
|
--build-arg PROJECT_REF=${OPENSTACK_VERSION} \
|
||||||
--build-arg PROFILES="apache" \
|
--build-arg PROFILES="apache" \
|
||||||
--build-arg PIP_PACKAGES="pycrypto" \
|
--build-arg PIP_PACKAGES="pycrypto python-openstackclient" \
|
||||||
--build-arg WHEELS=openstackhelm/requirements:newton \
|
--build-arg WHEELS=openstackhelm/requirements:${IMAGE_TAG} \
|
||||||
--tag docker.io/openstackhelm/keystone:newton
|
--tag docker.io/openstackhelm/keystone:${IMAGE_TAG}
|
||||||
sudo docker exec docker-in-docker docker push docker.io/openstackhelm/keystone:newton
|
sudo docker exec docker-in-docker docker push docker.io/openstackhelm/keystone:${IMAGE_TAG}
|
||||||
|
|
||||||
sudo docker exec docker-in-docker docker build https://git.openstack.org/openstack/loci.git \
|
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 PROJECT=heat \
|
||||||
--build-arg FROM=gcr.io/google_containers/ubuntu-slim:0.14 \
|
--build-arg FROM=gcr.io/google_containers/ubuntu-slim:0.14 \
|
||||||
--build-arg PROJECT_REF=newton-eol \
|
--build-arg PROJECT_REF=${OPENSTACK_VERSION} \
|
||||||
--build-arg PROFILES="apache" \
|
--build-arg PROFILES="apache" \
|
||||||
--build-arg PIP_PACKAGES="pycrypto" \
|
--build-arg PIP_PACKAGES="pycrypto" \
|
||||||
--build-arg DIST_PACKAGES="curl" \
|
--build-arg DIST_PACKAGES="curl" \
|
||||||
--build-arg WHEELS=openstackhelm/requirements:newton \
|
--build-arg WHEELS=openstackhelm/requirements:${IMAGE_TAG} \
|
||||||
--tag docker.io/openstackhelm/heat:newton
|
--tag docker.io/openstackhelm/heat:${IMAGE_TAG}
|
||||||
sudo docker exec docker-in-docker docker push docker.io/openstackhelm/heat:newton
|
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 \
|
sudo docker exec docker-in-docker docker build --force-rm --pull --no-cache \
|
||||||
https://git.openstack.org/openstack/loci.git \
|
https://git.openstack.org/openstack/loci.git \
|
||||||
--build-arg PROJECT=glance \
|
--build-arg PROJECT=glance \
|
||||||
--build-arg FROM=gcr.io/google_containers/ubuntu-slim:0.14 \
|
--build-arg FROM=gcr.io/google_containers/ubuntu-slim:0.14 \
|
||||||
--build-arg PROJECT_REF=newton-eol \
|
--build-arg PROJECT_REF=${OPENSTACK_VERSION} \
|
||||||
--build-arg PROFILES="glance ceph" \
|
--build-arg PROFILES="glance ceph" \
|
||||||
--build-arg PIP_PACKAGES="pycrypto python-swiftclient" \
|
--build-arg PIP_PACKAGES="pycrypto python-swiftclient" \
|
||||||
--build-arg WHEELS=openstackhelm/requirements:newton \
|
--build-arg WHEELS=openstackhelm/requirements:${IMAGE_TAG} \
|
||||||
--tag docker.io/openstackhelm/glance:newton
|
--tag docker.io/openstackhelm/glance:${IMAGE_TAG}
|
||||||
sudo docker exec docker-in-docker docker push docker.io/openstackhelm/glance:newton
|
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 \
|
sudo docker exec docker-in-docker docker build --force-rm --pull --no-cache \
|
||||||
https://git.openstack.org/openstack/loci.git \
|
https://git.openstack.org/openstack/loci.git \
|
||||||
--build-arg PROJECT=cinder \
|
--build-arg PROJECT=cinder \
|
||||||
--build-arg FROM=gcr.io/google_containers/ubuntu-slim:0.14 \
|
--build-arg FROM=gcr.io/google_containers/ubuntu-slim:0.14 \
|
||||||
--build-arg PROJECT_REF=newton-eol \
|
--build-arg PROJECT_REF=${OPENSTACK_VERSION} \
|
||||||
--build-arg PROFILES="cinder lvm ceph" \
|
--build-arg PROFILES="cinder lvm ceph" \
|
||||||
--build-arg PIP_PACKAGES="pycrypto python-swiftclient" \
|
--build-arg PIP_PACKAGES="pycrypto python-swiftclient" \
|
||||||
--build-arg WHEELS=openstackhelm/requirements:newton \
|
--build-arg WHEELS=openstackhelm/requirements:${IMAGE_TAG} \
|
||||||
--tag docker.io/openstackhelm/cinder:newton
|
--tag docker.io/openstackhelm/cinder:${IMAGE_TAG}
|
||||||
sudo docker exec docker-in-docker docker push docker.io/openstackhelm/cinder:newton
|
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 \
|
sudo docker exec docker-in-docker docker build --force-rm --pull --no-cache \
|
||||||
https://git.openstack.org/openstack/loci.git \
|
https://git.openstack.org/openstack/loci.git \
|
||||||
--build-arg PROJECT=neutron \
|
--build-arg PROJECT=neutron \
|
||||||
--build-arg FROM=gcr.io/google_containers/ubuntu-slim:0.14 \
|
--build-arg FROM=gcr.io/google_containers/ubuntu-slim:0.14 \
|
||||||
--build-arg PROJECT_REF=newton-eol \
|
--build-arg PROJECT_REF=${OPENSTACK_VERSION} \
|
||||||
--build-arg PROFILES="neutron linuxbridge openvswitch" \
|
--build-arg PROFILES="neutron linuxbridge openvswitch" \
|
||||||
--build-arg PIP_PACKAGES="pycrypto" \
|
--build-arg PIP_PACKAGES="pycrypto" \
|
||||||
--build-arg WHEELS=openstackhelm/requirements:newton \
|
--build-arg WHEELS=openstackhelm/requirements:${IMAGE_TAG} \
|
||||||
--tag docker.io/openstackhelm/neutron:newton
|
--tag docker.io/openstackhelm/neutron:${IMAGE_TAG}
|
||||||
sudo docker exec docker-in-docker docker push docker.io/openstackhelm/neutron:newton
|
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 \
|
sudo docker exec docker-in-docker docker build --force-rm --pull --no-cache \
|
||||||
https://git.openstack.org/openstack/loci.git \
|
https://git.openstack.org/openstack/loci.git \
|
||||||
--build-arg PROJECT=nova \
|
--build-arg PROJECT=nova \
|
||||||
--build-arg FROM=gcr.io/google_containers/ubuntu-slim:0.14 \
|
--build-arg FROM=gcr.io/google_containers/ubuntu-slim:0.14 \
|
||||||
--build-arg PROJECT_REF=stable/newton \
|
--build-arg PROJECT_REF=${OPENSTACK_VERSION} \
|
||||||
--build-arg PROFILES="nova ceph linuxbridge openvswitch configdrive qemu apache" \
|
--build-arg PROFILES="nova ceph linuxbridge openvswitch configdrive qemu apache" \
|
||||||
--build-arg PIP_PACKAGES="pycrypto" \
|
--build-arg PIP_PACKAGES="pycrypto" \
|
||||||
--build-arg WHEELS=openstackhelm/requirements:newton \
|
--build-arg WHEELS=openstackhelm/requirements:${IMAGE_TAG} \
|
||||||
--tag docker.io/openstackhelm/nova:newton
|
--tag docker.io/openstackhelm/nova:${IMAGE_TAG}
|
||||||
sudo docker exec docker-in-docker docker push docker.io/openstackhelm/nova:newton
|
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 \
|
sudo docker exec docker-in-docker docker build --force-rm --pull --no-cache \
|
||||||
https://git.openstack.org/openstack/loci.git \
|
https://git.openstack.org/openstack/loci.git \
|
||||||
--build-arg PROJECT=horizon \
|
--build-arg PROJECT=horizon \
|
||||||
--build-arg FROM=gcr.io/google_containers/ubuntu-slim:0.14 \
|
--build-arg FROM=gcr.io/google_containers/ubuntu-slim:0.14 \
|
||||||
--build-arg PROJECT_REF=newton-eol \
|
--build-arg PROJECT_REF=${OPENSTACK_VERSION} \
|
||||||
--build-arg PROFILES="horizon apache" \
|
--build-arg PROFILES="horizon apache" \
|
||||||
--build-arg PIP_PACKAGES="pycrypto" \
|
--build-arg PIP_PACKAGES="pycrypto" \
|
||||||
--build-arg WHEELS=openstackhelm/requirements:newton \
|
--build-arg WHEELS=openstackhelm/requirements:${IMAGE_TAG} \
|
||||||
--tag docker.io/openstackhelm/horizon:newton
|
--tag docker.io/openstackhelm/horizon:${IMAGE_TAG}
|
||||||
sudo docker exec docker-in-docker docker push docker.io/openstackhelm/horizon:newton
|
sudo docker exec docker-in-docker docker push docker.io/openstackhelm/horizon:${IMAGE_TAG}
|
||||||
|
|
||||||
sudo docker exec docker-in-docker docker build https://git.openstack.org/openstack/loci.git \
|
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 PROJECT=senlin \
|
||||||
--build-arg FROM=gcr.io/google_containers/ubuntu-slim:0.14 \
|
--build-arg FROM=gcr.io/google_containers/ubuntu-slim:0.14 \
|
||||||
--build-arg PROJECT_REF=newton-eol \
|
--build-arg PROJECT_REF=${OPENSTACK_VERSION} \
|
||||||
--build-arg PROFILES="senlin" \
|
--build-arg PROFILES="senlin" \
|
||||||
--build-arg PIP_PACKAGES="pycrypto" \
|
--build-arg PIP_PACKAGES="pycrypto" \
|
||||||
--build-arg WHEELS=openstackhelm/requirements:newton \
|
--build-arg WHEELS=openstackhelm/requirements:${IMAGE_TAG} \
|
||||||
--tag docker.io/openstackhelm/senlin:newton
|
--tag docker.io/openstackhelm/senlin:${IMAGE_TAG}
|
||||||
sudo docker exec docker-in-docker docker push docker.io/openstackhelm/senlin:newton
|
sudo docker exec docker-in-docker docker push docker.io/openstackhelm/senlin:${IMAGE_TAG}
|
||||||
|
|
||||||
sudo docker exec docker-in-docker docker build https://git.openstack.org/openstack/loci.git \
|
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 PROJECT=congress \
|
||||||
--build-arg FROM=gcr.io/google_containers/ubuntu-slim:0.14 \
|
--build-arg FROM=gcr.io/google_containers/ubuntu-slim:0.14 \
|
||||||
--build-arg PROJECT_REF=newton-eol \
|
--build-arg PROJECT_REF=${OPENSTACK_VERSION} \
|
||||||
--build-arg PROFILES="congress" \
|
--build-arg PROFILES="congress" \
|
||||||
--build-arg PIP_PACKAGES="pycrypto python-congressclient" \
|
--build-arg PIP_PACKAGES="pycrypto python-congressclient" \
|
||||||
--build-arg WHEELS=openstackhelm/requirements:newton \
|
--build-arg WHEELS=openstackhelm/requirements:${IMAGE_TAG} \
|
||||||
--tag docker.io/openstackhelm/congress:newton
|
--tag docker.io/openstackhelm/congress:${IMAGE_TAG}
|
||||||
sudo docker exec docker-in-docker docker push docker.io/openstackhelm/congress:newton
|
sudo docker exec docker-in-docker docker push docker.io/openstackhelm/congress:${IMAGE_TAG}
|
||||||
|
|
||||||
sudo docker exec docker-in-docker docker build https://git.openstack.org/openstack/loci.git \
|
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 PROJECT=magnum \
|
||||||
--build-arg FROM=gcr.io/google_containers/ubuntu-slim:0.14 \
|
--build-arg FROM=gcr.io/google_containers/ubuntu-slim:0.14 \
|
||||||
--build-arg PROJECT_REF=newton-eol \
|
--build-arg PROJECT_REF=${OPENSTACK_VERSION} \
|
||||||
--build-arg PROFILES="magnum" \
|
--build-arg PROFILES="magnum" \
|
||||||
--build-arg PIP_PACKAGES="pycrypto" \
|
--build-arg PIP_PACKAGES="pycrypto" \
|
||||||
--build-arg WHEELS=openstackhelm/requirements:newton \
|
--build-arg WHEELS=openstackhelm/requirements:${IMAGE_TAG} \
|
||||||
--tag docker.io/openstackhelm/magnum:newton
|
--tag docker.io/openstackhelm/magnum:${IMAGE_TAG}
|
||||||
sudo docker exec docker-in-docker docker push docker.io/openstackhelm/magnum:newton
|
sudo docker exec docker-in-docker docker push docker.io/openstackhelm/magnum:${IMAGE_TAG}
|
||||||
|
|
||||||
sudo docker exec docker-in-docker docker build https://git.openstack.org/openstack/loci.git \
|
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 PROJECT=ironic \
|
||||||
--build-arg FROM=gcr.io/google_containers/ubuntu-slim:0.14 \
|
--build-arg FROM=gcr.io/google_containers/ubuntu-slim:0.14 \
|
||||||
--build-arg PROJECT_REF=newton-eol \
|
--build-arg PROJECT_REF=${OPENSTACK_VERSION} \
|
||||||
--build-arg PROFILES="ironic ipxe" \
|
--build-arg PROFILES="ironic ipxe ipmi qemu tftp" \
|
||||||
--build-arg PIP_PACKAGES="pycrypto" \
|
--build-arg PIP_PACKAGES="pycrypto" \
|
||||||
--build-arg DIST_PACKAGES="iproute2 tftpd-hpa ipmitool qemu-utils" \
|
--build-arg DIST_PACKAGES="iproute2" \
|
||||||
--build-arg WHEELS=openstackhelm/requirements:newton \
|
--build-arg WHEELS=openstackhelm/requirements:${IMAGE_TAG} \
|
||||||
--tag docker.io/openstackhelm/ironic:newton
|
--tag docker.io/openstackhelm/ironic:${IMAGE_TAG}
|
||||||
sudo docker exec docker-in-docker docker push docker.io/openstackhelm/ironic:newton
|
sudo docker exec docker-in-docker docker push docker.io/openstackhelm/ironic:${IMAGE_TAG}
|
150
tools/images/openstack/ocata/loci.sh
Normal file
150
tools/images/openstack/ocata/loci.sh
Normal file
@ -0,0 +1,150 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -ex
|
||||||
|
OPENSTACK_VERSION="stable/ocata"
|
||||||
|
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" \
|
||||||
|
--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=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" \
|
||||||
|
--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=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}
|
100
tools/overrides/releases/ocata/kolla.yaml
Normal file
100
tools/overrides/releases/ocata/kolla.yaml
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
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:ocata'
|
||||||
|
barbican_db_sync: 'docker.io/kolla/ubuntu-source-barbican-api:ocata'
|
||||||
|
bootstrap: 'docker.io/kolla/ubuntu-source-heat-engine:ocata'
|
||||||
|
cinder_api: 'docker.io/kolla/ubuntu-source-cinder-api:ocata'
|
||||||
|
cinder_backup: 'docker.io/kolla/ubuntu-source-cinder-backup:ocata'
|
||||||
|
cinder_db_sync: 'docker.io/kolla/ubuntu-source-cinder-api:ocata'
|
||||||
|
cinder_scheduler: 'docker.io/kolla/ubuntu-source-cinder-scheduler:ocata'
|
||||||
|
cinder_volume: 'docker.io/kolla/ubuntu-source-cinder-volume:ocata'
|
||||||
|
cinder_volume_usage_audit: 'docker.io/kolla/ubuntu-source-cinder-volume:ocata'
|
||||||
|
congress_api: 'docker.io/kolla/ubuntu-source-congress-api:ocata'
|
||||||
|
congress_datasource: 'docker.io/kolla/ubuntu-source-congress-datasource:ocata'
|
||||||
|
congress_db_sync: 'docker.io/kolla/ubuntu-source-congress-api:ocata'
|
||||||
|
congress_ds_create: 'docker.io/kolla/ubuntu-source-congress-api:ocata'
|
||||||
|
congress_policy_engine: 'docker.io/kolla/ubuntu-source-congress-policy-engine:ocata'
|
||||||
|
congress_scripted_test: 'docker.io/kolla/ubuntu-source-congress-api:ocata'
|
||||||
|
db_drop: 'docker.io/kolla/ubuntu-source-heat-engine:ocata'
|
||||||
|
db_init: 'docker.io/kolla/ubuntu-source-heat-engine:ocata'
|
||||||
|
glance_api: 'docker.io/kolla/ubuntu-source-glance-api:ocata'
|
||||||
|
glance_bootstrap: 'docker.io/kolla/ubuntu-source-heat-engine:ocata'
|
||||||
|
glance_db_sync: 'docker.io/kolla/ubuntu-source-glance-api:ocata'
|
||||||
|
glance_registry: 'docker.io/kolla/ubuntu-source-glance-registry:ocata'
|
||||||
|
heat_api: 'docker.io/kolla/ubuntu-source-heat-api:ocata'
|
||||||
|
heat_cfn: 'docker.io/kolla/ubuntu-source-heat-api:ocata'
|
||||||
|
heat_cloudwatch: 'docker.io/kolla/ubuntu-source-heat-api:ocata'
|
||||||
|
heat_db_sync: 'docker.io/kolla/ubuntu-source-heat-api:ocata'
|
||||||
|
heat_engine: 'docker.io/kolla/ubuntu-source-heat-engine:ocata'
|
||||||
|
horizon: 'docker.io/kolla/ubuntu-source-horizon:ocata'
|
||||||
|
horizon_db_sync: 'docker.io/kolla/ubuntu-source-horizon:ocata'
|
||||||
|
ironic_api: 'docker.io/kolla/ubuntu-source-ironic-api:ocata'
|
||||||
|
ironic_bootstrap: 'docker.io/kolla/ubuntu-source-heat-engine:ocata'
|
||||||
|
ironic_conductor: 'docker.io/kolla/ubuntu-source-ironic-conductor:ocata'
|
||||||
|
ironic_db_sync: 'docker.io/kolla/ubuntu-source-ironic-api:ocata'
|
||||||
|
ironic_pxe: 'docker.io/kolla/ubuntu-source-ironic-pxe:ocata'
|
||||||
|
ironic_pxe_init: 'docker.io/kolla/ubuntu-source-ironic-pxe:ocata'
|
||||||
|
keystone_api: 'docker.io/kolla/ubuntu-source-keystone:ocata'
|
||||||
|
keystone_bootstrap: 'docker.io/kolla/ubuntu-source-keystone:ocata'
|
||||||
|
keystone_credential_rotate: 'docker.io/kolla/ubuntu-source-keystone:ocata'
|
||||||
|
keystone_credential_setup: 'docker.io/kolla/ubuntu-source-keystone:ocata'
|
||||||
|
keystone_db_sync: 'docker.io/kolla/ubuntu-source-keystone:ocata'
|
||||||
|
keystone_fernet_rotate: 'docker.io/kolla/ubuntu-source-keystone:ocata'
|
||||||
|
keystone_fernet_setup: 'docker.io/kolla/ubuntu-source-keystone:ocata'
|
||||||
|
ks_endpoints: 'docker.io/kolla/ubuntu-source-heat-engine:ocata'
|
||||||
|
ks_service: 'docker.io/kolla/ubuntu-source-heat-engine:ocata'
|
||||||
|
ks_user: 'docker.io/kolla/ubuntu-source-heat-engine:ocata'
|
||||||
|
magnum_api: 'docker.io/kolla/ubuntu-source-magnum-api:ocata'
|
||||||
|
magnum_conductor: 'docker.io/kolla/ubuntu-source-magnum-conductor:ocata'
|
||||||
|
magnum_db_sync: 'docker.io/kolla/ubuntu-source-magnum-api:ocata'
|
||||||
|
neutron_db_sync: 'docker.io/kolla/ubuntu-source-neutron-server:ocata'
|
||||||
|
neutron_dhcp: 'docker.io/kolla/ubuntu-source-neutron-dhcp-agent:ocata'
|
||||||
|
neutron_l3: 'docker.io/kolla/ubuntu-source-neutron-l3-agent:ocata'
|
||||||
|
neutron_linuxbridge_agent: 'docker.io/kolla/ubuntu-source-neutron-linuxbridge-agent:ocata'
|
||||||
|
neutron_metadata: 'docker.io/kolla/ubuntu-source-neutron-metadata-agent:ocata'
|
||||||
|
neutron_openvswitch_agent: 'docker.io/kolla/ubuntu-source-neutron-openvswitch-agent:ocata'
|
||||||
|
neutron_server: 'docker.io/kolla/ubuntu-source-neutron-server:ocata'
|
||||||
|
nova_api: 'docker.io/kolla/ubuntu-source-nova-api:ocata'
|
||||||
|
nova_cell_setup: 'docker.io/kolla/ubuntu-source-nova-api:ocata'
|
||||||
|
nova_compute: 'docker.io/kolla/ubuntu-source-nova-compute:ocata'
|
||||||
|
nova_compute_ironic: 'docker.io/kolla/ubuntu-source-nova-compute-ironic:ocata'
|
||||||
|
nova_compute_ssh: 'docker.io/kolla/ubuntu-source-nova-ssh:ocata'
|
||||||
|
nova_conductor: 'docker.io/kolla/ubuntu-source-nova-conductor:ocata'
|
||||||
|
nova_consoleauth: 'docker.io/kolla/ubuntu-source-nova-consoleauth:ocata'
|
||||||
|
nova_db_sync: 'docker.io/kolla/ubuntu-source-nova-api:ocata'
|
||||||
|
nova_novncproxy: 'docker.io/kolla/ubuntu-source-nova-novncproxy:ocata'
|
||||||
|
nova_novncproxy_assets: 'docker.io/kolla/ubuntu-source-nova-novncproxy:ocata'
|
||||||
|
nova_placement: 'docker.io/kolla/ubuntu-source-nova-placement-api:ocata'
|
||||||
|
nova_scheduler: 'docker.io/kolla/ubuntu-source-nova-scheduler:ocata'
|
||||||
|
nova_spiceproxy: 'docker.io/kolla/ubuntu-source-nova-spicehtml5proxy:ocata'
|
||||||
|
nova_spiceproxy_assets: 'docker.io/kolla/ubuntu-source-nova-spicehtml5proxy:ocata'
|
||||||
|
scripted_test: 'docker.io/kolla/ubuntu-source-heat-engine:ocata'
|
||||||
|
senlin_api: 'docker.io/kolla/ubuntu-source-senlin-api:ocata'
|
||||||
|
senlin_db_sync: 'docker.io/kolla/ubuntu-source-senlin-api:ocata'
|
||||||
|
senlin_engine: 'docker.io/kolla/ubuntu-source-senlin-engine:ocata'
|
||||||
|
test: 'docker.io/kolla/ubuntu-source-rally:4.0.0'
|
||||||
|
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
|
75
tools/overrides/releases/ocata/loci.yaml
Normal file
75
tools/overrides/releases/ocata/loci.yaml
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
images:
|
||||||
|
tags:
|
||||||
|
barbican_api: 'docker.io/openstackhelm/barbican:ocata'
|
||||||
|
barbican_db_sync: 'docker.io/openstackhelm/barbican:ocata'
|
||||||
|
bootstrap: 'docker.io/openstackhelm/heat:ocata'
|
||||||
|
cinder_api: 'docker.io/openstackhelm/cinder:ocata'
|
||||||
|
cinder_backup: 'docker.io/openstackhelm/cinder:ocata'
|
||||||
|
cinder_db_sync: 'docker.io/openstackhelm/cinder:ocata'
|
||||||
|
cinder_scheduler: 'docker.io/openstackhelm/cinder:ocata'
|
||||||
|
cinder_volume: 'docker.io/openstackhelm/cinder:ocata'
|
||||||
|
cinder_volume_usage_audit: 'docker.io/openstackhelm/cinder:ocata'
|
||||||
|
congress_api: 'docker.io/openstackhelm/congress:ocata'
|
||||||
|
congress_datasource: 'docker.io/openstackhelm/congress:ocata'
|
||||||
|
congress_db_sync: 'docker.io/openstackhelm/congress:ocata'
|
||||||
|
congress_ds_create: 'docker.io/openstackhelm/congress:ocata'
|
||||||
|
congress_policy_engine: 'docker.io/openstackhelm/congress:ocata'
|
||||||
|
congress_scripted_test: 'docker.io/openstackhelm/congress:ocata'
|
||||||
|
db_drop: 'docker.io/openstackhelm/heat:ocata'
|
||||||
|
db_init: 'docker.io/openstackhelm/heat:ocata'
|
||||||
|
glance_api: 'docker.io/openstackhelm/glance:ocata'
|
||||||
|
glance_bootstrap: 'docker.io/openstackhelm/heat:ocata'
|
||||||
|
glance_db_sync: 'docker.io/openstackhelm/glance:ocata'
|
||||||
|
glance_registry: 'docker.io/openstackhelm/glance:ocata'
|
||||||
|
heat_api: 'docker.io/openstackhelm/heat:ocata'
|
||||||
|
heat_cfn: 'docker.io/openstackhelm/heat:ocata'
|
||||||
|
heat_cloudwatch: 'docker.io/openstackhelm/heat:ocata'
|
||||||
|
heat_db_sync: 'docker.io/openstackhelm/heat:ocata'
|
||||||
|
heat_engine: 'docker.io/openstackhelm/heat:ocata'
|
||||||
|
horizon: 'docker.io/openstackhelm/horizon:ocata'
|
||||||
|
horizon_db_sync: 'docker.io/openstackhelm/horizon:ocata'
|
||||||
|
ironic_api: 'docker.io/openstackhelm/ironic:ocata'
|
||||||
|
ironic_bootstrap: 'docker.io/openstackhelm/ironic:ocata'
|
||||||
|
ironic_conductor: 'docker.io/openstackhelm/ironic:ocata'
|
||||||
|
ironic_db_sync: 'docker.io/openstackhelm/ironic:ocata'
|
||||||
|
ironic_pxe: 'docker.io/openstackhelm/ironic:ocata'
|
||||||
|
ironic_pxe_init: 'docker.io/openstackhelm/ironic:ocata'
|
||||||
|
keystone_api: 'docker.io/openstackhelm/keystone:ocata'
|
||||||
|
keystone_bootstrap: 'docker.io/openstackhelm/heat:ocata'
|
||||||
|
keystone_credential_rotate: 'docker.io/openstackhelm/keystone:ocata'
|
||||||
|
keystone_credential_setup: 'docker.io/openstackhelm/keystone:ocata'
|
||||||
|
keystone_db_sync: 'docker.io/openstackhelm/keystone:ocata'
|
||||||
|
keystone_fernet_rotate: 'docker.io/openstackhelm/keystone:ocata'
|
||||||
|
keystone_fernet_setup: 'docker.io/openstackhelm/keystone:ocata'
|
||||||
|
ks_endpoints: 'docker.io/openstackhelm/heat:ocata'
|
||||||
|
ks_service: 'docker.io/openstackhelm/heat:ocata'
|
||||||
|
ks_user: 'docker.io/openstackhelm/heat:ocata'
|
||||||
|
magnum_api: 'docker.io/openstackhelm/magnum:ocata'
|
||||||
|
magnum_conductor: 'docker.io/openstackhelm/magnum:ocata'
|
||||||
|
magnum_db_sync: 'docker.io/openstackhelm/magnum:ocata'
|
||||||
|
neutron_db_sync: 'docker.io/openstackhelm/neutron:ocata'
|
||||||
|
neutron_dhcp: 'docker.io/openstackhelm/neutron:ocata'
|
||||||
|
neutron_l3: 'docker.io/openstackhelm/neutron:ocata'
|
||||||
|
neutron_linuxbridge_agent: 'docker.io/openstackhelm/neutron:ocata'
|
||||||
|
neutron_metadata: 'docker.io/openstackhelm/neutron:ocata'
|
||||||
|
neutron_openvswitch_agent: 'docker.io/openstackhelm/neutron:ocata'
|
||||||
|
neutron_server: 'docker.io/openstackhelm/neutron:ocata'
|
||||||
|
nova_api: 'docker.io/openstackhelm/nova:ocata'
|
||||||
|
nova_cell_setup: 'docker.io/openstackhelm/nova:ocata'
|
||||||
|
nova_compute: 'docker.io/openstackhelm/nova:ocata'
|
||||||
|
nova_compute_ironic: 'docker.io/openstackhelm/nova:ocata'
|
||||||
|
nova_compute_ssh: 'docker.io/openstackhelm/nova:ocata'
|
||||||
|
nova_conductor: 'docker.io/openstackhelm/nova:ocata'
|
||||||
|
nova_consoleauth: 'docker.io/openstackhelm/nova:ocata'
|
||||||
|
nova_db_sync: 'docker.io/openstackhelm/nova:ocata'
|
||||||
|
nova_novncproxy: 'docker.io/kolla/ubuntu-source-nova-novncproxy:ocata'
|
||||||
|
nova_novncproxy_assets: 'docker.io/kolla/ubuntu-source-nova-novncproxy:ocata'
|
||||||
|
nova_placement: 'docker.io/openstackhelm/nova:ocata'
|
||||||
|
nova_scheduler: 'docker.io/openstackhelm/nova:ocata'
|
||||||
|
nova_spiceproxy: 'docker.io/kolla/ubuntu-source-nova-spicehtml5proxy:ocata'
|
||||||
|
nova_spiceproxy_assets: 'docker.io/kolla/ubuntu-source-nova-spicehtml5proxy:ocata'
|
||||||
|
scripted_test: 'docker.io/openstackhelm/heat:ocata'
|
||||||
|
senlin_api: 'docker.io/openstackhelm/senlin:ocata'
|
||||||
|
senlin_db_sync: 'docker.io/openstackhelm/senlin:ocata'
|
||||||
|
senlin_engine: 'docker.io/openstackhelm/senlin:ocata'
|
||||||
|
test: 'docker.io/kolla/ubuntu-source-rally:4.0.0'
|
Loading…
Reference in New Issue
Block a user