mirror of
				https://github.com/ansible-collections/community.general.git
				synced 2024-09-14 20:13:21 +02:00 
			
		
		
		
	* Fix over-byte * Update ios tests to call `provider` To continue to support testing `connection: local` * Fix command dict handling in ios_user * Clean up unit tests, too
		
			
				
	
	
		
			143 lines
		
	
	
	
		
			3.7 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			143 lines
		
	
	
	
		
			3.7 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
---
 | 
						|
- debug: msg="START ios cli/ios_static_route.yaml on connection={{ ansible_connection }}"
 | 
						|
 | 
						|
- name: delete static route - setup
 | 
						|
  net_static_route:
 | 
						|
    prefix: 172.16.31.0
 | 
						|
    mask: 255.255.255.0
 | 
						|
    next_hop: 10.0.0.8
 | 
						|
    admin_distance: 1
 | 
						|
    state: absent
 | 
						|
    provider: "{{ cli }}"
 | 
						|
  register: result
 | 
						|
 | 
						|
- name: create static route
 | 
						|
  ios_static_route:
 | 
						|
    prefix: 172.16.31.0
 | 
						|
    mask: 255.255.255.0
 | 
						|
    next_hop: 10.0.0.8
 | 
						|
    state: present
 | 
						|
    provider: "{{ cli }}"
 | 
						|
  register: result
 | 
						|
 | 
						|
- assert:
 | 
						|
    that:
 | 
						|
      - 'result.changed == true'
 | 
						|
      - 'result.commands == ["ip route 172.16.31.0 255.255.255.0 10.0.0.8 1"]'
 | 
						|
 | 
						|
- name: create static route again (idempotent)
 | 
						|
  ios_static_route:
 | 
						|
    prefix: 172.16.31.0
 | 
						|
    mask: 255.255.255.0
 | 
						|
    next_hop: 10.0.0.8
 | 
						|
    state: present
 | 
						|
    provider: "{{ cli }}"
 | 
						|
  register: result
 | 
						|
 | 
						|
- assert:
 | 
						|
    that:
 | 
						|
      - 'result.changed == false'
 | 
						|
 | 
						|
- name: modify admin distance of static route
 | 
						|
  ios_static_route:
 | 
						|
    prefix: 172.16.31.0
 | 
						|
    mask: 255.255.255.0
 | 
						|
    next_hop: 10.0.0.8
 | 
						|
    admin_distance: 2
 | 
						|
    state: present
 | 
						|
    provider: "{{ cli }}"
 | 
						|
  register: result
 | 
						|
 | 
						|
- assert:
 | 
						|
    that:
 | 
						|
      - 'result.changed == true'
 | 
						|
      - 'result.commands == ["ip route 172.16.31.0 255.255.255.0 10.0.0.8 2"]'
 | 
						|
 | 
						|
- name: modify admin distance of static route again (idempotent)
 | 
						|
  ios_static_route:
 | 
						|
    prefix: 172.16.31.0
 | 
						|
    mask: 255.255.255.0
 | 
						|
    next_hop: 10.0.0.8
 | 
						|
    admin_distance: 2
 | 
						|
    state: present
 | 
						|
    provider: "{{ cli }}"
 | 
						|
  register: result
 | 
						|
 | 
						|
- assert:
 | 
						|
    that:
 | 
						|
      - 'result.changed == false'
 | 
						|
 | 
						|
- name: delete static route
 | 
						|
  ios_static_route:
 | 
						|
    prefix: 172.16.31.0
 | 
						|
    mask: 255.255.255.0
 | 
						|
    next_hop: 10.0.0.8
 | 
						|
    admin_distance: 2
 | 
						|
    state: absent
 | 
						|
    provider: "{{ cli }}"
 | 
						|
  register: result
 | 
						|
 | 
						|
- assert:
 | 
						|
    that:
 | 
						|
      - 'result.changed == true'
 | 
						|
      - 'result.commands == ["no ip route 172.16.31.0 255.255.255.0 10.0.0.8"]'
 | 
						|
 | 
						|
- name: delete static route again (idempotent)
 | 
						|
  ios_static_route:
 | 
						|
    prefix: 172.16.31.0
 | 
						|
    mask: 255.255.255.0
 | 
						|
    next_hop: 10.0.0.8
 | 
						|
    admin_distance: 2
 | 
						|
    state: absent
 | 
						|
    provider: "{{ cli }}"
 | 
						|
  register: result
 | 
						|
 | 
						|
- assert:
 | 
						|
    that:
 | 
						|
      - 'result.changed == false'
 | 
						|
 | 
						|
- name: Add static route aggregates
 | 
						|
  ios_static_route:
 | 
						|
    aggregate:
 | 
						|
      - { prefix: 172.16.32.0, mask: 255.255.255.0, next_hop: 10.0.0.8 }
 | 
						|
      - { prefix: 172.16.33.0, mask: 255.255.255.0, next_hop: 10.0.0.8 }
 | 
						|
    state: present
 | 
						|
    provider: "{{ cli }}"
 | 
						|
  register: result
 | 
						|
 | 
						|
- assert:
 | 
						|
    that:
 | 
						|
      - 'result.changed == true'
 | 
						|
      - 'result.commands == ["ip route 172.16.32.0 255.255.255.0 10.0.0.8 1", "ip route 172.16.33.0 255.255.255.0 10.0.0.8 1"]'
 | 
						|
 | 
						|
- name: Add and remove static route aggregates with overrides
 | 
						|
  ios_static_route:
 | 
						|
    aggregate:
 | 
						|
      - { prefix: 172.16.32.0, mask: 255.255.255.0, next_hop: 10.0.0.8 }
 | 
						|
      - { prefix: 172.16.33.0, mask: 255.255.255.0, next_hop: 10.0.0.8, state: absent }
 | 
						|
      - { prefix: 172.16.34.0, mask: 255.255.255.0, next_hop: 10.0.0.8 }
 | 
						|
    state: present
 | 
						|
    provider: "{{ cli }}"
 | 
						|
  register: result
 | 
						|
 | 
						|
- assert:
 | 
						|
    that:
 | 
						|
      - 'result.changed == true'
 | 
						|
      - 'result.commands == ["no ip route 172.16.33.0 255.255.255.0 10.0.0.8", "ip route 172.16.34.0 255.255.255.0 10.0.0.8 1"]'
 | 
						|
 | 
						|
- name: Remove static route aggregates
 | 
						|
  ios_static_route:
 | 
						|
    aggregate:
 | 
						|
      - { prefix: 172.16.32.0, mask: 255.255.255.0, next_hop: 10.0.0.8 }
 | 
						|
      - { prefix: 172.16.33.0, mask: 255.255.255.0, next_hop: 10.0.0.8 }
 | 
						|
      - { prefix: 172.16.34.0, mask: 255.255.255.0, next_hop: 10.0.0.8 }
 | 
						|
    state: absent
 | 
						|
    provider: "{{ cli }}"
 | 
						|
  register: result
 | 
						|
 | 
						|
- assert:
 | 
						|
    that:
 | 
						|
      - 'result.changed == true'
 | 
						|
      - 'result.commands == ["no ip route 172.16.32.0 255.255.255.0 10.0.0.8", "no ip route 172.16.34.0 255.255.255.0 10.0.0.8"]'
 | 
						|
 | 
						|
- debug: msg="END ios cli/ios_static_route.yaml on connection={{ ansible_connection }}"
 |