
Issue 1: Duplicate notifications were being delivered to clients when subscribed to multiple services. The implementation of multiple instance support revealed an issue where there was no check present to only deliver notifications for matching subscriptions, so a node subscribed to multiple services (ie. ptp lock state and gnss lock state) would receive a copy of each individual notification for each subscription present. The prior model assumed that only a single subscription would exist for each node. Fix: Added a check when building the list of subscribers to only deliver on subscriptions that match the notification resource address. Issue 2: GNSS reports locked when ts2phc is not running Fix: Implemented a check to report a state change is ts2phc is not running as this means that the NIC PHC will not be in sync. This also includes an update to the state names for GNSS from Locked/Holdover/Freerun to Synchronized and other additional states as specified in the O-RAN Notification standard. Test plan: PASS: Build and deploy ptp-notification application PASS: Duplicate notifications are not sent when multiple subscriptions are present PASS: v1 subscriptions unaffected PASS: GNSS reports nofix when ts2phc is stopped Story: 2010056 Task: 46423 Signed-off-by: Cole Walker <cole.walker@windriver.com> Change-Id: Ie6735f80fd311f7ec5c593c76c917d31675c2dbd
17 lines
531 B
Python
17 lines
531 B
Python
from wsme import types as wtypes
|
|
|
|
EnumGnssState = wtypes.Enum(str, 'Locked', 'Freerun', 'Holdover')
|
|
|
|
class GnssState(object):
|
|
# Not all states are implemented on some hardware
|
|
Synchronized = "SYNCHRONIZED"
|
|
Acquiring_Sync = "ACQUIRING-SYNC"
|
|
Antenna_Disconnected = "ANTENNA-DISCONNECTED"
|
|
Booting = "BOOTING"
|
|
Antenna_Short_Circuit = "ANTENNA-SHORT-CIRCUIT"
|
|
Failure_Multipath = "FAULURE-MULTIPATH"
|
|
Failure_Nofix = "FAILURE-NOFIX"
|
|
Failure_Low_SNR = "FAILURE-LOW-SNR"
|
|
Failure_PLL = "FAILURE-PLL"
|
|
|