diff options
author | zsdc <taras@vyos.io> | 2020-04-02 19:49:00 +0300 |
---|---|---|
committer | zsdc <taras@vyos.io> | 2020-04-02 19:49:00 +0300 |
commit | df52a5fdf592c5bbb51ae0844da5df4e89ff632e (patch) | |
tree | e7cda3277760749dbb8968be97606af94a2de669 | |
parent | 9c605ffae490b6fa6f0c0e310ea88c83eee8be9d (diff) | |
download | vyos-1x-df52a5fdf592c5bbb51ae0844da5df4e89ff632e.tar.gz vyos-1x-df52a5fdf592c5bbb51ae0844da5df4e89ff632e.zip |
VRRP: T1820: Added transition-script support for sync-groups
Note: if transition-scripts configured for both vrrp instance and sync group, which are it a member of, both scripts will be executed.
-rw-r--r-- | interface-definitions/vrrp.xml.in | 39 | ||||
-rwxr-xr-x | src/conf_mode/vrrp.py | 6 |
2 files changed, 45 insertions, 0 deletions
diff --git a/interface-definitions/vrrp.xml.in b/interface-definitions/vrrp.xml.in index 89d22f79f..120c7d218 100644 --- a/interface-definitions/vrrp.xml.in +++ b/interface-definitions/vrrp.xml.in @@ -254,6 +254,45 @@ </completionHelp> </properties> </leafNode> + <node name="transition-script"> + <properties> + <help>VRRP transition scripts</help> + </properties> + <children> + <leafNode name="master"> + <properties> + <help>Script to run on VRRP state transition to master</help> + <constraint> + <validator name="script"/> + </constraint> + </properties> + </leafNode> + <leafNode name="backup"> + <properties> + <help>Script to run on VRRP state transition to backup</help> + <constraint> + <validator name="script"/> + </constraint> + </properties> + </leafNode> + <leafNode name="fault"> + <properties> + <help>Script to run on VRRP state transition to fault</help> + <constraint> + <validator name="script"/> + </constraint> + </properties> + </leafNode> + <leafNode name="stop"> + <properties> + <help>Script to run on VRRP state transition to stop</help> + <constraint> + <validator name="script"/> + </constraint> + </properties> + </leafNode> + </children> + </node> </children> </tagNode> </children> diff --git a/src/conf_mode/vrrp.py b/src/conf_mode/vrrp.py index b17f1ce82..b206f0d11 100755 --- a/src/conf_mode/vrrp.py +++ b/src/conf_mode/vrrp.py @@ -227,6 +227,12 @@ def get_config(): if conntrack_sync_group == sync_group_name: sync_group["conntrack_sync"] = True + # add transition script configuration + sync_group["master_script"] = config.return_value("transition-script master") + sync_group["backup_script"] = config.return_value("transition-script backup") + sync_group["fault_script"] = config.return_value("transition-script fault") + sync_group["stop_script"] = config.return_value("transition-script stop") + sync_groups.append(sync_group) # create a file with dict with proposed configuration |