mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-07-24 05:40:23 -07:00
Implement purge on eos_vrf (#28013)
This commit is contained in:
parent
1c4e491eac
commit
e8f1c1511c
2 changed files with 36 additions and 1 deletions
|
@ -91,6 +91,7 @@ def map_obj_to_commands(updates, module):
|
||||||
commands = list()
|
commands = list()
|
||||||
want, have = updates
|
want, have = updates
|
||||||
state = module.params['state']
|
state = module.params['state']
|
||||||
|
purge = module.params['purge']
|
||||||
|
|
||||||
for w in want:
|
for w in want:
|
||||||
name = w['name']
|
name = w['name']
|
||||||
|
@ -100,7 +101,7 @@ def map_obj_to_commands(updates, module):
|
||||||
obj_in_have = search_obj_in_list(name, have)
|
obj_in_have = search_obj_in_list(name, have)
|
||||||
|
|
||||||
if state == 'absent':
|
if state == 'absent':
|
||||||
if have:
|
if obj_in_have:
|
||||||
commands.append('no vrf definition %s' % name)
|
commands.append('no vrf definition %s' % name)
|
||||||
elif state == 'present':
|
elif state == 'present':
|
||||||
if not obj_in_have:
|
if not obj_in_have:
|
||||||
|
@ -130,6 +131,12 @@ def map_obj_to_commands(updates, module):
|
||||||
commands.append('interface %s' % i)
|
commands.append('interface %s' % i)
|
||||||
commands.append('vrf forwarding %s' % w['name'])
|
commands.append('vrf forwarding %s' % w['name'])
|
||||||
|
|
||||||
|
if purge:
|
||||||
|
for h in have:
|
||||||
|
obj_in_want = search_obj_in_list(h['name'], want)
|
||||||
|
if not obj_in_want:
|
||||||
|
commands.append('no vrf definition %s' % h['name'])
|
||||||
|
|
||||||
return commands
|
return commands
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -161,6 +161,30 @@
|
||||||
# Ensure sessions contains epoc. Will fail after 18th May 2033
|
# Ensure sessions contains epoc. Will fail after 18th May 2033
|
||||||
- "result.session_name is not defined"
|
- "result.session_name is not defined"
|
||||||
|
|
||||||
|
- name: Create aggregate of VRFs with purge
|
||||||
|
eos_vrf:
|
||||||
|
aggregate:
|
||||||
|
- { name: test4, rd: "1:204" }
|
||||||
|
- { name: test5, rd: "1:205" }
|
||||||
|
state: present
|
||||||
|
purge: yes
|
||||||
|
authorize: yes
|
||||||
|
provider: "{{ cli }}"
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- assert:
|
||||||
|
that:
|
||||||
|
- "result.changed == true"
|
||||||
|
- "'vrf definition test4' in result.commands"
|
||||||
|
- "'rd 1:204' in result.commands"
|
||||||
|
- "'vrf definition test5' in result.commands"
|
||||||
|
- "'rd 1:205' in result.commands"
|
||||||
|
- "'no vrf definition test' in result.commands"
|
||||||
|
- "'no vrf definition test2' in result.commands"
|
||||||
|
- "'no vrf definition test3' in result.commands"
|
||||||
|
# Ensure sessions contains epoc. Will fail after 18th May 2033
|
||||||
|
- "'ansible_1' in result.session_name"
|
||||||
|
|
||||||
- name: Delete VRFs
|
- name: Delete VRFs
|
||||||
eos_vrf:
|
eos_vrf:
|
||||||
name: test
|
name: test
|
||||||
|
@ -180,6 +204,8 @@
|
||||||
aggregate:
|
aggregate:
|
||||||
- { name: test2 }
|
- { name: test2 }
|
||||||
- { name: test3 }
|
- { name: test3 }
|
||||||
|
- { name: test4 }
|
||||||
|
- { name: test5 }
|
||||||
state: absent
|
state: absent
|
||||||
authorize: yes
|
authorize: yes
|
||||||
provider: "{{ cli }}"
|
provider: "{{ cli }}"
|
||||||
|
@ -189,6 +215,8 @@
|
||||||
aggregate:
|
aggregate:
|
||||||
- { name: test2 }
|
- { name: test2 }
|
||||||
- { name: test3 }
|
- { name: test3 }
|
||||||
|
- { name: test4 }
|
||||||
|
- { name: test5 }
|
||||||
state: absent
|
state: absent
|
||||||
authorize: yes
|
authorize: yes
|
||||||
provider: "{{ cli }}"
|
provider: "{{ cli }}"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue