URL: https://github.com/freeipa/freeipa/pull/3693 Author: rcritten Title: #3693: Report if a certmonger CA is missing Action: opened
PR body: """ If a certmonger CA is not defined but is referenced within a request (so was removed sometime after a request was created) then anything that pulls all certmonger requests would fail with the cryptic error: "Failed to get request: bus, object_path and dbus_interface must not be None." This was often seen during upgrades. Catch this specific condition and report a more specific error so the user will have some bread crumb to know how to address the issue. https://pagure.io/freeipa/issue/7870 Signed-off-by: Rob Crittenden <[email protected]> """ To pull the PR as Git branch: git remote add ghfreeipa https://github.com/freeipa/freeipa git fetch ghfreeipa pull/3693/head:pr3693 git checkout pr3693
From 27ea12164678e5ad1f72d1b122d41514c4ecd330 Mon Sep 17 00:00:00 2001 From: Rob Crittenden <[email protected]> Date: Thu, 19 Sep 2019 17:13:31 -0400 Subject: [PATCH] Report if a certmonger CA is missing If a certmonger CA is not defined but is referenced within a request (so was removed sometime after a request was created) then anything that pulls all certmonger requests would fail with the cryptic error: "Failed to get request: bus, object_path and dbus_interface must not be None." This was often seen during upgrades. Catch this specific condition and report a more specific error so the user will have some bread crumb to know how to address the issue. https://pagure.io/freeipa/issue/7870 Signed-off-by: Rob Crittenden <[email protected]> --- ipalib/install/certmonger.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ipalib/install/certmonger.py b/ipalib/install/certmonger.py index 4311e9317c..425234c720 100644 --- a/ipalib/install/certmonger.py +++ b/ipalib/install/certmonger.py @@ -179,6 +179,9 @@ def _get_requests(criteria=dict()): for criterion in criteria: if criterion == 'ca-name': ca_path = request.obj_if.get_ca() + if ca_path is None: + raise RuntimeError("certmonger CA '%s' is not defined" % + criteria.get('ca-name')) ca = _cm_dbus_object(cm.bus, cm, ca_path, DBUS_CM_CA_IF, DBUS_CM_IF) value = ca.obj_if.get_nickname()
_______________________________________________ FreeIPA-devel mailing list -- [email protected] To unsubscribe send an email to [email protected] Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedorahosted.org/archives/list/[email protected]
