Description of problem: Currently all ptp configs in ZTP source-cr includes phc2sysOpts option, thus even if user did not include phc2sysOpts in user PGT, it will end up being added to spoke ptpconfigs. For PTP dual nic feature, user need to create 2 ptpconfig but only 1 phc2sys should be running. Suggest to add a new source-cr that is tailored for dual nic feature (modifying existing ptp source-crs may cause problems in upgrade because policies can become NonCompliant unexpectedly). Version-Release number of selected component (if applicable): 4.11 How reproducible: 100% Steps to Reproduce: 1. configure ptp with dual nic via PGT (one with phc2sysOpts, and one without) http://registry.kni-qe-0.lab.eng.rdu2.redhat.com:3000/kni-qe/ztp-site-configs/src/cnfde4-4.11/policygentemplates/group-du-sno-ranGen.yaml#L48-L248 2. deploy spoke using above config 3. Check ptp configs and ensure only 1 phyc2sys is running Actual results: 3. phc2sysOpts is included in both ptpconfigs Expected results: 3. For dual NIC configs, phc2sysOpts should not be added if user did not add it in PGT Additional info: Note "phc2sysOpts: -a -r -n 24" is not added by user, but by default source-cr. [kni ~]$ oc get ptpconfigs.ptp.openshift.io -A NAMESPACE NAME AGE openshift-ptp du-ptp-bc1 38s openshift-ptp du-ptp-bc2 38s [kni ~]$ oc get ptpconfigs.ptp.openshift.io -A -o yaml |grep phc phc2sysOpts: -a -r -n 24 phc2sysOpts: -a -r -m -n 24 -N 8 -R 16
issue is verified in : [kni ~]$ oc version Client Version: 4.11.10 Kustomize Version: v4.5.4 Server Version: 4.12.0-0.nightly-2022-10-25-210451 Kubernetes Version: v1.25.2+4bd0702 [kni ~]$ oc get ptpconfig -n openshift-ptp du-ptp-bc2 -o yaml apiVersion: ptp.openshift.io/v1 kind: PtpConfig metadata: creationTimestamp: "2022-11-02T17:31:38Z" generation: 1 name: du-ptp-bc2 namespace: openshift-ptp resourceVersion: "30372" uid: 9a7c0bd2-d373-43d6-83dd-9120fcec535c spec: profile: - name: bc2 phc2sysOpts: -s ens1f0 -w -r -m -n 24 -N 8 -R 16 ptp4lConf: "[ens1f0]\nmasterOnly 0\n[ens1f1]\nmasterOnly 1\n[ens1f2]\nmasterOnly 1\n[ens1f3]\nmasterOnly 1\n[global]\npriority1 128\npriority2 128\ndomainNumber \ 24\nclockAccuracy 0xFE\noffsetScaledLogVariance 0xFFFF\nfree_running 0\nfreq_est_interval 1\ndscp_event 0\ndscp_general 0 \ndataset_comparison ieee1588\nG.8275.defaultDS.localPriority \ 128\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\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 4\nkernel_leap \ 1\ncheck_fup_sync 0\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 30.0\nfirst_step_threshold 0.00002\nmax_frequency \ 900000000\nclock_servo pi\nsanity_freq_limit 0\nntpshm_segment \ 0\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\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\nproductDescription ;;\nrevisionData \ ;;\nmanufacturerIdentity 00:00:00\nuserDescription ;\ntimeSource \ 0xA0\n" ptp4lOpts: -2 --summary_interval -4 ptpClockThreshold: holdOverTimeout: 60 maxOffsetThreshold: 100 minOffsetThreshold: -100 ptpSchedulingPolicy: SCHED_FIFO ptpSchedulingPriority: 10 recommend: - match: - nodeLabel: node-role.kubernetes.io/master priority: 4 profile: bc2 [kni ~]$ oc get ptpconfig -n openshift-ptp du-ptp-bc1 -o yaml apiVersion: ptp.openshift.io/v1 kind: PtpConfig metadata: creationTimestamp: "2022-11-02T17:31:38Z" generation: 1 name: du-ptp-bc1 namespace: openshift-ptp resourceVersion: "30366" uid: 19639eaf-9772-44d1-a613-c39269476109 spec: profile: - name: bc1 phc2sysOpts: "" ptp4lConf: | [ens4f0] masterOnly 0 [ens4f1] masterOnly 1 [ens4f2] masterOnly 1 [ens4f3] masterOnly 1 [global] priority1 128 priority2 128 domainNumber 24 clockAccuracy 0xFE offsetScaledLogVariance 0xFFFF free_running 0 freq_est_interval 1 dscp_event 0 dscp_general 0 dataset_comparison ieee1588 G.8275.defaultDS.localPriority 128 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 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 4 kernel_leap 1 check_fup_sync 0 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 30.0 first_step_threshold 0.00002 max_frequency 900000000 clock_servo pi sanity_freq_limit 0 ntpshm_segment 0 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 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 productDescription ;; revisionData ;; manufacturerIdentity 00:00:00 userDescription ; timeSource 0xA0 ptp4lOpts: -2 --summary_interval -4 ptpClockThreshold: holdOverTimeout: 60 maxOffsetThreshold: 100 minOffsetThreshold: -100 ptpSchedulingPolicy: SCHED_FIFO ptpSchedulingPriority: 10 recommend: - match: - nodeLabel: node-role.kubernetes.io/master priority: 4 profile: bc1 [kni@regis
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (Moderate: OpenShift Container Platform 4.12.0 bug fix and security update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2022:7399