diff options
| author | anderbak <bjanderson7583@gmail.com> | 2026-05-12 14:41:35 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-05-12 17:41:35 +0300 |
| commit | 1dd997d724449e941c6bf42be98529372d9f1530 (patch) | |
| tree | 5ca8e037e5e6f395152eb24579cd32fd34cb3edb | |
| parent | ab28ff732ca159438ef911cd91fd86ddd5000970 (diff) | |
| download | vyos-1x-1dd997d724449e941c6bf42be98529372d9f1530.tar.gz vyos-1x-1dd997d724449e941c6bf42be98529372d9f1530.zip | |
frr: T8606: add watchfrr timeout option (#5165)
Co-authored-by: Christian Breunig <christian@breunig.cc>
| -rw-r--r-- | data/templates/frr/daemons.frr.tmpl | 2 | ||||
| -rw-r--r-- | interface-definitions/system_frr.xml.in | 14 | ||||
| -rwxr-xr-x | smoketest/scripts/cli/test_system_frr.py | 24 |
3 files changed, 39 insertions, 1 deletions
diff --git a/data/templates/frr/daemons.frr.tmpl b/data/templates/frr/daemons.frr.tmpl index 32ef1079b..b1159217f 100644 --- a/data/templates/frr/daemons.frr.tmpl +++ b/data/templates/frr/daemons.frr.tmpl @@ -103,7 +103,7 @@ vtysh_enable=yes watchfrr_enable=yes valgrind_enable=no -#watchfrr_options="" +watchfrr_options="--timeout={{ watchfrr_timeout }}" frr_profile="{{ profile }}" diff --git a/interface-definitions/system_frr.xml.in b/interface-definitions/system_frr.xml.in index 9bd190268..28b6b93e5 100644 --- a/interface-definitions/system_frr.xml.in +++ b/interface-definitions/system_frr.xml.in @@ -35,6 +35,20 @@ <valueless/> </properties> </leafNode> + <leafNode name="watchfrr-timeout"> + <properties> + <help>Set watchfrr daemon timeout</help> + <valueHelp> + <format>u32:60-600</format> + <description>Timeout in seconds</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 60-600"/> + </constraint> + <constraintErrorMessage>Timeout must be in range 60 to 600 seconds</constraintErrorMessage> + </properties> + <defaultValue>90</defaultValue> + </leafNode> <leafNode name="profile"> <properties> <help>Select configuration profile to adapt different defaults</help> diff --git a/smoketest/scripts/cli/test_system_frr.py b/smoketest/scripts/cli/test_system_frr.py index 9217f2b27..ea280dd27 100755 --- a/smoketest/scripts/cli/test_system_frr.py +++ b/smoketest/scripts/cli/test_system_frr.py @@ -196,5 +196,29 @@ class TestSystemFRR(VyOSUnitTestSHIM.TestCase): daemons_config = read_file(config_file) self.assertIn(f'MAX_FDS={default_descriptors}', daemons_config) + def test_frr_watchfrr_timeout(self): + default_watchfrr_timeout = default_value(base_path + ['watchfrr-timeout']) + watchfrr_timeout = '120' + + self.cli_set(base_path + ['watchfrr-timeout', watchfrr_timeout]) + self.cli_commit() + + # read the config file and check content + daemons_config = read_file(config_file) + self.assertIn( + f'watchfrr_options="--timeout={watchfrr_timeout}"', daemons_config + ) + + # test remove of watchfrr-timeout + self.cli_delete(base_path) + self.cli_commit() + + # read the config file and check content + daemons_config = read_file(config_file) + self.assertIn( + f'watchfrr_options="--timeout={default_watchfrr_timeout}"', daemons_config + ) + + if __name__ == '__main__': unittest.main(verbosity=2, failfast=VyOSUnitTestSHIM.TestCase.debug_on()) |
