|
|
|
---
|
|
|
|
- name: Remove users prior to tests
|
|
|
|
iosxr_config:
|
|
|
|
lines:
|
|
|
|
- no username ansible1
|
|
|
|
- no username ansible2
|
|
|
|
- no username ansible3
|
|
|
|
provider: "{{ cli }}"
|
|
|
|
connection: network_cli
|
|
|
|
|
|
|
|
- name: Create user (SetUp)
|
|
|
|
iosxr_user:
|
|
|
|
name: ansible1
|
|
|
|
configured_password: password
|
|
|
|
state: present
|
|
|
|
provider: "{{ netconf }}"
|
|
|
|
connection: netconf
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- 'result.changed == true'
|
|
|
|
- '"ansible1" in result.xml[0]'
|
|
|
|
- '"secret" in result.xml[0]'
|
|
|
|
|
|
|
|
- name: Create user with update_password always (not idempotent)
|
|
|
|
iosxr_user:
|
|
|
|
name: ansible1
|
|
|
|
configured_password: password
|
|
|
|
update_password: always
|
|
|
|
state: present
|
|
|
|
provider: "{{ netconf }}"
|
|
|
|
connection: netconf
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- 'result.changed == true'
|
|
|
|
- '"ansible1" in result.xml[0]'
|
|
|
|
- '"secret" in result.xml[0]'
|
|
|
|
|
|
|
|
- name: Create user again with update_password on_create (idempotent)
|
|
|
|
iosxr_user:
|
|
|
|
name: ansible1
|
|
|
|
configured_password: password
|
|
|
|
update_password: on_create
|
|
|
|
state: present
|
|
|
|
provider: "{{ netconf }}"
|
|
|
|
connection: netconf
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- 'result.changed == false'
|
|
|
|
- 'result.xml | length == 0'
|
|
|
|
|
|
|
|
- name: Modify user group
|
|
|
|
iosxr_user:
|
|
|
|
name: ansible1
|
|
|
|
configured_password: password
|
|
|
|
update_password: on_create
|
|
|
|
group: sysadmin
|
|
|
|
state: present
|
|
|
|
provider: "{{ netconf }}"
|
|
|
|
connection: netconf
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- 'result.changed == true'
|
|
|
|
- '"ansible1" in result.xml[0]'
|
|
|
|
- '"sysadmin" in result.xml[0]'
|
|
|
|
|
|
|
|
- name: Modify user group again (idempotent)
|
|
|
|
iosxr_user:
|
|
|
|
name: ansible1
|
|
|
|
configured_password: password
|
|
|
|
update_password: on_create
|
|
|
|
group: sysadmin
|
|
|
|
state: present
|
|
|
|
provider: "{{ netconf }}"
|
|
|
|
connection: netconf
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- 'result.changed == false'
|
|
|
|
- 'result.xml | length == 0'
|
|
|
|
|
|
|
|
- name: Collection of users (SetUp)
|
|
|
|
iosxr_user:
|
|
|
|
aggregate:
|
|
|
|
- name: ansible2
|
|
|
|
- name: ansible3
|
|
|
|
configured_password: password
|
|
|
|
state: present
|
|
|
|
group: sysadmin
|
|
|
|
provider: "{{ netconf }}"
|
|
|
|
connection: netconf
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- 'result.changed == true'
|
|
|
|
- '"ansible2" in result.xml[0]'
|
|
|
|
- '"secret" in result.xml[0]'
|
|
|
|
- '"sysadmin" in result.xml[1]'
|
|
|
|
- '"ansible2" in result.xml[0]'
|
|
|
|
- '"secret" in result.xml[0]'
|
|
|
|
- '"sysadmin" in result.xml[1]'
|
|
|
|
|
|
|
|
- name: Add collection of users again with update_password always (not idempotent)
|
|
|
|
iosxr_user:
|
|
|
|
aggregate:
|
|
|
|
- name: ansible2
|
|
|
|
- name: ansible3
|
|
|
|
configured_password: password
|
|
|
|
state: present
|
|
|
|
group: sysadmin
|
|
|
|
provider: "{{ netconf }}"
|
|
|
|
connection: netconf
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- 'result.changed == true'
|
|
|
|
- '"ansible2" in result.xml[0]'
|
|
|
|
- '"ansible3" in result.xml[0]'
|
|
|
|
- '"secret" in result.xml[0]'
|
|
|
|
|
|
|
|
- name: Add collection of users again with update_password on_create (idempotent)
|
|
|
|
iosxr_user:
|
|
|
|
aggregate:
|
|
|
|
- name: ansible2
|
|
|
|
- name: ansible3
|
|
|
|
configured_password: password
|
|
|
|
update_password: on_create
|
|
|
|
state: present
|
|
|
|
group: sysadmin
|
|
|
|
provider: "{{ netconf }}"
|
|
|
|
connection: netconf
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- 'result.changed == false'
|
|
|
|
- 'result.xml | length == 0'
|
|
|
|
|
|
|
|
- name: Delete collection of users
|
|
|
|
iosxr_user:
|
|
|
|
aggregate:
|
|
|
|
- name: ansible1
|
|
|
|
- name: ansible2
|
|
|
|
- name: ansible3
|
|
|
|
state: absent
|
|
|
|
provider: "{{ netconf }}"
|
|
|
|
connection: netconf
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- 'result.changed == true'
|
|
|
|
- '"ansible1" in result.xml[0]'
|
|
|
|
- '"ansible2" in result.xml[0]'
|
|
|
|
- '"ansible3" in result.xml[0]'
|
|
|
|
|
|
|
|
- name: Delete collection of users again (idempotent)
|
|
|
|
iosxr_user:
|
|
|
|
aggregate:
|
|
|
|
- name: ansible1
|
|
|
|
- name: ansible2
|
|
|
|
- name: ansible3
|
|
|
|
state: absent
|
|
|
|
provider: "{{ netconf }}"
|
|
|
|
connection: netconf
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- 'result.changed == false'
|
|
|
|
- 'result.xml | length == 0'
|