mirror of
https://github.com/freeipa/ansible-freeipa.git
synced 2026-07-25 00:44:42 +00:00
Merge pull request #1322 from rjeffman/rhel70023
ipagroup: Correctly handle externalmember in member actions
This commit is contained in:
@@ -746,7 +746,11 @@ def main():
|
|||||||
|
|
||||||
(externalmember_add,
|
(externalmember_add,
|
||||||
externalmember_del) = gen_add_del_lists(
|
externalmember_del) = gen_add_del_lists(
|
||||||
externalmember, res_find.get("member_external"))
|
externalmember, (
|
||||||
|
list(res_find.get("member_external", []))
|
||||||
|
+ list(res_find.get("ipaexternalmember", []))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
(idoverrides_add,
|
(idoverrides_add,
|
||||||
idoverrides_del) = gen_add_del_lists(
|
idoverrides_del) = gen_add_del_lists(
|
||||||
@@ -780,7 +784,11 @@ def main():
|
|||||||
service_add = gen_add_list(
|
service_add = gen_add_list(
|
||||||
service, res_find.get("member_service"))
|
service, res_find.get("member_service"))
|
||||||
externalmember_add = gen_add_list(
|
externalmember_add = gen_add_list(
|
||||||
externalmember, res_find.get("member_external"))
|
externalmember, (
|
||||||
|
list(res_find.get("member_external", []))
|
||||||
|
+ list(res_find.get("ipaexternalmember", []))
|
||||||
|
)
|
||||||
|
)
|
||||||
idoverrides_add = gen_add_list(
|
idoverrides_add = gen_add_list(
|
||||||
idoverrideuser, res_find.get("member_idoverrideuser"))
|
idoverrideuser, res_find.get("member_idoverrideuser"))
|
||||||
|
|
||||||
@@ -815,7 +823,11 @@ def main():
|
|||||||
service_del = gen_intersection_list(
|
service_del = gen_intersection_list(
|
||||||
service, res_find.get("member_service"))
|
service, res_find.get("member_service"))
|
||||||
externalmember_del = gen_intersection_list(
|
externalmember_del = gen_intersection_list(
|
||||||
externalmember, res_find.get("member_external"))
|
externalmember, (
|
||||||
|
list(res_find.get("member_external", []))
|
||||||
|
+ list(res_find.get("ipaexternalmember", []))
|
||||||
|
)
|
||||||
|
)
|
||||||
idoverrides_del = gen_intersection_list(
|
idoverrides_del = gen_intersection_list(
|
||||||
idoverrideuser, res_find.get("member_idoverrideuser"))
|
idoverrideuser, res_find.get("member_idoverrideuser"))
|
||||||
|
|
||||||
|
|||||||
@@ -1,37 +1,45 @@
|
|||||||
---
|
---
|
||||||
- name: Find trust
|
- name: Find trust
|
||||||
hosts: ipaserver
|
hosts: ipaserver
|
||||||
become: true
|
become: false
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
|
module_defaults:
|
||||||
|
ipagroup:
|
||||||
|
ipaadmin_password: SomeADMINpassword
|
||||||
|
ipaapi_context: "{{ ipa_context | default(omit) }}"
|
||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
|
|
||||||
- name: Include tasks ../env_freeipa_facts.yml
|
- name: Include tasks ../env_freeipa_facts.yml
|
||||||
ansible.builtin.include_tasks: ../env_freeipa_facts.yml
|
ansible.builtin.include_tasks: ../env_freeipa_facts.yml
|
||||||
|
|
||||||
|
- name: Ensure tests groups are absent
|
||||||
|
ipagroup:
|
||||||
|
name:
|
||||||
|
- extgroup
|
||||||
|
- extgroup_members
|
||||||
|
state: absent
|
||||||
|
|
||||||
- name: Execute group tests if trust test environment is supported
|
- name: Execute group tests if trust test environment is supported
|
||||||
when: trust_test_is_supported | default(false)
|
when: trust_test_is_supported | default(false)
|
||||||
block:
|
block:
|
||||||
|
|
||||||
- name: Add nonposix group.
|
- name: Add nonposix group.
|
||||||
ipagroup:
|
ipagroup:
|
||||||
ipaadmin_password: SomeADMINpassword
|
|
||||||
name: extgroup
|
name: extgroup
|
||||||
nonposix: yes
|
nonposix: true
|
||||||
register: result
|
register: result
|
||||||
failed_when: result.failed or not result.changed
|
failed_when: result.failed or not result.changed
|
||||||
|
|
||||||
- name: Set group to be external
|
- name: Set group to be external
|
||||||
ipagroup:
|
ipagroup:
|
||||||
ipaadmin_password: SomeADMINpassword
|
|
||||||
name: extgroup
|
name: extgroup
|
||||||
external: yes
|
external: true
|
||||||
register: result
|
register: result
|
||||||
failed_when: result.failed or not result.changed
|
failed_when: result.failed or not result.changed
|
||||||
|
|
||||||
- name: Add AD users to group
|
- name: Add AD users to group
|
||||||
ipagroup:
|
ipagroup:
|
||||||
ipaadmin_password: SomeADMINpassword
|
|
||||||
name: extgroup
|
name: extgroup
|
||||||
external_member: "AD\\Domain Users"
|
external_member: "AD\\Domain Users"
|
||||||
register: result
|
register: result
|
||||||
@@ -39,7 +47,6 @@
|
|||||||
|
|
||||||
- name: Add AD users to group, again
|
- name: Add AD users to group, again
|
||||||
ipagroup:
|
ipagroup:
|
||||||
ipaadmin_password: SomeADMINpassword
|
|
||||||
name: extgroup
|
name: extgroup
|
||||||
external_member: "AD\\Domain Users"
|
external_member: "AD\\Domain Users"
|
||||||
register: result
|
register: result
|
||||||
@@ -47,7 +54,6 @@
|
|||||||
|
|
||||||
- name: Remove external group
|
- name: Remove external group
|
||||||
ipagroup:
|
ipagroup:
|
||||||
ipaadmin_password: SomeADMINpassword
|
|
||||||
name: extgroup
|
name: extgroup
|
||||||
state: absent
|
state: absent
|
||||||
register: result
|
register: result
|
||||||
@@ -55,27 +61,24 @@
|
|||||||
|
|
||||||
- name: Add nonposix, external group, with AD users.
|
- name: Add nonposix, external group, with AD users.
|
||||||
ipagroup:
|
ipagroup:
|
||||||
ipaadmin_password: SomeADMINpassword
|
|
||||||
name: extgroup
|
name: extgroup
|
||||||
nonposix: yes
|
nonposix: true
|
||||||
external: yes
|
external: true
|
||||||
external_member: "AD\\Domain Users"
|
external_member: "AD\\Domain Users"
|
||||||
register: result
|
register: result
|
||||||
failed_when: result.failed or not result.changed
|
failed_when: result.failed or not result.changed
|
||||||
|
|
||||||
- name: Add nonposix, external group, with AD users, again.
|
- name: Add nonposix, external group, with AD users, again.
|
||||||
ipagroup:
|
ipagroup:
|
||||||
ipaadmin_password: SomeADMINpassword
|
|
||||||
name: extgroup
|
name: extgroup
|
||||||
nonposix: yes
|
nonposix: true
|
||||||
external: yes
|
external: true
|
||||||
external_member: "AD\\Domain Users"
|
external_member: "AD\\Domain Users"
|
||||||
register: result
|
register: result
|
||||||
failed_when: result.failed or result.changed
|
failed_when: result.failed or result.changed
|
||||||
|
|
||||||
- name: Remove group
|
- name: Remove group
|
||||||
ipagroup:
|
ipagroup:
|
||||||
ipaadmin_password: SomeADMINpassword
|
|
||||||
name: extgroup
|
name: extgroup
|
||||||
state: absent
|
state: absent
|
||||||
register: result
|
register: result
|
||||||
@@ -83,32 +86,71 @@
|
|||||||
|
|
||||||
- name: Add nonposix group.
|
- name: Add nonposix group.
|
||||||
ipagroup:
|
ipagroup:
|
||||||
ipaadmin_password: SomeADMINpassword
|
|
||||||
name: extgroup
|
name: extgroup
|
||||||
nonposix: yes
|
nonposix: true
|
||||||
register: result
|
register: result
|
||||||
failed_when: result.failed or not result.changed
|
failed_when: result.failed or not result.changed
|
||||||
|
|
||||||
- name: Set group to be external, and add users.
|
- name: Set group to be external, and add users.
|
||||||
ipagroup:
|
ipagroup:
|
||||||
ipaadmin_password: SomeADMINpassword
|
|
||||||
name: extgroup
|
name: extgroup
|
||||||
external: yes
|
external: true
|
||||||
external_member: "AD\\Domain Users"
|
external_member: "AD\\Domain Users"
|
||||||
register: result
|
register: result
|
||||||
failed_when: result.failed or not result.changed
|
failed_when: result.failed or not result.changed
|
||||||
|
|
||||||
- name: Set group to be external, and add users, again.
|
- name: Set group to be external, and add users, again.
|
||||||
ipagroup:
|
ipagroup:
|
||||||
ipaadmin_password: SomeADMINpassword
|
|
||||||
name: extgroup
|
name: extgroup
|
||||||
external: yes
|
external: true
|
||||||
external_member: "AD\\Domain Users"
|
external_member: "AD\\Domain Users"
|
||||||
register: result
|
register: result
|
||||||
failed_when: result.failed or result.changed
|
failed_when: result.failed or result.changed
|
||||||
|
|
||||||
- name: Cleanup environment.
|
- name: Ensure external group for external member exist
|
||||||
ipagroup:
|
ipagroup:
|
||||||
ipaadmin_password: SomeADMINpassword
|
name: extgroup_members
|
||||||
name: extgroup
|
external: true
|
||||||
|
register: result
|
||||||
|
failed_when: result.failed or not result.changed
|
||||||
|
|
||||||
|
- name: Ensure external group members are present
|
||||||
|
ipagroup:
|
||||||
|
name: extgroup_members
|
||||||
|
external_member: "AD\\Domain Users"
|
||||||
|
action: member
|
||||||
|
register: result
|
||||||
|
failed_when: result.failed or not result.changed
|
||||||
|
|
||||||
|
- name: Ensure external group members are present, again
|
||||||
|
ipagroup:
|
||||||
|
name: extgroup_members
|
||||||
|
external_member: "AD\\Domain Users"
|
||||||
|
action: member
|
||||||
|
register: result
|
||||||
|
failed_when: result.failed or result.changed
|
||||||
|
|
||||||
|
- name: Ensure external group members are absent
|
||||||
|
ipagroup:
|
||||||
|
name: extgroup_members
|
||||||
|
external_member: "AD\\Domain Users"
|
||||||
|
action: member
|
||||||
|
state: absent
|
||||||
|
register: result
|
||||||
|
failed_when: result.failed or not result.changed
|
||||||
|
|
||||||
|
- name: Ensure external group members are absent, again
|
||||||
|
ipagroup:
|
||||||
|
name: extgroup_members
|
||||||
|
external_member: "AD\\Domain Users"
|
||||||
|
action: member
|
||||||
|
state: absent
|
||||||
|
register: result
|
||||||
|
failed_when: result.failed or result.changed
|
||||||
|
|
||||||
|
- name: Ensure tests groups are absent
|
||||||
|
ipagroup:
|
||||||
|
name:
|
||||||
|
- extgroup
|
||||||
|
- extgroup_members
|
||||||
state: absent
|
state: absent
|
||||||
|
|||||||
Reference in New Issue
Block a user