6
0
mirror of https://github.com/ChristianLight/tutor.git synced 2024-09-27 19:59:02 +00:00
tutor/tutor/hooks
Kyle McCormick 0ae59a82a6
fix: avoid double-rendering mounts to docker-compose.tmp.yml (#669)
In certain code paths, such as in `tutor local quickstart`,
`process_mount_points` is called more than once in the same process,
causing mounts to be added to `COMPOSE_LOCAL[_JOBS]_TMP` redundantly.
As a result, docker-compose[.jobs].tmp.yml was occasionally being
rendered with duplicate volume specifiers. Some versions of Docker
Compose ignored this; other versions warned or threw an error.

In order to make `process_mount_points` tolerant to being called
multiple times, we wrap its volume-adding callbacks within a new
hooks context. This allows us to clear said hooks context every
time `process_mount_points` is called, essentially making the
function idempotent.

Co-authored-by: Régis Behmo <regis@behmo.com>
2022-07-25 15:58:49 +02:00
..
__init__.py feat: migrate to plugins.v1 with filters & actions 2022-04-15 15:30:54 +02:00
actions.py feat: migrate to plugins.v1 with filters & actions 2022-04-15 15:30:54 +02:00
consts.py fix: avoid double-rendering mounts to docker-compose.tmp.yml (#669) 2022-07-25 15:58:49 +02:00
contexts.py feat: migrate to plugins.v1 with filters & actions 2022-04-15 15:30:54 +02:00
filters.py feat: migrate to plugins.v1 with filters & actions 2022-04-15 15:30:54 +02:00