renewal: use early return for empty lineage server (#10392)

This allows outdenting most of the logic for _ari_renewal_time.

Split from #10377.
This commit is contained in:
Jacob Hoffman-Andrews 2025-08-05 08:16:54 -07:00 committed by GitHub
parent 3d8be0c3b2
commit e9cf7e8a9b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -337,29 +337,29 @@ def _ari_renewal_time(config: configuration.NamespaceConfig,
# conf, i.e. `lineage.server`
#
# Fixes https://github.com/certbot/certbot/issues/10339
if lineage.server:
try:
# Creating a new ACME client makes a network request, so check if we have
# one cached for this cert's server already
if lineage.server not in acme_clients:
acme_clients[lineage.server] = \
client.create_acme_client(config, server_override=lineage.server)
acme = acme_clients.get(lineage.server, None)
# Attempt to get the ARI-defined renewal time
if acme:
return acme.renewal_time(cert_pem)[0]
except Exception: # pylint: disable=broad-except
# We want to stop errors around ARI preventing renewal so we catch all exceptions here
# with a warning asking users to tell us about any problems they are experiencing
logger.warning("An error occurred requesting ACME Renewal Information (ARI). If this "
"problem persists and you think it's a bug in Certbot, please open an "
"issue at https://github.com/certbot/certbot/issues/new/choose.")
logger.debug("Error while requesting ARI was:", exc_info=True)
else:
if not lineage.server:
renewal_conf_file = storage.renewal_filename_for_lineagename(config, lineage.lineagename)
logger.warning("Skipping ARI check because %s has no 'server' field. This issue will not "
"prevent certificate renewal", renewal_conf_file)
return None
try:
# Creating a new ACME client makes a network request, so check if we have
# one cached for this cert's server already
if lineage.server not in acme_clients:
acme_clients[lineage.server] = \
client.create_acme_client(config, server_override=lineage.server)
acme = acme_clients.get(lineage.server, None)
# Attempt to get the ARI-defined renewal time
if acme:
return acme.renewal_time(cert_pem)[0]
except Exception: # pylint: disable=broad-except
# We want to stop errors around ARI preventing renewal so we catch all exceptions here
# with a warning asking users to tell us about any problems they are experiencing
logger.warning("An error occurred requesting ACME Renewal Information (ARI). If this "
"problem persists and you think it's a bug in Certbot, please open an "
"issue at https://github.com/certbot/certbot/issues/new/choose.")
logger.debug("Error while requesting ARI was:", exc_info=True)
return None