Conversation
|
[REHEARSALNOTIFIER] Note: If this PR includes changes to step registry files ( |
|
Hi @yaronh12. Thanks for your PR. I'm waiting for a openshift member to verify that this patch is reasonable to test. If it is, they should reply with Regular contributors should join the org to skip this step. Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. 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. |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: yaronh12 The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
@yaronh12: Cannot trigger testing until a trusted user reviews the PR and leaves an 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 kubernetes-sigs/prow repository. |
|
/ok-to-test |
|
/cc edcdavid |
|
@yaronh12: 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. |
Jira: CNF-22511
Related: CNF-17167 (cloud-event-proxy CI optimization)
Problem
The
e2e-awspresubmit job foropenshift/linuxptp-daemontakes almost ~3 hours to complete. From job history.Time Breakdown (from build #2033906116655583232)
ipi-install-install)openshift-e2e-test)Root Cause
The
e2e-awstest runs the full OpenShift parallel conformance suite (openshift-e2e-test) — the same generic platform test suite that core components like apiserver and kubelet use. This test:The built
ptpcontainer image is included in the release payload, but linuxptp-daemon is an optional component — it is never deployed on a standard cluster unless the ptp-operator explicitly installs it. The conformance suite does not interact with theptpimage at all. (example build log)Solution
Remove the
e2e-awstest entirely from all linuxptp-daemon CI configurations (main + all release branches).Why Removal Instead of ClusterClaim Optimization
I initially considered switching from IPI cluster provisioning to Hive ClusterClaim (pre-provisioned clusters), as was done for cloud-event-proxy in PR #74797. However, the situations are different:
make functests(~2.5 min)Switching to ClusterClaim would save ~1 hour (eliminating IPI install/teardown), but the conformance suite itself would still take 1.5 hours — and it's not testing anything relevant to linuxptp-daemon.
Comparable Repos With No Cluster-Based Tests At All
Several CNF/networking/hardware component repos — including ones from the same PTP ecosystem — run only container-based tests (unit tests, image builds, formatting checks) with no cluster provisioning whatsoever:
openshift/pf-status-relayredhat-cne/hw-event-proxyopenshift/sriov-network-metrics-exporteropenshift/node-feature-discoveryopenshift/rdma-cnipf-status-relayandhw-event-proxyare from the same PTP/CNF ecosystem as linuxptp-daemon and follow the same pattern this PR adopts: container-based presubmit tests only, with integration testing delegated to the operator-level CI and periodic telco5g pipelines.What Tests Remain
After this change, linuxptp-daemon PRs still run these presubmit tests:
unit-testmake test— Go unit tests with coveragegofmtmake fmt— code formatting validationimagesptpcontainer image from Dockerfileverify-depssecurityEstimated total presubmit time: ~5-10 minutes (down from ~3 hours).
Integration Testing Continues Elsewhere
The removal of the generic conformance suite does not leave linuxptp-daemon untested in a cluster context:
ptp-operator
operator-e2e— On ptp-operator PRs, theoperator-e2etest deploys the ptp-operator (which includes linuxptp-daemon as a DaemonSet) via OLM and runs validation tests. The ptp-operator CI config pullslinuxptp-daemonas abase_imageand substitutes the built image into the operator bundle.Release gating — The OpenShift release controller runs the full conformance suite as part of release acceptance. If a linuxptp-daemon image in the release payload somehow broke the platform, it would be caught at the release gate level.
telco5g periodic CI — The full PTP conformance tests (
make functestsfromopenshift/ptp-operator) run periodically on bare-metal clusters with PTP-capable hardware. These tests exercise actual clock synchronization and are the only tests that meaningfully validate PTP daemon behavior.Changes Made
e2e-awstest definition from all 23 CI config files across every branch (main,release-4.3throughrelease-5.0) inci-operator/config/openshift/linuxptp-daemon/ci-operator/jobs/openshift/linuxptp-daemon/viamake ci-operator-prowgenPros and Cons
Pros
Cons
operator-e2etest is broken or disabled, there is no presubmit cluster-level test for linuxptp-daemon. This is a reasonable tradeoff since the ptp-operator test is actively maintained and tests the actual component deployment.Alternative: Keep the Conformance Suite on ClusterClaim
If reviewers prefer to keep the full OpenShift conformance suite running for linuxptp-daemon, it can be switched from IPI to ClusterClaim instead of being removed. This would use a pre-provisioned cluster from a Hive pool, eliminating the ~48 min IPI install and ~17 min teardown while still running the same
openshift-e2e-teststep.This would reduce job time from ~3 hours to ~1h45m — a meaningful improvement.