diff --git a/heat/db/sqlalchemy/api.py b/heat/db/sqlalchemy/api.py index 31e6a5c786..7ca61a7564 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