mirror of
https://github.com/freeipa/ansible-freeipa.git
synced 2026-06-10 02:35:54 +00:00
FreeIPA 4.8.7 introduced an option to rename an existing hostgroup. This patch adds support for renaming hostgroups if the option is available on installed IPA version. A new state `renamed` and a new option `rename` (alias: `new_name`) was added to module `ipahostgroup` to allow renaming of host groups. The implemented behavior is: * Rename if `name` exists and `rename` doesn't. * Do nothing if `name` does not exist and `rename` does, or if `name` equals to `rename`. (result.changed is False) * Fail if neither or both `name` and `rename` exist.
106 lines
2.8 KiB
YAML
106 lines
2.8 KiB
YAML
---
|
|
- name: Test hostgroup
|
|
hosts: ipaserver
|
|
become: true
|
|
gather_facts: false
|
|
|
|
tasks:
|
|
- name: Ensure testing host-group are absent
|
|
ipahostgroup:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name:
|
|
- databases
|
|
- datalake
|
|
- inexistenthostgroup
|
|
state: absent
|
|
|
|
- name: Ensure host-group databases is present
|
|
ipahostgroup:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: databases
|
|
state: present
|
|
register: result
|
|
failed_when: not result.changed
|
|
|
|
- name: Rename host-group from `databases` to `datalake`
|
|
ipahostgroup:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: databases
|
|
rename: datalake
|
|
state: renamed
|
|
register: result
|
|
failed_when: not result.changed
|
|
|
|
- name: Ensure host-group database was already absent
|
|
ipahostgroup:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: database
|
|
state: absent
|
|
register: result
|
|
failed_when: result.changed
|
|
|
|
- name: Rename host-group from `databases` to `datalake`, again
|
|
ipahostgroup:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: databases
|
|
rename: datalake
|
|
state: renamed
|
|
register: result
|
|
failed_when: result.changed or result.failed
|
|
|
|
- name: Rename host-group with same name.
|
|
ipahostgroup:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: datalake
|
|
rename: datalake
|
|
state: renamed
|
|
register: result
|
|
failed_when: result.changed
|
|
|
|
- name: Ensure testing hostgroups do not exist.
|
|
ipahostgroup:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: inexistenthostgroup,alsoinexistent
|
|
state: absent
|
|
|
|
- name: Rename inexistent host-group to an existing one.
|
|
ipahostgroup:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: inexistenthostgroup
|
|
rename: datalake
|
|
state: renamed
|
|
register: result
|
|
failed_when: result.changed or result.failed
|
|
|
|
- name: Rename inexistent host-group to a non-existing one.
|
|
ipahostgroup:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: inexistenthostgroup
|
|
rename: alsoinexistent
|
|
state: renamed
|
|
register: result
|
|
failed_when: not result.failed or "Attribute `rename` can not be used, unless hostgroup exists." not in result.msg
|
|
|
|
- name: Ensure host-group databases is present
|
|
ipahostgroup:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: databases
|
|
state: present
|
|
|
|
- name: Rename host-group to an existing one.
|
|
ipahostgroup:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: databases
|
|
rename: datalake
|
|
state: renamed
|
|
register: result
|
|
failed_when: not result.failed or "This entry already exists" not in result.msg
|
|
|
|
- name: Ensure host-group databases and datalake are absent
|
|
ipahostgroup:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name:
|
|
- databases
|
|
- datalake
|
|
state: absent
|