- Sep 08, 2022
-
-
Thomas Woerner authored
The spec file was updated and was lacking several updates.
-
- Sep 06, 2022
-
-
Rafael Guterres Jeffman authored
If the repository is setup in a way that master branch is not available for comparing the current HEAD against it, the comparison will fail and not module/role will be scheduled for testing. This patch forces fetching 'master' from ansible-freeipa repository, allowing the comparison to be performed.
-
- Sep 03, 2022
-
-
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.
-
- Aug 31, 2022
-
-
Rafael Guterres Jeffman authored
This patch adds support for IPA_ENABLED_* and IPA_DISABLED_* environment variables as existing global configuration for the tests.
-
- Aug 30, 2022
-
-
Rafael Guterres Jeffman authored
This patch allows local execution of playbook tests using ustream CI testing images. Either 'podman' or 'docker' can be used to execute the tests.
-
- Aug 26, 2022
-
-
Thomas Woerner authored
Before "short description" was used in most plugins, modules and also in the new module templates. ansible-doc was therefore not showing the short description. To fix the issue the flag was renamed to short_description instead. Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2121362 'ansible-doc' -l lists most idm modules as 'UNDOCUMENTED'
-
- Aug 24, 2022
-
-
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.
-
- Jun 14, 2022
-
-
Rafael Guterres Jeffman authored
Recent versions of ansible-test require the existence of a CHANGELOG file in the root of the collection. This changes extracts the changes of the latest available release tag using `utils/changelog` and create the CHANGELOG file with the result of the command. The generated changelog will include the changes for the latest release and, if present, the available changes that were not part of a release.
-
Thomas Woerner authored
The --tag TAG option is now printing the changes for the given TAG and not since the given tag. The new option --galaxy is printing the changelog since the latest tag and also for the latest tag. These changes are simplifying the generation of the changelog file that is needed to pass the tests for galaxy and AutomationHub collections.
-
- May 12, 2022
-
-
Thomas Woerner authored
The "-i" option can be used to install the generated collection using the ansible-galaxy collection install command. It is using the force flag to install the collection if there is already a collection with the same name and namespace. The ansible-galaxy collection build command is already using the force flag to create the collection.
-
- Apr 12, 2022
-
-
Rafael Guterres Jeffman authored
Add missing ipaadmin_password to example playbooks so new modules have all necessary fields set on basic files.
-
- Feb 17, 2022
-
-
Rafael Guterres Jeffman authored
This patch add the lines necessary to allow the use of the attribute `delete_continue`, as it is a commom attribute, and if newer commom attributes are added to IPAAnsibleModule in the future, the usage will be similar.
-
Rafael Guterres Jeffman authored
Some modules should be compared in a case insensitive manner, and this patch adds an example of a call to IPAAnsibleModule.params_get_lowercase and a note on its usage.
-
Rafael Guterres Jeffman authored
This patch refactors the module template for modules with member management, in a way that the addition of member management command logic is not duplicated in different states or actions. This idiom has been applied recently along with other fixes to modules with idempotence issues reducing the modules code size and centering code logic in specific blocks.
-
- Feb 14, 2022
-
-
Thomas Woerner authored
The script now fixes the references for all doc_fragments in the plugins/doc_fragments folder. So far it was only fixing the references for ipamodule_base_docs. PR #762 (automount location: add support for delete_continue) added an other doc_fragment and the references have not been fixes as needed.
-
- Jan 12, 2022
-
-
Rafael Guterres Jeffman authored
This patch enables pylint evaluation for ansible-freeipa roles in both the local script 'utils/lint-check.sh' and in upstream CI.
-
Thomas Woerner authored
The script is now using a build dir for the creation of the Ansible Collection. Additionally only files known to the fit repo are pulled in by default. The new "-a" option is pulling in all files from local repo. The new -k" option can be used to keep the build dir for verification of the changes to the files. The colleciton is placed into the main repo dir and no git reset --hard is used in the repo to preserve local changes.
-
- Dec 23, 2021
-
-
Thomas Woerner authored
The Variables and also the Return Variables sections contained an extra header with the module name. This is only needed if there are more than one module in the README.
-
- Dec 14, 2021
-
-
Thomas Woerner authored
These are indent issues, one item per line for argument_specs items containing options dicts and missing or overflow spaces for comments and dict delimiters.
-
Thomas Woerner authored
-
Thomas Woerner authored
plugins/modules/ipabackup_* needs to be cleaned up not plugins/action/ipabackup_*
-
- Nov 25, 2021
-
-
Rafael Guterres Jeffman authored
-
- Nov 24, 2021
-
-
Thomas Woerner authored
The link for plugins/modules/ipabackup_get_backup_dir.py from roles/ipabackup/library/ipabackup_get_backup_dir.py was left over after the script finished.
-
Thomas Woerner authored
This patch is needed to pass Automation Hub tests.
-
Thomas Woerner authored
This patch is needed to pass Automation Hub tests.
-
Thomas Woerner authored
This patch is needed to pass Automation Hub tests.
-
Thomas Woerner authored
This patch is needed to pass Automation Hub tests.
-
- Oct 12, 2021
-
-
Thomas Woerner authored
The newlines in module examples have been removed due to wrong strip for the input lines.
-
Thomas Woerner authored
If roles have been used after vars, the name of the role was not changed as the "vars:" section was turning off changeable. A "roles:" section is now turning on changeable.
-
- Oct 11, 2021
-
-
Thomas Woerner authored
The action plugins path was wrong. It was "plugins/action_plugins" and should have been "plugins/action".
-
- Oct 04, 2021
-
-
Rafael Guterres Jeffman authored
All modules should use the same description for IPA API connection variables. This change add description for ipaapi_context and ipaapi_ldap_cache variable to the module README templates.
-
Rafael Guterres Jeffman authored
Modify new module templates to use IPAAnsibleModule method `params_fail_used_invalid` to check for invalid parameter use for a given state/action.
-
Thomas Woerner authored
The items in extends_documentation_fragments of the modules need to have the proper galaxy prefix. The documentation fragment - ipamodule_base_docs needs to be changed to - ${collection_prefix}.ipamodule_base_docs
-
- Sep 29, 2021
-
-
Rafael Guterres Jeffman authored
This patch modifies configuration of both ansible-lint and yamllint to check for more rules, resulting in a more strict verification. For ansible-lint verification of errors 301, 305 and 505 are skipped, due to false positives. For the same reason, 'experimental' rules are skipped. ansible-lint error 306 is skipped since the fix is to set pipefail, which is not available in all shells (for example dash, which runs ansible-freeipa CI). Yamllint disabled rules (comments, and indentation) would introduce a huge amount of small changes, and are left for future changes, it deemed necessary.
-
- Sep 27, 2021
-
-
Rafael Guterres Jeffman authored
Modify templates to create the basic tests for `ipaapi_context: client`.
-
- Sep 08, 2021
-
-
Thomas Woerner authored
execute_ipa_commands replces the check mode exit, the loop over the generated commands and also in the member failure handling for modules with member support.
-
Thomas Woerner authored
execute_ipa_commands replces the check mode exit, the loop over the generated commands and also in the member failure handling for modules with member support.
-
- Sep 01, 2021
-
-
Thomas Woerner authored
Use IPAAnsibleModule and ipamodule_base_docs in the templates of utils/new_module. ipaadmin_password lines in the examples have been added, ipaadmin_ variables are handled by IPAAnsibleModule, ansible_module.params_get is used to get the parameters and ansible_module.ipa_connect is used to simplify the module. ipamodule+member.py.in is additionally using gen_add_list and gen_intersection_list to reduce the command calls to the changes only.
-
Rafael Guterres Jeffman authored
ansible-freeipa modules should work without superuser privileges in most cases, and to reflect this, the module tests should avoid using `become: yes`. This PR change the test playbook templates to use `become: no` by default, so only modules that require superuser privileges will need to change this variable.
-
- Aug 24, 2021
-
-
Thomas Woerner authored
There are common parameters in all modules like ipaadmin_principal and ipaadmin_password. As this list of common parameters will be extended soon, there is a need to reduce the code and documentation duplicates. A ModuleDocFragment is added to provide the module documentation for the common parameters. This is used in the modules with extends_documentation_fragment. ansible_freeipa_module has additional ipamodule_base_spec and get_ipamodule_base_vars. ipamodule_base_spec extends argument_spec in the module and get_ipamodule_base_vars is used to return a dict containing the common parameters.
-