diff --git a/oslo_messaging/rpc/client.py b/oslo_messaging/rpc/client.py index 7beea841e..92886b17b 100644 --- a/oslo_messaging/rpc/client.py +++ b/oslo_messaging/rpc/client.py @@ -121,8 +121,7 @@ class _CallContext(object): """Check to see if a version is compatible with the version cap.""" version = self.target.version if version is self._marker else version return (not self.version_cap or - utils.version_is_compatible(self.version_cap, - self.target.version)) + utils.version_is_compatible(self.version_cap, version)) def cast(self, ctxt, method, **kwargs): """Invoke a method and return immediately. See RPCClient.cast().""" diff --git a/oslo_messaging/tests/rpc/test_client.py b/oslo_messaging/tests/rpc/test_client.py index ebb72324b..197a296c6 100644 --- a/oslo_messaging/tests/rpc/test_client.py +++ b/oslo_messaging/tests/rpc/test_client.py @@ -513,6 +513,9 @@ class TestCanSendVersion(test_utils.BaseTestCase): if self.can_send_version is not _notset: can_send = client.can_send_version(version=self.can_send_version) + call_context_can_send = client.prepare().can_send_version( + version=self.can_send_version) + self.assertEqual(can_send, call_context_can_send) else: can_send = client.can_send_version()