From dd627d45626fffb0917bc8b07b4a43f0cd2fa134 Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy Date: Sat, 26 Sep 2020 16:40:55 +0300 Subject: [PATCH] Support upgrade F32 to F33 with systemd-resolved --- freeipa-4.8.10-systemd-resolved.patch | 37 +++++++++++++++++++++++++++ freeipa.spec | 6 ++++- 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 freeipa-4.8.10-systemd-resolved.patch diff --git a/freeipa-4.8.10-systemd-resolved.patch b/freeipa-4.8.10-systemd-resolved.patch new file mode 100644 index 0000000..5147654 --- /dev/null +++ b/freeipa-4.8.10-systemd-resolved.patch @@ -0,0 +1,37 @@ +From f9900ef2401070351353724ef92111ec541e67f0 Mon Sep 17 00:00:00 2001 +From: Alexander Bokovoy +Date: Sat, 26 Sep 2020 16:30:58 +0300 +Subject: [PATCH] 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 +--- + ipaserver/install/server/upgrade.py | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/ipaserver/install/server/upgrade.py b/ipaserver/install/server/upgrade.py +index 332f8b251..144b340a4 100644 +--- a/ipaserver/install/server/upgrade.py ++++ b/ipaserver/install/server/upgrade.py +@@ -1451,6 +1451,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") + +-- +2.28.0 + diff --git a/freeipa.spec b/freeipa.spec index 1687730..de4f415 100644 --- a/freeipa.spec +++ b/freeipa.spec @@ -161,13 +161,14 @@ Name: %{package_name} Version: %{IPA_VERSION} -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Identity, Policy and Audit system License: GPLv3+ URL: http://www.freeipa.org/ Source0: https://releases.pagure.org/freeipa/freeipa-%{version}.tar.gz Source1: https://releases.pagure.org/freeipa/freeipa-%{version}.tar.gz.asc +Patch0: freeipa-4.8.10-systemd-resolved.patch # For the timestamp trick in patch application BuildRequires: diffstat @@ -1528,6 +1529,9 @@ fi %endif %changelog +* Sat Sep 26 2020 Alexander Bokovoy - 4.8.10-2 +- Support upgrade F32 -> F33 with systemd-resolved + * Sat Sep 26 2020 Alexander Bokovoy - 4.8.10-1 - Upstream release FreeIPA 4.8.10