Skip to content

Commit 1e045d7

Browse files
committed
[server] Test RTT for available workspace cluster only
1 parent b04b72b commit 1e045d7

File tree

3 files changed

+8
-10
lines changed

3 files changed

+8
-10
lines changed

components/server/src/workspace/gitpod-server-impl.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,6 @@ export class GitpodServerImpl implements GitpodServerWithTracing, Disposable {
114114

115115
@inject(IDEConfigService) protected readonly ideConfigService: IDEConfigService;
116116

117-
@inject(WorkspaceClusterDB) protected readonly workspaceClusterDB: WorkspaceClusterDB;
118-
119117
/** Id the uniquely identifies this server instance */
120118
public readonly uuid: string = uuidv4();
121119
public readonly clientMetadata: ClientMetadata;
@@ -2188,7 +2186,7 @@ export class GitpodServerImpl implements GitpodServerWithTracing, Disposable {
21882186
async listWorkspaceClusterRTTEndpoints(ctx: TraceContext): Promise<WorkspaceClusterRTTEndpoints> {
21892187
const user = this.checkUser("listWorkspaceClusterRTTEndpoints");
21902188

2191-
const candidates = await this.workspaceClusterDB.findFiltered({state: 'available'});
2189+
const candidates = await this.workspaceManagerClientProvider.getAvailableStartCluster(user);
21922190
const allEndpoints = candidates.flatMap(c => (c.admissionPreferences || []).filter(ap => ap.type === 'region')).map(ap => {
21932191
const rap = ap as AdmissionPreferenceRegion;
21942192
return {

components/ws-manager-api/typescript/src/client-provider.spec.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,13 +54,13 @@ class TestClientProvider {
5454

5555
@test
5656
public async testGetStarterWorkspaceCluster() {
57-
this.expectInstallations(["a1", "a2", "a3"], await this.provider.getAvailableStartCluster({} as User, {} as Workspace, {} as WorkspaceInstance));
57+
this.expectInstallations(["a1", "a2", "a3"], await this.provider.getAvailableStartCluster({} as User));
5858
this.expectInstallations(["a1", "a2", "a3", "con1"], await this.provider.getAvailableStartCluster({
5959
additionalData: {featurePreview: true}
60-
} as User, {} as Workspace, {} as WorkspaceInstance));
60+
} as User));
6161
this.expectInstallations(["a1", "a2", "a3", "con2"], await this.provider.getAvailableStartCluster({
6262
rolesOrPermissions: ["new-workspace-cluster"]
63-
} as User, {} as Workspace, {} as WorkspaceInstance));
63+
} as User));
6464
}
6565

6666
public async getStartManager() {

components/ws-manager-api/typescript/src/client-provider.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ export class WorkspaceManagerClientProvider implements Disposable {
4444
* @returns The WorkspaceManagerClient that was chosen to start the next workspace with.
4545
*/
4646
public async getStartManager(user: ExtendedUser, workspace: Workspace, instance: WorkspaceInstance, exceptInstallations?: string[]): Promise<{ manager: PromisifiedWorkspaceManagerClient, installation: string }> {
47-
let availableCluster = await this.getAvailableStartCluster(user, workspace, instance);
47+
let availableCluster = await this.getAvailableStartCluster(user);
4848
if (!!exceptInstallations) {
4949
availableCluster = availableCluster.filter(c => !exceptInstallations?.includes(c.name));
5050
}
@@ -70,9 +70,9 @@ export class WorkspaceManagerClientProvider implements Disposable {
7070
};
7171
}
7272

73-
public async getAvailableStartCluster(user: User, workspace: Workspace, instance: WorkspaceInstance): Promise<WorkspaceClusterWoTLS[]> {
73+
public async getAvailableStartCluster(user: User): Promise<WorkspaceClusterWoTLS[]> {
7474
const allClusters = await this.source.getAllWorkspaceClusters();
75-
const availableClusters = allClusters.filter(c => c.score >= 0 && c.state === "available").filter(admissionConstraintsFilter(user, workspace, instance));
75+
const availableClusters = allClusters.filter(c => c.score >= 0 && c.state === "available").filter(admissionConstraintsFilter(user));
7676
return availableClusters;
7777
}
7878

@@ -176,7 +176,7 @@ function chooseCluster(availableCluster: WorkspaceClusterWoTLS[]): WorkspaceClus
176176
return availableCluster[availableCluster.length - 1];
177177
}
178178

179-
function admissionConstraintsFilter(user: User, workspace: Workspace, instance: WorkspaceInstance): (c: WorkspaceClusterWoTLS) => boolean {
179+
function admissionConstraintsFilter(user: User, workspace?: Workspace, instance?: WorkspaceInstance): (c: WorkspaceClusterWoTLS) => boolean {
180180
return (c: WorkspaceClusterWoTLS) => {
181181
if (!c.admissionConstraints) {
182182
return true;

0 commit comments

Comments
 (0)