From dd848d0bf9af8e9469af3df8cf0ea83cc198f69a Mon Sep 17 00:00:00 2001 From: Olivier Date: Thu, 31 Dec 2020 20:50:31 +0000 Subject: [PATCH] Require name parameter in docker-container recipe --- scone/default/recipes/docker.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/scone/default/recipes/docker.py b/scone/default/recipes/docker.py index 6b4081d..ef29996 100644 --- a/scone/default/recipes/docker.py +++ b/scone/default/recipes/docker.py @@ -2,7 +2,7 @@ from scone.default.utensils.docker_utensils import ( DockerContainerRun, DockerImagePull, DockerNetworkCreate, - DockerVolumeCreate, + DockerVolumeCreate, DockerContainerState, ContainerState, ) from scone.head.kitchen import Kitchen from scone.head.recipe import Recipe, RecipeContext @@ -17,12 +17,17 @@ class DockerContainer(Recipe): self.image = check_type(args.get("image"), str) self.command = check_type(args.get("command"), str) + self.name = check_type(args.get("name"), str) async def cook(self, kitchen: Kitchen) -> None: kitchen.get_dependency_tracker() - await kitchen.ut1areq( - DockerContainerRun(self.image, self.command), DockerContainerRun.Result - ) + + current_state = await kitchen.ut1(DockerContainerState(self.name)) + + if current_state == ContainerState.NOTFOUND: + await kitchen.ut1areq( + DockerContainerRun(self.image, self.command, self.name), DockerContainerRun.Result + ) class DockerImage(Recipe):