Remove equivalent destinations when cleaning certificates

Remove equivalent destinations when cleaning certificates. This will prevent Lemur from attempting to re-upload a certificate after it has been cleaned.
This commit is contained in:
Curtis 2020-04-01 10:31:12 -07:00 committed by GitHub
parent 0c02ddec3c
commit 67d24caef5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 7 additions and 0 deletions

View File

@ -58,6 +58,13 @@ def execute_clean(plugin, certificate, source):
try: try:
plugin.clean(certificate, source.options) plugin.clean(certificate, source.options)
certificate.sources.remove(source) certificate.sources.remove(source)
# If we want to remove the source from the certificate, we also need to clear any equivalent destinations to
# prevent Lemur from re-uploading the certificate.
for destination in certificate.destinations:
if destination.label == source.label:
certificate.destinations.remove(destination)
certificate_service.database.update(certificate) certificate_service.database.update(certificate)
return SUCCESS_METRIC_STATUS return SUCCESS_METRIC_STATUS
except Exception as e: except Exception as e: