Skip to content
  1. Apr 05, 2023
  2. Apr 04, 2023
  3. Apr 03, 2023
    • Thomas Woerner's avatar
      ipagroup: Fix ensuring external group group members (without trust-ad) · 80abf635
      Thomas Woerner authored
      Due to an API misbehaviour in FreeIPA, ipaexternalmembers need to be
      treated differently than other group members parameters. Even an empty
      array triggers all tests for external members, including the check for
      installed dcerpc bindings.
      
      Therefore ipagroup module has been changed to not set ipaexternalmember
      to an empty list if there are no external members to be added or
      removed.
      80abf635
  4. Mar 30, 2023
  5. Mar 28, 2023
    • Thomas Woerner's avatar
      ipareplica/server: Enable removal from domain with undeployment · 476d9d50
      Thomas Woerner authored
      New variables have been added to ipareplica and ipaserver role to enable
      the removal from the domein with the undeployment.
      
      `ipaserver_remove_from_domain`
      This enables the removal of the server from the domain additionally to the
      undeployment.
      
      `ipaserver_remove_on_server`
      The value defines the server/replica in the domain that will to be used to
      remove the server/replica from the domain if
      `ipaserver_ignore_topology_disconnect` and `ipaserver_remove_from_domain`
      are enabled. Without the need to enable
      `ipaserver_ignore_topology_disconnect`, the value will be automatically
      detected using the replication agreements of the server/replica.
      
      For the replica role it is possible to use the server variables, but
      also the replica versions: `ipareplica_remove_from_domain` and
      `ipareplica_remove_on_server`.
      
      The already existing parameters `ipaserver_ignore_topology_disconnect` and
      `ipaserver_ignore_last_of_role` have been added to the README files for
      server and replica with descriptions. The same for the replica versions
      of the parameters.
      
      The ipareplica role is not calling the `ipa-server-install` anymore, it
      is instead using (including) the server role for the task.
      
      The new module `ipaserver_get_connected_server` has been added to the
      server role to be able to get a connected server using the replication
      agreements. This module is only used if
      `ipaserver_ignore_topology_disconnect` is not needed.
      476d9d50
  6. Mar 27, 2023
  7. Mar 24, 2023
    • Thomas Woerner's avatar
      ipaclient: ipaclient_fix_ca also needs krb_name parameter · 10d072a8
      Thomas Woerner authored
      With the fix to defer creating the final krb5.conf on clients a bug has
      been introduced with ipaclient_fix_ca: The krb_name parameter that
      points to the temporary krb5 configuration was not added to the module
      
      Without this the server affinity is broken for allow_repair and additionally
      ipaclient_fix_ca could fail if krb5 configuration needs to be repraied
      and also CA needs to be fixed.
      
      The krb_name parameter has been added to ipaclient_fix_ca and is also
      properly set in tasks/install.yml.
      10d072a8
    • Thomas Woerner's avatar
      ipaclient: ipaclient_setup_nss also needs krb_name parameter · 0ec89eb5
      Thomas Woerner authored
      With the fix to defer creating the final krb5.conf on clients a bug has
      been introduced with ipaclient_setup_nss: The krb_name parameter that
      points to the temporary krb5 configuration was not added to the module.
      
      With a properly configured DNS (like for example IPA DNS) the krb TXT
      records have been present in the DNS configuration. These have been used
      automatically as a fallback and broke server affinity for the client.
      Without the TXT records creating the IPA NSS database failed with
       "Cannot find KDC for realm ..".
      
      The krb_name parameter has been added to ipaclient_setup_nss and is also
      properly set in tasks/install.yml.
      0ec89eb5
  8. Mar 20, 2023
  9. Mar 17, 2023
    • Rafael Guterres Jeffman's avatar
      ipareplica role: Remove usage of undefined parameters. · e0375295
      Rafael Guterres Jeffman authored
      Some ipareplica role had a few module calls with parameters set like
      'some_argument | default(omit)' that were not actually available in such
      modules. If a user provided 'some_argument', the paramater would then
      be passed to the module and ipareplica deployment would fail.
      
      By removing the parameters from the 'install' task, ipareplica
      deployment works even if the variables are set by the user.
      e0375295
  10. Mar 16, 2023
  11. Mar 14, 2023
    • Thomas Woerner's avatar
      ipahost: Make return value depending on hosts parameter · 3f3e495a
      Thomas Woerner authored
      The way how randompasswords are returned by the ipahost module depends
      so far on the number of hosts that are handled by the module.
      
      This is unexpected if for example a json file is provided with the hosts
      parameter. As it might be unknown how many hosts are in the json file,
      this behaviour is unexpected. The return should not vary in this case.
      
      This chamge makes the return simply depend on the use of the hosts
      paramater. As soon as this parameter is used, the return will always be:
      
      "host": { "<the host>": { "randompassword": "<the host random password>" } }
      
      In the simply case with one host it will be still
      
      "host": { "randompassword": "<the host random password>" }
      
      This change for ipahost is related to the ipauser PR #1053.
      3f3e495a
  12. Mar 10, 2023
  13. Mar 08, 2023
  14. Mar 06, 2023
  15. Mar 02, 2023
    • Thomas Woerner's avatar
      Merge pull request #1051 from rjeffman/fedora-spdx · 87afc56e
      Thomas Woerner authored
      Migrated to SPDX license.
      87afc56e
    • Thomas Woerner's avatar
      ipauser: Make return value depending on users parameter · 61caa578
      Thomas Woerner authored
      The way how randompasswords are returned by the ipauser module depends
      so far on the number of users that are handled by the module.
      
      This is unexpected if for example a json file is provided with the users
      parameter. As it might be unknown how many users are in the json file,
      this behaviour is unexpected. The return should not vary in this case.
      
      This chamge makes the return simply depend on the use of the users
      paramater. As soon as this parameter is used, the return will always be:
      
      "user": { "<the user>": { "randompassword": "<the user random password>" } }
      
      In the simply case with one user it will be still
      
      "user": { "randompassword": "<the user random password>" }
      
      Fixes: #1052 (ipauser should consitently return randompasswords when
                    used with users)
      61caa578
  16. Feb 27, 2023
    • Thomas Woerner's avatar
      ipaclient: Defer creating the final krb5.conf on clients · 6b5acd9b
      Thomas Woerner authored
      A temporary krb5 configuration was used to join the domain in
      ipaclient_join. After that the final krkb5 configuration was created
      with enabled DNS discovery and used for the remainaing tasks, where also
      a connection to the IPA API was done.
      
      With several servers the DNS discovery could have picked up a different
      server. If the client deployment was faster than the replication this
      could have lead to an unknown host error.
      
      The issue was seen in performance testing where many simultaneous client
      enrollments have been done..
      
      The goal is to keep server affinity as long as possible within the
      deployment process:
      
      The temporary krb5.conf that was used before in ipaclient_join was
      pulled out into an own module. The generated temporary krb5.conf is now
      used in ipaclient_join and also ipaclient_api.
      
      The generation of the final krb5.conf is moved to the end of the
      deployment process.
      
      Same as: https://pagure.io/freeipa/issue/9228
      
      The setup of certmonger has been pulled out of ipaclient_setup_nss and moved
      to the end of the process after generating the final krb5.conf as it will
      use t will only use /etc/krb5.conf.
      
      Certificate issuance may fail during deployment due to using the final
      krb5.conf, but certmonger will re-try the request in this case.
      
      Same as: https://pagure.io/freeipa/issue/9246
      6b5acd9b
  17. Feb 23, 2023
  18. Feb 22, 2023
  19. Feb 21, 2023