diff options
Diffstat (limited to 'heat/db/sqlalchemy/api.py')
-rw-r--r-- | heat/db/sqlalchemy/api.py | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/heat/db/sqlalchemy/api.py b/heat/db/sqlalchemy/api.py index 619ca7cc2..185ce8300 100644 --- a/heat/db/sqlalchemy/api.py +++ b/heat/db/sqlalchemy/api.py @@ -385,9 +385,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 |