mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-04-27 04:41:26 -07:00
vyos_config IndexError in sanitize_config (#36375)
* Bug in del(list) logic. Say you have a list of 4 elements a[0-3] and you have to remove index 1 and 3, if you remove index 1 first then list is cut short a[0-2] and does not have index 3 Fix: Remove indexes in reverse sorted order e.g. 3 and 1 in above example so that order of indexes remain preserved even after deleting fix is to remove indexes in reverse sorted order * Add test cases for failed case
This commit is contained in:
parent
000387ac23
commit
0bbea9a579
2 changed files with 18 additions and 1 deletions
|
@ -205,11 +205,15 @@ def diff_config(commands, config):
|
|||
|
||||
def sanitize_config(config, result):
|
||||
result['filtered'] = list()
|
||||
index_to_filter = list()
|
||||
for regex in CONFIG_FILTERS:
|
||||
for index, line in enumerate(list(config)):
|
||||
if regex.search(line):
|
||||
result['filtered'].append(line)
|
||||
del config[index]
|
||||
index_to_filter.append(index)
|
||||
# Delete all filtered configs
|
||||
for filter_index in sorted(index_to_filter, reverse=True):
|
||||
del config[filter_index]
|
||||
|
||||
|
||||
def run(module, result):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue