This commits renames PTP instance service type "monitoring"
to "gnss-monitor", since the parameters are specific to GNSS
quality monitoring.
TEST PLAN:
PASS: Create gnss-monitor instance, add parameters and assign to host
and apply.
system ptp-instance-add test-gnss-monitor gnss-monitor
system ptp-instance-parameter-add test-gnss-monitor satellite_count=8
system ptp-instance-parameter-add test-gnss-monitor signal_quality_db=30
system ptp-instance-parameter-add test-gnss-monitor devices="/dev/gnss0 /dev/gnssx"
system ptp-instance-parameter-add test-gnss-monitor cmdline_opts="-D 7"
system host-ptp-instance-assign controller-0 test-gnss-monitor
system host-update controller-0 clock_synchronization=ptp
system ptp-instance-apply
- Test with cli first: sudo python /usr/rootdirs/opt/
collectd/extensions/python/ptp_gnss_monitor_cli.py --devices /dev/gnss0
/dev/gnss0's gps_data: GpsData(gpsd_running=1, lock_state=1,
satellite_count=8,
signal_quality_db=SignalQualityDb(min=31.0, max=48.0, avg=43.6))
This shows satellite count and signal_quality_db of devices, that
can be tested against on following tests.
- Below alarms received for device_path=/dev/gnssx
controller-0 GNSS signal quality db below threshold state:
signal_quality_db 0 (expected: >= 30.0)
controller-0 GNSS satellite count below threshold state:
satellite count 0 (expected: >= 8)
controller-0 GNSS signal loss state: signal lock False (expected: True)
- check collectd.log for actual GpsData of /dev/gnss0
info ptp plugin instance gnss-monitor-ptp device /dev/gnss0 data: GpsData(..)
- gpsd.service process running and no alarm for this service
- "systemctl stop gpsd.service" triggers "gpsd.service enabled
but not running"
- "systemctl start gpsd.service" clears "gpsd.service enabled
but not running"
PASS: without devices, raises no device-specific alarms are reported,
no errors on collectd.log
system ptp-instance-parameter-delete test-gnss-monitor devices=
"/dev/gnss0 /dev/gnssx"
system ptp-instance-apply
- fm alarm-list # no alarms
- "systemctl stop gpsd.service" triggers "gpsd.service enabled but
not running" alarm
- "systemctl start gpsd.service" clears "gpsd.service enabled but
not running" alarm
PASS: Add wrong satellite_count value, only that alarm get excluded
system ptp-instance-parameter-add test-gnss-monitor devices=
"/dev/gnssx"
system ptp-instance-parameter-add test-gnss-monitor 'satellite_count=x'
system ptp-instance-apply
collectd log: ptp plugin Reading satellite_count from gnss-monitor
config file /etc/linuxptp/ptpinstance/gnss-monitor-ptp.conf
failed. error: invalid literal for int() with base 10: 'x'
- only satellite_count alarm get excluded, working as expected
PASS: Add wrong signal_quality_db value, only that alarm get excluded
system ptp-instance-parameter-add test-gnss-monitor
'signal_quality_db=100.x'
system ptp-instance-apply
collectd log: ptp plugin Reading signal_quality_db from gnss-monitor
config file /etc/linuxptp/ptpinstance/gnss-monitor-ptp.conf failed.
error: could not convert string to float: '100.x'
- No traceback on collectd.log, signal_quality_db has no effect on
other alarms.
PASS: increase threshold to check device specific alarms triggered
system ptp-instance-parameter-add test-gnss-monitor devices=
"/dev/gnss0 /dev/gnssx"
system ptp-instance-parameter-add test-gnss-monitor satellite_count=100
system ptp-instance-parameter-add test-gnss-monitor signal_quality_db=300
system ptp-instance-apply
- fm alarm-list # reports both alarms on devices
PASS: test with monitoring instance with other instances (including ts2phc)
PASS: remove monitoring instance, keep other instances
Story: 2011345
Task: 52718
Change-Id: Ice025cd5282a2e97471d72e809f62643f7a55f65
Signed-off-by: Tara Nath Subedi <tara.subedi@windriver.com>