Skip to content
  1. May 12, 2020
    • Thomas Woerner's avatar
      ansible_freeipa_module: New function DN_x500_text · 6a69bbea
      Thomas Woerner authored
      This function is needed to properly convert issuer and subject from a
      certificate or the issuer and subject parameters in ipauser for certmapdata
      to the data representation where the items in DN are reversed.
      
      The function additionally provides a fallback solution for IPA < 4.5.
      Certmapdata is not supported for IPA < 4.5, but the conversion is done
      before the API version can be checked.
      6a69bbea
    • Thomas Woerner's avatar
      ansible_freeipa_module: New function load_cert_from_str · 571cc210
      Thomas Woerner authored
      For certmapdata processing in ipauser it is needed to be able to load a cert
      from a string given in the task to be able to get the issuer and subject of
      the certificate. The format of the certifiacte here is lacking the markers
      for the begin and end of the certificate. Therefore load_pem_x509_certificate
      can not be used directly. Also in IPA < 4.5 it is needed to load the
      certificate with load_certificate instead of load_pem_x509_certificate. The
      function is implementing this properly.
      571cc210
  2. May 11, 2020
    • Thomas Woerner's avatar
      ipagroup: Add lacking service check for group_remove_member with old IPA · 60c8be19
      Thomas Woerner authored
      group_remove_member is not able to handle services in old IPA releases.
      In one case the check was missing and the removal of a user from a group
      failed because of this with an older IPA version. The missing check has
      been added.
      
      Fixes #257 (ipagroup fails to remove user from group ipausers)
      60c8be19
    • Thomas Woerner's avatar
      ipahost: Use dnsrecord_show instead of dnsrecord_find command · 2b084e6d
      Thomas Woerner authored
      The host_find command had to be replaced to get the "has_password" and
      "has_keytab" return values. This commit replaces the dnsrecord_find
      with the dnsrecord_show command to have consistent find functions in
      the module.
      2b084e6d
    • Thomas Woerner's avatar
      ipahost: Honour update_password also for random · b3d5b32e
      Thomas Woerner authored
      If random is enabled and update_password is limited to "create_only", the
      random password may only be changed if the host does not exist yet.
      
      Additionally the generation of the random password will fail, if the host
      is already enrolled if update_password is "always" (default value). An
      error will be reported early in this case now.
      
      The command host_show is now used instead of host_find, as `has_password`
      and `has_keytab` are only returned by host_show, but not by host_find. The
      find_host function has been adapated for this change.
      
      Resolves: #253 (ipahost is not idempotent)
      b3d5b32e
  3. May 06, 2020
    • Thomas Woerner's avatar
      ipauser: Use encode_certificate for certificates in find_user result · 791c4703
      Thomas Woerner authored
      The find_user function was not using encode_certificate for certificates
      that are stored in the user record. This could lead to some issues with
      older ipa releases and Python 2.
      791c4703
    • Thomas Woerner's avatar
      Do not remove member attributes while updating others · 457050c6
      Thomas Woerner authored
      Because of a missing check member attributes (for use with action: member)
      are cleared when a non-member attribute is changed. The fix simply adds a
      check for None (parameter not set) to gen_add_del_lists in
      ansible_freeipa_module to make sure that the parameter is only changed if
      it should be changed.
      
      All places where the add and removal lists have been generated manually
      have been changed to also use gen_add_del_lists.
      
      Resolves: #252 (The "Manager" attribute is removed when updating any user
                      attribute)
      457050c6
  4. May 04, 2020
  5. Apr 26, 2020
  6. Apr 16, 2020
    • Thomas Woerner's avatar
      ansible_freeipa_module: Set KRB5CCNAME for api_connect (non root) · 871cce52
      Thomas Woerner authored
      In the case that the admin password has been set and become was not set
      the call to backend.connect in api_connect failed. The solution is simply
      to set os.environ["KRB5CCNAME"] in temp_kinit after kinit_password has
      been called using the temporary ccache. os.environ["KRB5CCNAME"] is not
      used automatically by api.Backend.[ldap2,rpcclient].connect. Afterwards
      os.environ["KRB5CCNAME"] is unset in temp_kdestroy if ccache_name is not
      None.
      
      Fixes: #249 (Kerberos errors while using the modules with a non-sudoer user)
      871cce52
  7. Apr 10, 2020
  8. Mar 26, 2020
  9. Mar 24, 2020
    • Sergio Oliveira Campos's avatar
      New IPADNSZone module · 2ed7e21c
      Sergio Oliveira Campos authored
          There is a new management module placed in the plugins folder:
      
          plugins/modules/ipadnszone.py
      
          The dnszone module allows to manage DNS zones.
      
          Here is the documentation for the module:
      
          README-dnszone.md
      
          New example playbooks have been added:
      
          playbooks/dnszone/disable-zone-forwarders.yml
          playbooks/dnszone/dnszone-absent.yml
          playbooks/dnszone/dnszone-all-params.yml
          playbooks/dnszone/dnszone-disable.yml
          playbooks/dnszone/dnszone-enable.yml
          playbooks/dnszone/dnszone-present.yml
      
          New tests for the module:
      
          tests/dnszone/test_dnszone.yml
          tests/dnszone/test_dnszone_mod.yml
      2ed7e21c
    • Sergio Oliveira Campos's avatar
  10. Mar 13, 2020
  11. Mar 10, 2020
  12. Mar 05, 2020
    • Rafael Guterres Jeffman's avatar
      New DNSConfig management module · e22bf295
      Rafael Guterres Jeffman authored
      There is a new vaultcontainer management module placed in the plugins folder:
      
      plugins/modules/ipadnsconfig.py
      
      The dnsconfig module allows to modify global DNS configuration.
      
      Here is the documentation for the module:
      
      README-dnsconfig.md
      
      New example playbooks have been added:
      
      playbooks/dnsconfig/set_configuration.yml
      playbooks/dnsconfig/disable-global-forwarders.yml
      playbooks/dnsconfig/disallow-reverse-sync.yml
      
      New tests for the module:
      
      tests/dnsconfig/test_dnsconfig.yml
      e22bf295
  13. Mar 04, 2020
  14. Feb 28, 2020
    • Rafael Guterres Jeffman's avatar
      New service management module. · 5a83c08f
      Rafael Guterres Jeffman authored
      There is a new service management module placed in the pluginsfolder:
      
        plugins/modules/ipaservice.py
      
      The service module allows to ensure presence and absence of services, and
      manage members and certificates of the service.
      
      Here is the documentation for the module:
      
        README-service.md
      
      New example playbooks have been added:
      
          playbooks/service/service-host-is-absent.yml
          playbooks/service/service-host-is-present.yml
          playbooks/service/service-is-absent.yml
          playbooks/service/service-is-disabled.yml
          playbooks/service/service-is-present-with-all-attributes.yml
          playbooks/service/service-is-present-without-host-object.yml
          playbooks/service/service-is-present.yml
          playbooks/service/service-member-allow_create_keytab-absent.yml
          playbooks/service/service-member-allow_create_keytab-present.yml
          playbooks/service/service-member-allow_retrieve_keytab-absent.yml
          playbooks/service/service-member-allow_retrieve_keytab-present.yml
          playbooks/service/service-member-certificate-absent.yml
          playbooks/service/service-member-certificate-present.yml
          playbooks/service/service-member-principal-absent.yml
          playbooks/service/service-member-principal-present.yml
      
      New tests added for the module:
      
        tests/service/test-service.yml
      5a83c08f
  15. Feb 26, 2020
  16. Feb 20, 2020
  17. Feb 14, 2020
  18. Feb 13, 2020
    • Rafael Guterres Jeffman's avatar
      Properly handle base64 enconding of certificates stored as bytes. · 1a3c9114
      Rafael Guterres Jeffman authored
      This change is needed to properly handle base64 encoding of certificates
      stored as bytes, under Python 3, as used by IPA service. It does not
      affect Python 2.7 as bytes are identical to str in this version of the
      language.
      
      When retireving certificates stored by FreeIPA service data is returned
      as bytes, under Python 3, and encoding then breaks, as there is no
      bytes.public_bytes method. In Python 3, encoding with base64 will be the
      same for strings and bytes.
      1a3c9114
    • Thomas Woerner's avatar
      ipahost: Add support for several IP addresses and also to change them · 167c7631
      Thomas Woerner authored
      ipahost was so far ignoring IP addresses when the host already existed.
      This happened because host_mod is not providing functionality to do this.
      Now ipaddress is a list and it is possible to ensure a host with several
      IP addresses (these can be IPv4 and IPv6). Also it is possible to ensure
      presence and absence of IP addresses for an exising host using action
      member.
      
      There are no IP address conclict checks as this would lead into issues with
      updating an existing host that already is using a duplicate IP address for
      example for round-robin (RR). Also this might lead into issues with ensuring
      a new host with several IP addresses in this case. Also to ensure a list of
      hosts with changing the IP address of one host to another in the list would
      result in issues here.
      
      New example playbooks have been added:
      
          playbooks/host/host-present-with-several-ip-addresses.yml
          playbooks/host/host-member-ipaddresses-absent.yml
          playbooks/host/host-member-ipaddresses-present.yml
      
      A new test has been added for verification:
      
          tests/host/test_host_ipaddresses.yml
      
      Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1783976
             https://bugzilla.redhat.com/show_bug.cgi?id=1783979
      167c7631
  19. Feb 11, 2020
  20. Feb 07, 2020
  21. Feb 06, 2020
    • Thomas Woerner's avatar
      ipapwpolicy: Use global_policy if name is not set · 4dd1d25e
      Thomas Woerner authored
      If the name is not set, the policy global_policy is now used. It was needed
      before to explicitly name the global_policy. Also a check has been added
      to fail early if global_policy is used with state absent.
      
      The README for pwpolicy has been extended with an example for global_policy
      and also the description of the name variable.
      
      The test has also been extended to check a change of maxlife for
      global_policy and that global_policy can not be used with state: absent
      
      Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1797532
      4dd1d25e
  22. Feb 03, 2020
    • Rafael Guterres Jeffman's avatar
      Add missing attributes to ipasudorule. · dc0a5585
      Rafael Guterres Jeffman authored
      This patch adds the following attributes to ipasudorule:
      
          - order
          - sudooption
          - runasuser
          - runasgroup
      
      It also fixes behavior of sudocmd assigned to the the sudorule, with the
      adittion of the attributes:
      
          - allow_sudocmds
          - deny_sudocmds
          - allow_sudocmdgroups
          - deny_sudocmdgroups
      
      README-sudorule and tests have been updated to comply with the changes.
      dc0a5585
  23. Jan 16, 2020
  24. Dec 18, 2019
  25. Dec 17, 2019
  26. Dec 16, 2019
    • Rafael Guterres Jeffman's avatar
      New vault management module. · af4e8432
      Rafael Guterres Jeffman authored
      There is a new vault management module placed in the plugins folder:
      
        plugins/modules/ipavault.py
      
      The vault module allows to ensure presence and absence of vaults, manage
      members and owner of the vault, and archive data in the vault.
      
      Here is the documentation for the module:
      
          README-vault.md
      
      New example playbooks have been added:
      
          playbooks/vault/data-archive-in-asymmetric-vault.yml
          playbooks/vault/data-archive-in-symmetric-vault.yml
          playbooks/vault/ensure-asymetric-vault-is-absent.yml
          playbooks/vault/ensure-asymetric-vault-is-present.yml
          playbooks/vault/ensure-service-vault-is-absent.yml
          playbooks/vault/ensure-service-vault-is-present.yml
          playbooks/vault/ensure-shared-vault-is-absent.yml
          playbooks/vault/ensure-shared-vault-is-present.yml
          playbooks/vault/ensure-standard-vault-is-absent.yml
          playbooks/vault/ensure-standard-vault-is-present.yml
          playbooks/vault/ensure-symetric-vault-is-absent.yml
          playbooks/vault/ensure-symetric-vault-is-present.yml
          playbooks/vault/ensure-vault-is-present-with-members.yml
          playbooks/vault/ensure-vault-member-group-is-absent.yml
          playbooks/vault/ensure-vault-member-group-is-present.yml
          playbooks/vault/ensure-vault-member-user-is-absent.yml
          playbooks/vault/ensure-vault-member-user-is-present.yml
          playbooks/vault/ensure-vault-owner-is-absent.yml
          playbooks/vault/ensure-vault-owner-is-present.yml
      
      New tests added for the module:
      
          tests/vault/test_vault.yml
      af4e8432
  27. Dec 13, 2019
Loading