Fix problems of softdog watchdog driver - #2155
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files
Flags with carried forward coverage won't be shown. Click here to find out more.
☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
04391f6 to
20769ca
Compare
20769ca to
06e0df9
Compare
53458db to
f4c7055
Compare
- When running in sbd stage, load watchdog driver on all nodes - When running in join process, load driver on local node only
- Avoid duplicated query-watchdog parsing - Reuse Watchdog.QUERY_CMD in ui_sbd - Share parser for local and remote checks - Keep <unknown> when configured driver is unloaded - Cover parser behavior with unit tests
- Add public softdog usage warning helper - Reuse query-watchdog parser for detection - Run warning during SBD config checks - Cover warning paths with unit tests
- Remove duplicate verify path - Drop unused first-device helper - Prefer non-softdog query results - Update watchdog unit tests
f4c7055 to
18e8d20
Compare
|
|
||
| @staticmethod | ||
| def _load_watchdog_driver(driver): | ||
| def _load_watchdog_driver(driver, join=False): |
There was a problem hiding this comment.
Passing join here couples a low level driver loading util with the cluster-level concept (init vs join). A better approach is to pass node_list here and let the caller decide.
| if sbd_only and not re.search(r"Busy: .*sbd", identity): | ||
| continue | ||
| if driver == "<unknown>": | ||
| configured_driver = cls._get_configured_watchdog_driver() |
There was a problem hiding this comment.
This is incorrect as get_watchdog_info accepts arbitrary out, possibly from a remote node, but _get_configured_watchdog_driver() query the local node for driver information.
Probably we should fix sbd to make it to print the correct driver instead of add workarounds in crmsh.
Problems:
see:
crm sbd statusshows <unknown> instead of softdog when it's configuredcrm cluster health sbdshould give a warning when using softdog as watchdog driverChanges: