diff options
| author | John Estabrook <jestabro@vyos.io> | 2023-08-06 19:56:42 -0500 | 
|---|---|---|
| committer | John Estabrook <jestabro@vyos.io> | 2023-08-07 14:46:42 -0500 | 
| commit | 12ba001730c86ed8af0cfdb5ba89674ea2053efe (patch) | |
| tree | 8a046453bb0af46ed7ada8e091248e2360c84916 /src | |
| parent | 5b21b73b275aab27949cded93d352e9bd8a6b6f8 (diff) | |
| download | vyos-1x-12ba001730c86ed8af0cfdb5ba89674ea2053efe.tar.gz vyos-1x-12ba001730c86ed8af0cfdb5ba89674ea2053efe.zip | |
T5319: remove workarounds for defaults in snmp.py
Diffstat (limited to 'src')
| -rwxr-xr-x | src/conf_mode/snmp.py | 55 | 
1 files changed, 1 insertions, 54 deletions
| diff --git a/src/conf_mode/snmp.py b/src/conf_mode/snmp.py index 4bf67f079..7882f8510 100755 --- a/src/conf_mode/snmp.py +++ b/src/conf_mode/snmp.py @@ -31,7 +31,6 @@ from vyos.utils.permission import chmod_755  from vyos.utils.dict import dict_search  from vyos.utils.network import is_addr_assigned  from vyos.version import get_version_data -from vyos.xml import defaults  from vyos import ConfigError  from vyos import airbag  airbag.enable() @@ -70,26 +69,9 @@ def get_config(config=None):      # We have gathered the dict representation of the CLI, but there are default      # options which we need to update into the dictionary retrived. -    default_values = defaults(base) - -    # We can not merge defaults for tagNodes - those need to be blended in -    # per tagNode instance -    if 'listen_address' in default_values: -        del default_values['listen_address'] -    if 'community' in default_values: -        del default_values['community'] -    if 'trap_target' in default_values: -        del default_values['trap_target'] -    if 'v3' in default_values: -        del default_values['v3'] -    snmp = dict_merge(default_values, snmp) +    snmp = conf.merge_defaults(snmp, recursive=True)      if 'listen_address' in snmp: -        default_values = defaults(base + ['listen-address']) -        for address in snmp['listen_address']: -            snmp['listen_address'][address] = dict_merge( -                default_values, snmp['listen_address'][address]) -          # Always listen on localhost if an explicit address has been configured          # This is a safety measure to not end up with invalid listen addresses          # that are not configured on this system. See https://vyos.dev/T850 @@ -101,41 +83,6 @@ def get_config(config=None):              tmp = {'::1': {'port': '161'}}              snmp['listen_address'] = dict_merge(tmp, snmp['listen_address']) -    if 'community' in snmp: -        default_values = defaults(base + ['community']) -        if 'network' in default_values: -            # convert multiple default networks to list -            default_values['network'] = default_values['network'].split() -        for community in snmp['community']: -            snmp['community'][community] = dict_merge( -                default_values, snmp['community'][community]) - -    if 'trap_target' in snmp: -        default_values = defaults(base + ['trap-target']) -        for trap in snmp['trap_target']: -            snmp['trap_target'][trap] = dict_merge( -                default_values, snmp['trap_target'][trap]) - -    if 'v3' in snmp: -        default_values = defaults(base + ['v3']) -        # tagNodes need to be merged in individually later on -        for tmp in ['user', 'group', 'trap_target']: -            del default_values[tmp] -        snmp['v3'] = dict_merge(default_values, snmp['v3']) - -        for user_group in ['user', 'group']: -            if user_group in snmp['v3']: -                default_values = defaults(base + ['v3', user_group]) -                for tmp in snmp['v3'][user_group]: -                    snmp['v3'][user_group][tmp] = dict_merge( -                        default_values, snmp['v3'][user_group][tmp]) - -            if 'trap_target' in snmp['v3']: -                default_values = defaults(base + ['v3', 'trap-target']) -                for trap in snmp['v3']['trap_target']: -                    snmp['v3']['trap_target'][trap] = dict_merge( -                        default_values, snmp['v3']['trap_target'][trap]) -      return snmp  def verify(snmp): | 
