mirror of
				https://github.com/ansible-collections/community.general.git
				synced 2025-10-24 21:14:00 -07:00 
			
		
		
		
	fix nxos_vrf_af issues (#37211)
This commit is contained in:
		
					parent
					
						
							
								c25a42bef6
							
						
					
				
			
			
				commit
				
					
						74e79d9f5e
					
				
			
		
					 2 changed files with 101 additions and 23 deletions
				
			
		|  | @ -124,14 +124,14 @@ def main(): | |||
| 
 | ||||
|         if current: | ||||
|             have = 'route-target both auto evpn' in current | ||||
|             want = bool(module.params['route_target_both_auto_evpn']) | ||||
| 
 | ||||
|             if want and not have: | ||||
|                 commands.append('address-family %s unicast' % module.params['afi']) | ||||
|                 commands.append('route-target both auto evpn') | ||||
|             elif have and not want: | ||||
|                 commands.append('address-family %s unicast' % module.params['afi']) | ||||
|                 commands.append('no route-target both auto evpn') | ||||
|             if module.params['route_target_both_auto_evpn'] is not None: | ||||
|                 want = bool(module.params['route_target_both_auto_evpn']) | ||||
|                 if want and not have: | ||||
|                     commands.append('address-family %s unicast' % module.params['afi']) | ||||
|                     commands.append('route-target both auto evpn') | ||||
|                 elif have and not want: | ||||
|                     commands.append('address-family %s unicast' % module.params['afi']) | ||||
|                     commands.append('no route-target both auto evpn') | ||||
| 
 | ||||
|         else: | ||||
|             commands.append('address-family %s unicast' % module.params['afi']) | ||||
|  |  | |||
|  | @ -13,18 +13,20 @@ | |||
|   nxos_config: | ||||
|     commands: "feature nv overlay" | ||||
|     provider: "{{ connection }}" | ||||
|   ignore_errors: yes | ||||
| 
 | ||||
| - name: Configure nv overlay evpn | ||||
|   nxos_config: | ||||
|     commands: "nv overlay evpn" | ||||
|     provider: "{{ connection }}" | ||||
|   ignore_errors: yes | ||||
| 
 | ||||
| - block: | ||||
|   - name: Configure vrf af | ||||
|     nxos_vrf_af: &configure | ||||
|   - name: Configure vrf af ipv4 | ||||
|     nxos_vrf_af: &configure4 | ||||
|       vrf: ansible | ||||
|       afi: ipv4 | ||||
|       route_target_both_auto_evpn: true | ||||
|       route_target_both_auto_evpn: True | ||||
|       provider: "{{ connection }}" | ||||
|     register: result | ||||
| 
 | ||||
|  | @ -33,18 +35,66 @@ | |||
|         - "result.changed == true" | ||||
| 
 | ||||
|   - name: "Conf Idempotence" | ||||
|     nxos_vrf_af: *configure | ||||
|     nxos_vrf_af: *configure4 | ||||
|     register: result | ||||
| 
 | ||||
|   - assert: &false | ||||
|       that: | ||||
|         - "result.changed == false" | ||||
| 
 | ||||
|   - name: Remove vrf af | ||||
|     nxos_vrf_af: &remove | ||||
|   - name: Configure vrf af ipv6 | ||||
|     nxos_vrf_af: &configure6 | ||||
|       vrf: ansible | ||||
|       afi: ipv6 | ||||
|       route_target_both_auto_evpn: True | ||||
|       provider: "{{ connection }}" | ||||
|     register: result | ||||
| 
 | ||||
|   - assert: *true | ||||
| 
 | ||||
|   - name: "Conf Idempotence" | ||||
|     nxos_vrf_af: *configure6 | ||||
|     register: result | ||||
| 
 | ||||
|   - assert: *false | ||||
| 
 | ||||
|   - name: Remove router target4 | ||||
|     nxos_vrf_af: &rrt4 | ||||
|       vrf: ansible | ||||
|       afi: ipv4 | ||||
|       route_target_both_auto_evpn: true | ||||
|       route_target_both_auto_evpn: False | ||||
|       provider: "{{ connection }}" | ||||
|     register: result | ||||
| 
 | ||||
|   - assert: *true | ||||
| 
 | ||||
|   - name: "Conf Idempotence" | ||||
|     nxos_vrf_af: *rrt4 | ||||
|     register: result | ||||
| 
 | ||||
|   - assert: *false | ||||
| 
 | ||||
|   - name: Remove router target6 | ||||
|     nxos_vrf_af: &rrt6 | ||||
|       vrf: ansible | ||||
|       afi: ipv6 | ||||
|       route_target_both_auto_evpn: False | ||||
|       provider: "{{ connection }}" | ||||
|     register: result | ||||
| 
 | ||||
|   - assert: *true | ||||
| 
 | ||||
|   - name: "Conf Idempotence" | ||||
|     nxos_vrf_af: *rrt6 | ||||
|     register: result | ||||
| 
 | ||||
|   - assert: *false | ||||
| 
 | ||||
|   - name: Remove vrf af v6 | ||||
|     nxos_vrf_af: &remove6 | ||||
|       vrf: ansible | ||||
|       afi: ipv6 | ||||
|       route_target_both_auto_evpn: True | ||||
|       state: absent | ||||
|       provider: "{{ connection }}" | ||||
|     register: result | ||||
|  | @ -55,21 +105,37 @@ | |||
|       seconds: 30 | ||||
| 
 | ||||
|   - name: "Remove Idempotence" | ||||
|     nxos_vrf_af: *remove | ||||
|     nxos_vrf_af: *remove6 | ||||
|     register: result | ||||
| 
 | ||||
|   - assert: *false | ||||
| 
 | ||||
|   always: | ||||
|   - name: Remove feature bgp | ||||
|     nxos_feature: | ||||
|       feature: bgp | ||||
|       state: disabled | ||||
|   - name: Remove vrf af v4 | ||||
|     nxos_vrf_af: &remove4 | ||||
|       vrf: ansible | ||||
|       afi: ipv4 | ||||
|       route_target_both_auto_evpn: True | ||||
|       state: absent | ||||
|       provider: "{{ connection }}" | ||||
|     register: result | ||||
| 
 | ||||
|   - name: Remove feature nv overlay | ||||
|   - assert: *true | ||||
| 
 | ||||
|   - pause: | ||||
|       seconds: 30 | ||||
| 
 | ||||
|   - name: "Remove Idempotence" | ||||
|     nxos_vrf_af: *remove4 | ||||
|     register: result | ||||
| 
 | ||||
|   - assert: *false | ||||
| 
 | ||||
|   when: not platform is search("N35") | ||||
| 
 | ||||
|   always: | ||||
|   - name: Remove vrf | ||||
|     nxos_config: | ||||
|       commands: "no feature nv overlay" | ||||
|       commands: "no vrf context ansible" | ||||
|       provider: "{{ connection }}" | ||||
|     ignore_errors: yes | ||||
| 
 | ||||
|  | @ -79,4 +145,16 @@ | |||
|       provider: "{{ connection }}" | ||||
|     ignore_errors: yes | ||||
| 
 | ||||
|   - name: Remove feature nv overlay | ||||
|     nxos_config: | ||||
|       commands: "no feature nv overlay" | ||||
|       provider: "{{ connection }}" | ||||
|     ignore_errors: yes | ||||
| 
 | ||||
|   - name: Remove feature bgp | ||||
|     nxos_feature: | ||||
|       feature: bgp | ||||
|       state: disabled | ||||
|       provider: "{{ connection }}" | ||||
| 
 | ||||
| - debug: msg="END connection={{ ansible_connection }} nxos_vrf_af sanity test" | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue