Skip to content

[db-sync] Add the d_b_workspace_cluster table to sync config #14136

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Nov 2, 2022

Conversation

andrew-farries
Copy link
Contributor

Description

Add the d_b_workspace_cluster table to the db-sync config to start syncing the table.

Context As part of #9198 we want to start syncing the `d_b_workspace_cluster` table with `db-sync`.

Currently, the table differs between US and EU regions because each table contains only the data relevant to that region. For example, in the EU table, the eu70 workspace cluster is marked as available and the us70 cluster is cordoned. In the US cluster eu70 is cordoned and us70 is available.

In order to sync the table we need to get to a point where there is no difference in the data in the table between EU and US regions.

To do that we will introduce a new field in the table called applicationCluster which records the name of the application cluster to which the record belongs. Thus, for each workspace cluster there will be two rows in Gitpod SaaS:

name applicationCluster url tls state ...
eu70 eu02 url tls info available ...
eu70 us02 url tls info cordoned ...

Effectively the new applicationCluster column gives the table an extra dimension so that we can combine both tables (EU and US) into one.

#13722 added the column to the table and made gpctl fill the value when gpctl registering a new workspace cluster. The value is taken from the GITPOD_INSTALLATION_SHORTNAME environment variable in ws-manager-bridge.

Related Issue(s)

Part of #9198 and #13800

How to test

Release Notes

NONE

Documentation

Werft options:

  • /werft with-local-preview
    If enabled this will build install/preview
  • /werft with-preview
  • /werft with-large-vm
  • /werft with-integration-tests=all
    Valid options are all, workspace, webapp, ide

@andrew-farries andrew-farries requested a review from a team October 24, 2022 16:14
@github-actions github-actions bot added the team: webapp Issue belongs to the WebApp team label Oct 24, 2022
@geropl
Copy link
Member

geropl commented Oct 25, 2022

/hold

Depends on: #14134 (comment)

Also, did you announce the rollout to team workspace? It should not affect them. But they should be aware of the impact, etc.

Copy link
Member

@easyCZ easyCZ left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

There's a hold from @geropl around follow-up.

@andrew-farries
Copy link
Contributor Author

/hold

Depends on: #14134 (comment)

Also, did you announce the rollout to team workspace? It should not affect them. But they should be aware of the impact, etc.

Yes, that was done here (internal Slack).

@geropl
Copy link
Member

geropl commented Nov 1, 2022

We just realized that before merging this we need to switch the table to the "soft deletion" pattern.

@andrew-farries andrew-farries force-pushed the af/sync-workspace-cluster-table branch from e3813e3 to f1a4a86 Compare November 2, 2022 11:12
@andrew-farries
Copy link
Contributor Author

We should be able to land this once #14351 is deployed.

name: "d_b_workspace_cluster",
primaryKeys: ["name", "applicationCluster"],
timeColumn: "_lastModified",
deletionColumn: "deleted",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@andrew-farries
Copy link
Contributor Author

/unhold

@roboquat roboquat merged commit 901aff3 into main Nov 2, 2022
@roboquat roboquat deleted the af/sync-workspace-cluster-table branch November 2, 2022 14:45
@roboquat roboquat added deployed: webapp Meta team change is running in production deployed Change is completely running in production labels Nov 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
deployed: webapp Meta team change is running in production deployed Change is completely running in production release-note-none size/XS team: webapp Issue belongs to the WebApp team
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants