summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--heat/db/sqlalchemy/api.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/heat/db/sqlalchemy/api.py b/heat/db/sqlalchemy/api.py
index 31e6a5c78..7ca61a756 100644
--- a/heat/db/sqlalchemy/api.py
+++ b/heat/db/sqlalchemy/api.py
@@ -387,9 +387,14 @@ def resource_data_get_all(context, resource_id, data=None):
for res in data:
if res.redact:
- ret[res.key] = crypt.decrypt(res.decrypt_method, res.value)
- else:
- ret[res.key] = res.value
+ try:
+ ret[res.key] = crypt.decrypt(res.decrypt_method, res.value)
+ continue
+ except exception.InvalidEncryptionKey:
+ LOG.exception('Failed to decrypt resource data %(rkey)s '
+ 'for %(rid)s, ignoring.',
+ {'rkey': res.key, 'rid': resource_id})
+ ret[res.key] = res.value
return ret