Remove the deprecated and EOL Ansible 8 and replace it with the latest supported version, Ansible 11. The remote stream tests have been run locally against Windows with Ansible 9 and 11. Ansible's python interpreter discovery has changed in two ways: * When we use a local connection for our nodes in unit tests, it will find the interpreter used to run the tests, which will not be present in bwrap. To avoid this problem, we turn off auto discovery for fake test nodes and instead specify the interpreter path. * In our fake modules, '/usr/bin/env python3' no longer works, so instead we replace the shebang with /usr/bin/python3. Ansible 11 no longer allows non-utf8 data in stdout/stderr. From ansible 9: [DEPRECATION WARNING]: Non UTF-8 encoded data replaced with "?" while displaying text to stdout/stderr, this is temporary and will become an error. This feature will be removed in version 2.18. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg. Therefore the stream test that output non-utf8 binary data has been removed. Change-Id: I061629439fe878236bd4468c8b7ffc0538e008ad
182 lines
4.8 KiB
YAML
182 lines
4.8 KiB
YAML
version: '2.1'
|
|
|
|
services:
|
|
gerrit:
|
|
# This is a mirror of:
|
|
# image: docker.io/gerritcodereview/gerrit
|
|
image: quay.io/opendevmirror/gerrit
|
|
ports:
|
|
- "8080:8080"
|
|
- "29418:29418"
|
|
environment:
|
|
- CANONICAL_WEB_URL=http://localhost:8080/
|
|
networks:
|
|
- zuul
|
|
volumes:
|
|
- "gerrit-etc:/var/gerrit/etc"
|
|
- "gerrit-db:/var/gerrit/db"
|
|
- "gerrit-git:/var/gerrit/git"
|
|
- "gerrit-index:/var/gerrit/index"
|
|
- "gerrit-cache:/var/gerrit/cache"
|
|
gerritconfig:
|
|
image: quay.io/zuul-ci/zuul-executor
|
|
environment:
|
|
- http_proxy
|
|
- https_proxy
|
|
- no_proxy=${no_proxy},gerrit
|
|
depends_on:
|
|
- gerrit
|
|
volumes:
|
|
- "sshkey:/var/ssh:z"
|
|
- "nodessh:/var/node:z"
|
|
- "./playbooks/:/var/playbooks/:z"
|
|
- "certs:/var/certs:z"
|
|
- "../../../tools/:/var/zuul-tools/:z"
|
|
- "lib-zuul-executor:/var/lib/zuul:z"
|
|
# NOTE(pabelanger): Be sure to update this line each time we change the
|
|
# default version of ansible for Zuul.
|
|
command: "/usr/local/lib/zuul/ansible/9/bin/ansible-playbook /var/playbooks/setup.yaml"
|
|
networks:
|
|
- zuul
|
|
zk:
|
|
# This is a mirror of:
|
|
# image: docker.io/zookeeper
|
|
image: quay.io/opendevmirror/zookeeper
|
|
hostname: examples_zk_1.examples_default
|
|
volumes:
|
|
- "./playbooks/:/var/playbooks/:z"
|
|
- "certs:/var/certs:z"
|
|
- "./zoo.cfg:/conf/zoo.cfg:z"
|
|
- "zk-data:/data"
|
|
- "zk-datalog:/datalog"
|
|
command: "sh -c '/var/playbooks/wait-to-start-certs.sh && exec zkServer.sh start-foreground'"
|
|
networks:
|
|
- zuul
|
|
mysql:
|
|
# This is a mirror of:
|
|
# image: docker.io/mariadb
|
|
image: quay.io/opendevmirror/mariadb
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: rootpassword
|
|
MYSQL_DATABASE: zuul
|
|
MYSQL_USER: zuul
|
|
MYSQL_PASSWORD: secret
|
|
# Work around slow db startup when writing TZINFO data.
|
|
MYSQL_INITDB_SKIP_TZINFO: 1
|
|
volumes:
|
|
- "lib-mysql:/var/lib/mysql"
|
|
networks:
|
|
- zuul
|
|
scheduler:
|
|
environment:
|
|
- http_proxy
|
|
- https_proxy
|
|
- no_proxy=${no_proxy},gerrit
|
|
- ZUUL_MYSQL_PASSWORD=secret
|
|
command: |
|
|
sh -c '/var/playbooks/wait-to-start-certs.sh && \
|
|
/var/playbooks/wait-to-start.sh && \
|
|
exec zuul-scheduler -f'
|
|
# FIXME: The scheduler has no ansible anymore so use the executor image.
|
|
# This needs to be changes such that ansible is not required for startup.
|
|
image: quay.io/zuul-ci/zuul-scheduler
|
|
volumes:
|
|
- "${ZUUL_TUTORIAL_CONFIG:-./etc_zuul/}:/etc/zuul/:z"
|
|
- "./playbooks/:/var/playbooks/:z"
|
|
- "sshkey:/var/ssh:z"
|
|
- "certs:/var/certs:z"
|
|
- "lib-zuul-scheduler:/var/lib/zuul"
|
|
networks:
|
|
- zuul
|
|
web:
|
|
command: |
|
|
sh -c '/var/playbooks/wait-to-start-certs.sh && \
|
|
exec zuul-web -f'
|
|
ports:
|
|
- "9000:9000"
|
|
image: quay.io/zuul-ci/zuul-web
|
|
environment:
|
|
ZUUL_MYSQL_PASSWORD: secret
|
|
volumes:
|
|
- "${ZUUL_TUTORIAL_CONFIG:-./etc_zuul/}:/etc/zuul/:z"
|
|
- "./playbooks/:/var/playbooks/:z"
|
|
- "certs:/var/certs:z"
|
|
- "lib-zuul-web:/var/lib/zuul"
|
|
networks:
|
|
- zuul
|
|
executor:
|
|
privileged: true
|
|
environment:
|
|
- http_proxy
|
|
- https_proxy
|
|
- no_proxy=${no_proxy},gerrit,scheduler
|
|
- ZUUL_MYSQL_PASSWORD=secret
|
|
image: quay.io/zuul-ci/zuul-executor
|
|
volumes:
|
|
- "${ZUUL_TUTORIAL_CONFIG:-./etc_zuul/}:/etc/zuul/:z"
|
|
- "./playbooks/:/var/playbooks/:z"
|
|
- "sshkey:/var/ssh:z"
|
|
- "logs:/srv/static/logs:z"
|
|
- "certs:/var/certs:z"
|
|
- "lib-zuul-executor:/var/lib/zuul:z"
|
|
command: "sh -c '/var/playbooks/wait-to-start-certs.sh && exec zuul-executor -f'"
|
|
networks:
|
|
- zuul
|
|
node:
|
|
build:
|
|
dockerfile: node-Dockerfile
|
|
context: ./
|
|
args:
|
|
http_proxy: "${http_proxy}"
|
|
https_proxy: "${http_proxy}"
|
|
no_proxy: "${no_proxy},gerrit"
|
|
volumes:
|
|
- "nodessh:/root/.ssh:z"
|
|
networks:
|
|
- zuul
|
|
launcher:
|
|
image: quay.io/zuul-ci/nodepool-launcher
|
|
volumes:
|
|
- "./playbooks/:/var/playbooks/:z"
|
|
- "./etc_nodepool/:/etc/nodepool/:z"
|
|
- "certs:/var/certs:z"
|
|
ports:
|
|
- "8005:8005"
|
|
command: "sh -c '/var/playbooks/wait-to-start-certs.sh && exec nodepool-launcher -f'"
|
|
networks:
|
|
- zuul
|
|
logs:
|
|
build:
|
|
dockerfile: logs-Dockerfile
|
|
context: ./
|
|
args:
|
|
http_proxy: "${http_proxy}"
|
|
https_proxy: "${http_proxy}"
|
|
no_proxy: "${no_proxy}"
|
|
ports:
|
|
- "8000:80"
|
|
volumes:
|
|
- "logs:/usr/local/apache2/htdocs:z"
|
|
networks:
|
|
- zuul
|
|
|
|
volumes:
|
|
sshkey:
|
|
nodessh:
|
|
logs:
|
|
certs:
|
|
lib-zuul-scheduler:
|
|
lib-zuul-web:
|
|
lib-zuul-executor:
|
|
zk-data:
|
|
zk-datalog:
|
|
lib-mysql:
|
|
gerrit-etc:
|
|
gerrit-db:
|
|
gerrit-git:
|
|
gerrit-index:
|
|
gerrit-cache:
|
|
|
|
networks:
|
|
zuul:
|