diff options
author | ramishra <ramishra@redhat.com> | 2021-03-16 12:19:26 +0530 |
---|---|---|
committer | Rabi Mishra <ramishra@redhat.com> | 2023-01-19 04:26:28 +0000 |
commit | 83a983678cdfde938e42db15c17fbc775cb88cac (patch) | |
tree | 1ef3670f1580f207965562d8176b2bcc105c3761 | |
parent | c3a8e3d64ebb37ab83b3cebb868cd68d4135f59d (diff) | |
download | heat-83a983678cdfde938e42db15c17fbc775cb88cac.tar.gz |
Ignore resource_data decryption errors
If the auth_encryption_key changes We can possibly
ignore these errors when deleting stacks.
Task: 42056
Change-Id: I326e415db194a5b9c67acd038d7d2d993293ecb3
(cherry picked from commit 9407b4897e77db24bf1948153afbb1479d5dad42)
(cherry picked from commit af617facc5d6a63f416c1a047c91a66008ee4364)
-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 |