Merge pull request #15794 from chiragshah6/fdev2

tools: fix pim interface config deletion II
This commit is contained in:
Donatas Abraitis 2024-04-24 22:33:37 +03:00 committed by GitHub
commit 3bb7b49791
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1083,18 +1083,33 @@ def pim_delete_move_lines(lines_to_add, lines_to_del):
# Remove all such depdendent options from delete # Remove all such depdendent options from delete
# pending list. # pending list.
pim_disable = False pim_disable = False
lines_to_del_to_del = []
index = -1
for ctx_keys, line in lines_to_del: for ctx_keys, line in lines_to_del:
index = index + 1
if ctx_keys[0].startswith("interface") and line and line == "ip pim": if ctx_keys[0].startswith("interface") and line and line == "ip pim":
pim_disable = True pim_disable = True
# no ip msdp peer <> does not accept source so strip it off.
if line and line.startswith("ip msdp peer "):
pim_msdp_peer = re.search("ip msdp peer (\S+) source (\S+)", line)
if pim_msdp_peer:
source_sub_str = "source %s" % pim_msdp_peer.group(2)
new_line = line.replace(source_sub_str, "").strip()
lines_to_del.remove((ctx_keys, line))
lines_to_del.insert(index, (ctx_keys, new_line))
if pim_disable: if pim_disable:
for ctx_keys, line in lines_to_del: for ctx_keys, line in lines_to_del:
if ( if (
ctx_keys[0].startswith("interface") ctx_keys[0].startswith("interface")
and line and line
and line.startswith("ip pim ") and (line.startswith("ip pim ") or line.startswith("ip multicast "))
): ):
lines_to_del_to_del.append((ctx_keys, line))
for ctx_keys, line in lines_to_del_to_del:
lines_to_del.remove((ctx_keys, line)) lines_to_del.remove((ctx_keys, line))
return (lines_to_add, lines_to_del) return (lines_to_add, lines_to_del)