--- - debug: msg="START net_linkagg junos/basic.yaml" - name: setup - remove linkagg net_linkagg: name: ae0 members: - ge-0/0/6 - ge-0/0/7 mode: active device_count: 4 state: absent provider: "{{ netconf }}" - name: configure linkagg net_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" - name: configure linkagg (idempotent) net_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 net_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 net_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 net_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 net_linkagg: name: ae0 state: down provider: "{{ netconf }}" register: result - assert: that: - "result.changed == true" - result.diff.prepared is search("\+ *disable") - name: Enable linkagg interface net_linkagg: name: ae0 state: up provider: "{{ netconf }}" register: result - assert: that: - "result.changed == true" - result.diff.prepared is search("\- *disable") - name: Deactivate linkagg net_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 net_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 net_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) net_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" - debug: msg="END net_linkagg junos/basic.yaml"