summaryrefslogtreecommitdiff
path: root/src/conf_mode/vrrp.py
diff options
context:
space:
mode:
authorThomas Mangin <thomas.mangin@exa.net.uk>2020-04-14 09:43:19 +0100
committerThomas Mangin <thomas.mangin@exa.net.uk>2020-04-14 12:04:39 +0100
commitfdfd050431f786f9c9b7bfdcb51b5e8aca3f79f5 (patch)
treea4f559e957a122f49b2574a4e4098cc3eb9ed503 /src/conf_mode/vrrp.py
parent9389f3e1d7ee754fd654b4d6b88338754dab452f (diff)
downloadvyos-1x-fdfd050431f786f9c9b7bfdcb51b5e8aca3f79f5.tar.gz
vyos-1x-fdfd050431f786f9c9b7bfdcb51b5e8aca3f79f5.zip
vrrp: T2223: move VRRP within ifconfig
Tidied up the code and moved it under VRRP in view to use with show-interface (which has VRRP filtering) No change in functionality
Diffstat (limited to 'src/conf_mode/vrrp.py')
-rwxr-xr-xsrc/conf_mode/vrrp.py21
1 files changed, 9 insertions, 12 deletions
diff --git a/src/conf_mode/vrrp.py b/src/conf_mode/vrrp.py
index b9b0405e2..f358891a5 100755
--- a/src/conf_mode/vrrp.py
+++ b/src/conf_mode/vrrp.py
@@ -22,16 +22,13 @@ from json import dumps
from pathlib import Path
import vyos.config
-import vyos.keepalived
from vyos import ConfigError
from vyos.util import call
from vyos.template import render
+from vyos.ifconfig.vrrp import VRRP
-daemon_file = "/etc/default/keepalived"
-config_file = "/etc/keepalived/keepalived.conf"
-config_dict_path = "/run/keepalived_config.dict"
def get_config():
vrrp_groups = []
@@ -127,7 +124,7 @@ def get_config():
sync_groups.append(sync_group)
# create a file with dict with proposed configuration
- with open("{}.temp".format(config_dict_path), 'w') as dict_file:
+ with open("{}.temp".format(VRRP.location['vyos']), 'w') as dict_file:
dict_file.write(dumps({'vrrp_groups': vrrp_groups, 'sync_groups': sync_groups}))
return (vrrp_groups, sync_groups)
@@ -212,9 +209,9 @@ def generate(data):
# Filter out disabled groups
vrrp_groups = list(filter(lambda x: x["disable"] is not True, vrrp_groups))
- render(config_file, 'vrrp/keepalived.conf.tmpl',
- {"groups": vrrp_groups, "sync_groups": sync_groups})
- render(daemon_file, 'vrrp/daemon.tmpl', {})
+ render(VRRP.location['config'], 'vrrp/keepalived.conf.tmpl',
+ {"groups": vrrp_groups, "sync_groups": sync_groups})
+ render(VRRP.location['daemon'], 'vrrp/daemon.tmpl', {})
return None
@@ -223,12 +220,12 @@ def apply(data):
if vrrp_groups:
# safely rename a temporary file with configuration dict
try:
- dict_file = Path("{}.temp".format(config_dict_path))
- dict_file.rename(Path(config_dict_path))
+ dict_file = Path("{}.temp".format(VRRP.location['vyos']))
+ dict_file.rename(Path(VRRP.location['vyos']))
except Exception as err:
print("Unable to rename the file with keepalived config for FIFO pipe: {}".format(err))
- if not vyos.keepalived.vrrp_running():
+ if not VRRP.is_running():
print("Starting the VRRP process")
ret = call("sudo systemctl restart keepalived.service")
else:
@@ -241,7 +238,7 @@ def apply(data):
# VRRP is removed in the commit
print("Stopping the VRRP process")
call("sudo systemctl stop keepalived.service")
- os.unlink(config_file)
+ os.unlink(VRRP.location['daemon'])
return None