Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
17bf622
Init VRRP
omnom62 Oct 20, 2025
b896b0a
Merge branch 'main' into t6820_vrrp
omnom62 Oct 20, 2025
9c68abb
Merge branch 'main' into t6820_vrrp
gaige Oct 21, 2025
39192ba
RM Templates
omnom62 Oct 23, 2025
2786c32
rm_templates for global_parameters
omnom62 Oct 24, 2025
876babe
virtual servers rm_templates
omnom62 Oct 26, 2025
60f44fc
update
omnom62 Oct 26, 2025
42cfefc
sync-group rm_tempalte
omnom62 Oct 28, 2025
60e5bcb
VRRP GP GARP template rework
omnom62 Oct 28, 2025
b4fd7df
RM template and new facts logic
omnom62 Oct 28, 2025
1c5c271
Merge branch 'main' into t6820_vrrp
omnom62 Oct 29, 2025
bdeaa32
Merge branch 'main' into t6820_vrrp
omnom62 Nov 3, 2025
288c59c
vrrp argspec
omnom62 Nov 4, 2025
e6ea3b1
Suppressing backup versions of files
omnom62 Nov 4, 2025
57ede2e
Facts for vrrp
omnom62 Nov 5, 2025
888e3f9
VRRP facts updates
omnom62 Nov 9, 2025
cedd44f
Facts almost done
omnom62 Nov 10, 2025
6a788b4
Argspec vrrp
omnom62 Nov 11, 2025
6a7e7d5
Argspec completed
omnom62 Nov 11, 2025
bf1e539
Argspec and facts for VRRP finished
omnom62 Nov 14, 2025
1d20af7
Documentation for VRRP module
omnom62 Nov 15, 2025
d9ac1b3
Sanity tests fixes and documentation
omnom62 Nov 15, 2025
ec250eb
VRRP config started
omnom62 Nov 16, 2025
cbe0d75
Doc fixes
omnom62 Nov 16, 2025
83e8441
Doc fixes
omnom62 Nov 16, 2025
667ead8
Doc fixes
omnom62 Nov 16, 2025
d5b16b6
Configuration for VRRP
omnom62 Nov 20, 2025
1211dac
wip
omnom62 Nov 20, 2025
afe4c92
Merge branch 'main' into t6820_vrrp
omnom62 Nov 20, 2025
80689d5
Updates to facts, config, templates in VRRP
omnom62 Nov 20, 2025
a8aaa83
Merge branch 'main' into t6820_vrrp
omnom62 Nov 27, 2025
5ea5b4d
Merge branch 'main' into t6820_vrrp
omnom62 Nov 29, 2025
064004e
VRRP groups templates, facts and config
omnom62 Nov 21, 2025
e30ad7a
VRRP works - templates for groups and virtual_servers
omnom62 Nov 25, 2025
87fdcf9
Mid-result
omnom62 Nov 27, 2025
156df60
VRRP VS prototype
omnom62 Nov 29, 2025
b66b9f1
Groups processor update
omnom62 Nov 29, 2025
d800f77
Reworked vrrp.group and vrrp.group.garp processors
omnom62 Nov 29, 2025
880fbe7
VRRP grp recursive
omnom62 Dec 1, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,7 @@ venv.bak/
*.code-workspace
.vscode/
.DS_Store
*.bak

changelogs/.plugin-cache.yaml
# inventory for testing
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ Name | Description
[vyos.vyos.vyos_system](https://github.com/vyos/vyos.vyos/blob/main/docs/vyos.vyos.vyos_system_module.rst)|Run `set system` commands on VyOS devices
[vyos.vyos.vyos_user](https://github.com/vyos/vyos.vyos/blob/main/docs/vyos.vyos.vyos_user_module.rst)|Manage the collection of local users on VyOS device
[vyos.vyos.vyos_vlan](https://github.com/vyos/vyos.vyos/blob/main/docs/vyos.vyos.vyos_vlan_module.rst)|Manage VLANs on VyOS network devices
[vyos.vyos.vyos_vrrp](https://github.com/vyos/vyos.vyos/blob/main/docs/vyos.vyos.vyos_vrrp_module.rst)|Manage VRRP and load balancer configuration on VyOS

<!--end collection content-->

Expand Down
3 changes: 3 additions & 0 deletions changelogs/fragments/t6820_vrrp.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
---
minor_changes:
- vyos_vrrp - Add VRRP (High Availability) support
2,648 changes: 2,648 additions & 0 deletions docs/vyos.vyos.vyos_vrrp_module.rst

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions plugins/action/vyos_vrrp.py
Empty file.
191 changes: 191 additions & 0 deletions plugins/module_utils/network/vyos/argspec/vrrp/vrrp.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,191 @@
# -*- coding: utf-8 -*-
# Copyright 2024 Red Hat
# GNU General Public License v3.0+
# (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)

from __future__ import absolute_import, division, print_function


__metaclass__ = type

#############################################
# WARNING #
#############################################
#
# This file is auto generated by the
# cli_rm_builder.
#
# Manually editing this file is not advised.
#
# To update the argspec make the desired changes
# in the module docstring and re-run
# cli_rm_builder.
#
#############################################

"""
The arg spec for the vyos_vrrp module
"""


class VrrpArgs(object): # pylint: disable=R0903
"""The arg spec for the vyos_vrrp module"""

argument_spec = {
"config": {
"type": "dict",
"required": False,
"options": {
"disable": {"type": "bool", "default": False},
"virtual_servers": {
"type": "list",
"elements": "dict",
"options": {
"alias": {"type": "str", "required": True},
"address": {"type": "str"},
"algorithm": {"type": "str"},
"delay_loop": {"type": "int"},
"forward_method": {"type": "str", "choices": ["direct", "nat"]},
"fwmark": {"type": "str"},
"persistence_timeout": {"type": "str"},
"port": {"type": "int"},
"protocol": {"type": "str", "choices": ["tcp", "udp"]},
"real_servers": {
"type": "list",
"elements": "dict",
"options": {
"address": {"type": "str", "required": True},
"port": {"type": "int"},
"health_check_script": {"type": "str"},
},
},
},
},
"vrrp": {
"type": "dict",
"options": {
"global_parameters": {
"type": "dict",
"options": {
"garp": {
"type": "dict",
"options": {
"interval": {"type": "int"},
"master_delay": {"type": "int"},
"master_refresh": {"type": "int"},
"master_refresh_repeat": {"type": "int"},
"master_repeat": {"type": "int"},
},
},
"startup_delay": {"type": "int"},
"version": {"type": "str"},
},
},
"groups": {
"type": "list",
"elements": "dict",
"options": {
"name": {"type": "str", "required": True},
"address": {"type": "str"},
"advertise_interval": {"type": "int"},
"authentication": {
"type": "dict",
"options": {
"password": {"type": "str", "no_log": True},
"type": {"type": "str"},
},
},
"description": {"type": "str"},
"disable": {"type": "bool", "default": False},
"excluded_address": {"type": "str"},
"garp": {
"type": "dict",
"options": {
"interval": {"type": "int"},
"master_delay": {"type": "int"},
"master_refresh": {"type": "int"},
"master_refresh_repeat": {"type": "int"},
"master_repeat": {"type": "int"},
},
},
"health_check": {
"type": "dict",
"options": {
"failure_count": {"type": "int"},
"interval": {"type": "int"},
"ping": {"type": "str"},
"script": {"type": "str"},
},
},
"hello_source_address": {"type": "str"},
"interface": {"type": "str"},
"no_preempt": {"type": "bool"},
"peer_address": {"type": "str"},
"preempt_delay": {"type": "int"},
"priority": {"type": "int"},
"rfc3768_compatibility": {"type": "bool"},
"track": {
"type": "dict",
"options": {
"exclude_vrrp_interface": {"type": "bool"},
"interface": {"type": "str"},
},
},
"transition_script": {
"type": "dict",
"options": {
"backup": {"type": "str"},
"fault": {"type": "str"},
"master": {"type": "str"},
"stop": {"type": "str"},
},
},
"vrid": {"type": "int", "required": True},
},
},
"snmp": {"type": "bool"},
"sync_groups": {
"type": "list",
"elements": "dict",
"options": {
"name": {"type": "str", "required": True},
"health_check": {
"type": "dict",
"options": {
"failure_count": {"type": "int"},
"interval": {"type": "int"},
"ping": {"type": "str"},
"script": {"type": "str"},
},
},
"member": {"type": "list", "elements": "str"},
"transition_script": {
"type": "dict",
"options": {
"backup": {"type": "str"},
"fault": {"type": "str"},
"master": {"type": "str"},
"stop": {"type": "str"},
},
},
},
},
},
},
},
},
"state": {
"type": "str",
"choices": [
"deleted",
"merged",
"purged",
"replaced",
"gathered",
"rendered",
"parsed",
],
"default": "merged",
},
"running_config": {"type": "str"},
} # pylint: disable=C0301
Empty file.
Loading