mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-07-22 21:00:22 -07:00
Integrated publickey import and removal in iosxr_user (#32115)
* Integrated publickey import and removal in iosxr_user * Fixed linting issues * Added version added for publickeyfile option * Added quotation marks to version, oops * Added some integration tests, added some checks to prevent aggregate users with public keys. * Added some integration test files * Created mutually exclusive public_key and public_key_contents versions of config * Modified tests to use both methods and test more logins * Added supports for aggregates * Incorporated provider auth * Fixed some lint issues * Fixed a YAML lint issue * Implemented catches for unconfigured providers. * Fixed catches, hopefully * Another test * Added groups support so you can add users to multiple groups * Trailing whitespace
This commit is contained in:
parent
64f9ced750
commit
900abcddb3
5 changed files with 299 additions and 2 deletions
|
@ -25,6 +25,62 @@
|
|||
that:
|
||||
- results.failed
|
||||
|
||||
- name: create user with private key (contents input)
|
||||
iosxr_user:
|
||||
name: auth_user
|
||||
state: present
|
||||
public_key_contents: "{{ lookup('file', \"{{ output_dir }}/public.pub\") }}"
|
||||
|
||||
- name: test login with private key
|
||||
expect:
|
||||
command: "ssh auth_user@{{ ansible_ssh_host }} -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i {{output_dir}}/private show version"
|
||||
responses:
|
||||
(?i)passphrase: 'pass123'
|
||||
|
||||
- name: remove user and key
|
||||
iosxr_user:
|
||||
name: auth_user
|
||||
state: absent
|
||||
|
||||
- name: test login with private key (should fail, no user)
|
||||
expect:
|
||||
command: "ssh auth_user@{{ ansible_ssh_host }} -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i {{output_dir}}/private show version"
|
||||
responses:
|
||||
(?i)passphrase: 'pass123'
|
||||
ignore_errors: yes
|
||||
register: results
|
||||
|
||||
- name: create user with private key (path input)
|
||||
iosxr_user:
|
||||
name: auth_user
|
||||
state: present
|
||||
public_key: "{{ output_dir }}/public.pub"
|
||||
|
||||
- name: test login with private key
|
||||
expect:
|
||||
command: "ssh auth_user@{{ ansible_ssh_host }} -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i {{output_dir}}/private show version"
|
||||
responses:
|
||||
(?i)passphrase: 'pass123'
|
||||
|
||||
- name: change private key for user
|
||||
iosxr_user:
|
||||
name: auth_user
|
||||
state: present
|
||||
public_key_contents: "{{ lookup('file', \"{{ output_dir }}/public2.pub\") }}"
|
||||
|
||||
- name: test login with invalid private key (should fail)
|
||||
expect:
|
||||
command: "ssh auth_user@{{ ansible_ssh_host }} -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i {{output_dir}}/private show version"
|
||||
responses:
|
||||
(?i)passphrase: "pass123"
|
||||
ignore_errors: yes
|
||||
register: results
|
||||
|
||||
- name: check that attempt failed
|
||||
assert:
|
||||
that:
|
||||
- results.failed
|
||||
|
||||
always:
|
||||
- name: delete user
|
||||
iosxr_user:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue