From be1c4d483349358b56713f49999d5cb7af7eb8c9 Mon Sep 17 00:00:00 2001 From: Ayush Shah Date: Fri, 17 Dec 2021 18:58:54 +0530 Subject: [PATCH] Stopping Docker containers and network with container name and not project name (#1819) --- ingestion/src/metadata/cmd.py | 36 +++++++++++------------------------ 1 file changed, 11 insertions(+), 25 deletions(-) diff --git a/ingestion/src/metadata/cmd.py b/ingestion/src/metadata/cmd.py index a5aafe5e240..c25756e4b8b 100644 --- a/ingestion/src/metadata/cmd.py +++ b/ingestion/src/metadata/cmd.py @@ -31,8 +31,6 @@ logger = logging.getLogger(__name__) logging.getLogger("urllib3").setLevel(logging.WARN) min_memory_limit = 3 * 1024 * 1024 * 1000 calc_gb = 1024 * 1024 * 1000 -local_metadata = "com.docker.compose.project=local-metadata" -release = "com.docker.compose.project=tmp" # Configure logger. BASE_LOGGING_FORMAT = ( "[%(asctime)s] %(levelname)-8s {%(name)s:%(lineno)d} - %(message)s" @@ -129,19 +127,6 @@ def report(config: str) -> None: ) from exc -def get_list(docker_type, all_check: bool = None): - filter_kwargs = { - "filters": {"label": local_metadata}, - } - if all_check: - filter_kwargs["all"] = all_check - stop_containers = docker_type.list(**filter_kwargs) - if len(stop_containers) == 0: - filter_kwargs["filters"] = {"label": release} - return docker_type.list(**filter_kwargs) - return stop_containers - - @metadata.command() @click.option("--start", help="Start release Docker containers", is_flag=True) @click.option("--stop", help="Stop Docker containers (local and release)", is_flag=True) @@ -245,19 +230,20 @@ def docker(start, stop, clean, type, path) -> None: fg="bright_magenta", ) elif stop: - for container in get_list(client.containers): - logger.info(f"Stopping {container.name}") - container.stop() + for container in client.containers.list(): + if "openmetadata_" in container.name: + logger.info(f"Stopping {container.name}") + container.stop() elif clean: logger.info("Removing Containers") - for container in get_list(client.containers, True): - container.remove(v=True, force=True) - logger.info("Removing Volumes") - for volume in get_list(client.volumes): - volume.remove(force=True) + + for container in client.containers.list({all: True}): + if "openmetadata_" in container.name: + container.remove(v=True, force=True) logger.info("Removing Networks") - for network in get_list(client.networks): - network.remove() + for network in client.networks.list(): + if "app_net" in network.name: + network.remove() except (ImportError, ModuleNotFoundError): click.secho( "Docker package not found, can you try `pip install 'openmetadata-ingestion[docker]'`",