mirror of
https://github.com/freeipa/ansible-freeipa.git
synced 2026-06-10 02:35:54 +00:00
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
Running the tests
Before starting
In order to run ansible-freeipa tests you will need to have ansible and pytest installed on your machine. We'll call this local machine controller.
You will also need to have a remote host with freeipa server installed and configured. We'll call this remote host ipaserver.
Some other requirements:
- The
controllermust be able to connect toipaserverthrough ssh using keys. ipaservermust be configured with DNS support. See ipaserver role.- IPA admin password must be
SomeADMINpassword. - Directory Server admin password must be
SomeDMpassword.
Running the tests
To run the tests run:
IPA_SERVER_HOST=<ipaserver_host_or_ip> pytest
If you need to run using a different user you can use ANSIBLE_REMOTE_USER
environment variable. For example:
ANSIBLE_REMOTE_USER=root IPA_SERVER_HOST=<ipaserver_host_or_ip> pytest
To select which tests to run use the option -k. For example:
IPA_SERVER_HOST=<ipaserver_host_or_ip> pytest -k dnszone
To see the ansible output use the option --capture=sys. For example:
IPA_SERVER_HOST=<ipaserver_host_or_ip> pytest --capture=sys
To see why tests were skipped use -rs. For example:
IPA_SERVER_HOST=<ipaserver_host_or_ip> pytest -rs
For a complete list of options check pytest --help.
Upcoming/desired improvements:
- A script to pre-config the complete test environment using virsh.
- A test matrix to run tests against different distros in parallel (probably using tox).
- Allow to connect to
ipaserverusing ssh and password.