-
Bug
-
Resolution: Won't Do
-
Undefined
-
None
-
4.10.z
-
Moderate
-
No
-
False
-
-
Description of problem:
HOLDOVER and FREERUN events are received after bringing down master interface of a BC config. Expect no holdover/freerun events received when master interface brought down. # event logs after eno12419 (master port) is brought down: time="2023-05-05T23:21:29Z" level=info msg="found interface eno12419 for port id 3 last role MASTER has currrent role FAULTY" time="2023-05-05T23:21:29Z" level=info msg="update interface eno12419 with portid 3 from role MASTER to role FAULTY" time="2023-05-05T23:21:29Z" level=info msg="faulty found in non slave port with lastRole MASTER" time="2023-05-05T23:21:30Z" level=info msg="found interface eno12399 for port id 1 last role SLAVE has currrent role MASTER" time="2023-05-05T23:21:30Z" level=info msg="update interface eno12399 with portid 1 from role SLAVE to role MASTER" time="2023-05-05T23:21:30Z" level=debug msg="posting event status SUCCESS to publisher /cluster/node/helix49.ptp.lab.eng.bos.redhat.com/ptp" time="2023-05-05T23:21:30Z" level=debug msg="event sent {\n \"id\": \"cbec3066-812f-43ae-8632-407ec5864f1d\",\n \"type\": \"event.sync.ptp-status.ptp-state-change\",\n \"source\": \"/cluster/helix49.ptp.lab.eng.bos.redhat.com/ptp/eno1239x/master\",\n \"dataContentType\": \"application/json\",\n \"time\": \"2023-05-05T23:21:30.353812274Z\",\n \"data\": {\n \"version\": \"v1\",\n \"values\": [\n {\n \"resource\": \"/sync/sync-status/sync-state\",\n \"dataType\": \"notification\",\n \"valueType\": \"enumeration\",\n \"value\": \"HOLDOVER\"\n },\n {\n \"resource\": \"/sync/sync-status/sync-state\",\n \"dataType\": \"metric\",\n \"valueType\": \"decimal64.3\",\n \"value\": \"-5\"\n }\n ]\n }\n }" time="2023-05-05T23:21:30Z" level=debug msg="event sent {\n \"id\": \"cbec3066-812f-43ae-8632-407ec5864f1d\",\n \"type\": \"event.sync.ptp-status.ptp-state-change\",\n \"source\": \"/cluster/helix49.ptp.lab.eng.bos.redhat.com/ptp/CLOCK_REALTIME\",\n \"dataContentType\": \"application/json\",\n \"time\": \"2023-05-05T23:21:30.368968749Z\",\n \"data\": {\n \"version\": \"v1\",\n \"values\": [\n {\n \"resource\": \"/sync/sync-status/sync-state\",\n \"dataType\": \"notification\",\n \"valueType\": \"enumeration\",\n \"value\": \"FREERUN\"\n },\n {\n \"resource\": \"/sync/sync-status/sync-state\",\n \"dataType\": \"metric\",\n \"valueType\": \"decimal64.3\",\n \"value\": \"0\"\n }\n ]\n }\n }" time="2023-05-05T23:21:30Z" level=info msg="found interface eno12399 for port id 1 last role MASTER has currrent role FAULTY" time="2023-05-05T23:21:30Z" level=info msg="update interface eno12399 with portid 1 from role MASTER to role FAULTY" time="2023-05-05T23:21:30Z" level=info msg="faulty found in non slave port with lastRole MASTER" time="2023-05-05T23:21:30Z" level=debug msg="posting event status SUCCESS to publisher /cluster/node/helix49.ptp.lab.eng.bos.redhat.com/ptp" time="2023-05-05T23:21:30Z" level=info msg="found interface eno12399 for port id 1 last role FAULTY has currrent role SLAVE" time="2023-05-05T23:21:30Z" level=info msg="interface eno12399 is not anymore faulty, (cancel any holdover if found)" time="2023-05-05T23:21:30Z" level=info msg=" publishing event for eno1239x/master with last state HOLDOVER and current clock state FREERUN and offset -9999999999999999 for ( Max/Min Threshold 100/-100 )" time="2023-05-05T23:21:30Z" level=debug msg="event sent {\n \"id\": \"cbec3066-812f-43ae-8632-407ec5864f1d\",\n \"type\": \"event.sync.ptp-status.ptp-state-change\",\n \"source\": \"/cluster/helix49.ptp.lab.eng.bos.redhat.com/ptp/eno1239x/master\",\n \"dataContentType\": \"application/json\",\n \"time\": \"2023-05-05T23:21:30.429487094Z\",\n \"data\": {\n \"version\": \"v1\",\n \"values\": [\n {\n \"resource\": \"/sync/sync-status/sync-state\",\n \"dataType\": \"notification\",\n \"valueType\": \"enumeration\",\n \"value\": \"FREERUN\"\n },\n {\n \"resource\": \"/sync/sync-status/sync-state\",\n \"dataType\": \"metric\",\n \"valueType\": \"decimal64.3\",\n \"value\": \"-1e+16\"\n }\n ]\n }\n }" time="2023-05-05T23:21:30Z" level=info msg="update interface eno12399 with portid 1 from role FAULTY to role SLAVE" time="2023-05-05T23:21:30Z" level=info msg="faulty found in non slave port with lastRole FAULTY" time="2023-05-05T23:21:30Z" level=info msg="call recieved to close holderover timeout" time="2023-05-05T23:21:30Z" level=info msg="exiting holdover for interface master" time="2023-05-05T23:21:30Z" level=debug msg="posting event status SUCCESS to publisher /cluster/node/helix49.ptp.lab.eng.bos.redhat.com/ptp" time="2023-05-05T23:21:30Z" level=info msg=" publishing event for eno1239x/master with last state FREERUN and current clock state LOCKED and offset -3 for ( Max/Min Threshold 100/-100 )" time="2023-05-05T23:21:30Z" level=debug msg="event sent {\n \"id\": \"cbec3066-812f-43ae-8632-407ec5864f1d\",\n \"type\": \"event.sync.ptp-status.ptp-state-change\",\n \"source\": \"/cluster/helix49.ptp.lab.eng.bos.redhat.com/ptp/eno1239x/master\",\n \"dataContentType\": \"application/json\",\n \"time\": \"2023-05-05T23:21:30.477469843Z\",\n \"data\": {\n \"version\": \"v1\",\n \"values\": [\n {\n \"resource\": \"/sync/sync-status/sync-state\",\n \"dataType\": \"notification\",\n \"valueType\": \"enumeration\",\n \"value\": \"LOCKED\"\n },\n {\n \"resource\": \"/sync/sync-status/sync-state\",\n \"dataType\": \"metric\",\n \"valueType\": \"decimal64.3\",\n \"value\": \"-3\"\n }\n ]\n }\n }" time="2023-05-05T23:21:30Z" level=debug msg="posting event status SUCCESS to publisher /cluster/node/helix49.ptp.lab.eng.bos.redhat.com/ptp"
Version-Release number of selected component (if applicable):
ocp 4.10.59 ptp 4.10.0-202304250841
How reproducible:
100%
Steps to Reproduce:
1. Install SNO DU with 4.10 ptp operator and configure Boundary clock 2. ssh to the node, and bring down a master interface of the BC config. e.g., ip link eno12419 down. 3. Check ptp events
Actual results:
2. HOLDOVER and FREERUN events received on slave port, followed by LOCKED events
Expected results:
2. No HOLDOVER or FREERUN events received on slave interface when master interface is down
Additional info:
BC interface config in ptpconfig spec: spec: profile: - name: bc1 ptp4lConf: | # The interface name is hardware-specific [eno12399] masterOnly 0 [eno12409] masterOnly 1 [eno12419] masterOnly 1 [eno12429] masterOnly 1 [global]