- Aug 17, 2020
-
-
Rafael Guterres Jeffman authored
Modified support for processing result of IPA API commands so that client code can define its own processing and add return values to self.exit_args based on command result. If a subclass need to process the result of IPA API commands it should override the method `process_command_result`. The default implementation will simply evaluate if `changed` should be true.
-
Rafael Guterres Jeffman authored
IPA CLI has an option `name_from_ip` that provide a name for a zone from the reverse IP address, so that it can be used to, for example, manage PTR DNS records. This patch adds a similar attribute to ipadnszone module, where it will try to find the proper zone name, using DNS resolve, or provide a sane default, if a the zone name cannot be resolved. The option `name_from_ip` must be used instead of `name` in playbooks, and it is a string, and not a list. A new example playbook was added: playbooks/dnszone/dnszone-reverse-from-ip.yml A new test playbook was added: tests/dnszone/test_dnszone_name_from_ip.yml
-
- Aug 14, 2020
-
-
Rafael Guterres Jeffman authored
Tests for module ipalocation failed due to missing ipaadmin_password. Added the variable to the playbooks, and also fixed the examples and documentation. Some playbooks had identation fixed to two spaces instead of one for consistency with other modules.
-
Rafael Guterres Jeffman authored
A test was failing due to use of old ipavault module return structure and some places on the documentation were alse referring to it. All ocurrences were fixed.
-
Rafael Guterres Jeffman authored
When modifying an existing vault to change the value of `salt`, the password must also change. It is fine to "change" the password to the same value, thus only changing the salt value.
-
Rafael Guterres Jeffman authored
The generation of a random salt, when one was not provided, was in the wrong place and being generated too late to be used properly. Also, the generation of the value was duplicated.
-
Rafael Guterres Jeffman authored
In some scenarios, the value of the vault type is returned as a tuple, rather than a string, this made some changes to existing vault to fail. With this change, the vault type is correctly retrieved, if it was not provided by the user.
-
- Aug 13, 2020
-
-
Thomas Woerner authored
There is a new location management module placed in the plugins folder: plugins/modules/ipalocation.py The location module allows to ensure presence or absence of locations. Here is the documentation for the module: README-location.md New example playbooks have been added: playbooks/location/location-absent.yml playbooks/location/location-present.yml New tests for the module: tests/location/test_location.yml
-
Thomas Woerner authored
There is a new selfservice management module placed in the plugins folder: plugins/modules/ipaselfservice.py The selfservice module allows to ensure presence and absence of selfservices and manage selfservice attributes. Here is the documentation for the module: README-selfservice.md New example playbooks have been added: playbooks/selfservice/selfservice-absent.yml playbooks/selfservice/selfservice-present.yml playbooks/selfservice/selfservice-member-absent.yml playbooks/selfservice/selfservice-member-present.yml New tests for the module: tests/selfservice/test_selfservice.yml
-
Thomas Woerner authored
There is a new delegation management module placed in the plugins folder: plugins/modules/ipadelegation.py The delegation module allows to ensure presence and absence of delegations and manage delegation attributes. Here is the documentation for the module: README-delegation.md New example playbooks have been added: playbooks/delegation/delegation-absent.yml playbooks/delegation/delegation-present.yml playbooks/delegation/delegation-member-absent.yml playbooks/delegation/delegation-member-present.yml New tests for the module: tests/delegation/test_delegation.yml
-
- Aug 11, 2020
-
-
Rafael Guterres Jeffman authored
The attribute `allow_retrieve_keytab_host` was not working due to wrong processing of the input and verification if the values should be updated. Both the issues are fixed by this change. Tests were added to better verify service keytab members.
-
Rafael Guterres Jeffman authored
The ipavault module was returning a single string value when retrieving data. To keep consistency with other modules, it should return a dict with the `data` variable in it. This change modifies the result of ipavault to be a dict and also fixes relevant tests, examples and documentation.
-
- Aug 10, 2020
-
-
Rafael Guterres Jeffman authored
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.
-
- Aug 06, 2020
-
-
Sergio Oliveira Campos authored
This PR allow ipadnszone module to ensure that multiple dns zones are absent at once, to be consistent with other ansible-freeipa modules. To fix this issue, it was required that custom arguents must be passed using keyword arguments so that `get_ipa_command_args()` is kept generic.
-
- Aug 05, 2020
-
-
Rafael Guterres Jeffman authored
Replaced occurrences of `service` where `role` was expected, in both module source code and module README.
-
Rafael Guterres Jeffman authored
This change fixes a wrong parameter name in the documentation of RESULT_VALUES, and also provide a correct YAML snippet to ensure presence of an asymmetric vault with a formatted private key.
-
- Aug 03, 2020
-
-
Sergio Oliveira Campos authored
When a fail_json is called a SystemExit exeception is raised. Since the FreeIPABaseModule has an internal context manager to deal with exceptions this ContextManager captures the SystemExit. After dealing destroying the kinit session the SystemExit must be raised again to allow the fail_json to work properly.
-
- Jul 27, 2020
-
-
Rafael Guterres Jeffman authored
This patch adds suport for the IPA CLI option `posix` when modifying an existing group. Also, enhances verification of `external` and `posix/non-posix` groups to avoid unneded API failures (e.g. when no change to the posix/external status is needed). A new test was added: tests/group/test_group_external_nonposix.yml
-
- Jul 21, 2020
-
-
Rafael Guterres Jeffman authored
There is a new role management module placed in the plugins folder: plugins/modules/iparole.py The role module allows to ensure presence or absence of roles and manage role members. Here is the documentation for the module: README-role.md New example playbooks have been added: playbooks/role/role-is-absent.yml playbooks/role/role-is-present.yml playbooks/role/role-member-group-absent.yml playbooks/role/role-member-group-present.yml playbooks/role/role-member-host-absent.yml playbooks/role/role-member-host-present.yml playbooks/role/role-member-hostgroup-absent.yml playbooks/role/role-member-hostgroup-present.yml playbooks/role/role-member-privilege-absent.yml playbooks/role/role-member-privilege-present.yml playbooks/role/role-member-service-absent.yml playbooks/role/role-member-service-present.yml playbooks/role/role-member-user-absent.yml playbooks/role/role-member-user-present.yml playbooks/role/role-members-absent.yml playbooks/role/role-members-present.yml playbooks/role/role-rename.yml New tests for the module: tests/role/test_role.yml tests/role/test_role_service_member.yml
-
- Jun 29, 2020
-
-
Thomas Woerner authored
If a unknown membermanager user presence will be ensured, the unknown user error was ignored. This has been fixed in ipagroup. The code for the error handling in ipagroup and ipahostgroup has been adapted because of this. New tests for tests/[host]group/test_[host]group_membermnager.yml have been added.
-
Rafael Guterres Jeffman authored
Allows changing passwords of symmetric waults, using a new variable `new_password` (or the file-base version, `new_password_file`). The old password must be passed using the `password` or `password_file` variables that also received new aliases `old_password` and `old_password_file`, respectively. Tests were modyfied to reflect the changes.
-
Thomas Woerner authored
It was possible to have several entries for names with the hosts and users lists. This resulted sometimes in errors but also unexpected changes. A new check has been added to make sure that the names in the users and hosts lists are unique. New tests have been added to verify this in the existing files: - tests/host/test_hosts.yml - tests/user/test_users.yml
-
- Jun 26, 2020
-
-
Rafael Guterres Jeffman authored
This patch allows the modification of the forward zone policy in an existing DNS Forward Zone, and fixes some issues with `enable` and `disable` state that prevented correct behavior of `forwardpolicy`.
-
Rafael Guterres Jeffman authored
Adds missing attribute `permission to dnsforwardzone module, that enable setting `manageby` for the DNS Forwar Zone.
-
Rafael Guterres Jeffman authored
Services without certificates, but with keytabs were not being disabled. This change allows execution of service_disable if there is a certificate or if has_keytab is true. A new test was added to verify the issue: tests/service/test_service_disable.yml
-
- Jun 15, 2020
-
-
Rafael Guterres Jeffman authored
This patch modify the was forwarders are configured, using two attributes, `ip_address` and `port`, instead of IPA API internal string representation of `IP port PORT`.
-
- Jun 11, 2020
-
-
Rafael Guterres Jeffman authored
Current implementation of hbacrule and sudorule allow for a new rule creation script to be partialy successful when a member is provided and the respective member category is set to `all` (either users, hosts, services, commands, and their group counterparts). Since the creation of the rule is independent of the adittion of members, the rule is succesfully created, but member addition fails, leaving with a created rule that has no members on it. This patch fixes both modules by verifying if user, host, service or commands (and groups of members) are being added if the corresponding category is set to `all`, when the state is `present` and the action is not `member`. If so, it fails before the rule is created.
-
Rafael Guterres Jeffman authored
This fixes reporting errors on dnsconfig module and add some tests to verify that invalid IP addresses cannot be used as forwarders.
-
Rafael Guterres Jeffman authored
This patch add support for the attributes `maxtostname` and `ca_renewal_master_server` attributes that were missing and also provide a more complete set of tests.
-
Rafael Guterres Jeffman authored
This patch adds support for retrieving data stored in an IPA vault by adding a new valid state for ipavault: `retrieved`. To allow the retrieval of data from assymetric vaults, the attributes `private_key`, `private_key_files` and `out` were also added to the module. The private key files, `private.pem`, should be paired with the already existing `public.pem` public key files. Tests were updated to reflect changes and two new playbooks were added: playbooks/vault/retrive-data-asymmetric-vault.yml playbooks/vault/retrive-data-symmetric-vault.yml
-
Rafael Guterres Jeffman authored
This patch fixes handling of password and public_key files, parameter validation depending on vault type, usage of `salt` attribute and data retrieval. Tests were updated to reflect the changes. New example playbooks are added: playbooks/vault/vault-is-present-with-password-file.yml playbooks/vault/vault-is-present-with-public-key-file.yml
-
Thomas Woerner authored
A group membership manager is a user or a group that can add members to a group or remove members from a hostgroup. This is related to https://pagure.io/freeipa/issue/8114 New parameters have been added to the module: - `membermanager_user`: List of member manager users assigned to this group. Only usable with IPA versions 4.8.4 and up. - `membermanager_group`: List of member manager groups assigned to this group. Only usable with IPA versions 4.8.4 and up. These parameters behave like member parameters. A new test has been added: - tests/hostgroup/test_hostgroup_membermanager.yml
-
Rafael Guterres Jeffman authored
There is a new dnsrecord managem module placed in the plugins folder: plugins/modules/ipadnsrecord.py The dnsrecord module allows management of DNS records and is as compatible as possible with the Ansible upstream `ipa_dnsrecord` module, but provide some other features like multiple record management in one execution, support for more DNS record types, and more. Here is the documentation for the module: README-dnsrecord New example playbooks have been added: playbooks/dnsrecord/ensure-dnsrecord-is-absent.yml playbooks/dnsrecord/ensure-dnsrecord-is-present.yml playbooks/dnsrecord/ensure-presence-multiple-records.yml playbooks/dnsrecord/ensure-dnsrecord-with-reverse-is-present.yml playbooks/dnsrecord/ensure-multiple-A-records-are-present.yml playbooks/dnsrecord/ensure-A-and-AAAA-records-are-absent.yml playbooks/dnsrecord/ensure-A-and-AAAA-records-are-present.yml playbooks/dnsrecord/ensure-CNAME-record-is-absent.yml playbooks/dnsrecord/ensure-CNAME-record-is-present.yml playbooks/dnsrecord/ensure-MX-record-is-present.yml playbooks/dnsrecord/ensure-PTR-record-is-present.yml playbooks/dnsrecord/ensure-SRV-record-is-present.yml playbooks/dnsrecord/ensure-SSHFP-record-is-present.yml playbooks/dnsrecord/ensure-TLSA-record-is-present.yml playbooks/dnsrecord/ensure-TXT-record-is-present.yml playbooks/dnsrecord/ensure-URI-record-is-present.yml New tests for the module can be found at: tests/dnsrecord/test_dnsrecord.yml tests/dnsrecord/test_compatibility_with_ansible_module.yml tests/dnsrecord/test_dnsrecord_full_records.yml
-
Rafael Guterres Jeffman authored
-
Rafael Guterres Jeffman authored
-
- Jun 09, 2020
-
-
Thomas Woerner authored
A group membership manager is a user or a group that can add members to a group or remove members from a group. This is related to https://pagure.io/freeipa/issue/8114 New parameters have been added to the module: - `membermanager_user`: List of member manager users assigned to this group. Only usable with IPA versions 4.8.4 and up. - `membermanager_group`: List of member manager groups assigned to this group. Only usable with IPA versions 4.8.4 and up. These parameters behave like member parameters. A new test has been added: - tests/group/test_group_membermanager.yml
-
Thomas Woerner authored
A group membership manager is a user or a group that can add members to a group or remove members from a hostgroup. This is related to https://pagure.io/freeipa/issue/8114 New parameters have been added to the module: - `membermanager_user`: List of member manager users assigned to this group. Only usable with IPA versions 4.8.4 and up. - `membermanager_group`: List of member manager groups assigned to this group. Only usable with IPA versions 4.8.4 and up. These parameters behave like member parameters. A new test has been added: - tests/hostgroup/test_hostgroup_membermanager.yml
-
- Jun 08, 2020
-
-
Rafael Guterres Jeffman authored
This patch adds variable `smb`, that can be used when adding a new service, and creates a SMB service (cifs) with an optional `netbiosname`.
-
Rafael Guterres Jeffman authored
-
Rafael Guterres Jeffman authored
-