Conversation
…un uses. /emit-logs was tagging phc2sys with the on-disk phc2sys.N.config name while startup is delayed, so CEP kept a sticky process_status=0 next to the live ptp4l.N.config series that never flipped on start or SIGTERM.
ptp-operator main still clones unpinned openshift/kube-rbac-proxy HEAD with golang:1.25.7 and GOTOOLCHAIN=local, which fails after the v0.22.1 merge (go >= 1.26.3). Patch Dockerfile.krp after clone so ptp-images can build until ptp-operator main is updated.
Assisted by OpenCode, Claude and Gemini
…s-config-race Fix delayed phc2sys process_status published under the wrong config label
…et-threshold CNF-26636: Deprecate minOffsetThreshold and use absolute offset comparison
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.82.1 to 1.83.1. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](grpc/grpc-go@v1.82.1...v1.83.1) --- updated-dependencies: - dependency-name: google.golang.org/grpc dependency-version: 1.83.1 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
Refactors the EventHandler to manage Clock objects which contain state decisions specific to the type of clock. Moves state logic out of EventHandler, having it serve as a dispatcher of events that come in, serving only relevant events to each clock. Each clock object will calculate its new state after an event and send any change in state as an IPC event to send to cloud event proxy v2.
Introduce clock objects and CEPv2 IPC sending
Vendor github.com/k8snetworkplumbingwg/ptp-operator@cfc3d527 so the daemon can compile against SyncStatus, NodeProfileStatus, and Conditions.
Write NodePtpDevice.status.sync.profiles and the Ready condition so controllers can see which profile is applied on each node. clockType is T-GM, T-BC, BC, or OC. A GM role from PopulatePtp4lConf is reported as T-GM. Status is written after apply and on clock-state transitions. Event-driven writes skip while applyNodePTPProfiles is in progress, and a mutex serializes updates so apply and events cannot overlap. Jira: https://issues.redhat.com/browse/CNF-19182
Drop the per-config clockStates map on ClockManager and detect transitions by comparing GetState() before and after AddEvent.
i2c-tools are required to read the OCXO model
…/go_modules/google.golang.org/grpc-1.83.1 Bump google.golang.org/grpc from 1.82.1 to 1.83.1
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.83.1 to 1.83.2. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](grpc/grpc-go@v1.83.1...v1.83.2) --- updated-dependencies: - dependency-name: google.golang.org/grpc dependency-version: 1.83.2 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
…/go_modules/google.golang.org/grpc-1.83.2 Bump google.golang.org/grpc from 1.83.1 to 1.83.2
Assisted by Opencode
CNF-26945: Add servo state to ptp4l parser
…ock chain init On RHEL 10 (predictable npN interface names), resolvePluginDevices rewrote the e810 plugin devices array and the pins/frequencies/phaseOffsetPins map keys to the npN name but never touched interconnections[].id or [].upstreamPort. The clock ID was therefore stored under the resolved name (clockId[ens3f0np0]) but looked up under the unresolved interconnection id (clockId[ens3f0]). The lookup failed, resolveInterconnections returned an error, and InitClockChain fell through and passed a nil compensation slice into SendDelayCompensation, which dereferenced it and crash-looped the daemon with a SIGSEGV. Fix (Option C): - pkg/network/resolve.go: extend resolvePluginDevices to resolve interconnections[].id and the comma-separated interconnections[].upstreamPort, mirroring the existing PtpSettings["upstreamPort"] handling. - addons/intel/clock-chain.go: return the error from InitClockChain when resolveInterconnections fails instead of falling through with nil comps. - addons/intel/phaseAdjust.go: guard sendDelayCompensation against a nil compensation slice so a config error can never panic the daemon. Adds TestResolveProfileInterfaces_PluginInterconnections, TestInitClockChain_ResolveError_NoPanic and TestSendDelayCompensation_NilNoPanic. Signed-off-by: Jack Ding <jacding@redhat.com> Assisted-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
GolangCI-Lint (goconst) flagged the newly added "E810-XXVDA4T" literal in TestInitClockChain_ResolveError_NoPanic (clock-chain_test.go:230) because the string already appears >= min-occurrences times across the intel package. The config's new-from-rev only reports the PR's new occurrence, so introduce a package-level partE810XXVDA4T constant and use it on that line. Pre-existing occurrences are on unchanged code and remain out of scope. Signed-off-by: Jack Ding <jacding@redhat.com> Assisted-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
CNF-26625: Add i2c-tools to the daemon image
…122242-e810-interconnections-npn-resolution OCPBUGS-122242: resolve e810 interconnections npN names and harden clock chain init
…-phase1 CNF-19182: Add PTP sync status reporting to NodePtpDevice CR
|
@jzding: This pull request references CNF-19182 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "5.1.0" version, but no target version was set. This pull request references CNF-25637 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the epic to target the "5.1.0" version, but no target version was set. This pull request references CNF-26625 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "5.1.0" version, but no target version was set. This pull request references CNF-26630 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "5.1.0" version, but no target version was set. This pull request references CNF-26636 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the sub-task to target the "5.1.0" version, but no target version was set. This pull request references CNF-26676 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "5.1.0" version, but no target version was set. This pull request references CNF-26945 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "5.1.0" version, but no target version was set. This pull request references Jira Issue OCPBUGS-122242, 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. |
|
PR needs rebase. 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. |
|
@jzding: The following tests failed, say
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. |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: jzding 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 |
Upstream PRs included
Merge conflicts
The following files have merge conflicts that need manual resolution:
addons/redhat/Dockerfile.ocpTo resolve, clone the fork and fix conflicts locally: