From 070143f3fe553b2b624ea8e08a1ba26dde6dc0b6 Mon Sep 17 00:00:00 2001 From: Simon Date: Thu, 13 Jul 2023 14:24:20 +0000 Subject: [PATCH] Wait for the container name to be truly freed before returning --- .gitlab-ci.yml | 2 ++ odoo_openupgrade_wizard/tools/tools_docker.py | 11 +++++++++++ 2 files changed, 13 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f454544..6780d00 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -8,6 +8,8 @@ pre-commit: - shell only: - merge_requests + before_script: + - pip install pre-commit script: - pre-commit run --all --show-diff-on-failure --verbose --color always diff --git a/odoo_openupgrade_wizard/tools/tools_docker.py b/odoo_openupgrade_wizard/tools/tools_docker.py index 4574f23..ce73a8c 100644 --- a/odoo_openupgrade_wizard/tools/tools_docker.py +++ b/odoo_openupgrade_wizard/tools/tools_docker.py @@ -1,3 +1,5 @@ +import time + import docker from loguru import logger @@ -86,6 +88,15 @@ def run_container( if detach: logger.debug("Container %s launched." % image_name) elif auto_remove: + # Workaround to avoid + # "Conflict. The container name xxx is already in use" + # Because it seems that the container name is not freed when the + # run command completes + while client.containers.list( + all=True, filters={"name": container_name} + ): + time.sleep(1) + logger.debug("Container closed.") return container