From cd3c2e9d9e3aacdbdcd77d327b5a0bc16cd9999f Mon Sep 17 00:00:00 2001 From: sjahl <636687+sjahl@users.noreply.github.com> Date: Thu, 26 Sep 2024 11:08:55 -0400 Subject: [PATCH] Expect an existing reads service name for configuring the demo ingress, instead of managing all services as part of the ingress deploy --- deploy/deployctl/subcommands/ingress_demo.py | 46 +++++--------------- 1 file changed, 11 insertions(+), 35 deletions(-) diff --git a/deploy/deployctl/subcommands/ingress_demo.py b/deploy/deployctl/subcommands/ingress_demo.py index b3e8cb825..6b7f32250 100644 --- a/deploy/deployctl/subcommands/ingress_demo.py +++ b/deploy/deployctl/subcommands/ingress_demo.py @@ -21,21 +21,6 @@ ports: - port: 80 targetPort: 80 ---- -apiVersion: v1 -kind: Service -metadata: - name: gnomad-reads-demo-{name} - labels: - tier: demo -spec: - type: NodePort - selector: - name: gnomad-reads - deployment: '{reads_deployment}' - ports: - - port: 80 - targetPort: 80 """ INGRESS_MANIFEST_TEMPLATE = """--- @@ -54,14 +39,14 @@ pathType: ImplementationSpecific backend: service: - name: gnomad-reads-demo-{name} + name: {reads_service} port: number: 80 - path: /reads/* pathType: ImplementationSpecific backend: service: - name: gnomad-reads-demo-{name} + name: {reads_service} port: number: 80 - path: @@ -92,41 +77,32 @@ def list_demo_ingresses() -> None: def describe_services(name: str) -> None: try: browser_manifest = json.loads(kubectl(["get", "service", f"gnomad-browser-demo-{name}", "--output=json"])) - reads_manifest = json.loads(kubectl(["get", "service", f"gnomad-reads-demo-{name}", "--output=json"])) browser_deployment = browser_manifest["spec"]["selector"]["deployment"] - reads_deployment = reads_manifest["spec"]["selector"]["deployment"] print("active browser deployment:", browser_deployment) - print("active reads deployment:", reads_deployment) except Exception: # pylint: disable=broad-except print(f"Could not get services for '{name}' demo environment") -def apply_services(name: str, browser_deployment: str = None, reads_deployment: str = None) -> None: +def apply_services(name: str, browser_deployment: str = None) -> None: if browser_deployment: if not k8s_deployment_exists(f"gnomad-browser-{browser_deployment}"): raise RuntimeError(f"browser deployment {browser_deployment} not found") else: browser_deployment = get_most_recent_k8s_deployment("component=gnomad-browser")[len("gnomad-browser-") :] - if reads_deployment: - if not k8s_deployment_exists(f"gnomad-reads-{reads_deployment}"): - raise RuntimeError(f"reads deployment {reads_deployment} not found") - else: - reads_deployment = get_most_recent_k8s_deployment("component=gnomad-reads")[len("gnomad-reads-") :] - - manifest = SERVICES_MANIFEST_TEMPLATE.format( - name=name, browser_deployment=browser_deployment, reads_deployment=reads_deployment - ) + manifest = SERVICES_MANIFEST_TEMPLATE.format(name=name, browser_deployment=browser_deployment) kubectl(["apply", "-f", "-"], input=manifest) -def apply_ingress(name: str, browser_deployment: str = None, reads_deployment: str = None) -> None: - apply_services(name, browser_deployment, reads_deployment) +def apply_ingress( + name: str, browser_deployment: str = None, reads_service: str = "reads-bluegreen-active-prod" +) -> None: + apply_services(name, browser_deployment) - manifest = INGRESS_MANIFEST_TEMPLATE.format(name=name) + manifest = INGRESS_MANIFEST_TEMPLATE.format(name=name, reads_service=reads_service) kubectl(["apply", "-f", "-"], input=manifest) @@ -154,13 +130,13 @@ def main(argv: typing.List[str]) -> None: apply_services_parser.set_defaults(action=apply_services) apply_services_parser.add_argument("name") apply_services_parser.add_argument("--browser-deployment") - apply_services_parser.add_argument("--reads-deployment") + apply_services_parser.add_argument("--reads-service") apply_ingress_parser = subparsers.add_parser("apply-ingress") apply_ingress_parser.set_defaults(action=apply_ingress) apply_ingress_parser.add_argument("name") apply_ingress_parser.add_argument("--browser-deployment") - apply_ingress_parser.add_argument("--reads-deployment") + apply_ingress_parser.add_argument("--reads-service") delete_ingress_and_services_parser = subparsers.add_parser("delete") delete_ingress_and_services_parser.set_defaults(action=delete_ingress_and_services)