7bbb43
From 6d868b2dd17ada072553c8d7440ee6fbd95a052a Mon Sep 17 00:00:00 2001
7bbb43
From: Fraser Tweedale <ftweedal@redhat.com>
7bbb43
Date: Mon, 16 Apr 2018 16:02:03 +1000
7bbb43
Subject: [PATCH] Fix upgrade (update_replica_config) in single master mode
7bbb43
7bbb43
Commit afc0d4b62d043cd568ce87400f60e8fa8273495f added an upgrade
7bbb43
step that add an attribute to a replica config entry.  The entry
7bbb43
only exists after a replica has been added, so upgrade was broken
7bbb43
for standalone server.  Catch and suppress the NotFound error.
7bbb43
7bbb43
Related to: https://pagure.io/freeipa/issue/7488
7bbb43
7bbb43
Reviewed-By: Christian Heimes <cheimes@redhat.com>
7bbb43
Reviewed-By: Fraser Tweedale <ftweedal@redhat.com>
7bbb43
Reviewed-By: Florence Blanc-Renaud <frenaud@redhat.com>
7bbb43
---
7bbb43
 ipaserver/install/server/upgrade.py | 6 +++++-
7bbb43
 1 file changed, 5 insertions(+), 1 deletion(-)
7bbb43
7bbb43
diff --git a/ipaserver/install/server/upgrade.py b/ipaserver/install/server/upgrade.py
7bbb43
index 62a75510ad331923f468c28908ea407789ec380c..c55242a4af990c3218d8451fac7b082066a23be3 100644
7bbb43
--- a/ipaserver/install/server/upgrade.py
7bbb43
+++ b/ipaserver/install/server/upgrade.py
7bbb43
@@ -1570,7 +1570,11 @@ def update_replica_config(db_suffix):
7bbb43
         ('cn', 'replica'), ('cn', db_suffix), ('cn', 'mapping tree'),
7bbb43
         ('cn', 'config')
7bbb43
     )
7bbb43
-    entry = api.Backend.ldap2.get_entry(dn)
7bbb43
+    try:
7bbb43
+        entry = api.Backend.ldap2.get_entry(dn)
7bbb43
+    except ipalib.errors.NotFound:
7bbb43
+        return  # entry does not exist until a replica is installed
7bbb43
+
7bbb43
     if 'nsds5replicareleasetimeout' not in entry:
7bbb43
         # See https://pagure.io/freeipa/issue/7488
7bbb43
         root_logger.info("Adding nsds5replicaReleaseTimeout=60 to %s", dn)
7bbb43
-- 
7bbb43
2.14.3
7bbb43