)]}'
{"oslo_messaging/notify/notifier.py":[{"author":{"_account_id":20523,"name":"Andy Smith","email":"ansmith@redhat.com","username":"ajssmith"},"change_message_id":"083b40cf47dd05291dc42c60976873cd101b35b2","unresolved":false,"context_lines":[{"line_number":248,"context_line":""},{"line_number":249,"context_line":"        self.transport \u003d transport"},{"line_number":250,"context_line":"        if transport.transport_type !\u003d \u0027notification\u0027:"},{"line_number":251,"context_line":"            debtcollector.deprecate("},{"line_number":252,"context_line":"                \u0027Using RPC transport for notifications. Use \u0027"},{"line_number":253,"context_line":"                \u0027get_notification_transport to obtain a notification \u0027"},{"line_number":254,"context_line":"                \u0027transport instance\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f287b81_093c1ec6","line":251,"updated":"2017-09-07 18:40:14.000000000","message":"The type check failure should generate a log warning message \nrather than deprecation message. When a single backend is deployed, the misuse of transports will not have an operational impact but when separate backends are deployed, misuse will result in incorrect operation. \n\nThe deprecation reduces the likelihood of transport misuse but it can still happen, hence the warning message.","commit_id":"882dded957c2901f9509ac5c035db821c45262ef"},{"author":{"_account_id":8770,"name":"Ken Giusti","email":"kgiusti@gmail.com","username":"kgiusti"},"change_message_id":"c7ce313524575461198c0cebfb8d4cadf3bbaa17","unresolved":false,"context_lines":[{"line_number":252,"context_line":"                \u0027Using RPC transport for notifications. Use \u0027"},{"line_number":253,"context_line":"                \u0027get_notification_transport to obtain a notification \u0027"},{"line_number":254,"context_line":"                \u0027transport instance\u0027,"},{"line_number":255,"context_line":"                version\u003d\u0027pike\u0027, removal_version\u003d\u0027rocky\u0027)"},{"line_number":256,"context_line":"        self.publisher_id \u003d publisher_id"},{"line_number":257,"context_line":"        if retry is not None:"},{"line_number":258,"context_line":"            self.retry \u003d retry"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f287b81_bc066d85","line":255,"updated":"2017-09-07 18:02:13.000000000","message":"actually, the ability to interchange them is being deprecated in Queens, not Pike.  So the removal_version will be \"S\" (until S is given an actual name later).","commit_id":"882dded957c2901f9509ac5c035db821c45262ef"}],"oslo_messaging/rpc/client.py":[{"author":{"_account_id":20523,"name":"Andy Smith","email":"ansmith@redhat.com","username":"ajssmith"},"change_message_id":"083b40cf47dd05291dc42c60976873cd101b35b2","unresolved":false,"context_lines":[{"line_number":337,"context_line":"        )"},{"line_number":338,"context_line":""},{"line_number":339,"context_line":"        if transport.transport_type !\u003d \u0027rpc\u0027:"},{"line_number":340,"context_line":"            debtcollector.deprecate("},{"line_number":341,"context_line":"                \u0027Using notification transport for RPC. Use \u0027"},{"line_number":342,"context_line":"                \u0027get_rpc_transport to obtain an RPC transport instance\u0027,"},{"line_number":343,"context_line":"                version\u003d\u0027pike\u0027, removal_version\u003d\u0027rocky\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f287b81_69528215","line":340,"updated":"2017-09-07 18:40:14.000000000","message":"ditto log warning","commit_id":"882dded957c2901f9509ac5c035db821c45262ef"},{"author":{"_account_id":8770,"name":"Ken Giusti","email":"kgiusti@gmail.com","username":"kgiusti"},"change_message_id":"c7ce313524575461198c0cebfb8d4cadf3bbaa17","unresolved":false,"context_lines":[{"line_number":340,"context_line":"            debtcollector.deprecate("},{"line_number":341,"context_line":"                \u0027Using notification transport for RPC. Use \u0027"},{"line_number":342,"context_line":"                \u0027get_rpc_transport to obtain an RPC transport instance\u0027,"},{"line_number":343,"context_line":"                version\u003d\u0027pike\u0027, removal_version\u003d\u0027rocky\u0027)"},{"line_number":344,"context_line":""},{"line_number":345,"context_line":"        self.conf.register_opts(_client_opts)"},{"line_number":346,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7f287b81_1cf7c18d","line":343,"updated":"2017-09-07 18:02:13.000000000","message":"Pike--\u003eQueens,  rocky--\u003eS","commit_id":"882dded957c2901f9509ac5c035db821c45262ef"}],"oslo_messaging/rpc/server.py":[{"author":{"_account_id":20523,"name":"Andy Smith","email":"ansmith@redhat.com","username":"ajssmith"},"change_message_id":"083b40cf47dd05291dc42c60976873cd101b35b2","unresolved":false,"context_lines":[{"line_number":211,"context_line":"           Defaults to LegacyRPCAccessPolicy"},{"line_number":212,"context_line":"    :type access_policy: RPCAccessPolicyBase"},{"line_number":213,"context_line":"    \"\"\""},{"line_number":214,"context_line":"    if transport.transport_type !\u003d \u0027rpc\u0027:"},{"line_number":215,"context_line":"        debtcollector.deprecate("},{"line_number":216,"context_line":"            \u0027Using notification transport for RPC. Use \u0027"},{"line_number":217,"context_line":"            \u0027get_rpc_transport to obtain an RPC transport instance\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f287b81_e93d52bb","line":214,"updated":"2017-09-07 18:40:14.000000000","message":"ditto log warning","commit_id":"882dded957c2901f9509ac5c035db821c45262ef"},{"author":{"_account_id":8770,"name":"Ken Giusti","email":"kgiusti@gmail.com","username":"kgiusti"},"change_message_id":"c7ce313524575461198c0cebfb8d4cadf3bbaa17","unresolved":false,"context_lines":[{"line_number":215,"context_line":"        debtcollector.deprecate("},{"line_number":216,"context_line":"            \u0027Using notification transport for RPC. Use \u0027"},{"line_number":217,"context_line":"            \u0027get_rpc_transport to obtain an RPC transport instance\u0027,"},{"line_number":218,"context_line":"            version\u003d\u0027pike\u0027, removal_version\u003d\u0027rocky\u0027)"},{"line_number":219,"context_line":"    dispatcher \u003d rpc_dispatcher.RPCDispatcher(endpoints, serializer,"},{"line_number":220,"context_line":"                                              access_policy)"},{"line_number":221,"context_line":"    return RPCServer(transport, target, dispatcher, executor)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f287b81_7c312559","line":218,"updated":"2017-09-07 18:02:13.000000000","message":"Pike --\u003e Queens,  rocky --\u003e S","commit_id":"882dded957c2901f9509ac5c035db821c45262ef"}],"oslo_messaging/tests/notify/test_listener.py":[{"author":{"_account_id":20523,"name":"Andy Smith","email":"ansmith@redhat.com","username":"ajssmith"},"change_message_id":"2c2961daa90b2ab2db9585f8eef248d10edb51b1","unresolved":false,"context_lines":[{"line_number":183,"context_line":"            self.assertTrue(False)"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"    def test_batch_timeout(self):"},{"line_number":186,"context_line":"        transport \u003d oslo_messaging.get_transport(self.conf, url\u003d\u0027fake:\u0027)"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"        endpoint \u003d mock.Mock()"},{"line_number":189,"context_line":"        endpoint.info.return_value \u003d None"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f2577a7_a4c02652","line":186,"updated":"2017-09-09 18:37:10.000000000","message":"change to get_notification_transport","commit_id":"fc6f7bdbf405f3afd0e3cbf236cfd9b41e96cb8f"},{"author":{"_account_id":14758,"name":"Rajath Agasthya","email":"rajagast@cisco.com","username":"rajathagasthya"},"change_message_id":"4876069dfd68624e1d8131930fc4e49f12965360","unresolved":false,"context_lines":[{"line_number":183,"context_line":"            self.assertTrue(False)"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"    def test_batch_timeout(self):"},{"line_number":186,"context_line":"        transport \u003d oslo_messaging.get_transport(self.conf, url\u003d\u0027fake:\u0027)"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"        endpoint \u003d mock.Mock()"},{"line_number":189,"context_line":"        endpoint.info.return_value \u003d None"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f2577a7_8aed3127","line":186,"in_reply_to":"5f2577a7_a4c02652","updated":"2017-09-10 00:55:13.000000000","message":"Done","commit_id":"fc6f7bdbf405f3afd0e3cbf236cfd9b41e96cb8f"},{"author":{"_account_id":20523,"name":"Andy Smith","email":"ansmith@redhat.com","username":"ajssmith"},"change_message_id":"2c2961daa90b2ab2db9585f8eef248d10edb51b1","unresolved":false,"context_lines":[{"line_number":209,"context_line":"                                        mock.call(messages * 2)])"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"    def test_batch_size(self):"},{"line_number":212,"context_line":"        transport \u003d oslo_messaging.get_transport(self.conf, url\u003d\u0027fake:\u0027)"},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"        endpoint \u003d mock.Mock()"},{"line_number":215,"context_line":"        endpoint.info.return_value \u003d None"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f2577a7_44cf427f","line":212,"updated":"2017-09-09 18:37:10.000000000","message":"change to get_notification_transport","commit_id":"fc6f7bdbf405f3afd0e3cbf236cfd9b41e96cb8f"},{"author":{"_account_id":14758,"name":"Rajath Agasthya","email":"rajagast@cisco.com","username":"rajathagasthya"},"change_message_id":"4876069dfd68624e1d8131930fc4e49f12965360","unresolved":false,"context_lines":[{"line_number":209,"context_line":"                                        mock.call(messages * 2)])"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"    def test_batch_size(self):"},{"line_number":212,"context_line":"        transport \u003d oslo_messaging.get_transport(self.conf, url\u003d\u0027fake:\u0027)"},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"        endpoint \u003d mock.Mock()"},{"line_number":215,"context_line":"        endpoint.info.return_value \u003d None"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f2577a7_6af20509","line":212,"in_reply_to":"5f2577a7_44cf427f","updated":"2017-09-10 00:55:13.000000000","message":"Done","commit_id":"fc6f7bdbf405f3afd0e3cbf236cfd9b41e96cb8f"},{"author":{"_account_id":20523,"name":"Andy Smith","email":"ansmith@redhat.com","username":"ajssmith"},"change_message_id":"2c2961daa90b2ab2db9585f8eef248d10edb51b1","unresolved":false,"context_lines":[{"line_number":234,"context_line":"                                        mock.call(messages * 5)])"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"    def test_batch_size_exception_path(self):"},{"line_number":237,"context_line":"        transport \u003d oslo_messaging.get_transport(self.conf, url\u003d\u0027fake:\u0027)"},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"        endpoint \u003d mock.Mock()"},{"line_number":240,"context_line":"        endpoint.info.side_effect \u003d [None, Exception(\u0027boom!\u0027)]"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f2577a7_04c93a77","line":237,"updated":"2017-09-09 18:37:10.000000000","message":"change to get_notification_transport","commit_id":"fc6f7bdbf405f3afd0e3cbf236cfd9b41e96cb8f"},{"author":{"_account_id":14758,"name":"Rajath Agasthya","email":"rajagast@cisco.com","username":"rajathagasthya"},"change_message_id":"4876069dfd68624e1d8131930fc4e49f12965360","unresolved":false,"context_lines":[{"line_number":234,"context_line":"                                        mock.call(messages * 5)])"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"    def test_batch_size_exception_path(self):"},{"line_number":237,"context_line":"        transport \u003d oslo_messaging.get_transport(self.conf, url\u003d\u0027fake:\u0027)"},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"        endpoint \u003d mock.Mock()"},{"line_number":240,"context_line":"        endpoint.info.side_effect \u003d [None, Exception(\u0027boom!\u0027)]"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f2577a7_4af749f7","line":237,"in_reply_to":"5f2577a7_04c93a77","updated":"2017-09-10 00:55:13.000000000","message":"Done","commit_id":"fc6f7bdbf405f3afd0e3cbf236cfd9b41e96cb8f"},{"author":{"_account_id":14758,"name":"Rajath Agasthya","email":"rajagast@cisco.com","username":"rajathagasthya"},"change_message_id":"2a2ef172fb1403bf41ad3dc1c90e69e2067cf038","unresolved":false,"context_lines":[{"line_number":218,"context_line":"                                               batch\u003d(5, None))"},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"        notifier \u003d self._setup_notifier(transport)"},{"line_number":221,"context_line":"        for _ in range(10):"},{"line_number":222,"context_line":"            notifier.info({}, \u0027an_event.start\u0027, \u0027test message\u0027)"},{"line_number":223,"context_line":""},{"line_number":224,"context_line":"        self.wait_for_messages(2)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f2577a7_e5b17ae3","line":221,"updated":"2017-09-11 14:11:21.000000000","message":"Sorry for the unrelated change. I didn\u0027t think six.moves.range was required for a such a small range.","commit_id":"03b6f18f80b11e7067b94759c5da6a75f839bed7"}],"oslo_messaging/tests/notify/test_notifier.py":[{"author":{"_account_id":20523,"name":"Andy Smith","email":"ansmith@redhat.com","username":"ajssmith"},"change_message_id":"2c2961daa90b2ab2db9585f8eef248d10edb51b1","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        return self.message \u003d\u003d jsonutils.loads(other)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"class _FakeTransport(object):"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    def __init__(self, conf):"},{"line_number":53,"context_line":"        self.conf \u003d conf"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f2577a7_64afde94","line":50,"updated":"2017-09-09 18:37:10.000000000","message":"notifier tests treating as RPC transport, need to update...","commit_id":"fc6f7bdbf405f3afd0e3cbf236cfd9b41e96cb8f"},{"author":{"_account_id":14758,"name":"Rajath Agasthya","email":"rajagast@cisco.com","username":"rajathagasthya"},"change_message_id":"4876069dfd68624e1d8131930fc4e49f12965360","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        return self.message \u003d\u003d jsonutils.loads(other)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"class _FakeTransport(object):"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    def __init__(self, conf):"},{"line_number":53,"context_line":"        self.conf \u003d conf"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f2577a7_aae8ed15","line":50,"in_reply_to":"5f2577a7_64afde94","updated":"2017-09-10 00:55:13.000000000","message":"Sorry, not sure what this means. Do you mean I should remove this class and use get_notification_transport everywhere?","commit_id":"fc6f7bdbf405f3afd0e3cbf236cfd9b41e96cb8f"},{"author":{"_account_id":8770,"name":"Ken Giusti","email":"kgiusti@gmail.com","username":"kgiusti"},"change_message_id":"e98f4e5bd669175316237d09a5edf50fae45cbce","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        return self.message \u003d\u003d jsonutils.loads(other)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"class _FakeTransport(object):"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    def __init__(self, conf):"},{"line_number":53,"context_line":"        self.conf \u003d conf"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f2577a7_dad09dcc","line":50,"in_reply_to":"5f2577a7_aae8ed15","updated":"2017-09-11 13:17:44.000000000","message":"I think simply making _FakeTransport derive from NotificationTransport should do it.","commit_id":"fc6f7bdbf405f3afd0e3cbf236cfd9b41e96cb8f"}],"oslo_messaging/transport.py":[{"author":{"_account_id":20523,"name":"Andy Smith","email":"ansmith@redhat.com","username":"ajssmith"},"change_message_id":"083b40cf47dd05291dc42c60976873cd101b35b2","unresolved":false,"context_lines":[{"line_number":106,"context_line":"    instance used to construct the transport object."},{"line_number":107,"context_line":"    \"\"\""},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    def __init__(self, driver, transport_type\u003dNone):"},{"line_number":110,"context_line":"        self.conf \u003d driver.conf"},{"line_number":111,"context_line":"        self._driver \u003d driver"},{"line_number":112,"context_line":"        self.transport_type \u003d transport_type"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f287b81_d7a4724d","line":109,"updated":"2017-09-07 18:40:14.000000000","message":"Rather than treat type as a transport attribute, introducing RPCTransport and NotifyTransport subclasses may be the better way to go. Then when a transport is passed, isinstance check will detect misuse. \n\nDown the road, having subclasses may help with other functional differences between RPC and Notify transports such as driver features, etc.","commit_id":"882dded957c2901f9509ac5c035db821c45262ef"},{"author":{"_account_id":8770,"name":"Ken Giusti","email":"kgiusti@gmail.com","username":"kgiusti"},"change_message_id":"c7ce313524575461198c0cebfb8d4cadf3bbaa17","unresolved":false,"context_lines":[{"line_number":109,"context_line":"    def __init__(self, driver, transport_type\u003dNone):"},{"line_number":110,"context_line":"        self.conf \u003d driver.conf"},{"line_number":111,"context_line":"        self._driver \u003d driver"},{"line_number":112,"context_line":"        self.transport_type \u003d transport_type"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    def _require_driver_features(self, requeue\u003dFalse):"},{"line_number":115,"context_line":"        self._driver.require_features(requeue\u003drequeue)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f287b81_fcf9954d","line":112,"updated":"2017-09-07 18:02:13.000000000","message":"Unfortunately for some reason the Transport class is exported by oslo.messaging (who knows why).  Probably a good idea to make transport_type a private attribute (e.g. \"_transport_type\") like pretty much all the other attributes.","commit_id":"882dded957c2901f9509ac5c035db821c45262ef"}]}
