From 8f94e4aa9e2885dd56a322716c24cee439d182e6 Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy Date: Sep 28 2020 10:34:40 +0000 Subject: Pre-populate IP addresses for the name server upgrades Setting up resolv.conf in BIND instance expects IP addresses of the server to be provided. This is done wiht BindInstance.setup() method call. However, when reusing resolver setup during upgrade BIND instance has no IP addresses configured and fails with an assert in tasks.configure_dns_resolver(). Pass through the server's IP addresses during upgrade. Fixes: https://pagure.io/freeipa/issue/8518 Signed-off-by: Alexander Bokovoy Reviewed-By: Christian Heimes --- diff --git a/ipaserver/install/server/upgrade.py b/ipaserver/install/server/upgrade.py index 70279cf..cb19c04 100644 --- a/ipaserver/install/server/upgrade.py +++ b/ipaserver/install/server/upgrade.py @@ -1402,6 +1402,9 @@ def upgrade_bind(fstore): # resolve1's stub resolver config file. has_resolved_ipa_conf = os.path.isfile(paths.SYSTEMD_RESOLVED_IPA_CONF) if not has_resolved_ipa_conf and detect_resolve1_resolv_conf(): + ip_addresses = installutils.get_server_ip_address( + api.env.host, True, False, []) + bind.ip_addresses = ip_addresses bind.setup_resolv_conf() logger.info("Updated systemd-resolved configuration")