Skip to content

Commit 889b597

Browse files
committed
PMM-T2159 Fix RTA tests in post-client-upgrade step
The upgrade playbook provisions psmdb with SETUP_TYPE=sharding plus a separate ssl_psmdb (diffauth) deployment. The diffauth deployment registers plainly named rs101/rs102 services (no _<random> suffix, and duplicated across auth methods), so getServiceDetailsByPartialName('rs101') picked those up instead of the pbm replica-set member on 127.0.0.1:27027 that mongoDbHelper actually drives. That broke the exact-title inventory locator (strict-mode: 2 rows titled "rs101") and the host-name split('_') assertions, and left the CSV export monitoring the wrong mongod. Anchor the RTA service lookups to '^rs101_' / '^rs102_' so they select the pbm member service in every RTA environment (pss, sharded, and gssapi 'rs101_gssapi_<random>' naming) while excluding the bare diffauth service. Also pass PMM_SERVER_LATEST to the Post-client-upgrade UI tests step; it runs @post-upgrade (upgradePMM.test.ts) which requires that env var, the same way the Post-server-upgrade step already sets it. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Jfa9TRv3eUmizp4AyqNHDr
1 parent 9e086ee commit 889b597

8 files changed

Lines changed: 11 additions & 9 deletions

File tree

.github/workflows/upgrade-pmm-runner.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,8 @@ jobs:
272272

273273
- name: Post-client-upgrade UI tests
274274
working-directory: pmm-qa/e2e_tests
275+
env:
276+
PMM_SERVER_LATEST: ${{ steps.resolve.outputs.PMM_SERVER_LATEST }}
275277
run: npx playwright test --grep "@post-upgrade|@rta"
276278

277279
- name: Check packages after upgrade

e2e_tests/tests/inventory/services.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ pmmTest.beforeEach(async ({ grafanaHelper, page, servicesPage }) => {
88
pmmTest(
99
'PMM-T2159 - Verify MongoDB RTA Agent displayed in Inventory UI @rta',
1010
async ({ agentsPage, api, servicesPage }) => {
11-
const service = await api.inventoryApi.getServiceDetailsByPartialName('rs101');
11+
const service = await api.inventoryApi.getServiceDetailsByRegex('^rs101_');
1212

1313
await api.realTimeAnalyticsApi.startRealTimeAnalytics(service.service_id);
1414
await servicesPage.builders.monitoringStatusByServiceName(service.service_name).click();

e2e_tests/tests/qan/rta/autoRefresh.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { Timeouts } from '@helpers/timeouts';
55
pmmTest.beforeEach(async ({ api, grafanaHelper, page, realTimeAnalyticsPage }) => {
66
await grafanaHelper.authorize();
77

8-
const service = await api.inventoryApi.getServiceDetailsByPartialName('rs101');
8+
const service = await api.inventoryApi.getServiceDetailsByRegex('^rs101_');
99

1010
await api.realTimeAnalyticsApi.startRealTimeAnalytics(service.service_id);
1111
await page.goto(realTimeAnalyticsPage.getUrlWithServices([service.service_id]));

e2e_tests/tests/qan/rta/details.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { expect } from '@playwright/test';
55
pmmTest.beforeEach(async ({ api, grafanaHelper, page, queryAnalytics }) => {
66
await grafanaHelper.authorize();
77

8-
const service = await api.inventoryApi.getServiceDetailsByPartialName('rs101');
8+
const service = await api.inventoryApi.getServiceDetailsByRegex('^rs101_');
99

1010
await api.realTimeAnalyticsApi.startRealTimeAnalytics(service.service_id);
1111
await page.goto(queryAnalytics.rta.getUrlWithServices([service.service_id]));

e2e_tests/tests/qan/rta/general.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { Timeouts } from '@helpers/timeouts';
55
pmmTest.beforeEach(async ({ api, grafanaHelper, page, queryAnalytics }) => {
66
await grafanaHelper.authorize();
77

8-
const service = await api.inventoryApi.getServiceDetailsByPartialName('rs101');
8+
const service = await api.inventoryApi.getServiceDetailsByRegex('^rs101_');
99

1010
await api.realTimeAnalyticsApi.startRealTimeAnalytics(service.service_id);
1111
await page.goto(queryAnalytics.rta.getUrlWithServices([service.service_id]));

e2e_tests/tests/qan/rta/overview.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ let sortedHostNames: string[];
88
pmmTest.beforeEach(async ({ api, grafanaHelper, page, queryAnalytics }) => {
99
await grafanaHelper.authorize();
1010

11-
const service1 = await api.inventoryApi.getServiceDetailsByPartialName('rs101');
12-
const service2 = await api.inventoryApi.getServiceDetailsByPartialName('rs102');
11+
const service1 = await api.inventoryApi.getServiceDetailsByRegex('^rs101_');
12+
const service2 = await api.inventoryApi.getServiceDetailsByRegex('^rs102_');
1313

1414
sortedHostNames = [service1.service_name, service2.service_name].sort();
1515

e2e_tests/tests/qan/rta/redirection.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ pmmTest.beforeEach(async ({ grafanaHelper, page }) => {
1010
pmmTest(
1111
'PMM-T2195 Verify user is redirected to Sessions page when sessions are running @rta',
1212
async ({ api, helpPage, page, queryAnalytics, realTimeAnalyticsPage }) => {
13-
const service = await api.inventoryApi.getServiceDetailsByPartialName('rs101');
13+
const service = await api.inventoryApi.getServiceDetailsByRegex('^rs101_');
1414

1515
await api.realTimeAnalyticsApi.startRealTimeAnalytics(service.service_id);
1616

e2e_tests/tests/qan/rta/session.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ let rs102ServiceId: string;
88
pmmTest.beforeEach(async ({ api, grafanaHelper }) => {
99
await grafanaHelper.authorize();
1010

11-
const service1 = await api.inventoryApi.getServiceDetailsByPartialName('rs101');
12-
const service2 = await api.inventoryApi.getServiceDetailsByPartialName('rs102');
11+
const service1 = await api.inventoryApi.getServiceDetailsByRegex('^rs101_');
12+
const service2 = await api.inventoryApi.getServiceDetailsByRegex('^rs102_');
1313

1414
rs101ServiceId = service1.service_id;
1515
rs102ServiceId = service2.service_id;

0 commit comments

Comments
 (0)