mirror of
https://github.com/freeipa/ansible-freeipa.git
synced 2026-06-09 18:25:53 +00:00
There is a new dnsrecord managem module placed in the plugins folder:
plugins/modules/ipadnsrecord.py
The dnsrecord module allows management of DNS records and is as compatible
as possible with the Ansible upstream `ipa_dnsrecord` module, but provide
some other features like multiple record management in one execution,
support for more DNS record types, and more.
Here is the documentation for the module:
README-dnsrecord
New example playbooks have been added:
playbooks/dnsrecord/ensure-dnsrecord-is-absent.yml
playbooks/dnsrecord/ensure-dnsrecord-is-present.yml
playbooks/dnsrecord/ensure-presence-multiple-records.yml
playbooks/dnsrecord/ensure-dnsrecord-with-reverse-is-present.yml
playbooks/dnsrecord/ensure-multiple-A-records-are-present.yml
playbooks/dnsrecord/ensure-A-and-AAAA-records-are-absent.yml
playbooks/dnsrecord/ensure-A-and-AAAA-records-are-present.yml
playbooks/dnsrecord/ensure-CNAME-record-is-absent.yml
playbooks/dnsrecord/ensure-CNAME-record-is-present.yml
playbooks/dnsrecord/ensure-MX-record-is-present.yml
playbooks/dnsrecord/ensure-PTR-record-is-present.yml
playbooks/dnsrecord/ensure-SRV-record-is-present.yml
playbooks/dnsrecord/ensure-SSHFP-record-is-present.yml
playbooks/dnsrecord/ensure-TLSA-record-is-present.yml
playbooks/dnsrecord/ensure-TXT-record-is-present.yml
playbooks/dnsrecord/ensure-URI-record-is-present.yml
New tests for the module can be found at:
tests/dnsrecord/test_dnsrecord.yml
tests/dnsrecord/test_compatibility_with_ansible_module.yml
tests/dnsrecord/test_dnsrecord_full_records.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.