bugfix: delete certificates on service deletion

Previously the flow would fail because of a failed
get query attempting to retrieve an already deleted service.
Fixes the kwargs sent to the certificate delete flow when
deleting a service.

Change-Id: Ic548762d6dfecbfab66158a6efb6631e6bc411dd
This commit is contained in:
Isaac Mungai 2016-07-28 16:38:04 -04:00
parent 9d6bfd188e
commit 99bda8f059
3 changed files with 12 additions and 8 deletions

View File

@ -42,12 +42,12 @@ def delete_service():
delete_service_tasks.DeleteServiceDNSMappingTask()),
delete_service_tasks.GatherProviderDetailsTask(
rebind=['responders', 'dns_responder']),
linear_flow.Flow('Delete san certificates for service').add(
delete_service_tasks.DeleteCertificatesForServiceSanDomains()
),
linear_flow.Flow('Delete service storage operation').add(
common.UpdateProviderDetailIfNotEmptyTask(
rebind=['provider_details_dict']),
delete_service_tasks.DeleteStorageServiceTask()),
linear_flow.Flow('Delete san certificates for service').add(
delete_service_tasks.DeleteCertificatesForServiceSanDomains()
)
delete_service_tasks.DeleteStorageServiceTask())
)
return flow

View File

@ -237,7 +237,7 @@ class DeleteCertificatesForServiceSanDomains(task.Task):
for domain in service_obj.domains:
if domain.protocol == 'https' and domain.certificate == 'san':
kwargs["domain"] = domain.domain
kwargs["domain_name"] = domain.domain
LOG.info(
"Delete service submit task san_cert deletion {0}".format(
domain.domain

View File

@ -375,9 +375,9 @@ class DeleteCertsForRemovedDomains(task.Task):
removed_domains = old_domains.difference(new_domains)
LOG.info("Old domains: {0}".format(old_domains))
LOG.info("New domains: {0}".format(new_domains))
LOG.info("Deleted domains: {0}".format(removed_domains))
LOG.info("update_service Old domains: {0}".format(old_domains))
LOG.info("update_service New domains: {0}".format(new_domains))
LOG.info("update_service Deleted domains: {0}".format(removed_domains))
kwargs = {
'project_id': project_id,
@ -387,6 +387,10 @@ class DeleteCertsForRemovedDomains(task.Task):
for domain in removed_domains:
kwargs['domain_name'] = domain
LOG.info(
"update_service removing certificate "
"for deleted domain {0}".format(domain)
)
service_controller.distributed_task_controller.submit_task(
delete_ssl_certificate.delete_ssl_certificate,
**kwargs