From 55dcf5f0123a4efc60c92d48351fd57d0694eb97 Mon Sep 17 00:00:00 2001 From: sjahl <636687+sjahl@users.noreply.github.com> Date: Fri, 12 Jul 2024 16:10:37 -0400 Subject: [PATCH 1/2] Adds a command line flag for specifying the number of API replicas --- deploy/deployctl/subcommands/browser_deployments.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/deploy/deployctl/subcommands/browser_deployments.py b/deploy/deployctl/subcommands/browser_deployments.py index 592507904..ea5c9a0e0 100644 --- a/deploy/deployctl/subcommands/browser_deployments.py +++ b/deploy/deployctl/subcommands/browser_deployments.py @@ -18,6 +18,9 @@ commonLabels: deployment: '{deployment_name}' nameSuffix: '-{deployment_name}' +replicas: + - name: gnomad-api + count: {api_replicas_count} images: - name: gnomad-api newName: {api_image_repository} @@ -81,7 +84,7 @@ def list_deployments() -> None: print(deployment[len("gnomad-browser-") :]) -def create_deployment(name: str, browser_tag: str = None, api_tag: str = None) -> None: +def create_deployment(name: str, api_replicas_count: int, browser_tag: str = None, api_tag: str = None) -> None: if not name: name = datetime.datetime.now().strftime("%Y%m%d-%H%M") else: @@ -92,6 +95,9 @@ def create_deployment(name: str, browser_tag: str = None, api_tag: str = None) - if name == "latest": raise ValueError("'latest' cannot be used for a deployment name") + if not api_replicas_count: + api_replicas_count = 4 + deployment_directory = os.path.join(deployments_directory(), name) if os.path.exists(deployment_directory): @@ -119,6 +125,7 @@ def create_deployment(name: str, browser_tag: str = None, api_tag: str = None) - browser_image_repository=config.browser_image_repository, browser_tag=browser_tag, api_image_repository=config.api_image_repository, + api_replicas_count=api_replicas_count, api_tag=api_tag, project=config.project, cluster_name=config.gke_cluster_name, @@ -174,6 +181,7 @@ def main(argv: typing.List[str]) -> None: create_parser.add_argument("--name") create_parser.add_argument("--browser-tag") create_parser.add_argument("--api-tag") + create_parser.add_argument("--api-replicas-count", type=int) apply_parser = subparsers.add_parser("apply") apply_parser.set_defaults(action=apply_deployment) From 4f0e26aca845a99d1b54697e3b4258d705d42f76 Mon Sep 17 00:00:00 2001 From: sjahl <636687+sjahl@users.noreply.github.com> Date: Fri, 12 Jul 2024 16:26:01 -0400 Subject: [PATCH 2/2] Fix linter bug that none of our locally configured linters picked up --- deploy/deployctl/subcommands/browser_deployments.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deploy/deployctl/subcommands/browser_deployments.py b/deploy/deployctl/subcommands/browser_deployments.py index ea5c9a0e0..a2982a463 100644 --- a/deploy/deployctl/subcommands/browser_deployments.py +++ b/deploy/deployctl/subcommands/browser_deployments.py @@ -84,7 +84,7 @@ def list_deployments() -> None: print(deployment[len("gnomad-browser-") :]) -def create_deployment(name: str, api_replicas_count: int, browser_tag: str = None, api_tag: str = None) -> None: +def create_deployment(name: str, api_replicas_count: int = None, browser_tag: str = None, api_tag: str = None) -> None: if not name: name = datetime.datetime.now().strftime("%Y%m%d-%H%M") else: