diff options
author | Viacheslav <v.gletenko@vyos.io> | 2022-01-13 20:11:57 +0000 |
---|---|---|
committer | Viacheslav <v.gletenko@vyos.io> | 2022-01-13 21:11:06 +0000 |
commit | 6cdeb472d924ec66fe74e17559e942ab5f55d45f (patch) | |
tree | 44683726e2d6770a57f5440de7d41828190db3cd | |
parent | e91d15b58a216ffdcb8c6f6e986983dd54169d3a (diff) | |
download | vyos-1x-6cdeb472d924ec66fe74e17559e942ab5f55d45f.tar.gz vyos-1x-6cdeb472d924ec66fe74e17559e942ab5f55d45f.zip |
vrrp: T4182: Check if VRRP configured in op mode
There is a situation when service keepalived is active but
there a no any "vrrp" configuration. In that case "show vrrp"
hangs up because it expect data from keepalived daemon which
can't get
Check if "vrrp" exists in configuration and only then check if pid
is active
-rwxr-xr-x | src/op_mode/vrrp.py | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/op_mode/vrrp.py b/src/op_mode/vrrp.py index 2c1db20bf..dab146d28 100755 --- a/src/op_mode/vrrp.py +++ b/src/op_mode/vrrp.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 # -# Copyright (C) 2018 VyOS maintainers and contributors +# Copyright (C) 2018-2022 VyOS maintainers and contributors # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 or later as @@ -23,6 +23,7 @@ import tabulate import vyos.util +from vyos.configquery import ConfigTreeQuery from vyos.ifconfig.vrrp import VRRP from vyos.ifconfig.vrrp import VRRPError, VRRPNoData @@ -35,7 +36,17 @@ group.add_argument("-d", "--data", action="store_true", help="Print detailed VRR args = parser.parse_args() +def is_configured(): + """ Check if VRRP is configured """ + config = ConfigTreeQuery() + if not config.exists(['high-availability', 'vrrp', 'group']): + return False + return True + # Exit early if VRRP is dead or not configured +if is_configured() == False: + print('VRRP not configured!') + exit(0) if not VRRP.is_running(): print('VRRP is not running') sys.exit(0) |