Skip to content
  1. Sep 08, 2022
  2. Sep 07, 2022
  3. Sep 06, 2022
  4. Sep 05, 2022
  5. Sep 03, 2022
    • Rafael Guterres Jeffman's avatar
      upstream CI: run PR tests only for affected plugins · 25141584
      Rafael Guterres Jeffman authored
      The current workflow for bug fixing or new enhancements in
      ansible-freeipa includes running Ansible playbooks tests for all the
      available plugins for every pull request, even for contained
      modifications.
      
      This patch creates a new workflow for pull requests where only the
      affected plugins are tested in the PR. Changes that might affect other
      parts of the code will trigger tests for the parts affected.
      
      A utility script, utils/filter_tests, is used to set the variables
      IPA_ENABLED_MODULES and IPA_ENABLED_TESTS before executing the tests,
      effectively limiting which tests are executed. The script uses the
      python plugin 'utils/filter_plugins.py' which lists all test modules
      that should be executed for a list of modified source files.
      
      Tests are selected for execution based on the plugin name. For example,
      a change to 'plugins/modules/ipalocation.py' would trigger all playbook
      tests under 'tests/location'. If a test playbook is modified, it is
      scheduled to be executed. Changes to any file under
      'plugins/module_utils' will force the execution of all tests, since any
      module might be affected by that change.
      
      The nature of the change is not evaluated, so a simple typo fix of a
      comment in a file under 'plugins/module_utils' would still schedule all
      test playbooks to be executed.
      
      For roles, any file changed under the role directory would set the role
      to be included in the tests. Playbook tests for roles must be created
      under 'tests/<rolename>_role', where role name in the name of the role
      without 'ipa', for example, the 'ipabackup' role test playbooks would
      be stored under 'tests/backup_role'.
      
      Since there is the possibility that the list of tests to be executed
      might be less than the number of tests groups used (3), a new pytest
      dependency was added, pytest-custom_exit_code, so that having no tests
      to run isn't a test failure.
      
      A new pipeline on Azure needs to be created to use the new test script.
      25141584
  6. Aug 31, 2022
  7. Aug 30, 2022
  8. Aug 29, 2022
  9. Aug 26, 2022
  10. Aug 25, 2022
  11. Aug 24, 2022
    • Rafael Guterres Jeffman's avatar
      upstream ci: Add step to display scenario configuration · abef329b
      Rafael Guterres Jeffman authored
      Since test configuration can vary in different scenarios (test images)
      this patch adds a script to list the scenarios configuration, and a
      step to the playbook test jobs to display the scenario configuration.
      abef329b
    • Rafael Guterres Jeffman's avatar
      upstream ci: Avoid scheduling tests that will not be executed. · 3216f8df
      Rafael Guterres Jeffman authored
      Currently, all tests are scheduled to execution, even those that are
      not executed due to being absent from the list of enabled tests
      configured in the IPA_ENABLED_* variables. The tests that are not
      executed are marked 'skipped'.
      
      This patch change this behavior by not scheduling tests that are not
      configured to be executed. It means that tests not the IPA_DISABLED_*
      lists are not skipped anymore, but not scheduled to be executed. If
      any test is in IPA_ENABLED_* lists, only those tests are marked for
      execution. A side effect is that there is no visual feedback on which
      tests were not executed, as disabled tests are not evaluated anymore.
      
      Also, when IPA_SERVER_HOST was not set, all tests were skipped, but
      an error should raised in this case, as there are no hosts to run the
      tests against.
      
      This patch modifies this behavior to fail the test with an exception if
      IPA_SERVER_HOST is not set.
      3216f8df
    • Rafael Guterres Jeffman's avatar
      upstream ci: Add support for distro specific test configuration. · edccf70b
      Rafael Guterres Jeffman authored
      Sometimes, mostly due do differences in package versions, there are
      some tests that fail on a single distribution which cannot be fixed
      by ansible-freeipa, requiring that the offending package is fixed.
      
      To keep tests running succesfully we have options to disable the
      failing tests, but this changes are globally applied, meaning that, by
      disabling a test, it is disable in all tested distributions.
      
      This patch allows tests to be enabled or disabled for a specific
      distribution, by setting the configuration on the 'variable' template
      for the specific testing scenario.
      edccf70b
    • Thomas Woerner's avatar
      Merge pull request #887 from rjeffman/doc_fix_ipasudorule · fd79f95f
      Thomas Woerner authored
      ipasudorule: Fix usage of 'action' and 'state' in examples.
      fd79f95f
  12. Aug 23, 2022
  13. Aug 18, 2022
    • Thomas Woerner's avatar
      ipareplica: Do not overwrite ipaclient_no_ntp for client part deployment · 5a14f78d
      Thomas Woerner authored
      The NTP server chrony was always enabled and set up due to overwriting
      the parameter ipaclient_no_ntp for the client part deployment.
      
      For IPA deployments up to 4.6 no_ntp was always used for the client
      part deployment in ipa-replica-install. But afterwards ntp was
      configured in the replica deployment part if no_ntp was not set.
      
      The ipareplica roles always relied on the client for setting up the NTP
      server but overwrote the setting for the client deployment part. This
      did not result in a failure to enable the chrony server in RHEL and Fedora
      based distributions as NTP server was always required by the ipa-server
      package.
      
      Fixes: #871 (ipa-replica-install with no-ntp is ignored)
      5a14f78d
  14. Aug 16, 2022
  15. Aug 15, 2022
    • Thomas Woerner's avatar
      ipareplica: ipareplica_setup_adtrust fails while updating ipaNTFlatName · 641c550c
      Thomas Woerner authored
      The internal parameter sid_generation_always is generated in
      ipareplica_test to enable SID generation if ipareplica_setup_adtrust is
      not enabled.
      
      This parameter was not used for ipareplica_prepare though, therefore
      adtrust.install_check was not executed and did not set the attribute
      adtrust.netbios_name. As a result adtrust.netbios_name was None and the
      try to use this as the new NetBIOS domain name failed with an
      INVALID_SYNTAX error in adtrustinstance while executing
      ipareplica_setup_adtrust.
      
      This issue only occurs if SIDs are not enabled in the domain yet for
      example with an old deployment.
      641c550c
  16. Jul 28, 2022
  17. Jul 27, 2022