GeezerVison is showing github.com — fix(ci): escape parentheses in HTTP log exceptions by vikin91 · Pull Request #24037 · stackrox/stackrox
Conversation
vikin91
commented
Nov 12, 2026
•
edited
Loading
Uh oh!
There was an error while loading. Please reload this page.
Description
The HTTP 502 exception added in #11199 (May 2024) contains an unescaped (. GNU grep rejects the entire allowlist, but the checker treats the failed pipeline as clean logs and exits 0. A log containing fatal therefore passes.
Escape literal parentheses in the HTTP 502 and HTTP 503 exceptions. The 503 pattern was syntactically valid but did not match the intended parenthesized message.
Evidence from merge-gke-version-compatibility-tests, run 2120796860120567808, on commit 40503f9f0e7ee5523720fc559cc3600cad4a8b90 (12 November 2026):
INFO: Thu Nov 12 10:32:08 UTC 2026: Checking app: scanner, logs: /tmp/k8s-service-logs/4.11.7--5.1.x-564-g40503f9f0e/k8s-logs/stackrox/pods/scanner-cffddcff-tsxfm-scanner.log
grep: missing )
That job failed separately on Scanner readiness; this change repairs its log checks.
User-facing documentation
- CHANGELOG.md is updated OR update is not needed
- documentation PR is created and is linked above OR is not needed
Testing and quality
- the change is production ready: the change is GA, or otherwise the functionality is gated by a feature flag
- CI results are inspected
Automated testing
- added unit tests
- added e2e tests
- added regression tests
- added compatibility tests
- modified existing tests
How I validated my change
(use ggrep on Mac, grep on Linux)
$ printf 'http: non-successful response (status=502\n' | ggrep -P 'http: non-successful response (status=502'
ggrep: missing closing parenthesis
$ printf 'http: non-successful response (status=502\n' | ggrep -P 'http: non-successful response \(status=502'
http: non-successful response (status=502
AI-Assisted: Codex, pattern corrections, local validation, and PR description.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
The HTTP 502 exception contains an unmatched regex group, causing grep
to reject the allowlist and log checks to pass without inspecting logs.
Escape its literal parenthesis and those in the HTTP 503 exception so
both patterns match the intended messages.
AI-Assisted: Codex, pattern corrections and local validation.
|
Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
coderabbitai
Bot
commented
Nov 12, 2026
•
edited
Loading
Uh oh!
There was an error while loading. Please reload this page.
|
No actionable comments were generated in the recent review.
Summary
-
Summary by CodeRabbit
- Bug Fixes
- Automated validation now correctly distinguishes literal parentheses in HTTP 503 and 502 responses, instead of interpreting them as pattern syntax. This prevents these responses from being incorrectly matched during checks. The change is limited to how parenthesized response text is recognized; other response patterns and behavior remain unchanged.
The HTTP 503 and 502 allowlist patterns now escape parentheses so the patterns match literal parentheses.
Changes: HTTP Error Allowlist Patterns
| Layer / File(s) |
Summary |
Escape parentheses in error patterns scripts/ci/logcheck/allowlist-patterns |
The HTTP 503 and 502 allowlist patterns now escape parentheses. The separate 502 Bad Gateway pattern and surrounding comments are unchanged. |
Estimated code review effort: 1 (Trivial) | ~5 minutes
Change: Bug fix
Merge Risk: Minimal · up to fca66
-
The change fixes the CI log checker's HTTP 502 and 503 exceptions so they match their intended messages and no longer cause grep to reject the allowlist. No merge-blocking risk remains.
Pre-merge checks: 4
-
| Check name |
Status |
Explanation |
| Title check |
 |
The title names the change: it escapes parentheses in the HTTP log exception patterns used by the CI log checker. It matches the raw summary, which says the HTTP 503 and 502 allowlist patterns now esc… |
| Linked Issues check |
 |
Check skipped because no linked issues were found for this pull request. |
| Out of Scope Changes check |
 |
Check skipped because no linked issues were found for this pull request. |
| Description check |
 |
The description explains the problem and the fix. It states that the HTTP 502 exception has an unescaped ( that makes GNU grep reject the allowlist, and that the checker then exits 0 and passes logs… |
Full details: Title check
-
Explanation
The title names the change: it escapes parentheses in the HTTP log exception patterns used by the CI log checker. It matches the raw summary, which says the HTTP 503 and 502 allowlist patterns now escape parentheses. The title is specific and uses the conventional fix(ci) prefix.
Full details: Description check
-
Explanation
The description explains the problem and the fix. It states that the HTTP 502 exception has an unescaped ( that makes GNU grep reject the allowlist, and that the checker then exits 0 and passes logs containing fatal. It states that the HTTP 503 pattern was valid but did not match the intended parenthesized message. It gives CI evidence from run 2120796860120567808 and a local toy reproduction that shows the escaped pattern matches. The user-facing documentation checkboxes are filled in. The automated testing checkboxes are all unchecked and no reason is given for skipping tests. The section 'How I validated my change' is filled in. The template asks for an explanation when no tests are contributed, and the author gives none. The description also marks the change as production ready and CI inspected, but the PR objectives say CI results are not marked inspected. The description is mostly complete. The missing test-skip rationale is a non-critical gap. The author should also resolve the mismatch on the CI inspection checkbox.
Recent review info
-
Run configuration
-
- Source mode: Auto
- Repository: Unavailable
- Branch: Unavailable
- File: No configuration file from this repository applied
- Commit: Unavailable
- Layers: Central YAML (base), Organization UI (inherited)
- Review profile: CHILL
- Plan: Enterprise
- Run ID:
c3bfce0b-ba99-4812-9ca8-97b425162cc4
Commits
-
Reviewing files that changed from the base of the PR and between 34e955b and fca66ad.
Files selected for processing: 1
-
scripts/ci/logcheck/allowlist-patterns
Included review availability: This review used your included allowance. Your plan provides up to 12 included reviews per hour; 11 remain after this review.
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 52.86%. Comparing base (2378155) to head (fca66ad).
⚠️ Report is 9 commits behind head on master.
Additional details and impacted files
@@ Coverage Diff @@
## master #24037 +/- ##
==========================================
+ Coverage 52.69% 52.86% +0.16%
==========================================
Files 2815 2755 -60
Lines 177457 175277 -2180
==========================================
- Hits 93512 92657 -855
+ Misses 75770 74535 -1235
+ Partials 8175 8085 -90
Flags with carried forward coverage won't be shown. Click here to find out more.
☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.
🚀 New features to boost your workflow:
- 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
🚀 Build Images Ready
Images are ready for commit fca66ad. To use with deploy scripts:
export MAIN_IMAGE_TAG=5.1.x-560-gfca66adb86
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
/konflux-retest create-custom-snapshot
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
/konflux-retest create-custom-snapshot
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
3 similar comments
|
/konflux-retest create-custom-snapshot
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
/konflux-retest create-custom-snapshot
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
/konflux-retest create-custom-snapshot
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
@vikin91: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:
| Test name |
Commit |
Details |
Required |
Rerun command |
| ci/prow/ocp-next-candidate-operator-e2e-tests |
fca66ad |
link |
false |
/test ocp-next-candidate-operator-e2e-tests |
| ci/prow/gke-qa-e2e-tests |
fca66ad |
link |
false |
/test gke-qa-e2e-tests |
| ci/prow/ocp-next-candidate-qa-e2e-tests |
fca66ad |
link |
false |
/test ocp-next-candidate-qa-e2e-tests |
| ci/prow/ocp-4-12-nongroovy-e2e-tests |
fca66ad |
link |
false |
/test ocp-4-12-nongroovy-e2e-tests |
| ci/prow/ocp-4-22-nongroovy-e2e-tests |
fca66ad |
link |
false |
/test ocp-4-22-nongroovy-e2e-tests |
| ci/prow/ocp-4-12-qa-e2e-tests |
fca66ad |
link |
false |
/test ocp-4-12-qa-e2e-tests |
| ci/prow/ocp-4-22-qa-e2e-tests |
fca66ad |
link |
false |
/test ocp-4-22-qa-e2e-tests |
| ci/prow/gke-ui-e2e-tests |
fca66ad |
link |
true |
/test gke-ui-e2e-tests |
Full PR test history. Your PR dashboard.
Details
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
This branch has not been deployed
No deployments
Reviewers
vjwilson
vjwilson approved these changes
Uh oh!
There was an error while loading. Please reload this page.
Assignees
No one assigned
Milestone
No milestone
Development
Successfully merging this pull request may close these issues.
Uh oh!
There was an error while loading. Please reload this page.
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.
|