OCPBUGS-115300: Stabilize topology, node-groups, and debug-pod e2e - #17134
Conversation
topology-ci T-09: replace the topology right-click context menu with the sidebar Actions menu to reach the Edit action. PF Topology nodes are SVG groups with no usable bounding box, so a real right-click can't be dispatched reliably headless — the menu never opens and the action detaches mid-click. This is the same interaction path deleteWorkload already uses successfully. node-groups-filter: gotoNodesPage waited on the nodes table with the default 5s expect timeout, too short for a cold CI load; bump to 30s. The 'lacks edit permission' tooltip test raced the SelfSubjectAccessReview: the button is disabled while the check is in flight, so cluster-admin runs caught it disabled and then hung waiting for a permission tooltip that never appears. Poll until the button state settles and skip when it enables (user has permission). debug-pod: the test waits for a CrashLoopBackOff and spins up three debug pods; 300s is too tight on a cold/slow CI cluster. Raise to 480s. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Pipeline controller notification For optional jobs, comment This repository is configured in: LGTM mode |
|
@logonoff: This pull request references Jira Issue OCPBUGS-115300, which is invalid:
Comment The bug has been updated to refer to the pull request using the external bug tracker. DetailsIn response to this:
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 openshift-eng/jira-lifecycle-plugin repository. |
|
/pipeline required |
|
Scheduling tests matching the |
|
@logonoff: This pull request references Jira Issue OCPBUGS-115300, which is valid. 3 validation(s) were run on this bug
DetailsIn response to this:
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 openshift-eng/jira-lifecycle-plugin repository. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: openshift/coderabbit/.coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (4)
Included review availability: Your plan provides up to 12 included reviews per hour; 11 remain after this review. WalkthroughThe changes improve E2E test stability. Monaco content updates now retry and verify results. Tests use more reliable topology and nodes-page interactions, permission polling, and longer wait windows. ChangesE2E reliability updates
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to This change makes E2E interactions and readiness checks more resilient by using verified editor updates, stable navigation and permission handling, and longer bounded timeouts. It does not alter product behavior, and no current merge-blocking risk remains. Suggested reviewers: 🚥 Pre-merge checks | ✅ 13 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (13 passed)
Full details: Description checkExplanation The description explains the solution for the main test-stability changes, but it omits most required template sections, including Analysis / Root cause, Screenshots / screen recording, Test setup, Test cases, Browser conformance, Additional info, and Reviewers and assignees. Resolution Complete the missing template sections. Add the root cause analysis, state whether screenshots or recordings are not applicable, document test setup and test cases, mark tested browsers, provide additional information such as CI results, and identify reviewers and assignees. Full details: Stable And Deterministic Test NamesExplanation PASS: The pull request changes only TypeScript Playwright E2E files. The diff adds no Ginkgo-style test declaration or dynamic test title. The only added test step title is the static string Full details: Test Structure And QualityExplanation PASS: The custom check targets Ginkgo test code, but the PR changes only six TypeScript Playwright files under Full details: Microshift Test CompatibilityExplanation PASS: This pull request adds no Ginkgo e2e tests. The six changed files are Playwright TypeScript tests and helpers using Full details: Single Node Openshift (Sno) Test CompatibilityExplanation PASS. The PR changes existing Playwright TypeScript tests and helpers; it adds no Ginkgo tests. The changed logic only adjusts timeouts, SPA/editor readiness, YAML navigation, permission polling, and the topology UI action path. The inspected tests do not require multiple control-plane or worker nodes, distinct hosts, pod anti-affinity, failover, rescheduling, node scaling, or multi-endpoint load balancing. The debug test runs multiple pods and checks pod IPs, but it does not require those pods to run on different nodes, which the check explicitly allows. Full details: Topology-Aware Scheduling CompatibilityExplanation PASS — The PR changes only six frontend TypeScript E2E/page files. The diff from origin/main contains no deployment manifests, operator code, controllers, YAML, or scheduling configuration. Therefore the topology-aware scheduling check is not applicable. Full details: Ote Binary Stdout ContractExplanation PASS: The PR changes only six frontend Playwright TypeScript files. The diff contains no Go or OTE binary entrypoint changes, and no writes to stdout, Full details: Ipv6 And Disconnected Network Test CompatibilityExplanation PASS — The pull request modifies six TypeScript Playwright specs and a page helper. It adds no Ginkgo e2e tests and no IPv4 literals, IP parsing, or IPv6-unsafe host/port construction. Public references detected in the repository (the Full details: No-Weak-CryptoExplanation No weak cryptography was introduced. The pull request changes only E2E test timing, navigation, UI actions, and Monaco editor retries. The complete diff adds no MD5, SHA-1, DES, 3DES, RC4, Blowfish, or ECB usage, and contains no crypto APIs, custom cryptographic implementation, or secret/token comparison. Full details: Container-PrivilegesExplanation PASS. The PR changes only six TypeScript E2E files. It adds no manifest files and no added lines containing privileged settings, hostPID, hostNetwork, hostIPC, SYS_ADMIN, root execution, or allowPrivilegeEscalation: true. The existing inline pod YAML uses runAsNonRoot: true and allowPrivilegeEscalation: false; those lines are unchanged. Full details: No-Sensitive-Data-In-LogsExplanation The pull-request diff only changes E2E timing, navigation, editor-setting, and topology interactions. It adds no logging or diagnostic output. Searches of all six changed files found no console/logger/print calls and no password, token, API-key, session, PII, hostname, or customer-data literals.
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
…oups e2e The node-groups specs navigated straight to /k8s/cluster/nodes in beforeEach without warming the SPA first. On CI the app shell (plugin init) had not finished rendering, so gotoNodesPage timed out waiting for the nodes table/heading — failing in beforeEach before any test ran. Call warmupSPA in gotoNodesPage so the shell is confirmed ready (with the page fixture's session self-heal and warmupSPA's 90s retry budget) before navigating to the data-heavy nodes page. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
CI is running better than before |
|
@logonoff: This PR has been marked as verified by DetailsIn response to this:
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 openshift-eng/jira-lifecycle-plugin repository. |
The YAML import test clicked Create and immediately navigated to topology. The editor issues the create as an async POST and only then redirects to the new resource, so navigating away aborted the in-flight request (`TypeError: Failed to fetch` in the trace) — the DeploymentConfig was never created and topology stayed empty. Wait for the editor's redirect to the new resource before leaving the page. Also harden setEditorContent: Monaco can swap its model during init and silently drop an early setValue, leaving the editor empty. Set and verify the value with retries so callers never submit an empty definition. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The workload node renders and is clicked, but on CI the sidebar heading can take longer than 15s to populate after the click. Raise the title assertion timeout to 30s; clickWorkload already retries opening the sidebar. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
/verified by CI |
|
/pipeline required |
|
Scheduling tests matching the |
|
@logonoff: This PR has been marked as verified by DetailsIn response to this:
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 openshift-eng/jira-lifecycle-plugin repository. |
|
@logonoff: This pull request references Jira Issue OCPBUGS-115300, which is valid. 3 validation(s) were run on this bug
DetailsIn response to this:
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 openshift-eng/jira-lifecycle-plugin repository. |
|
@logonoff: all tests passed! Full PR test history. Your PR dashboard. DetailsInstructions 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. |
|
/lgtm |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: logonoff, rhamilto The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
@logonoff: Jira Issue Verification Checks: Jira Issue OCPBUGS-115300 Jira Issue OCPBUGS-115300 has been moved to the MODIFIED state and will move to the VERIFIED state when the change is available in an accepted nightly payload. 🕓 DetailsIn response to this:
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 openshift-eng/jira-lifecycle-plugin repository. |
Solution description:
topology-ci T-09: replace the topology right-click context menu with the sidebar Actions menu to reach the Edit action. PF Topology nodes are SVG groups with no usable bounding box, so a real right-click can't be dispatched reliably headless — the menu never opens and the action detaches mid-click. This is the same interaction path deleteWorkload already uses successfully.
node-groups-filter: gotoNodesPage waited on the nodes table with the default 5s expect timeout, too short for a cold CI load; bump to 30s. The 'lacks edit permission' tooltip test raced the SelfSubjectAccessReview: the button is disabled while the check is in flight, so cluster-admin runs caught it disabled and then hung waiting for a permission tooltip that never appears. Poll until the button state settles and skip when it enables (user has permission).
debug-pod: the test waits for a CrashLoopBackOff and spins up three debug pods; 300s is too tight on a cold/slow CI cluster. Raise to 480s.
Summary by CodeRabbit