better handling of destination plugin errors, and also checking cert expiration before upload

This commit is contained in:
Hossein Shafagh 2020-03-21 20:05:35 -07:00
parent eb48e2fe75
commit 697215f8bc
2 changed files with 14 additions and 8 deletions

View File

@ -445,6 +445,9 @@ def update_destinations(target, value, initiator):
""" """
destination_plugin = plugins.get(value.plugin_name) destination_plugin = plugins.get(value.plugin_name)
status = FAILURE_METRIC_STATUS status = FAILURE_METRIC_STATUS
if target.expired:
return
try: try:
if target.private_key or not destination_plugin.requires_key: if target.private_key or not destination_plugin.requires_key:
destination_plugin.upload( destination_plugin.upload(

View File

@ -325,14 +325,17 @@ class AWSDestinationPlugin(DestinationPlugin):
] ]
def upload(self, name, body, private_key, cert_chain, options, **kwargs): def upload(self, name, body, private_key, cert_chain, options, **kwargs):
iam.upload_cert( try:
name, iam.upload_cert(
body, name,
private_key, body,
self.get_option("path", options), private_key,
cert_chain=cert_chain, self.get_option("path", options),
account_number=self.get_option("accountNumber", options), cert_chain=cert_chain,
) account_number=self.get_option("accountNumber", options),
)
except ClientError:
sentry.captureException()
def deploy(self, elb_name, account, region, certificate): def deploy(self, elb_name, account, region, certificate):
pass pass