--- - debug: msg="START junos_linkagg netconf/basic.yaml" - name: setup - remove linkagg junos_linkagg: name: ae0 members: - ge-0/0/6 - ge-0/0/7 mode: active device_count: 4 state: absent provider: "{{ netconf }}" - name: configure linkagg junos_linkagg: name: ae0 members: - ge-0/0/6 - ge-0/0/7 mode: active device_count: 4 state: present provider: "{{ netconf }}" register: result - name: Get running configuration junos_rpc: rpc: get-configuration provider: "{{ netconf }}" register: config - assert: that: - "result.changed == true" - "'ae0' in config.xml" - "'4' in config.xml" - "'ae0' in config.xml" - "'' in config.xml" - "'configured by junos_linkagg' in config.xml" - name: configure linkagg (idempotent) junos_linkagg: name: ae0 members: - ge-0/0/6 - ge-0/0/7 mode: active device_count: 4 state: present provider: "{{ netconf }}" register: result - assert: that: - "result.changed == false" - name: configure lacp in passive junos_linkagg: name: ae0 members: - ge-0/0/6 - ge-0/0/7 mode: passive device_count: 4 state: present provider: "{{ netconf }}" register: result - name: Get running configuration junos_rpc: rpc: get-configuration provider: "{{ netconf }}" register: config - assert: that: - "result.changed == true" - "'' in config.xml" - name: delete lacp junos_linkagg: name: ae0 members: - ge-0/0/6 - ge-0/0/7 mode: off device_count: 4 state: present provider: "{{ netconf }}" register: result - name: Get running configuration junos_rpc: rpc: get-configuration provider: "{{ netconf }}" register: config - assert: that: - "result.changed == true" - "'' not in config.xml" - name: Change device count junos_linkagg: name: ae0 device_count: 2 provider: "{{ netconf }}" register: result - name: Get running configuration junos_rpc: rpc: get-configuration provider: "{{ netconf }}" register: config - assert: that: - "result.changed == true" - "'2' in config.xml" - name: Disable linkagg interface junos_linkagg: name: ae0 state: down provider: "{{ netconf }}" register: result - assert: that: - "result.changed == true" - result.diff.prepared | search("\+ *disable") - name: Enable linkagg interface junos_linkagg: name: ae0 state: up provider: "{{ netconf }}" register: result - assert: that: - "result.changed == true" - result.diff.prepared | search("\- *disable") - name: Deactivate linkagg junos_linkagg: name: ae0 members: - ge-0/0/6 - ge-0/0/7 mode: active device_count: 4 state: present active: False provider: "{{ netconf }}" register: result - name: Get running configuration junos_rpc: rpc: get-configuration provider: "{{ netconf }}" register: config - assert: that: - "result.changed == true" - "'ae0' in config.xml" - "'4' in config.xml" - "'inactive: ae0' in result.diff.prepared" - name: Activate linkagg junos_linkagg: name: ae0 members: - ge-0/0/6 - ge-0/0/7 mode: active device_count: 4 state: present active: True provider: "{{ netconf }}" register: result - name: Get running configuration junos_rpc: rpc: get-configuration provider: "{{ netconf }}" register: config - assert: that: - "result.changed == true" - "'' in config.xml" - "'ae0' in config.xml" - "'active: device-count 4' in result.diff.prepared" - "'active: ae0' in result.diff.prepared" - name: Delete linkagg junos_linkagg: name: ae0 members: - ge-0/0/6 - ge-0/0/7 mode: active device_count: 4 state: absent provider: "{{ netconf }}" register: result - name: Get running configuration junos_rpc: rpc: get-configuration provider: "{{ netconf }}" register: config - assert: that: - "result.changed == true" - "'' not in config.xml" - "'ae0' not in config.xml" - "'4' not in config.xml" - "'ae0' not in config.xml" - name: Delete linkagg (idempotent) junos_linkagg: name: ae0 members: - ge-0/0/6 - ge-0/0/7 mode: active device_count: 4 state: absent provider: "{{ netconf }}" register: result - assert: that: - "result.changed == false"