--- - debug: msg: "START Merged iosxr_l3_interfaces state for integration tests on connection={{ ansible_connection }}" - include_tasks: _remove_config.yaml - block: - name: Merge provided configuration with device configuration iosxr_l3_interfaces: &merged config: - name: GigabitEthernet0/0/0/1 ipv4: - address: 198.51.100.1/24 - name: GigabitEthernet0/0/0/2 ipv6: - address: 2001:db8:0:3::/64 ipv4: - address: 192.0.2.1/24 - address: 192.0.2.2/24 secondary: True - name: GigabitEthernet0/0/0/3 ipv4: - address: 203.0.110.1/24 - address: 203.0.110.5/24 secondary: True - name: GigabitEthernet0/0/0/3.100 ipv4: - address: 198.51.100.14/24 ipv6: - address: 2001:db8:0:4::/64 state: merged register: result - name: Assert that correct set of commands were generated assert: that: - "{{ merged['commands'] | symmetric_difference(result['commands']) | length == 0 }}" - name: Assert that before dicts are correctly generated assert: that: - "{{ merged['before'] | symmetric_difference(result['before']) | length == 0 }}" - name: Assert that after dict is correctly generated assert: that: - "{{ merged['after'] | symmetric_difference(result['after']) | length == 0 }}" - name: Merge provided configuration with device configuration (IDEMPOTENT) iosxr_l3_interfaces: *merged register: result - name: Assert that the previous task was idempotent assert: that: - "result['changed'] == false" always: - include_tasks: _remove_config.yaml