mirror of
https://opendev.org/openstack/ansible-collections-openstack.git
synced 2026-03-26 21:43:02 +00:00
219 lines
5.0 KiB
YAML
219 lines
5.0 KiB
YAML
---
|
|
- name: Create a user without a password
|
|
openstack.cloud.identity_user:
|
|
cloud: "{{ cloud }}"
|
|
state: present
|
|
name: ansible_user
|
|
email: ansible.user@nowhere.net
|
|
domain: default
|
|
description: "ansible user"
|
|
default_project: demo
|
|
register: user
|
|
|
|
- name: Assert return values of identity_user module
|
|
assert:
|
|
that:
|
|
- user.user.name == 'ansible_user'
|
|
- user.user.description == 'ansible user'
|
|
# allow new fields to be introduced but prevent fields from being removed
|
|
- expected_fields|difference(user.user.keys())|length == 0
|
|
|
|
- name: Fail when update_password is always but no password specified
|
|
openstack.cloud.identity_user:
|
|
cloud: "{{ cloud }}"
|
|
state: present
|
|
name: ansible_user
|
|
update_password: always
|
|
email: ansible.user@nowhere.net
|
|
domain: default
|
|
default_project: demo
|
|
register: user
|
|
ignore_errors: true
|
|
|
|
- name: Assert that update failed
|
|
assert:
|
|
that:
|
|
- user is failed
|
|
- user.msg == "update_password is 'always' but password is missing"
|
|
|
|
- name: Delete user
|
|
openstack.cloud.identity_user:
|
|
cloud: "{{ cloud }}"
|
|
state: absent
|
|
name: ansible_user
|
|
|
|
|
|
- name: Create user with a password
|
|
openstack.cloud.identity_user:
|
|
cloud: "{{ cloud }}"
|
|
state: present
|
|
name: ansible_user
|
|
password: secret
|
|
email: ansible.user@nowhere.net
|
|
update_password: on_create
|
|
domain: default
|
|
default_project: demo
|
|
|
|
- name: Create user with a password again
|
|
openstack.cloud.identity_user:
|
|
cloud: "{{ cloud }}"
|
|
state: present
|
|
name: ansible_user
|
|
password: secret
|
|
email: ansible.user@nowhere.net
|
|
update_password: on_create
|
|
domain: default
|
|
default_project: demo
|
|
register: user
|
|
|
|
- name: Assert user was not changed
|
|
assert:
|
|
that:
|
|
- user is not changed
|
|
|
|
- name: Update user with password
|
|
openstack.cloud.identity_user:
|
|
cloud: "{{ cloud }}"
|
|
state: present
|
|
name: ansible_user
|
|
password: secret2
|
|
email: updated.ansible.user@nowhere.net
|
|
register: user
|
|
|
|
- name: Ensure user was changed
|
|
assert:
|
|
that:
|
|
- user is changed
|
|
|
|
- name: Update user without password and update_password set to always
|
|
openstack.cloud.identity_user:
|
|
cloud: "{{ cloud }}"
|
|
state: present
|
|
name: ansible_user
|
|
update_password: always
|
|
email: updated.ansible.user@nowhere.net
|
|
register: user
|
|
ignore_errors: true
|
|
|
|
- name: Assert user update failed
|
|
assert:
|
|
that:
|
|
- user is failed
|
|
- user.msg == "update_password is 'always' but password is missing"
|
|
|
|
- name: Ensure user with update_password set to on_create
|
|
openstack.cloud.identity_user:
|
|
cloud: "{{ cloud }}"
|
|
state: present
|
|
name: ansible_user
|
|
update_password: on_create
|
|
password: secret3
|
|
email: updated.ansible.user@nowhere.net
|
|
register: user
|
|
|
|
- name: Ensure user was not changed
|
|
assert:
|
|
that:
|
|
- user is not changed
|
|
|
|
- name: Ensure user with update_password set to always
|
|
openstack.cloud.identity_user:
|
|
cloud: "{{ cloud }}"
|
|
state: present
|
|
name: ansible_user
|
|
update_password: always
|
|
password: secret3
|
|
email: updated.ansible.user@nowhere.net
|
|
register: user
|
|
|
|
- name: Ensure user was changed
|
|
assert:
|
|
that:
|
|
- user is changed
|
|
|
|
- name: Create user without a password
|
|
openstack.cloud.identity_user:
|
|
cloud: "{{ cloud }}"
|
|
state: present
|
|
name: ansible_user2
|
|
password: secret
|
|
email: ansible.user2@nowhere.net
|
|
update_password: on_create
|
|
domain: default
|
|
default_project: demo
|
|
register: user
|
|
|
|
- name: Fetch users
|
|
openstack.cloud.identity_user_info:
|
|
cloud: "{{ cloud }}"
|
|
register: users
|
|
|
|
- name: Assert return values of identity_user_info module
|
|
assert:
|
|
that:
|
|
- users.users | length > 0
|
|
# allow new fields to be introduced but prevent fields from being removed
|
|
- expected_fields|difference(users.users.0.keys())|length == 0
|
|
|
|
- name: Fetch user by name
|
|
openstack.cloud.identity_user_info:
|
|
cloud: "{{ cloud }}"
|
|
name: ansible_user
|
|
register: users
|
|
|
|
- name: Assert named user
|
|
assert:
|
|
that:
|
|
- users.users | length == 1
|
|
|
|
- name: Delete user
|
|
openstack.cloud.identity_user:
|
|
cloud: "{{ cloud }}"
|
|
state: absent
|
|
name: ansible_user2
|
|
|
|
- name: Delete user
|
|
openstack.cloud.identity_user:
|
|
cloud: "{{ cloud }}"
|
|
state: absent
|
|
name: ansible_user
|
|
|
|
- name: Ensure user was changed
|
|
assert:
|
|
that:
|
|
- user is changed
|
|
|
|
- name: Delete user again
|
|
openstack.cloud.identity_user:
|
|
cloud: "{{ cloud }}"
|
|
state: absent
|
|
name: ansible_user
|
|
register: user
|
|
|
|
- name: Ensure user was not changed
|
|
assert:
|
|
that:
|
|
- user is not changed
|
|
|
|
- name: Fetch ansible_user
|
|
openstack.cloud.identity_user_info:
|
|
cloud: "{{ cloud }}"
|
|
name: ansible_user
|
|
register: users
|
|
|
|
- name: Assert ansible_user does not exist
|
|
assert:
|
|
that:
|
|
- users.users | length == 0
|
|
|
|
- name: Fetch ansible_user2
|
|
openstack.cloud.identity_user_info:
|
|
cloud: "{{ cloud }}"
|
|
name: ansible_user2
|
|
register: users
|
|
|
|
- name: Assert ansible_user2 does not exist
|
|
assert:
|
|
that:
|
|
- users.users | length == 0
|