mirror of https://github.com/ansible/ansible.git
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
127 lines
2.7 KiB
YAML
127 lines
2.7 KiB
YAML
---
|
|
- debug: msg="START net_interface junos/basic.yaml"
|
|
|
|
- name: setup - remove interface
|
|
net_interface:
|
|
name: ge-0/0/1
|
|
description: test-interface
|
|
state: absent
|
|
provider: "{{ netconf }}"
|
|
|
|
- name: Create interface
|
|
net_interface:
|
|
name: ge-0/0/1
|
|
description: test-interface
|
|
state: present
|
|
provider: "{{ netconf }}"
|
|
register: result
|
|
|
|
- name: Get running configuration
|
|
junos_rpc:
|
|
rpc: get-configuration
|
|
provider: "{{ netconf }}"
|
|
register: config
|
|
|
|
- assert:
|
|
that:
|
|
- "result.changed == true"
|
|
- "'<name>ge-0/0/1</name>' in config.xml"
|
|
- "'<description>test-interface</description>' in config.xml"
|
|
|
|
- name: Create interface (idempotent)
|
|
net_interface:
|
|
name: ge-0/0/1
|
|
description: test-interface
|
|
state: present
|
|
provider: "{{ netconf }}"
|
|
register: result
|
|
|
|
- assert:
|
|
that:
|
|
- "result.changed == false"
|
|
|
|
- name: Configure interface attributes
|
|
net_interface:
|
|
name: ge-0/0/1
|
|
description: test-interface
|
|
state: present
|
|
speed: 1g
|
|
mtu: 256
|
|
duplex: full
|
|
provider: "{{ netconf }}"
|
|
register: result
|
|
|
|
- name: Get running configuration
|
|
junos_rpc:
|
|
rpc: get-configuration
|
|
provider: "{{ netconf }}"
|
|
register: config
|
|
|
|
- assert:
|
|
that:
|
|
- "result.changed == true"
|
|
- "'<name>ge-0/0/1</name>' in config.xml"
|
|
- "'<link-mode>full-duplex</link-mode>' in config.xml"
|
|
- "'<mtu>256</mtu>' in config.xml"
|
|
- "'<speed>1g</speed>' in config.xml"
|
|
- "'<description>test-interface</description>' in config.xml"
|
|
|
|
- name: Disable interface
|
|
net_interface:
|
|
name: ge-0/0/1
|
|
description: test-interface
|
|
state: down
|
|
provider: "{{ netconf }}"
|
|
register: result
|
|
|
|
- name: Get running configuration
|
|
junos_rpc:
|
|
rpc: get-configuration
|
|
provider: "{{ netconf }}"
|
|
register: config
|
|
|
|
- assert:
|
|
that:
|
|
- "result.changed == true"
|
|
- "'<disable/>' in config.xml"
|
|
- "'<name>ge-0/0/1</name>' in config.xml"
|
|
|
|
- name: Enable interface
|
|
net_interface:
|
|
name: ge-0/0/1
|
|
description: test-interface
|
|
state: up
|
|
provider: "{{ netconf }}"
|
|
register: result
|
|
|
|
- name: Get running configuration
|
|
junos_rpc:
|
|
rpc: get-configuration
|
|
provider: "{{ netconf }}"
|
|
register: config
|
|
|
|
- assert:
|
|
that:
|
|
- "result.changed == true"
|
|
- "'<disable/>' not in config.xml"
|
|
- "'<name>ge-0/0/1</name>' in config.xml"
|
|
|
|
- name: Delete interface
|
|
net_interface:
|
|
name: ge-0/0/1
|
|
description: test-interface
|
|
state: absent
|
|
provider: "{{ netconf }}"
|
|
register: result
|
|
|
|
- name: Get running configuration
|
|
junos_rpc:
|
|
rpc: get-configuration
|
|
provider: "{{ netconf }}"
|
|
register: config
|
|
|
|
- assert:
|
|
that:
|
|
- "result.changed == true"
|
|
- "'<name>ge-0/0/1</name>' not in config.xml"
|