diff --git a/nova/exception.py b/nova/exception.py index 40b82bf58345..848b0f0938e0 100644 --- a/nova/exception.py +++ b/nova/exception.py @@ -97,6 +97,10 @@ def wrap_exception(notifier=None, get_notifier=None): # self can't be serialized and shouldn't be in the # payload call_dict.pop('self', None) + # NOTE(gibi) remove context as well as it contains + # sensitive information and it can also contain + # circular references + call_dict.pop('context', None) cleansed = _cleanse_dict(call_dict) payload.update({'args': cleansed}) diff --git a/nova/tests/unit/test_exception.py b/nova/tests/unit/test_exception.py index 6a3b2b70a09a..17f61efd8e44 100644 --- a/nova/tests/unit/test_exception.py +++ b/nova/tests/unit/test_exception.py @@ -62,6 +62,7 @@ class WrapExceptionTestCase(test.NoDBTestCase): self.assertEqual(3, notifier.provided_payload['args']['extra']) for key in ['exception', 'args']: self.assertIn(key, notifier.provided_payload.keys()) + self.assertNotIn('context', notifier.provided_payload['args'].keys()) class NovaExceptionTestCase(test.NoDBTestCase):