-
Bug
-
Resolution: Unresolved
-
Undefined
-
None
-
4.20, 4.21
-
None
-
False
-
-
None
-
Important
-
None
-
QA
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Description of problem:
helix98 T-BC config w/1 e825 and 2 e830
ptp-operator 4.20.0-202601292039
Bug observed in test case "should generate events when slave interface goes down and up [49742, test_id:49742]"
When slave interface is brought down, clock state is expected to transition from HOLDOVER to FREERUN.
cloud-event-proxy log shows that state moves to FREERUN, then to HOLDOVER. It never transitions to FREERUN from HOLDOVER.
2026-01-30T20:01:22.263064685Z time="2026-01-30T20:01:22Z" level=info msg="update interface eno8403 with portid 1 from role SLAVE to role FAULTY out ptp4l 5221.671 ptp4l.1.config port 1 (eno8403) SLAVE to FAULTY on FAULT_DETECTED (FT_UNSPECIFIED)"
2026-01-30T20:01:22.263127310Z time="2026-01-30T20:01:22Z" level=info msg="TBC: ptp4l port eno8403 went FAULTY, setting clock_state to FREERUN"
2026-01-30T20:01:22.263934322Z time="2026-01-30T20:01:22Z" level=debug msg="event source /sync/ptp-status/clock-class sent to queue to process"
2026-01-30T20:01:22.264039114Z time="2026-01-30T20:01:22Z" level=debug msg="event sent {\n \"id\": \"0413a8a3-7b43-4dd8-bd87-a20b102f4535\",\n \"type\": \"event.sync.ptp-status.ptp-clock-class-change\",\n \"source\": \"/sync/ptp-status/clock-class\",\n \"dataContentType\": \"application/json\",\n \"time\": \"2026-01-30T20:01:22.263742817Z\",\n \"data\": {\n \"version\": \"1.0\",\n \"values\": [\n {\n \"ResourceAddress\": \"/cluster/node/helix98.telcoqe.eng.rdu2.dc.redhat.com/enox/master\",\n \"data_type\": \"metric\",\n \"value_type\": \"decimal64.3\",\n \"value\": \"135\"\n }\n ]\n }\n }"
2026-01-30T20:01:22.264110176Z time="2026-01-30T20:01:22Z" level=info msg="post events /cluster/node/helix98.telcoqe.eng.rdu2.dc.redhat.com/sync/ptp-status/clock-class to subscriber http://consumer-events-subscription-service.cloud-events.svc.cluster.local:9043/event"
2026-01-30T20:01:23.000482991Z time="2026-01-30T20:01:23Z" level=info msg="enox/master sync state HOLDOVER, last ptp state is : FREERUN"
2026-01-30T20:01:23.000527094Z time="2026-01-30T20:01:23Z" level=debug msg="event source /sync/ptp-status/lock-state sent to queue to process"
2026-01-30T20:01:23.000561680Z time="2026-01-30T20:01:23Z" level=debug msg="event sent {\n \"id\": \"98f778d0-d096-4b12-9452-c4712abeb0cc\",\n \"type\": \"event.sync.ptp-status.ptp-state-change\",\n \"source\": \"/sync/ptp-status/lock-state\",\n \"dataContentType\": \"application/json\",\n \"time\": \"2026-01-30T20:01:23.000469361Z\",\n \"data\": {\n \"version\": \"1.0\",\n \"values\": [\n {\n \"ResourceAddress\": \"/cluster/node/helix98.telcoqe.eng.rdu2.dc.redhat.com/enox/master\",\n \"data_type\": \"notification\",\n \"value_type\": \"enumeration\",\n \"value\": \"HOLDOVER\"\n },\n {\n \"ResourceAddress\": \"/cluster/node/helix98.telcoqe.eng.rdu2.dc.redhat.com/enox/master\",\n \"data_type\": \"metric\",\n \"value_type\": \"decimal64.3\",\n \"value\": \"0\"\n }\n ]\n }\n }"
2026-01-30T20:01:23.000585240Z time="2026-01-30T20:01:23Z" level=debug msg="event source /sync/sync-status/sync-state sent to queue to process"
2026-01-30T20:01:23.000612047Z time="2026-01-30T20:01:23Z" level=debug msg="event sent {\n \"id\": \"cb146d32-fe2d-4c62-9e0e-b527692dd63f\",\n \"type\": \"event.sync.sync-status.synchronization-state-change\",\n \"source\": \"/sync/sync-status/sync-state\",\n \"dataContentType\": \"application/json\",\n \"time\": \"2026-01-30T20:01:23.000563972Z\",\n \"data\": {\n \"version\": \"1.0\",\n \"values\": [\n {\n \"ResourceAddress\": \"/cluster/node/helix98.telcoqe.eng.rdu2.dc.redhat.com/sync/sync-status/sync-state\",\n \"data_type\": \"notification\",\n \"value_type\": \"enumeration\",\n \"value\": \"HOLDOVER\"\n }\n ]\n }\n }"
Version-Release number of selected component (if applicable):
4.20.0-202601292039
How reproducible:
100%
Steps to Reproduce:
On T-BC config w/1 e825 and 2 e830:
1. Take down slave interface (ip link set ... down)
2. Monitor cloud-event-proxy log for sync state change
Actual results:
Sync state briefly changes to FREERUN, then HOLDOVER. Change to FREERUN from HOLDOVER never occurs.
Expected results:
Sync state should change to HOLDOVER then FREERUN
Additional info: