From 6c2ce4272a3f24585613018d93442024b2058738 Mon Sep 17 00:00:00 2001 From: David Boreham Date: Mon, 12 Aug 2024 16:33:07 -0600 Subject: [PATCH] Plumb CLI argument to deployer code --- stack_orchestrator/deploy/compose/deploy_docker.py | 4 ++-- stack_orchestrator/deploy/deploy.py | 4 ++-- stack_orchestrator/deploy/deployer.py | 4 ++-- stack_orchestrator/deploy/k8s/deploy_k8s.py | 6 ++++-- 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/stack_orchestrator/deploy/compose/deploy_docker.py b/stack_orchestrator/deploy/compose/deploy_docker.py index ffde91c2..565fcfa2 100644 --- a/stack_orchestrator/deploy/compose/deploy_docker.py +++ b/stack_orchestrator/deploy/compose/deploy_docker.py @@ -29,14 +29,14 @@ class DockerDeployer(Deployer): compose_env_file=compose_env_file) self.type = type - def up(self, detach, services): + def up(self, detach, skip_cluster_management, services): if not opts.o.dry_run: try: return self.docker.compose.up(detach=detach, services=services) except DockerException as e: raise DeployerException(e) - def down(self, timeout, volumes): + def down(self, timeout, volumes, skip_cluster_management): if not opts.o.dry_run: try: return self.docker.compose.down(timeout=timeout, volumes=volumes) diff --git a/stack_orchestrator/deploy/deploy.py b/stack_orchestrator/deploy/deploy.py index 9ba46732..f8802758 100644 --- a/stack_orchestrator/deploy/deploy.py +++ b/stack_orchestrator/deploy/deploy.py @@ -102,7 +102,7 @@ def up_operation(ctx, services_list, stay_attached=False, skip_cluster_managemen print(f"Running compose up with container_exec_env: {container_exec_env}, extra_args: {services_list}") for pre_start_command in cluster_context.pre_start_commands: _run_command(global_context, cluster_context.cluster, pre_start_command) - deploy_context.deployer.up(detach=not stay_attached, services=services_list) + deploy_context.deployer.up(detach=not stay_attached, skip_cluster_management=skip_cluster_management, services=services_list) for post_start_command in cluster_context.post_start_commands: _run_command(global_context, cluster_context.cluster, post_start_command) _orchestrate_cluster_config(global_context, cluster_context.config, deploy_context.deployer, container_exec_env) @@ -113,7 +113,7 @@ def down_operation(ctx, delete_volumes, extra_args_list, skip_cluster_management if extra_args_list: timeout_arg = extra_args_list[0] # Specify shutdown timeout (default 10s) to give services enough time to shutdown gracefully - ctx.obj.deployer.down(timeout=timeout_arg, volumes=delete_volumes) + ctx.obj.deployer.down(timeout=timeout_arg, volumes=delete_volumes, skip_cluster_management=skip_cluster_management) def status_operation(ctx): diff --git a/stack_orchestrator/deploy/deployer.py b/stack_orchestrator/deploy/deployer.py index 2df784a2..15db44c2 100644 --- a/stack_orchestrator/deploy/deployer.py +++ b/stack_orchestrator/deploy/deployer.py @@ -20,11 +20,11 @@ from pathlib import Path class Deployer(ABC): @abstractmethod - def up(self, detach, services): + def up(self, detach, skip_cluster_management, services): pass @abstractmethod - def down(self, timeout, volumes): + def down(self, timeout, volumes, skip_cluster_management): pass @abstractmethod diff --git a/stack_orchestrator/deploy/k8s/deploy_k8s.py b/stack_orchestrator/deploy/k8s/deploy_k8s.py index 81cd02b2..b254fd4c 100644 --- a/stack_orchestrator/deploy/k8s/deploy_k8s.py +++ b/stack_orchestrator/deploy/k8s/deploy_k8s.py @@ -206,7 +206,8 @@ class K8sDeployer(Deployer): return cert return None - def up(self, detach, services): + def up(self, detach, skip_cluster_management, services): + self.skip_cluster_management = skip_cluster_management if not opts.o.dry_run: if self.is_kind() and not self.skip_cluster_management: # Create the kind cluster @@ -263,7 +264,8 @@ class K8sDeployer(Deployer): print("NodePort created:") print(f"{nodeport_resp}") - def down(self, timeout, volumes): # noqa: C901 + def down(self, timeout, volumes, skip_cluster_management): # noqa: C901 + self.skip_cluster_management = skip_cluster_management self.connect_api() # Delete the k8s objects