From 6378d9b1dc8730e5379aaa29d74a7ec499476616 Mon Sep 17 00:00:00 2001
From: Thomas Woerner <twoerner@redhat.com>
Date: Wed, 17 Jul 2019 19:17:31 +0200
Subject: [PATCH] ipareplica: Initialize dns.ip_addresses and dns.reverse_zones
 for dns setup

These two varibles in the dns binding are initialized in the installation
check in the install_check parts of ipareplica_prepare and used later on
in the dns configuration in ipareplica_setup_dns.
---
 roles/ipareplica/library/ipareplica_prepare.py   | 4 ++++
 roles/ipareplica/library/ipareplica_setup_dns.py | 5 +++++
 roles/ipareplica/tasks/install.yml               | 2 ++
 3 files changed, 11 insertions(+)

diff --git a/roles/ipareplica/library/ipareplica_prepare.py b/roles/ipareplica/library/ipareplica_prepare.py
index 22439fb1..ee7932a9 100644
--- a/roles/ipareplica/library/ipareplica_prepare.py
+++ b/roles/ipareplica/library/ipareplica_prepare.py
@@ -750,10 +750,14 @@ def main():
                              config_kra_host_name=config.kra_host_name,
                              config_ips=[ str(ip) for ip in config.ips ],
                              ### ad trust ###
+                             dns_ip_addresses=[ str(ip) for ip
+                                                in dns.ip_addresses ],
+                             dns_reverse_zones=dns.reverse_zones,
                              rid_base=options.rid_base,
                              secondary_rid_base=options.secondary_rid_base,
                              adtrust_netbios_name=adtrust.netbios_name,
                              adtrust_reset_netbios_name=adtrust.reset_netbios_name)
 
+
 if __name__ == '__main__':
     main()
diff --git a/roles/ipareplica/library/ipareplica_setup_dns.py b/roles/ipareplica/library/ipareplica_setup_dns.py
index 25f6bd62..67fe8c68 100644
--- a/roles/ipareplica/library/ipareplica_setup_dns.py
+++ b/roles/ipareplica/library/ipareplica_setup_dns.py
@@ -93,6 +93,8 @@ def main():
             no_dnssec_validation=dict(required=False, type='bool',
                                       default=False),
             ### additional ###
+            dns_ip_addresses=dict(required=True, type='list'),
+            dns_reverse_zones=dict(required=True, type='list'),
             ccache=dict(required=True),
             _top_dir = dict(required=True),
             setup_ca=dict(required=True, type='bool'),
@@ -121,6 +123,9 @@ def main():
     options.no_dnssec_validation = ansible_module.params.get(
         'no_dnssec_validationdnssec_validation')
     ### additional ###
+    dns.ip_addresses = ansible_module_get_parsed_ip_addresses(
+        ansible_module, 'dns_ip_addresses')
+    dns.reverse_zones = ansible_module.params.get('dns_reverse_zones')
     ccache = ansible_module.params.get('ccache')
     os.environ['KRB5CCNAME'] = ccache
     options._top_dir = ansible_module.params.get('_top_dir')
diff --git a/roles/ipareplica/tasks/install.yml b/roles/ipareplica/tasks/install.yml
index 0b38b908..4d09a37b 100644
--- a/roles/ipareplica/tasks/install.yml
+++ b/roles/ipareplica/tasks/install.yml
@@ -682,6 +682,8 @@
                           not none else omit }}"
       no_dnssec_validation: "{{ ipareplica_no_dnssec_validation }}"
       ### additional ###
+      dns_ip_addresses: "{{ result_ipareplica_prepare.dns_ip_addresses }}"
+      dns_reverse_zones: "{{ result_ipareplica_prepare.dns_reverse_zones }}"
       ccache: "{{ result_ipareplica_prepare.ccache }}"
       _top_dir: "{{ result_ipareplica_prepare._top_dir }}"
       setup_ca: "{{ result_ipareplica_prepare.config_setup_ca }}"
-- 
GitLab