From c28d7092f2b128960503794dbde414b37e803e94 Mon Sep 17 00:00:00 2001 From: Steven Masley Date: Tue, 9 Apr 2024 17:10:43 -0500 Subject: [PATCH 1/6] chore: disable pgcoord (HA) when --in-memory HA does not make any sense while using in-memory database --- enterprise/coderd/coderd.go | 5 ++++- site/e2e/playwright.config.ts | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/enterprise/coderd/coderd.go b/enterprise/coderd/coderd.go index c3b8cc019989e..9b38c77b58135 100644 --- a/enterprise/coderd/coderd.go +++ b/enterprise/coderd/coderd.go @@ -630,7 +630,10 @@ func (api *API) updateEntitlements(ctx context.Context) error { if initial, changed, enabled := featureChanged(codersdk.FeatureHighAvailability); shouldUpdate(initial, changed, enabled) { var coordinator agpltailnet.Coordinator - if enabled { + if enabled && !api.DeploymentValues.InMemoryDatabase.Value() { + api.Logger.Warn(ctx, "high availability is enabled, but cannot be configured due to the database being set to in-memory") + } + if enabled && !api.DeploymentValues.InMemoryDatabase.Value() { haCoordinator, err := tailnet.NewPGCoord(api.ctx, api.Logger, api.Pubsub, api.Database) if err != nil { api.Logger.Error(ctx, "unable to set up high availability coordinator", slog.Error(err)) diff --git a/site/e2e/playwright.config.ts b/site/e2e/playwright.config.ts index d345de379d1cb..3043c7ef2f9f1 100644 --- a/site/e2e/playwright.config.ts +++ b/site/e2e/playwright.config.ts @@ -55,7 +55,7 @@ export default defineConfig({ `--access-url=http://localhost:${coderPort}`, `--http-address=localhost:${coderPort}`, // Adding an enterprise license causes issues with pgcoord when running with `--in-memory`. - !enterpriseLicense && "--in-memory", + "--in-memory", "--telemetry=false", "--dangerous-disable-rate-limits", "--provisioner-daemons 10", From cdb122482dd7b013658c50cd20ccd03e57404d2d Mon Sep 17 00:00:00 2001 From: Steven Masley Date: Tue, 9 Apr 2024 17:16:39 -0500 Subject: [PATCH 2/6] fix log line --- enterprise/coderd/coderd.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/enterprise/coderd/coderd.go b/enterprise/coderd/coderd.go index 9b38c77b58135..70b0a02398ceb 100644 --- a/enterprise/coderd/coderd.go +++ b/enterprise/coderd/coderd.go @@ -630,7 +630,7 @@ func (api *API) updateEntitlements(ctx context.Context) error { if initial, changed, enabled := featureChanged(codersdk.FeatureHighAvailability); shouldUpdate(initial, changed, enabled) { var coordinator agpltailnet.Coordinator - if enabled && !api.DeploymentValues.InMemoryDatabase.Value() { + if enabled && api.DeploymentValues.InMemoryDatabase.Value() { api.Logger.Warn(ctx, "high availability is enabled, but cannot be configured due to the database being set to in-memory") } if enabled && !api.DeploymentValues.InMemoryDatabase.Value() { From 7379a6b328580211b6263191a50619814f00f22b Mon Sep 17 00:00:00 2001 From: Steven Masley Date: Tue, 9 Apr 2024 17:17:26 -0500 Subject: [PATCH 3/6] add comment --- enterprise/coderd/coderd.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/enterprise/coderd/coderd.go b/enterprise/coderd/coderd.go index 70b0a02398ceb..8bd7a38143a2b 100644 --- a/enterprise/coderd/coderd.go +++ b/enterprise/coderd/coderd.go @@ -630,6 +630,9 @@ func (api *API) updateEntitlements(ctx context.Context) error { if initial, changed, enabled := featureChanged(codersdk.FeatureHighAvailability); shouldUpdate(initial, changed, enabled) { var coordinator agpltailnet.Coordinator + // If HA is enabled, but the database is in-memory, we can't actually + // run HA and the PG coordinator. So throw a log line, and continue to use + // the in memory AGPL coordinator. if enabled && api.DeploymentValues.InMemoryDatabase.Value() { api.Logger.Warn(ctx, "high availability is enabled, but cannot be configured due to the database being set to in-memory") } From bd4ff880dabf98885c62dce08cb3d3f3bd9d8052 Mon Sep 17 00:00:00 2001 From: Steven Masley Date: Tue, 9 Apr 2024 17:37:58 -0500 Subject: [PATCH 4/6] linting --- site/e2e/playwright.config.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/site/e2e/playwright.config.ts b/site/e2e/playwright.config.ts index 3043c7ef2f9f1..158d6f577a8a4 100644 --- a/site/e2e/playwright.config.ts +++ b/site/e2e/playwright.config.ts @@ -4,7 +4,6 @@ import { coderMain, coderPort, coderdPProfPort, - enterpriseLicense, gitAuth, } from "./constants"; From 22974ec21c0044092cd34a7400115d3084a587c4 Mon Sep 17 00:00:00 2001 From: Steven Masley Date: Wed, 10 Apr 2024 09:41:41 -0500 Subject: [PATCH 5/6] remove comment --- site/e2e/playwright.config.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/site/e2e/playwright.config.ts b/site/e2e/playwright.config.ts index 158d6f577a8a4..29bac3291dcf4 100644 --- a/site/e2e/playwright.config.ts +++ b/site/e2e/playwright.config.ts @@ -53,7 +53,6 @@ export default defineConfig({ "--global-config $(mktemp -d -t e2e-XXXXXXXXXX)", `--access-url=http://localhost:${coderPort}`, `--http-address=localhost:${coderPort}`, - // Adding an enterprise license causes issues with pgcoord when running with `--in-memory`. "--in-memory", "--telemetry=false", "--dangerous-disable-rate-limits", From 38345d8dc69574ca6928e7393807537dc2a4f7bc Mon Sep 17 00:00:00 2001 From: Steven Masley Date: Wed, 10 Apr 2024 10:29:44 -0500 Subject: [PATCH 6/6] make fmt --- site/e2e/playwright.config.ts | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/site/e2e/playwright.config.ts b/site/e2e/playwright.config.ts index 29bac3291dcf4..5aa8c2186e92b 100644 --- a/site/e2e/playwright.config.ts +++ b/site/e2e/playwright.config.ts @@ -1,11 +1,6 @@ import { defineConfig } from "@playwright/test"; import * as path from "path"; -import { - coderMain, - coderPort, - coderdPProfPort, - gitAuth, -} from "./constants"; +import { coderMain, coderPort, coderdPProfPort, gitAuth } from "./constants"; export const wsEndpoint = process.env.CODER_E2E_WS_ENDPOINT;