Mute PMM-T506 behind an expiring skip - #1288
Merged
Merged
Conversation
The test expects two VictoriaMetrics cardinality panels that percona/pmm#5822 removed on purpose. pmm-qa#1275 proposed dropping the expectations; pending that decision, skip the scenario so the nightly matrix stops reporting a failure nobody is acting on. Co-Authored-By: Claude <noreply@anthropic.com> Signed-off-by: Claude <noreply@anthropic.com>
travagliad
requested review from
peterSirotnak and
yurkovychv
as code owners
September 1, 2026 17:47
Contributor
|
🟡 Scope: this and #1275 are mutually exclusive but both are open, non-draft and unlabelled, so "please don't merge both" is enforced only by whoever reads the body — mark this one draft with Gate gap: |
pmm-qa carries 69 skipped scenarios, and the tracking convention in use -- a TODO with a ticket link -- has not held them: two point at dead references (jira.percona.com, which the project migrated off, and a grafana-dashboards PR for a repo since folded into the monorepo). Park the skip with a machine-checked expiry instead. lint-changed.sh fails once a skip-until date is reached, and lint.yml passes it every tracked file, so after that date every PR is red until the skip is revisited or the date is deliberately moved. A weekly schedule surfaces it even with no PR traffic. Only skips carrying the marker are checked, so the existing 69 are untouched. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SKRuqWTQVW4p6DDSYcFQEf Signed-off-by: Claude <noreply@anthropic.com>
kiranvuyurru
approved these changes
Sep 1, 2026
This was referenced Sep 3, 2026
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)
Nightly E2E tests Matrix (remote PMM Server), jobtest execution / @nightly) — also red Aug 30 and Aug 31 on the same testcodeceptjs-e2e/tests/verifyVMDashboards_test.js:10/@nightly— PMM-T506 Verify metrics on VictoriaMetrics dashboardWhat this is
A noise mute that expires by construction — an alternative to #1275, which is not being merged as it stands.
PMM-T506 expects a
Time Series Informationrow withTop 10 metrics by time series countandTop 10 hosts by time series count. percona/pmm#5822removed both deliberately — in the author's words, "they were literally taking PMM Server down
under high load, i.e. 300+ clients." So the test fails every night and will keep failing until the
expectation drops (#1275) or the panels come back.
Two parts:
1. The mute (
verifyVMDashboards_test.js)2. A guard that makes the date real (
lint-changed.sh,lint.yml)A skip parked with
skip-until: YYYY-MM-DDbecomes a lint failure on that date.Why the guard, and not just a TODO
This repo carries 69 skipped scenarios across 32 files, and the convention already in use is
exactly a TODO with a ticket link —
// TODO: unskip after …PMM-13544,…PMM-12956(twice),PMM-14002,PMM-13750. Two of those references are already dead: one points atjira.percona.com, the Jira instance the project migrated off, and one at agrafana-dashboardsPR for a repo since folded into the monorepo. Dead links guarding dormant tests.
So a comment and a ticket is the mechanism with a demonstrated 69× failure rate here. A date the
build enforces does not depend on anyone remembering.
Where the teeth are:
lint.ymlrunsgit ls-files | xargs lint-changed.sh, i.e. everytracked file on every PR. Once
2026-09-29arrives, every PR in the repo fails lint until theskip is revisited or the date is deliberately moved. A weekly
schedulewas added so it alsosurfaces during a quiet week with no PR traffic.
The check lives in
lint-changed.shrather than as a workflow step because that script alreadyowns the linter mapping for both CI and the local PreToolUse commit gate — its own header warns
that re-listing linters in the workflow is how the two drift apart.
Opt-in by design: only skips that carry the marker are checked, so the existing 69 are
untouched and CI stays green today. Adopting it for them can be a deliberate, separate pass.
Relationship to #1275 — please don't merge both
They are alternatives and touch different files, so nothing stops both landing and leaving the test
skipped and the expectations dropped — the skip would then mask a test already made correct.
What the mute costs — worth being explicit
Scenario.skipdisables the whole scenario, not just the two stale expectations: the ~40 otherpanel titles it checks, and
verifyThereAreNoGraphsWithoutData(1). Until it is unskipped, nothingcatches a genuinely broken or empty VictoriaMetrics dashboard. That is the reason for the expiry
rather than an open-ended skip.
I checked whether the test could leave the nightly but stay alive elsewhere — it cannot. Its other
two tags are dead: no workflow references
@dashboardsor@gssapi-nightly, and@nightlyappears in exactly one place (
nightly-e2e-tests-matrix.yml:140). Skipping and untagging costidentical coverage, and
Scenario.skipat least shows asSin the run output rather than leavinga test nothing silently runs.
Given that cost, #1275 remains the better outcome if its objection can be resolved.
Verification
Skip behaviour:
No server contact, and PMM-T507 in the same file is untouched and still runs.
Guard, both directions:
2026-09-29, today2026-09-01)==> skip-until expiry,rc=02026-08-15)FAIL: skip-until date reached … :9:skip-until: 2026-08-15,rc=12026-09-01) — boundaryrc=1(the date means review on it, not after).js/.tsfilesRepo linters on the changed files (
yamllint,actionlint,shellcheck, plus the new check) — allclean,
rc=0.🤖 Generated with Claude Code
https://claude.ai/code/session_01SKRuqWTQVW4p6DDSYcFQEf