--- - debug: msg: "START Merged ios_interfaces state for integration tests on connection={{ ansible_connection }}" - include_tasks: _remove_config.yaml - block: - name: Merge provided L2 configuration with device configuration iosxr_l2_interfaces: &merged config: - name: GigabitEthernet0/0/0/1 native_vlan: 10 l2transport: True l2protocol: - pvst: tunnel - cdp: forward propagate: True - name: GigabitEthernet0/0/0/3.900 q_vlan: - 20 - 40 - name: GigabitEthernet0/0/0/4 native_vlan: 40 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 L2 configuration with device configuration (IDEMPOTENT) iosxr_l2_interfaces: *merged register: result - name: Assert that the previous task was idempotent assert: that: - "result['changed'] == false" always: - include_tasks: _remove_config.yaml