-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
4.22
-
Quality / Stability / Reliability
-
False
-
-
None
-
Critical
-
None
-
-
None
-
None
-
CNF RAN Sprint 284
-
1
-
In Progress
-
Bug Fix
-
Description of problem:
With BC config, after killing cloud-event-process process on the sidecar of linuxptp-daemon pod, clock class is missing and would not recover unless restarting the linuxptp-daemon pod linuxptp-daemon container log: I0209 16:51:52.163610 1291366 clock_class_log.go:22] ptp4l[1770655912]:[ptp4l.0.config] CLOCK_CLASS_CHANGE 6 E0209 16:51:52.163704 1291366 clock_class_log.go:29] failed to write class change event to socket: write unix @->/cloud-native/events.sock: write: broken pipe
Version-Release number of selected component (if applicable):
4.22
How reproducible:
100%
Steps to Reproduce:
1.Run ptp and verify clock class with event enabled
2.verify localhost9091:metrics for clock class , should be 6
$ oc exec -it ds/linuxptp-daemon -n openshift-ptp -c linuxptp-daemon-container -- curl -s localhost:9091/metrics | grep clock_class
3.kill side car (daemon should be still running )
$ oc exec ds/linuxptp-daemon -c cloud-event-proxy -n openshift-ptp -- sh -c "kill -9 \$(pgrep -f ^./cloud-event-proxy)"
4. wait for the side car to recover
5. verify the clock class metrics again
Actual results:
$ oc exec -it ds/linuxptp-daemon -n openshift-ptp -c linuxptp-daemon-container -- curl -s localhost:9091/metrics | grep clock_class (nothing shown)
Expected results:
should report back metrics
Additional info:
ptpconfig used:
% cat cnfdg13-bc.yaml
apiVersion: ptp.openshift.io/v1
kind: PtpConfig
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"ptp.openshift.io/v1","kind":"PtpConfig","metadata":{"annotations":{"ran.openshift.io/ztp-deploy-wave":"10"},"name":"boundary","namespace":"openshift-ptp"},"spec":{"profile":[{"name":"boundary","phc2sysOpts":"-a -r -m -n 24 -N 8 -R 16","ptp4lConf":"# The interface name is hardware-specific\n[ens5f0]\nmasterOnly 1\n[ens5f1]\nmasterOnly 1\n[ens5f2]\nmasterOnly 1\n[ens5f3]\nmasterOnly 0\n[global]\n#\n# Default Data Set\n#\ntwoStepFlag 1\nslaveOnly 0\npriority1 128\npriority2 128\ndomainNumber 24\n#utc_offset 37\nclockClass 248\nclockAccuracy 0xFE\noffsetScaledLogVariance 0xFFFF\nfree_running 0\nfreq_est_interval 1\ndscp_event 0\ndscp_general 0\ndataset_comparison G.8275.x\nG.8275.defaultDS.localPriority 128\n#\n# Port Data Set\n#\nlogAnnounceInterval -3\nlogSyncInterval -4\nlogMinDelayReqInterval -4\nlogMinPdelayReqInterval -4\nannounceReceiptTimeout 3\nsyncReceiptTimeout 0\ndelayAsymmetry 0\nfault_reset_interval -4\nneighborPropDelayThresh 20000000\nmasterOnly 0\nG.8275.portDS.localPriority 128\n#\n# Run time options\n#\nassume_two_step 0\nlogging_level 6\npath_trace_enabled 0\nfollow_up_info 0\nhybrid_e2e 0\ninhibit_multicast_service 0\nnet_sync_monitor 0\ntc_spanning_tree 0\ntx_timestamp_timeout 50\nunicast_listen 0\nunicast_master_table 0\nunicast_req_duration 3600\nuse_syslog 1\nverbose 0\nsummary_interval 0\nkernel_leap 1\ncheck_fup_sync 0\nclock_class_threshold 135\n#\n# Servo Options\n#\npi_proportional_const 0.0\npi_integral_const 0.0\npi_proportional_scale 0.0\npi_proportional_exponent -0.3\npi_proportional_norm_max 0.7\npi_integral_scale 0.0\npi_integral_exponent 0.4\npi_integral_norm_max 0.3\nstep_threshold 2.0\nfirst_step_threshold 0.00002\nmax_frequency 900000000\nclock_servo pi\nsanity_freq_limit 200000000\nntpshm_segment 0\n#\n# Transport options\n#\ntransportSpecific 0x0\nptp_dst_mac 01:1B:19:00:00:00\np2p_dst_mac 01:80:C2:00:00:0E\nudp_ttl 1\nudp6_scope 0x0E\nuds_address /var/run/ptp4l\n#\n# Default interface options\n#\nclock_type BC\nnetwork_transport L2\ndelay_mechanism E2E\ntime_stamping hardware\ntsproc_mode filter\ndelay_filter moving_median\ndelay_filter_length 10\negressLatency 0\ningressLatency 0\nboundary_clock_jbod 0\n#\n# Clock description\n#\nproductDescription ;;\nrevisionData ;;\nmanufacturerIdentity 00:00:00\nuserDescription ;\ntimeSource 0xA0\n","ptp4lOpts":"-2 --summary_interval -4","ptpClockThreshold":{"holdOverTimeout":5,"maxOffsetThreshold":100,"minOffsetThreshold":-100},"ptpSchedulingPolicy":"SCHED_FIFO","ptpSchedulingPriority":10,"ptpSettings":{"logReduce":"true"}}],"recommend":[{"match":[{"nodeLabel":"node-role.kubernetes.io/master"}],"priority":4,"profile":"boundary"}]}}
ran.openshift.io/ztp-deploy-wave: "10"
creationTimestamp: "2026-01-30T14:30:51Z"
generation: 1
name: boundary
namespace: openshift-ptp
resourceVersion: "20653979"
uid: e2d3de4f-7021-4ea0-9461-c636e86dbf6f
spec:
profile:
- name: boundary
phc2sysOpts: -a -r -m -n 24 -N 8 -R 16
ptp4lConf: |
# The interface name is hardware-specific
[ens5f0]
masterOnly 1
[ens5f1]
masterOnly 1
[ens5f2]
masterOnly 1
[ens5f3]
masterOnly 0
[global]
#
# Default Data Set
#
twoStepFlag 1
slaveOnly 0
priority1 128
priority2 128
domainNumber 24
#utc_offset 37
clockClass 248
clockAccuracy 0xFE
offsetScaledLogVariance 0xFFFF
free_running 0
freq_est_interval 1
dscp_event 0
dscp_general 0
dataset_comparison G.8275.x
G.8275.defaultDS.localPriority 128
#
# Port Data Set
#
logAnnounceInterval -3
logSyncInterval -4
logMinDelayReqInterval -4
logMinPdelayReqInterval -4
announceReceiptTimeout 3
syncReceiptTimeout 0
delayAsymmetry 0
fault_reset_interval -4
neighborPropDelayThresh 20000000
masterOnly 0
G.8275.portDS.localPriority 128
#
# Run time options
#
assume_two_step 0
logging_level 6
path_trace_enabled 0
follow_up_info 0
hybrid_e2e 0
inhibit_multicast_service 0
net_sync_monitor 0
tc_spanning_tree 0
tx_timestamp_timeout 50
unicast_listen 0
unicast_master_table 0
unicast_req_duration 3600
use_syslog 1
verbose 0
summary_interval 0
kernel_leap 1
check_fup_sync 0
clock_class_threshold 135
#
# Servo Options
#
pi_proportional_const 0.0
pi_integral_const 0.0
pi_proportional_scale 0.0
pi_proportional_exponent -0.3
pi_proportional_norm_max 0.7
pi_integral_scale 0.0
pi_integral_exponent 0.4
pi_integral_norm_max 0.3
step_threshold 2.0
first_step_threshold 0.00002
max_frequency 900000000
clock_servo pi
sanity_freq_limit 200000000
ntpshm_segment 0
#
# Transport options
#
transportSpecific 0x0
ptp_dst_mac 01:1B:19:00:00:00
p2p_dst_mac 01:80:C2:00:00:0E
udp_ttl 1
udp6_scope 0x0E
uds_address /var/run/ptp4l
#
# Default interface options
#
clock_type BC
network_transport L2
delay_mechanism E2E
time_stamping hardware
tsproc_mode filter
delay_filter moving_median
delay_filter_length 10
egressLatency 0
ingressLatency 0
boundary_clock_jbod 0
#
# Clock description
#
productDescription ;;
revisionData ;;
manufacturerIdentity 00:00:00
userDescription ;
timeSource 0xA0
ptp4lOpts: -2 --summary_interval -4
ptpClockThreshold:
holdOverTimeout: 5
maxOffsetThreshold: 100
minOffsetThreshold: -100
ptpSchedulingPolicy: SCHED_FIFO
ptpSchedulingPriority: 10
ptpSettings:
logReduce: "true"
recommend:
- match:
- nodeLabel: node-role.kubernetes.io/master
priority: 4
profile: boundary