diff options
author | John Estabrook <jestabro@vyos.io> | 2024-08-12 14:13:31 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-12 14:13:31 -0500 |
commit | 37a012c95bdc5762bbc06d6468f455d610decfa0 (patch) | |
tree | 20f790026245bfbb394ad77a2fbb5b5f9f42b709 /python/vyos | |
parent | ba0f8dbdb2766a67b6715291ac08ad0eb1cf62b7 (diff) | |
parent | 5f23b7275564cfaa7c178d320868b5f5e86ae606 (diff) | |
download | vyos-1x-37a012c95bdc5762bbc06d6468f455d610decfa0.tar.gz vyos-1x-37a012c95bdc5762bbc06d6468f455d610decfa0.zip |
Merge pull request #3961 from jestabro/verify-interface-exists-config
configverify: T6642: verify_interface_exists requires config_dict arg
Diffstat (limited to 'python/vyos')
-rw-r--r-- | python/vyos/config.py | 3 | ||||
-rw-r--r-- | python/vyos/configverify.py | 6 |
2 files changed, 5 insertions, 4 deletions
diff --git a/python/vyos/config.py b/python/vyos/config.py index b7ee606a9..1fab46761 100644 --- a/python/vyos/config.py +++ b/python/vyos/config.py @@ -344,6 +344,9 @@ class Config(object): conf_dict['pki'] = pki_dict + interfaces_root = root_dict.get('interfaces', {}) + setattr(conf_dict, 'interfaces_root', interfaces_root) + # save optional args for a call to get_config_defaults setattr(conf_dict, '_dict_kwargs', kwargs) diff --git a/python/vyos/configverify.py b/python/vyos/configverify.py index b49d66c36..59b67300d 100644 --- a/python/vyos/configverify.py +++ b/python/vyos/configverify.py @@ -237,7 +237,7 @@ def verify_bridge_delete(config): raise ConfigError(f'Interface "{interface}" cannot be deleted as it ' f'is a member of bridge "{bridge_name}"!') -def verify_interface_exists(ifname, state_required=False, warning_only=False): +def verify_interface_exists(config, ifname, state_required=False, warning_only=False): """ Common helper function used by interface implementations to perform recurring validation if an interface actually exists. We first probe @@ -245,14 +245,12 @@ def verify_interface_exists(ifname, state_required=False, warning_only=False): it exists at the OS level. """ from vyos.base import Warning - from vyos.configquery import ConfigTreeQuery from vyos.utils.dict import dict_search_recursive from vyos.utils.network import interface_exists if not state_required: # Check if interface is present in CLI config - config = ConfigTreeQuery() - tmp = config.get_config_dict(['interfaces'], get_first_key=True) + tmp = getattr(config, 'interfaces_root', {}) if bool(list(dict_search_recursive(tmp, ifname))): return True |