326e0dc4d7
By default docker-compose sends a sigterm to containers when they are stopping. It then waitsfor 10 seconds before sending a sigkill. Our nodepool-builder containers are restarted when new images are available and if that happens during a dib build we leak contents into dib_tmp. One theory is that we aren't giving dib enough time to clean up after itself so increase the 10 second period before sending sigkill to 90 seconds. I'm not sure if this will actually help, but it can't hurt much. If the processes die quicker we don't go any slower and if they don't die quicker then we're giving them more time to clean up. Change-Id: Id12cac89cccfc14a8d262e8f8494046df777a80a
33 lines
1.1 KiB
Django/Jinja
33 lines
1.1 KiB
Django/Jinja
version: '2'
|
|
services:
|
|
nodepool-builder:
|
|
image: docker.io/zuul/nodepool-builder:{{ nodepool_builder_container_tag|default('latest') }}
|
|
user: nodepool
|
|
network_mode: host
|
|
restart: always
|
|
stop_grace_period: 90s
|
|
command: nodepool-builder -f -c /etc/nodepool/nodepool.yaml -l /etc/nodepool/builder-logging.conf --upload-workers 8
|
|
|
|
privileged: true
|
|
|
|
environment:
|
|
- DEBUG=1
|
|
- STATSD_HOST=graphite.opendev.org
|
|
- STATSD_PORT=8125
|
|
|
|
volumes:
|
|
# nodepool config
|
|
- /etc/nodepool:/etc/nodepool:ro
|
|
# openstacksdk config
|
|
- /etc/openstack:/etc/openstack:ro
|
|
# project-config
|
|
- /opt/project-config:/opt/project-config:ro
|
|
# dib temporary storage; see config in project-config
|
|
- /opt/dib_tmp:/opt/dib_tmp:rw
|
|
# dib cache; see config in project-config
|
|
- /opt/dib_cache:/opt/dib_cache:rw
|
|
# dib image output; see config in project-config
|
|
- /opt/nodepool_dib:/opt/nodepool_dib:rw
|
|
# logs (builder + dib build logs under /build)
|
|
- /var/log/nodepool:/var/log/nodepool:rw
|