diff --git a/roles/ipaserver/library/ipaserver_enable_ipa.py b/roles/ipaserver/library/ipaserver_enable_ipa.py index 77e4aade6b1189809c8c5f10f02f9523b4d3122d..0419c542ccda2588cedeeb200cae972710b3cbb2 100644 --- a/roles/ipaserver/library/ipaserver_enable_ipa.py +++ b/roles/ipaserver/library/ipaserver_enable_ipa.py @@ -53,6 +53,7 @@ def main(): ansible_module = AnsibleModule( argument_spec = dict( hostname=dict(required=False), + setup_dns=dict(required=True, type='bool'), setup_ca=dict(required=True, type='bool'), ), ) @@ -63,6 +64,7 @@ def main(): # set values ############################################################# options.host_name = ansible_module.params.get('hostname') + options.setup_dns = ansible_module.params.get('setup_dns') options.setup_ca = ansible_module.params.get('setup_ca') # Configuration for ipalib, we will bootstrap and finalize later, after @@ -91,6 +93,17 @@ def main(): # Make sure the files we crated in /var/run are recreated at startup tasks.configure_tmpfiles() + if hasattr(service, "enable_services"): + # Enable configured services and update DNS SRV records + service.enable_services(options.host_name) + api.Command.dns_update_system_records() + + if not options.setup_dns: + # After DNS and AD trust are configured and services are + # enabled, create a dummy instance to dump DNS configuration. + bind = bindinstance.BindInstance(fstore) + bind.create_file_with_system_records() + with redirect_stdout(ansible_log): services.knownservices.ipa.enable() diff --git a/roles/ipaserver/tasks/install.yml b/roles/ipaserver/tasks/install.yml index bc6999a03d7ea65289670e848b81d59eecce9103..c0a9f97b960ab2c9cf3f3b0e474e2aa653f27b01 100644 --- a/roles/ipaserver/tasks/install.yml +++ b/roles/ipaserver/tasks/install.yml @@ -358,6 +358,7 @@ - name: Install - Enable IPA ipaserver_enable_ipa: hostname: "{{ result_ipaserver_test.hostname }}" + setup_dns: "{{ ipaserver_setup_dns }}" setup_ca: "{{ result_ipaserver_test.setup_ca }}" register: result_ipaserver_enable_ipa