Skip to content

Commit

Permalink
ipaautomember: Resolve comments from review on #486
Browse files Browse the repository at this point in the history
  • Loading branch information
jake2184 committed Jan 19, 2021
1 parent f9cb369 commit 1414d72
Show file tree
Hide file tree
Showing 8 changed files with 128 additions and 96 deletions.
18 changes: 0 additions & 18 deletions playbooks/automember/automember-absent.yml

This file was deleted.

11 changes: 11 additions & 0 deletions playbooks/automember/automember-group-absent.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
- name: Automember group absent example
hosts: ipaserver
become: true
tasks:
- name: Ensure group automember rule admins is absent
ipaautomember:
ipaadmin_password: SomeADMINpassword
name: admins
automember_type: group
state: absent
11 changes: 11 additions & 0 deletions playbooks/automember/automember-group-present.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
- name: Automember group present example
hosts: ipaserver
become: true
tasks:
- name: Ensure group automember rule admins is present
ipaautomember:
ipaadmin_password: SomeADMINpassword
name: admins
automember_type: group
state: present
11 changes: 11 additions & 0 deletions playbooks/automember/automember-hostgroup-absent.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
- name: Automember hostgroup absent example
hosts: ipaserver
become: true
tasks:
- name: Ensure hostgroup automember rule ipaservers is absent
ipaautomember:
ipaadmin_password: SomeADMINpassword
name: ipaservers
automember_type: hostgroup
state: absent
11 changes: 11 additions & 0 deletions playbooks/automember/automember-hostgroup-present.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
- name: Automember hostgroup present example
hosts: ipaserver
become: true
tasks:
- name: Ensure hostgroup automember rule ipaservers is absent
ipaautomember:
ipaadmin_password: SomeADMINpassword
name: ipaservers
automember_type: hostgroup
state: present
18 changes: 0 additions & 18 deletions playbooks/automember/automember-present.yml

This file was deleted.

24 changes: 12 additions & 12 deletions plugins/modules/ipaautomember.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,10 @@


from ansible.module_utils._text import to_text
from ansible.module_utils.ansible_freeipa_module import (api_command,
api_command_no_name,
api_connect,
compare_args_ipa,
gen_add_del_lists,
temp_kdestroy,
temp_kinit,
valid_creds)
from ansible.module_utils.ansible_freeipa_module import (
api_command, api_command_no_name, api_connect, compare_args_ipa,
gen_add_del_lists, temp_kdestroy, temp_kinit, valid_creds
)
from ansible.module_utils.basic import AnsibleModule

ANSIBLE_METADATA = {
Expand Down Expand Up @@ -59,7 +55,7 @@
description:
description: A description of this auto member rule
required: false
type:
automember_type:
description:
- Grouping to which the rule applies
required: true
Expand Down Expand Up @@ -95,7 +91,7 @@
ipaadmin_password: SomeADMINpassword
name: admins
description: "example description"
type: group
automember_type: group
state: present
inclusive:
- key: "mail"
Expand Down Expand Up @@ -195,7 +191,7 @@ def main():
name=dict(type="list", aliases=["cn"],
default=None, required=True),
description=dict(type="str", default=None),
type=dict(type='str', required=True,
automember_type=dict(type='str', required=True,
choices=['group', 'hostgroup']),
action=dict(type="str", default="service",
choices=["member", "service"]),
Expand Down Expand Up @@ -227,7 +223,7 @@ def main():
state = ansible_module.params.get("state")

# grouping/type
grouping = ansible_module.params.get("type")
grouping = ansible_module.params.get("automember_type")

# Init
changed = False
Expand Down Expand Up @@ -346,6 +342,10 @@ def main():
commands.append([None, 'automember_rebuild',
{"type": to_text(grouping)}])

# Check mode exit
if ansible_module.check_mode:
ansible_module.exit_json(changed=len(commands) > 0, **exit_args)

errors = []
for name, command, args in commands:
try:
Expand Down
120 changes: 72 additions & 48 deletions tests/automember/test_automember.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,56 +7,68 @@

# CLEANUP TEST ITEMS

- name: Ensure group automember rule admins is absent
- name: Ensure group testgroup is absent
ipagroup:
ipaadmin_password: SomeADMINpassword
name: testgroup
state: absent

- name: Ensure hostgroup testhostgroup is absent
ipahostgroup:
ipaadmin_password: SomeADMINpassword
name: testhostgroup
state: absent

- name: Ensure group automember rule testgroup is absent
ipaautomember:
ipaadmin_password: SomeADMINpassword
name: admins
name: testgroup
state: absent
type: group
automember_type: group

- name: Ensure hostgroup automember rule ipaservers is absent
- name: Ensure hostgroup automember rule testhostgroup is absent
ipaautomember:
ipaadmin_password: SomeADMINpassword
name: ipaservers
name: testhostgroup
state: absent
type: hostgroup
automember_type: hostgroup

# CREATE TEST ITEMS

# TESTS

- name: Ensure admins group automember rule is present
- name: Ensure testgroup group automember rule is present
ipaautomember:
ipaadmin_password: SomeADMINpassword
name: admins
description: Admins automember rule.
type: group
name: testgroup
description: testgroup automember rule.
automember_type: group
register: result
failed_when: not result.changed or result.failed

- name: Ensure admins group automember rule is present again
- name: Ensure testgroup group automember rule is present again
ipaautomember:
ipaadmin_password: SomeADMINpassword
name: admins
description: Admins automember rule.
type: group
name: testgroup
description: testgroup automember rule.
automember_type: group
register: result
failed_when: result.changed or result.failed

- name: Change admins group automember rule description
- name: Change testgroup group automember rule description
ipaautomember:
ipaadmin_password: SomeADMINpassword
name: admins
description: Admins automember rule description.
type: group
name: testgroup
description: testgroup automember rule description.
automember_type: group
register: result
failed_when: not result.changed or result.failed

- name: Ensure admins group automember rule has conditions
- name: Ensure testgroup group automember rule has conditions
ipaautomember:
ipaadmin_password: SomeADMINpassword
name: admins
type: group
name: testgroup
automember_type: group
inclusive:
- key: 'uid'
expression: 'uid'
Expand All @@ -68,11 +80,11 @@
register: result
failed_when: not result.changed or result.failed

- name: Ensure admins group automember rule has conditions again
- name: Ensure testgroup group automember rule has conditions again
ipaautomember:
ipaadmin_password: SomeADMINpassword
name: admins
type: group
name: testgroup
automember_type: group
inclusive:
- key: 'uid'
expression: 'uid'
Expand All @@ -86,38 +98,38 @@

######

- name: Ensure ipaservers hostgroup automember rule is present
- name: Ensure testhostgroup hostgroup automember rule is present
ipaautomember:
ipaadmin_password: SomeADMINpassword
name: ipaservers
description: ipaservers automember rule
type: hostgroup
name: testhostgroup
description: testhostgroup automember rule
automember_type: hostgroup
register: result
failed_when: not result.changed or result.failed

- name: Ensure ipaservers hostgroup automember rule is present again
- name: Ensure testhostgroup hostgroup automember rule is present again
ipaautomember:
ipaadmin_password: SomeADMINpassword
name: ipaservers
description: ipaservers automember rule
type: hostgroup
name: testhostgroup
description: testhostgroup automember rule
automember_type: hostgroup
register: result
failed_when: result.changed or result.failed

- name: Change ipaservers hostgroup automember rule description
- name: Change testhostgroup hostgroup automember rule description
ipaautomember:
ipaadmin_password: SomeADMINpassword
name: ipaservers
description: ipaservers test automember rule
type: hostgroup
name: testhostgroup
description: testhostgroup test automember rule
automember_type: hostgroup
register: result
failed_when: not result.changed or result.failed

- name: Ensure ipaservers hostgroup automember rule has conditions
- name: Ensure testhostgroup hostgroup automember rule has conditions
ipaautomember:
ipaadmin_password: SomeADMINpassword
name: ipaservers
type: hostgroup
name: testhostgroup
automember_type: hostgroup
inclusive:
- key: 'description'
expression: 'description'
Expand All @@ -129,11 +141,11 @@
register: result
failed_when: not result.changed or result.failed

- name: Ensure ipaservers hostgroup automember rule has conditions again
- name: Ensure testhostgroup hostgroup automember rule has conditions again
ipaautomember:
ipaadmin_password: SomeADMINpassword
name: ipaservers
type: hostgroup
name: testhostgroup
automember_type: hostgroup
inclusive:
- key: 'description'
expression: 'description'
Expand All @@ -147,16 +159,28 @@

# CLEANUP TEST ITEMS

- name: Ensure group automember rule admins is absent
- name: Ensure group testgroup is absent
ipagroup:
ipaadmin_password: SomeADMINpassword
name: testgroup
state: absent

- name: Ensure hostgroup testhostgroup is absent
ipahostgroup:
ipaadmin_password: SomeADMINpassword
name: testhostgroup
state: absent

- name: Ensure group automember rule testgroup is absent
ipaautomember:
ipaadmin_password: SomeADMINpassword
type: group
name: admins
automember_type: group
name: testgroup
state: absent

- name: Ensure hostgroup automember rule ipaservers is absent
- name: Ensure hostgroup automember rule testhostgroup is absent
ipaautomember:
ipaadmin_password: SomeADMINpassword
type: hostgroup
name: ipaservers
automember_type: hostgroup
name: testhostgroup
state: absent

0 comments on commit 1414d72

Please sign in to comment.