Trim panel-title whitespace expectations for PMM-15308 - #1174
Draft
claude[bot] wants to merge 1 commit into
Draft
Conversation
percona/pmm#5767 strips leading/trailing whitespace from 39 dashboard titles. The panel names asserted by the QA suites still carry the stray spaces, so they stop matching once that change lands. - MySQL Group Replication Summary: Applied/Sent/Rolled Back Transactions - HAProxy Instance Summary: Aborted Data Transfers - Nodes Overview (codeceptjs): eight leading-space panel names - MySQL User Details: drop the spacer panel whose title was a single space and is now empty, so it no longer has a name to match Signed-off-by: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Failures fixed (investigator)
E2E / Percona Server for MySQL UI integration tests / e2e tests: @pmm-ps-integrationmain.e2e_tests/tests/dashboards/mysql/mysqlDashboards.test.ts:77/@pmm-ps-integration— PMM-T324 Verify MySQL - MySQL User Details dashboarde2e_tests/tests/dashboards/mysql/mysqlDashboards.test.ts:130/@pmm-ps-integration— PMM-T430 Verify metrics on MySQL Group Replication Summary DashboardWhat failed
Both tests failed on
verifyMetricsPresent, deterministically — same two tests, same assertion, in both FB runs on this PR (31632930410 and 31633396444), all three retries each:Note the trailing space inside the test id.
Root cause — the test expectations, not the product
percona/pmm#5767 (PMM-15308) trims leading/trailing whitespace from 39 dashboard titles and adds a
trim_titlesguard tocleanup-dash.py. Two of the dashboards it touches are exactly the two under test:MySQL_Group_Replication_Summary.json"Applied Transactions ","Sent Transactions ","Rolled Back Transactions "MySQL_User_Details.json" "(spacer panel)""The QA page objects still hardcode the untrimmed names, so they stop matching against a server built from that PR.
Changes
Scanned every untrimmed title in percona/pmm#5767 against the whole pmm-qa tree; four files reference one:
e2e_tests/pages/dashboards/mysql/mysqlGroupReplicationSummary.ts— trimApplied Transactions,Sent Transactions,Rolled Back Transactions(the failing test)e2e_tests/pages/dashboards/mysql/mysqlUserDetails.ts— drop the{ name: ' ', type: 'empty' }entry (the failing test). Its title is now"", so the panel no longer has a name to match on;type: 'empty'is a no-op inverifyPanelValues, so nothing about the panel's data was being asserted.e2e_tests/pages/dashboards/mysql/haproxyInstanceSummary.ts— trimAborted Data Transfers(@pmm-ps-pxc-haproxy-integration, not run in this FB)codeceptjs-e2e/tests/pages/dashboardPage.js— trim eight leading-space Nodes Overview panel namesThe remaining 24 trimmed titles in that PR have no pmm-qa reference.
Verification
Reproduced and fixed on a throwaway Linode VM running the exact FB server image (
perconalab/pmm-server-fb:PR-4525-3420f91, digestsha256:6f7d28d2…, same digest Launchable recorded for the CI run), FB client tarball, and the job's ownWIZARD_ARGS(--database ps,SETUP_TYPE=replication,MY_ROCKS=true --database ps,SETUP_TYPE=gr,QUERY_SOURCE=slowlog):mysqlDashboards.test.ts --grep @pmm-ps-integrationmainThe two files this FB run does not exercise were checked against the same image's Grafana API instead:
node-instance-overview,haproxy-instance-summary,mysql-group-replicaset-summaryandmysql-userreport zero untrimmed titles, and every trimmed name this PR now asserts exists on those dashboards. Their tests themselves (HAProxy e2e, codeceptjs Nodes Overview) still need a real run — the next nightly after percona/pmm#5767 lands is what confirms them.Expected to stay red on
mainuntil percona/pmm#5767 merges —mainstill ships the untrimmed titles.Other failures in that run (not fixed here)
CLI / Integration tests / CLI / Integration / PSMDB Shard 8.x—curl: (22) 503while downloading mgodatagen, swallowed by the image build, surfacing later asexec: "mgodatagen": executable file not found in $PATH. Already tracked by Fail the psmdb-pbm image build when a download fails #1171 / Fail the PSMDB image build when mgodatagen install fails #1172.E2E / PSMDB Arbiter Replica UI tests / e2e tests: @pmm-psmdb-arbiter-integration—pmm-admin add mongodbfailed withpmm-agent is not connected to PMM Servertwo seconds afterpmm-agent setupreportedRegisteredon the same node (configure-agents.shruns the two back to back with no wait). One-off symptom — the same job in the immediately preceding run failed from the mgodatagen issue above instead. Not reproduced, so not fixed here.Generated by Claude Code