127 lines
3.1 KiB
YAML
127 lines
3.1 KiB
YAML
|
---
|
||
|
- debug: msg="START netconf_get junos/basic.yaml on connection={{ ansible_connection }}"
|
||
|
|
||
|
- name: Configure syslog file - setup
|
||
|
junos_config:
|
||
|
lines:
|
||
|
- set system syslog file test1 any any
|
||
|
register: result
|
||
|
|
||
|
- name: Get system configuration data from running datastore state
|
||
|
netconf_get:
|
||
|
source: running
|
||
|
filter: <configuration><system><syslog></syslog></system></configuration>
|
||
|
register: result
|
||
|
|
||
|
- assert:
|
||
|
that:
|
||
|
- "'<name>test1</name>' in result.stdout"
|
||
|
- "'<name>any</name>' in result.stdout"
|
||
|
- "'<any/>' in result.stdout"
|
||
|
- "'<login>' not in result.stdout"
|
||
|
- "'<interface>' not in result.stdout"
|
||
|
|
||
|
- name: Failure scenario, fetch config from startup
|
||
|
netconf_get:
|
||
|
source: startup
|
||
|
register: result
|
||
|
ignore_errors: True
|
||
|
|
||
|
- assert:
|
||
|
that:
|
||
|
- "'startup source is not supported' in result.msg"
|
||
|
|
||
|
- name: Failure scenario, fetch config from running with lock
|
||
|
netconf_get:
|
||
|
lock: always
|
||
|
source: running
|
||
|
register: result
|
||
|
ignore_errors: True
|
||
|
|
||
|
- assert:
|
||
|
that:
|
||
|
- "'syntax error' in result.msg"
|
||
|
|
||
|
- name: Get system configuration data from running datastore state and lock if-supported
|
||
|
netconf_get:
|
||
|
source: running
|
||
|
filter: <configuration><system><syslog></syslog></system></configuration>
|
||
|
lock: if-supported
|
||
|
register: result
|
||
|
|
||
|
- assert:
|
||
|
that:
|
||
|
- "'<name>test1</name>' in result.stdout"
|
||
|
- "'<name>any</name>' in result.stdout"
|
||
|
- "'<any/>' in result.stdout"
|
||
|
- "'<login>' not in result.stdout"
|
||
|
- "'<interface>' not in result.stdout"
|
||
|
|
||
|
- name: get configuration and state data in json format
|
||
|
netconf_get:
|
||
|
source: running
|
||
|
display: json
|
||
|
register: result
|
||
|
|
||
|
- assert:
|
||
|
that:
|
||
|
- "{{ result['output']['rpc-reply']['data']['configuration'] is defined}}"
|
||
|
|
||
|
- name: get configuration and state data in xml pretty format
|
||
|
netconf_get:
|
||
|
source: running
|
||
|
display: pretty
|
||
|
register: result
|
||
|
|
||
|
- assert:
|
||
|
that:
|
||
|
- "{{ result['output'] is defined}}"
|
||
|
|
||
|
- name: get configuration data in xml with namespace stripped
|
||
|
netconf_get:
|
||
|
source: running
|
||
|
display: xml
|
||
|
register: result
|
||
|
|
||
|
- assert:
|
||
|
that:
|
||
|
- "{{ result['output'] is defined}}"
|
||
|
- "{{ 'xmlns' not in result.output }}"
|
||
|
|
||
|
- name: get configuration and state data without datastore lock
|
||
|
netconf_get:
|
||
|
lock: never
|
||
|
register: result
|
||
|
|
||
|
- assert:
|
||
|
that:
|
||
|
- "'<database-status-information>' in result.stdout"
|
||
|
- "'</configuration>' in result.stdout"
|
||
|
|
||
|
- name: get configuration and state data and lock data-store if supported
|
||
|
netconf_get:
|
||
|
lock: if-supported
|
||
|
register: result
|
||
|
|
||
|
- assert:
|
||
|
that:
|
||
|
- "'<database-status-information>' in result.stdout"
|
||
|
- "'</configuration>' in result.stdout"
|
||
|
|
||
|
- name: Failure scenario, unsupported filter
|
||
|
netconf_get:
|
||
|
filter: configuration/state
|
||
|
register: result
|
||
|
ignore_errors: True
|
||
|
|
||
|
- assert:
|
||
|
that:
|
||
|
- "'filter value \\'configuration/state\\' of type xpath is not supported' in result.msg"
|
||
|
|
||
|
- name: Configure syslog file - teardown
|
||
|
junos_config:
|
||
|
lines:
|
||
|
- delete system syslog file test1 any any
|
||
|
|
||
|
- debug: msg="END netconf_get junos/basic.yaml on connection={{ ansible_connection }}"
|