diff --git a/cinder/context.py b/cinder/context.py index b8793ce9d10..8f658afdce4 100644 --- a/cinder/context.py +++ b/cinder/context.py @@ -53,8 +53,7 @@ class RequestContext(context.RequestContext): roles=None, project_name=None, remote_address=None, timestamp=None, request_id=None, auth_token=None, overwrite=True, quota_class=None, service_catalog=None, - domain=None, user_domain=None, project_domain=None, - **kwargs): + domain=None, user_domain=None, project_domain=None): """Initialize RequestContext. :param read_deleted: 'no' indicates deleted records are hidden, 'yes' @@ -63,9 +62,6 @@ class RequestContext(context.RequestContext): :param overwrite: Set to False to ensure that the greenthread local copy of the index is not overwritten. - - :param kwargs: Extra arguments that might be present, but we ignore - because they possibly came in from older rpc messages. """ super(RequestContext, self).__init__(auth_token=auth_token, @@ -137,7 +133,21 @@ class RequestContext(context.RequestContext): @classmethod def from_dict(cls, values): - return cls(**values) + return cls(user_id=values.get('user_id'), + project_id=values.get('project_id'), + project_name=values.get('project_name'), + domain=values.get('domain'), + read_deleted=values.get('read_deleted'), + remote_address=values.get('remote_address'), + timestamp=values.get('timestamp'), + quota_class=values.get('quota_class'), + service_catalog=values.get('service_catalog'), + request_id=values.get('request_id'), + is_admin=values.get('is_admin'), + roles=values.get('roles'), + auth_token=values.get('auth_token'), + user_domain=values.get('user_domain'), + project_domain=values.get('project_domain')) def elevated(self, read_deleted=None, overwrite=False): """Return a version of this context with admin flag set.""" diff --git a/cinder/tests/unit/api/contrib/test_volume_transfer.py b/cinder/tests/unit/api/contrib/test_volume_transfer.py index fac3a956b96..d9c98d185d5 100644 --- a/cinder/tests/unit/api/contrib/test_volume_transfer.py +++ b/cinder/tests/unit/api/contrib/test_volume_transfer.py @@ -40,7 +40,7 @@ class VolumeTransferAPITestCase(test.TestCase): self.volume_transfer_api = cinder.transfer.API() self.controller = volume_transfer.VolumeTransferController() self.user_ctxt = context.RequestContext( - fake.USER_ID, fake.PROJECT_ID, auth_token=True, admin=True) + fake.USER_ID, fake.PROJECT_ID, auth_token=True, is_admin=True) def _create_transfer(self, volume_id=fake.VOLUME_ID, display_name='test_transfer'): diff --git a/cinder/tests/unit/test_context.py b/cinder/tests/unit/test_context.py index 3cd7742d6f0..7508f23bfc9 100644 --- a/cinder/tests/unit/test_context.py +++ b/cinder/tests/unit/test_context.py @@ -58,7 +58,7 @@ class ContextTestCase(test.TestCase): def test_request_context_elevated(self): user_context = context.RequestContext( - 'fake_user', 'fake_project', admin=False) + 'fake_user', 'fake_project', is_admin=False) self.assertFalse(user_context.is_admin) admin_context = user_context.elevated() self.assertFalse(user_context.is_admin)