- Nov 20, 2019
-
-
Thomas Woerner authored
The random password is only returned if random is yes and the host did not exist or update_password is yes. If only one host is handled by the module, the returned dict is containing this dict: { "randompassword": "<the host random password>" } If several hosts are handled by the module (future feature): { "<host>": { "randompassword": "<the host random password>" } } Fixes issue #134 (ipahost does not return the random password)
-
Thomas Woerner authored
The random password is only returned if random is yes and user did not exist or update_password is yes. If only one user is handled by the module, the returned dict is containing this dict: { "randompassword": "<the user random password>" } If several users are handled by the module: { "<user>": { "randompassword": "<the user random password>" } } This is related to issue #134 (ipahost does not return the random password)
-
- Nov 15, 2019
-
-
Thomas Woerner authored
-
- Nov 08, 2019
-
-
Chris Chapman authored
-
- Nov 07, 2019
-
-
Rafael Guterres Jeffman authored
There is a new sudorule (Sudo Rule) management module placed in the plugins folder: plugins/modules/ipasudorule.py The sudorule module allows to ensure presence and absence of Sudo Rules. Here is the documentation for the module: README-sudorule.md New example playbooks have been added: playbooks/sudorule/ensure-sudorule-host-member-is-absent.yml playbooks/sudorule/ensure-sudorule-host-member-is-present.yml playbooks/sudorule/ensure-sudorule-hostgroup-member-is-absent.yml playbooks/sudorule/ensure-sudorule-hostgroup-member-is-present.yml playbooks/sudorule/ensure-sudorule-is-absent.yml playbooks/sudorule/ensure-sudorule-is-disabled.yml playbooks/sudorule/ensure-sudorule-is-enabled.yml playbooks/sudorule/ensure-sudorule-is-present.yml playbooks/sudorule/ensure-sudorule-sudocmd-is-absent.yml playbooks/sudorule/ensure-sudorule-sudocmd-is-present.yml New tests added for the module: tests/hbacrule/test_sudorule.yml
-
Thomas Woerner authored
The changed flag returned by ipahostgroup calls have not always been correct. The use of the module with IPA version 4.6 on RHEL-7 resulted in encoding errors. All this has been fixed. Addtitionally new test cases have been added to make sure that the issues are solved.
-
- Nov 05, 2019
-
-
Thomas Woerner authored
There is a new hbacrule (HBAC Rule) management module placed in the plugins folder: plugins/modules/ipahbacrule.py The hbacrule module allows to ensure presence and absence of HBAC Rules. Here is the documentation for the module: README-hbacrule.md New example playbooks have been added: playbooks/hbacrule/ensure-hbarule-allhosts-absent.yml playbooks/hbacrule/ensure-hbarule-allhosts-disabled.yml playbooks/hbacrule/ensure-hbarule-allhosts-enabled.yml playbooks/hbacrule/ensure-hbarule-allhosts-present.yml playbooks/hbacrule/ensure-hbarule-allhosts-server-member-absent.yml playbooks/hbacrule/ensure-hbarule-allhosts-server-member-present.yml New tests added for the module: tests/hbacrule/test_hbacrule.yml
-
- Oct 31, 2019
-
-
Thomas Woerner authored
The information about the version limitation of the passwordexpiration parameter has been missing. The parameter is only usable for IPA versions 4.7 and up.
-
- Oct 30, 2019
-
-
Thomas Woerner authored
The changed flag returned by ipagroup calls have not been correct. This change fixes this. Addtitionally new test cases have been added to make sure that the changed flag is correct.
-
Thomas Woerner authored
group_add_member is only supporting services in more recent IPA versions. This is 4.7+. Code has been added to detect if services are supported by the used IPA version and used in the parameters of the module. In this case an error is printed. Additionally all parameters will be get from the module using module_params_get provided by ansible_freeipa_module. Additional to_text conversions have been removed as they are not needed anymore with this.
-
- Oct 25, 2019
-
-
Thomas Woerner authored
There is a new hbacsvcgroup (HBAC Service Group) management module placed in the plugins folder: plugins/modules/ipahbacsvcgroup.py The hbacsvc module allows to ensure presence and absence of HBAC Service Groups. Here is the documentation for the module: README-hbacsvcgroup.md New example playbooks have been added: playbooks/hbacsvcgroup/ensure-hbacsvcgroup-absent.yml playbooks/hbacsvcgroup/ensure-hbacsvcgroup-member-absent.yml playbooks/hbacsvcgroup/ensure-hbacsvcgroup-member-present.yml playbooks/hbacsvcgroup/ensure-hbacsvcgroup-present.yml New tests added for the module: tests/hbacsvcgroup/test_hbacsvcgroup.yml
-
- Oct 24, 2019
-
-
Thomas Woerner authored
There is a new hbacsvc (HBAC Service) management module placed in the plugins folder: plugins/modules/ipahbacsvc.py The hbacsvc module allows to ensure presence and absence of HBAC Services. Here is the documentation for the module: README-hbacsvc.md New example playbooks have been added: playbooks/hbacsvc/ensure-hbacsvc-absent.yml playbooks/hbacsvc/ensure-hbacsvc-present.yml New tests added for pwpolicy: tests/hbacsvc/test_hbacsvc.yml
-
- Oct 22, 2019
-
-
Thomas Woerner authored
There is a new pwpolicy management module placed in the plugins folder: plugins/modules/ipapwpolicy.py The pwpolicy module allows to ensure presence and absence of pwpolicies for groups. Here is the documentation for the module: README-pwpolicy.md New example playbooks have been added: playbooks/pwpolicy/pwpolicy_absent.yml playbooks/pwpolicy/pwpolicy_present.yml New tests added for pwpolicy: tests/pwpolicy/test_pwpolicy.yml
-
Thomas Woerner authored
With IPA 4.5 integers for examle in pwpolicy_find are returned as integer values. The internally generated value will be converted from integer to string (using to_text) if the value from find call result is a string (or unicode for Python2).
-
Rafael Guterres Jeffman authored
There is a new sudocmdgroup management module placed in the plugins folder: plugins/modules/ipasudocmdgroup.py The sudocmdgroup module allows to add or remove sudo command groups.. The sudocmdgroup module is as compatible as possible to the Ansible upstream ipa_sudocmdgroup module, and additionally offers to ensure member presence and absence. Here is the documentation for the module: README-sudocmdgroup.md New example playbooks have been added: playbooks/sudocmd/ensure-sudocmdgroup-is-absent.yml playbooks/sudocmd/ensure-sudocmdgroup-is-present.yml playbooks/sudocmd/ensure-sudocmd-is-absent-in-sudocmdgroup.yml playbooks/sudocmd/ensure-sudocmd-is-present-in-sudocmdgroup.yml A test playbook is provided in: tests/sudocmdgroup/test_sudocmdgroup.yml Signed-off-by: Rafael Guterres Jeffman <rjeffman@redhat.com>
-
Rafael Guterres Jeffman authored
There is a new sudocmd management module placed in the plugins folder: plugins/modules/ipasudocmd.py The sudocmd module allows to add or remove sudo commands. The sudocmd module is as compatible as possible to the Ansible upstream ipa_sudocmd module. Here is the documentation for the module: README-sudocmd.md New example playbooks have been added: playbooks/sudocmd/ensure-sudocmd-is-absent.yml playbooks/sudocmd/ensure-sudocmd-is-present.yml Signed-off-by: Rafael Guterres Jeffman <rjeffman@redhat.com>
-
- Oct 21, 2019
-
-
Thomas Woerner authored
The ipauser module now supports all user settings and additionally to ensure the presence of several users with the new users setting. The users setting can also be used with other states, but it has to be limited to only contain the name of the users. There updated user management module is placed in the plugins folder: plugins/modules/ipauser.py The user module now additionally allows to handle these user settings: initials principalexpiration random city userstate postalcode mobile pager fax orgunit manager carlicense sshpubkey userauthtype userclass radius radiususer departmentnumber employeenumber employeetype preferredlanguage certificate certmapdata noprivate nomembers Here is the updated documentation for the module: README-user.md New example playbooks have been added: playbooks/user/user_certificate_absent.yml playbooks/user/user_certificate_present.yml playbooks/user/user_present.yml playbooks/user/users_absent.yml playbooks/user/users_certificate_absent.yml playbooks/user/users_certificate_present.yml playbooks/user/users_present.yml plugins/modules/ipauser.py New tests added for ipauser: tests/user/certificate/cert1.der tests/user/certificate/cert1.pem tests/user/certificate/cert2.der tests/user/certificate/cert2.pem tests/user/certificate/cert3.der tests/user/certificate/cert3.pem tests/user/certificate/private1.key tests/user/certificate/private2.key tests/user/certificate/private3.key tests/user/certificate/test_user_certificate.yml tests/user/certificate/test_users_certificate.yml tests/user/certmapdata/test_user_certmapdata.yml tests/user/certmapdata/test_user_certmapdata_issuer_subject.yml tests/user/certmapdata/test_users_certmapdata.yml tests/user/test_user.yml tests/user/test_users.yml tests/user/test_users_absent.yml tests/user/test_users_invalid_cert.yml tests/user/test_users_present.yml tests/user/test_users_present_slice.yml tests/user/users_absent.json tests/user/users_absent.sh tests/user/users_present.json tests/user/users_present.sh
-
Thomas Woerner authored
The function api_get_realm is returning the realm of a connected FreeIPA api. This is needed for proper principal checks in the extended ipauser module that supports principals now.
-
Thomas Woerner authored
The conversion is needed because older FreeIPA versions are returning tuples in some cases instead of lists. To be able to compare them the conversion to a list is needed.
-
- Oct 18, 2019
-
-
Thomas Woerner authored
to_text has not been imported from ansible.module_utils._text but it was used in _afm_convert. The import has been added.
-
- Oct 09, 2019
-
-
Thomas Woerner authored
The module_params_get function can and should be used as a replacement of ansible_module.params.get. For Python2 it is needed to convert parameters to unicode. Otherwise there will be an error in the FreeIPA API command. The private function _afm_convert has been added to do the conversion recursively.
-
Thomas Woerner authored
api_check_param can be used to verify if params are available for a command in the used FreeIPA version. The function has been added as api is normally not imported into modules.
-
Thomas Woerner authored
The order of lists returned by find commands is not guaranteed. Therefore lists are now converted to sets to compare them properly.
-
Thomas Woerner authored
api_command is always used within try clause, therefore it is not needed to have an extra try clause within api_command. Additionally it is needed to get the dofferent errors in the next level.
-
- Oct 01, 2019
-
-
Thomas Woerner authored
The ipagroup module was not using the failed and completed items in the dict that is returned with api_command. But it was creating add and remove lists for users, groups and services. This is not needed if the failures "already a member" and "not a member" in the result failures are ignored. Only other failures are reported.
-
- Sep 24, 2019
-
-
Thomas Woerner authored
The states member_present and member_absent are not used and should also not be used. This is a remain of the first try to ensure absence and presence of users (members) in the group. This has been replaced with the setting action: member.
-
- Sep 23, 2019
-
-
Thomas Woerner authored
There is a new hostgroup management module placed in the plugins folder: plugins/modules/ipahostgroup.py The hostgroup module allows to add, remove and disable hosts. The hostgroup module is as compatible as possible to the Ansible upstream ipa_hostgroup module, but addtionally offers to ensure member presence and absence. Here is the documentation for the module: README-hostgroup.md New example playbooks have been added: playbooks/hostgroup/ensure-hostgroup-is-absent.yml playbooks/hostgroup/ensure-hostgroup-is-present.yml playbooks/hostgroup/ensure-hosts-and-hostgroups-are-absent-in-hostgroup.yml playbooks/hostgroup/ensure-hosts-and-hostgroups-are-present-in-hostgroup.yml
-
Thomas Woerner authored
There is a new hostgroup management module placed in the plugins folder: plugins/modules/ipahostgroup.py The hostgroup module allows to add, remove and disable hosts. The hostgroup module is as compatible as possible to the Ansible upstream ipa_hostgroup module, but addtionally offers to ensure member presence and absence. Here is the documentation for the module: README-hostgroup.md New example playbooks have been added: playbooks/hostgroup/ensure-hostgroup-is-absent.yml playbooks/hostgroup/ensure-hostgroup-is-present.yml playbooks/hostgroup/ensure-hosts-and-hostgroups-are-absent-in-hostgroup.yml playbooks/hostgroup/ensure-hosts-and-hostgroups-are-present-in-hostgroup.yml
-
- Sep 10, 2019
-
-
Thomas Woerner authored
There is a new user management module placed in the plugins folder: plugins/modules/ipauser.py The host module allows to add, remove and disable hosts. The host module is as compatible as possible to the Ansible upstream ipa_host` module, but addtionally offers to disable hosts. Here is the documentation for the module: README-host.md New example playbooks have been added: playbooks/host/add-host.yml playbooks/host/delete-host.yml playbooks/host/disable-host.yml
-
- Aug 12, 2019
-
-
Thomas Woerner authored
The GSSAPI can be enabled in the management modules with either the KRB5CCNAME or the KRB5_CLIENT_KTNAME environment variable. For KRB5CCNAME it is needed to create a ccache file kinit admin@TEST.LOCAL -c /root/admin.ccache that is transferred to the nodes (here into /root) and activated in the playbook with environment: KRB5CCNAME: /root/admin.ccache For KRB5_CLIENT_KTNAME a admin keytab has to be generated ipa-getkeytab -s ipaserver.test.local -p admin@TEST.LOCAL -k \ /root/admin.keytab that is transferred to the nodes (here into /root) and activated in the playbook with environment: KRB5_CLIENT_KTNAME: /root/admin.keytab It will be needed to set ipaadmin_principal if the admin principal is not admin. The management modules can be used without a password in this case.
-
Thomas Woerner authored
For debug and error reporting it is needed to have the ansible module also in the valid_creds function.
-
Thomas Woerner authored
-
- Jul 26, 2019
-
-
Thomas Woerner authored
Currently it is ignored if the entry for reinitialized can not be found if the name or left and right are not correct. Now there is a failure in this case. Fixes: #107 (Reinitialize are failed to find the node in ipatopology ..) Signed-off-by: Thomas Woerner <twoerner@redhat.com>
-
Thomas Woerner authored
With adding the domain and ca suffixes with `suffix: domain+ca` only ca has been added as the suffix was only used from the last command. The suffix is now stored together with the command and the argument. This will fix this error. Fixes: #106 (Last suffix adding twice in the list of topology segments)
-
- Jul 11, 2019
-
-
Thomas Woerner authored
If members are added to or removed from a not existing group, an error is printed.
-
Thomas Woerner authored
-
- Jul 09, 2019
-
-
Thomas Woerner authored
There is a new group management module placed in the plugins folder: plugins/modules/ipagroup.py The group module allows to add, remove, enable, disable, unlock und undelete groups. The group module is as compatible as possible to the Ansible upstream `ipa_group` module, but addtionally offers to add users to a group and also to remove users from a group. Here is the documentation for the module: README-group.md New example playbooks have been added: playbooks/user/add-groups-to-group.yml playbooks/user/add-user-to-group.yml playbooks/user/add-group.yml playbooks/user/delete-group.yml
-
Thomas Woerner authored
There is a new user management module placed in the plugins folder: plugins/modules/ipauser.py The user module allows to add, remove, enable, disable, unlock und undelete users. The user module is as compatible as possible to the Ansible upstream `ipa_user` module, but addtionally offers to preserve delete, enable, disable, unlock and undelete users. Here is the documentation for the module: README-user.md New example playbooks have been added: playbooks/user/add-user.yml playbooks/user/delete-user.yml playbooks/user/enable-user.yml playbooks/user/disable-user.yml playbooks/user/delete-preserve--user.yml playbooks/user/undelete-user.yml
-
Thomas Woerner authored
date_format parses the supported date formats and creates a datetime object. compare_args_ipa compares generated args with args returned by IPA command find_ functions.
-
- Jul 01, 2019
-
-
Thomas Woerner authored
The use of password will conflict with the user password setting and is not really descriptive. ipaadmin_principal and ipaadmin_password are also used in the roles.
-