)]}'
{"neutron/api/rpc/agentnotifiers/dhcp_rpc_agent_api.py":[{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"06ba00d94f9c75cf2407c7dadc32b0c0bba30932","unresolved":false,"context_lines":[{"line_number":59,"context_line":"    def _notification(self, context, method, payload, network_id):"},{"line_number":60,"context_line":"        \"\"\"Notify all the agents that are hosting the network.\"\"\""},{"line_number":61,"context_line":"        plugin \u003d manager.NeutronManager.get_plugin()"},{"line_number":62,"context_line":"        if (method \u003d\u003d \u0027network_delete_end\u0027 or not"},{"line_number":63,"context_line":"            utils.is_extension_supported("},{"line_number":64,"context_line":"                plugin, constants.DHCP_AGENT_SCHEDULER_EXT_ALIAS)):"},{"line_number":65,"context_line":"            # with non-agentscheduler plugin, there is no way to query who is"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAVn%2F%2B670%3D","line":62,"updated":"2014-03-11 09:35:55.000000000","message":"is there a need to replace if clause expressions? The bad side of it is that it increases the diff and makes it harder to review.","commit_id":"8da5b44e1d830d5bec511762a8d8ed58fe5934e7"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"1986908fcee0ff40e5d4c7efc9451af63baad6ef","unresolved":false,"context_lines":[{"line_number":59,"context_line":"    def _notification(self, context, method, payload, network_id):"},{"line_number":60,"context_line":"        \"\"\"Notify all the agents that are hosting the network.\"\"\""},{"line_number":61,"context_line":"        plugin \u003d manager.NeutronManager.get_plugin()"},{"line_number":62,"context_line":"        if (method \u003d\u003d \u0027network_delete_end\u0027 or not"},{"line_number":63,"context_line":"            utils.is_extension_supported("},{"line_number":64,"context_line":"                plugin, constants.DHCP_AGENT_SCHEDULER_EXT_ALIAS)):"},{"line_number":65,"context_line":"            # with non-agentscheduler plugin, there is no way to query who is"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAVn%2F%2B5Pw%3D","line":62,"in_reply_to":"AAAAVn%2F%2B670%3D","updated":"2014-03-11 13:48:18.000000000","message":"Sure, I can flip it and see what\u0027s it like.","commit_id":"8da5b44e1d830d5bec511762a8d8ed58fe5934e7"},{"author":{"_account_id":2035,"name":"Maru Newby","email":"marun@redhat.com","username":"maru"},"change_message_id":"ee9dec37754da29daf30ee33c4aa984a8e7d12aa","unresolved":false,"context_lines":[{"line_number":62,"context_line":"                    context, \u0027network_create_end\u0027,"},{"line_number":63,"context_line":"                    {\u0027network\u0027: {\u0027id\u0027: network[\u0027id\u0027]}}, agent[\u0027host\u0027])"},{"line_number":64,"context_line":"        elif not existing_agents:"},{"line_number":65,"context_line":"            LOG.warn(_(\u0027Will not schedule network %s: no agents available; \u0027"},{"line_number":66,"context_line":"                       \u0027will retry during next port creation events.\u0027),"},{"line_number":67,"context_line":"                     network[\u0027id\u0027])"},{"line_number":68,"context_line":"        return new_agents + existing_agents"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAWH%2F%2FbxU%3D","line":65,"updated":"2014-03-17 22:45:00.000000000","message":"(Suggestion only) Will not -\u003e Unable to","commit_id":"94eff51433dc643681973fec2faaada0c7eb50f1"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"3e2c5a7c385df5721d320ff8e49d05564f9419ff","unresolved":false,"context_lines":[{"line_number":62,"context_line":"                    context, \u0027network_create_end\u0027,"},{"line_number":63,"context_line":"                    {\u0027network\u0027: {\u0027id\u0027: network[\u0027id\u0027]}}, agent[\u0027host\u0027])"},{"line_number":64,"context_line":"        elif not existing_agents:"},{"line_number":65,"context_line":"            LOG.warn(_(\u0027Will not schedule network %s: no agents available; \u0027"},{"line_number":66,"context_line":"                       \u0027will retry during next port creation events.\u0027),"},{"line_number":67,"context_line":"                     network[\u0027id\u0027])"},{"line_number":68,"context_line":"        return new_agents + existing_agents"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAWH%2F%2FbvY%3D","line":65,"in_reply_to":"AAAAWH%2F%2FbxU%3D","updated":"2014-03-17 22:56:00.000000000","message":"Done","commit_id":"94eff51433dc643681973fec2faaada0c7eb50f1"},{"author":{"_account_id":2035,"name":"Maru Newby","email":"marun@redhat.com","username":"maru"},"change_message_id":"ee9dec37754da29daf30ee33c4aa984a8e7d12aa","unresolved":false,"context_lines":[{"line_number":63,"context_line":"                    {\u0027network\u0027: {\u0027id\u0027: network[\u0027id\u0027]}}, agent[\u0027host\u0027])"},{"line_number":64,"context_line":"        elif not existing_agents:"},{"line_number":65,"context_line":"            LOG.warn(_(\u0027Will not schedule network %s: no agents available; \u0027"},{"line_number":66,"context_line":"                       \u0027will retry during next port creation events.\u0027),"},{"line_number":67,"context_line":"                     network[\u0027id\u0027])"},{"line_number":68,"context_line":"        return new_agents + existing_agents"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAWH%2F%2FbxM%3D","line":66,"updated":"2014-03-17 22:45:00.000000000","message":"(Suggestion only) during next -\u003e on subsequent","commit_id":"94eff51433dc643681973fec2faaada0c7eb50f1"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"3e2c5a7c385df5721d320ff8e49d05564f9419ff","unresolved":false,"context_lines":[{"line_number":63,"context_line":"                    {\u0027network\u0027: {\u0027id\u0027: network[\u0027id\u0027]}}, agent[\u0027host\u0027])"},{"line_number":64,"context_line":"        elif not existing_agents:"},{"line_number":65,"context_line":"            LOG.warn(_(\u0027Will not schedule network %s: no agents available; \u0027"},{"line_number":66,"context_line":"                       \u0027will retry during next port creation events.\u0027),"},{"line_number":67,"context_line":"                     network[\u0027id\u0027])"},{"line_number":68,"context_line":"        return new_agents + existing_agents"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAWH%2F%2FbvU%3D","line":66,"in_reply_to":"AAAAWH%2F%2FbxM%3D","updated":"2014-03-17 22:56:00.000000000","message":"Done","commit_id":"94eff51433dc643681973fec2faaada0c7eb50f1"},{"author":{"_account_id":2035,"name":"Maru Newby","email":"marun@redhat.com","username":"maru"},"change_message_id":"ee9dec37754da29daf30ee33c4aa984a8e7d12aa","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        if not enabled_agents:"},{"line_number":85,"context_line":"            num_ports \u003d self.plugin.get_ports_count("},{"line_number":86,"context_line":"                context, {\u0027network_id\u0027: [network_id]})"},{"line_number":87,"context_line":"            busy_network \u003d num_ports \u003e 0 and len(network[\u0027subnets\u0027]) \u003e\u003d 1"},{"line_number":88,"context_line":"            if busy_network:"},{"line_number":89,"context_line":"                LOG.error(_(\"Will not send event %(method)s for network \""},{"line_number":90,"context_line":"                            \"%(net_id)s: no agent available. Payload: \""}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAWH%2F%2Fby4%3D","line":87,"updated":"2014-03-17 22:45:00.000000000","message":"(Suggestion only) busy_network -\u003e notification_required","commit_id":"94eff51433dc643681973fec2faaada0c7eb50f1"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"3e2c5a7c385df5721d320ff8e49d05564f9419ff","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        if not enabled_agents:"},{"line_number":85,"context_line":"            num_ports \u003d self.plugin.get_ports_count("},{"line_number":86,"context_line":"                context, {\u0027network_id\u0027: [network_id]})"},{"line_number":87,"context_line":"            busy_network \u003d num_ports \u003e 0 and len(network[\u0027subnets\u0027]) \u003e\u003d 1"},{"line_number":88,"context_line":"            if busy_network:"},{"line_number":89,"context_line":"                LOG.error(_(\"Will not send event %(method)s for network \""},{"line_number":90,"context_line":"                            \"%(net_id)s: no agent available. Payload: \""}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAWH%2F%2FbvQ%3D","line":87,"in_reply_to":"AAAAWH%2F%2Fby4%3D","updated":"2014-03-17 22:56:00.000000000","message":"Done","commit_id":"94eff51433dc643681973fec2faaada0c7eb50f1"},{"author":{"_account_id":2035,"name":"Maru Newby","email":"marun@redhat.com","username":"maru"},"change_message_id":"ee9dec37754da29daf30ee33c4aa984a8e7d12aa","unresolved":false,"context_lines":[{"line_number":94,"context_line":"                             \u0027payload\u0027: payload})"},{"line_number":95,"context_line":"        return enabled_agents"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    def _notification(self, context, method, payload, network_id):"},{"line_number":98,"context_line":"        \"\"\"Notify all the agents that are hosting the network.\"\"\""},{"line_number":99,"context_line":"        # fanout is required as we do not know who\u0027s is \"listening\""},{"line_number":100,"context_line":"        no_agents \u003d not utils.is_extension_supported("}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAWH%2F%2Fb9k%3D","line":97,"updated":"2014-03-17 22:45:00.000000000","message":"(Suggestion only) notification -\u003e send_notification","commit_id":"94eff51433dc643681973fec2faaada0c7eb50f1"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"3e2c5a7c385df5721d320ff8e49d05564f9419ff","unresolved":false,"context_lines":[{"line_number":94,"context_line":"                             \u0027payload\u0027: payload})"},{"line_number":95,"context_line":"        return enabled_agents"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    def _notification(self, context, method, payload, network_id):"},{"line_number":98,"context_line":"        \"\"\"Notify all the agents that are hosting the network.\"\"\""},{"line_number":99,"context_line":"        # fanout is required as we do not know who\u0027s is \"listening\""},{"line_number":100,"context_line":"        no_agents \u003d not utils.is_extension_supported("}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAWH%2F%2FbvM%3D","line":97,"in_reply_to":"AAAAWH%2F%2Fb9k%3D","updated":"2014-03-17 22:56:00.000000000","message":"Done","commit_id":"94eff51433dc643681973fec2faaada0c7eb50f1"},{"author":{"_account_id":2035,"name":"Maru Newby","email":"marun@redhat.com","username":"maru"},"change_message_id":"ee9dec37754da29daf30ee33c4aa984a8e7d12aa","unresolved":false,"context_lines":[{"line_number":106,"context_line":"        cast_required \u003d method !\u003d \u0027network_create_end\u0027"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"        # schedule the network first, if needed"},{"line_number":109,"context_line":"        schedule_required \u003d method \u003d\u003d \u0027port_create_end\u0027"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"        if fanout_required:"},{"line_number":112,"context_line":"            self._notification_fanout(context, method, payload)"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAWH%2F%2Fb%2BM%3D","line":109,"updated":"2014-03-17 22:45:00.000000000","message":"(Suggestion only) Consider defining this as close as possible to where it is used - in this case before line 118.","commit_id":"94eff51433dc643681973fec2faaada0c7eb50f1"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"3e2c5a7c385df5721d320ff8e49d05564f9419ff","unresolved":false,"context_lines":[{"line_number":106,"context_line":"        cast_required \u003d method !\u003d \u0027network_create_end\u0027"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"        # schedule the network first, if needed"},{"line_number":109,"context_line":"        schedule_required \u003d method \u003d\u003d \u0027port_create_end\u0027"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"        if fanout_required:"},{"line_number":112,"context_line":"            self._notification_fanout(context, method, payload)"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAWH%2F%2FbvI%3D","line":109,"in_reply_to":"AAAAWH%2F%2Fb%2BM%3D","updated":"2014-03-17 22:56:00.000000000","message":"Done","commit_id":"94eff51433dc643681973fec2faaada0c7eb50f1"},{"author":{"_account_id":2035,"name":"Maru Newby","email":"marun@redhat.com","username":"maru"},"change_message_id":"ee9dec37754da29daf30ee33c4aa984a8e7d12aa","unresolved":false,"context_lines":[{"line_number":124,"context_line":"                self._notification_host("},{"line_number":125,"context_line":"                    context, method, payload, agent.host, agent.topic)"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    def _notification_host(self, context, method, payload, host,"},{"line_number":128,"context_line":"                           topic\u003dtopics.DHCP_AGENT):"},{"line_number":129,"context_line":"        \"\"\"Cast the payload to the dhcp agent running on the host.\"\"\""},{"line_number":130,"context_line":"        self.cast("}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAWH%2F%2Fb94%3D","line":127,"updated":"2014-03-17 22:45:00.000000000","message":"(Suggestion only) notification_host -\u003e send_notification_to_host","commit_id":"94eff51433dc643681973fec2faaada0c7eb50f1"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"3e2c5a7c385df5721d320ff8e49d05564f9419ff","unresolved":false,"context_lines":[{"line_number":124,"context_line":"                self._notification_host("},{"line_number":125,"context_line":"                    context, method, payload, agent.host, agent.topic)"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    def _notification_host(self, context, method, payload, host,"},{"line_number":128,"context_line":"                           topic\u003dtopics.DHCP_AGENT):"},{"line_number":129,"context_line":"        \"\"\"Cast the payload to the dhcp agent running on the host.\"\"\""},{"line_number":130,"context_line":"        self.cast("}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAWH%2F%2FbvE%3D","line":127,"in_reply_to":"AAAAWH%2F%2Fb94%3D","updated":"2014-03-17 22:56:00.000000000","message":"Done","commit_id":"94eff51433dc643681973fec2faaada0c7eb50f1"},{"author":{"_account_id":2035,"name":"Maru Newby","email":"marun@redhat.com","username":"maru"},"change_message_id":"ee9dec37754da29daf30ee33c4aa984a8e7d12aa","unresolved":false,"context_lines":[{"line_number":132,"context_line":"                                   payload\u003dpayload),"},{"line_number":133,"context_line":"            topic\u003d\u0027%s.%s\u0027 % (topic, host))"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"    def _notification_fanout(self, context, method, payload):"},{"line_number":136,"context_line":"        \"\"\"Fanout the payload to all dhcp agents.\"\"\""},{"line_number":137,"context_line":"        self.fanout_cast("},{"line_number":138,"context_line":"            context, self.make_msg(method,"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAWH%2F%2Fb%2BI%3D","line":135,"updated":"2014-03-17 22:45:00.000000000","message":"(Suggestion only) send_broadcast_notification","commit_id":"94eff51433dc643681973fec2faaada0c7eb50f1"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"3e2c5a7c385df5721d320ff8e49d05564f9419ff","unresolved":false,"context_lines":[{"line_number":132,"context_line":"                                   payload\u003dpayload),"},{"line_number":133,"context_line":"            topic\u003d\u0027%s.%s\u0027 % (topic, host))"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"    def _notification_fanout(self, context, method, payload):"},{"line_number":136,"context_line":"        \"\"\"Fanout the payload to all dhcp agents.\"\"\""},{"line_number":137,"context_line":"        self.fanout_cast("},{"line_number":138,"context_line":"            context, self.make_msg(method,"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAWH%2F%2FbvA%3D","line":135,"in_reply_to":"AAAAWH%2F%2Fb%2BI%3D","updated":"2014-03-17 22:56:00.000000000","message":"Done","commit_id":"94eff51433dc643681973fec2faaada0c7eb50f1"}],"neutron/tests/base.py":[{"author":{"_account_id":2035,"name":"Maru Newby","email":"marun@redhat.com","username":"maru"},"change_message_id":"ee9dec37754da29daf30ee33c4aa984a8e7d12aa","unresolved":false,"context_lines":[{"line_number":44,"context_line":"class BaseTestCase(testtools.TestCase):"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def _cleanup_coreplugin(self):"},{"line_number":47,"context_line":"        if manager.NeutronManager._instance is not None:"},{"line_number":48,"context_line":"            agent_notifiers \u003d getattr(manager.NeutronManager._instance.plugin,"},{"line_number":49,"context_line":"                                      \u0027agent_notifiers\u0027, {})"},{"line_number":50,"context_line":"            dhcp_agent_notifier \u003d agent_notifiers.get(const.AGENT_TYPE_DHCP)"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAWH%2F%2Fb8c%3D","line":47,"updated":"2014-03-17 22:45:00.000000000","message":"(Suggestion only) Consider using implicit boolean conversion here and on line 51.","commit_id":"94eff51433dc643681973fec2faaada0c7eb50f1"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"3e2c5a7c385df5721d320ff8e49d05564f9419ff","unresolved":false,"context_lines":[{"line_number":44,"context_line":"class BaseTestCase(testtools.TestCase):"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def _cleanup_coreplugin(self):"},{"line_number":47,"context_line":"        if manager.NeutronManager._instance is not None:"},{"line_number":48,"context_line":"            agent_notifiers \u003d getattr(manager.NeutronManager._instance.plugin,"},{"line_number":49,"context_line":"                                      \u0027agent_notifiers\u0027, {})"},{"line_number":50,"context_line":"            dhcp_agent_notifier \u003d agent_notifiers.get(const.AGENT_TYPE_DHCP)"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAWH%2F%2Fbu4%3D","line":47,"in_reply_to":"AAAAWH%2F%2Fb8c%3D","updated":"2014-03-17 22:56:00.000000000","message":"Done","commit_id":"94eff51433dc643681973fec2faaada0c7eb50f1"}],"neutron/tests/unit/api/rpc/agentnotifiers/test_dhcp_rpc_agent_api.py":[{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"a0d1d19fc08915bb5dcc831b89d9a5affc6033a6","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        self.mock_util \u003d self.mock_util_p.start()"},{"line_number":38,"context_line":"        self.mock_log_p \u003d mock.patch.object(dhcp_rpc_agent_api, \u0027LOG\u0027)"},{"line_number":39,"context_line":"        self.mock_log \u003d self.mock_log_p.start()"},{"line_number":40,"context_line":"        self.addCleanup(mock.patch.stopall)"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    def test_notification_network_delete(self):"},{"line_number":43,"context_line":"        with mock.patch.object(self.notifier, \u0027_notification_fanout\u0027) as f:"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAWH%2F%2FsEU%3D","line":40,"updated":"2014-03-14 13:46:44.000000000","message":"it looks like that because of this:\n\nhttps://review.openstack.org/79830\n\nI should remove this line.","commit_id":"440f4f44aacd72b8826a9560363ecec75d830531"},{"author":{"_account_id":2035,"name":"Maru Newby","email":"marun@redhat.com","username":"maru"},"change_message_id":"ee9dec37754da29daf30ee33c4aa984a8e7d12aa","unresolved":false,"context_lines":[{"line_number":29,"context_line":"        super(TestDhcpAgentNotifyAPI, self).setUp()"},{"line_number":30,"context_line":"        self.notifier \u003d ("},{"line_number":31,"context_line":"            dhcp_rpc_agent_api.DhcpAgentNotifyAPI(plugin\u003dmock.Mock()))"},{"line_number":32,"context_line":"        self.mock_util_p \u003d mock.patch.object(utils, \u0027is_extension_supported\u0027)"},{"line_number":33,"context_line":"        self.mock_util \u003d self.mock_util_p.start()"},{"line_number":34,"context_line":"        self.mock_log_p \u003d mock.patch.object(dhcp_rpc_agent_api, \u0027LOG\u0027)"},{"line_number":35,"context_line":"        self.mock_log \u003d self.mock_log_p.start()"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAWH%2F%2Fb60%3D","line":32,"updated":"2014-03-17 22:45:00.000000000","message":"(Suggestion only) It shouldn\u0027t be necessary to assign patches to the instance since they aren\u0027t used outside of this method.","commit_id":"94eff51433dc643681973fec2faaada0c7eb50f1"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"3e2c5a7c385df5721d320ff8e49d05564f9419ff","unresolved":false,"context_lines":[{"line_number":29,"context_line":"        super(TestDhcpAgentNotifyAPI, self).setUp()"},{"line_number":30,"context_line":"        self.notifier \u003d ("},{"line_number":31,"context_line":"            dhcp_rpc_agent_api.DhcpAgentNotifyAPI(plugin\u003dmock.Mock()))"},{"line_number":32,"context_line":"        self.mock_util_p \u003d mock.patch.object(utils, \u0027is_extension_supported\u0027)"},{"line_number":33,"context_line":"        self.mock_util \u003d self.mock_util_p.start()"},{"line_number":34,"context_line":"        self.mock_log_p \u003d mock.patch.object(dhcp_rpc_agent_api, \u0027LOG\u0027)"},{"line_number":35,"context_line":"        self.mock_log \u003d self.mock_log_p.start()"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAWH%2F%2Fbuo%3D","line":32,"in_reply_to":"AAAAWH%2F%2Fb60%3D","updated":"2014-03-17 22:56:00.000000000","message":"Done","commit_id":"94eff51433dc643681973fec2faaada0c7eb50f1"},{"author":{"_account_id":2035,"name":"Maru Newby","email":"marun@redhat.com","username":"maru"},"change_message_id":"ee9dec37754da29daf30ee33c4aa984a8e7d12aa","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        self.mock_fanout \u003d self.mock_fanout_p.start()"},{"line_number":42,"context_line":"        self.mock_cast \u003d self.mock_cast_p.start()"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    def _test__schedule_network(self, network,"},{"line_number":45,"context_line":"                                new_agents\u003dNone, existing_agents\u003dNone,"},{"line_number":46,"context_line":"                                expected_casts\u003d0, expected_warnings\u003d0):"},{"line_number":47,"context_line":"        self.notifier.plugin.schedule_network.return_value \u003d new_agents"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAWH%2F%2Fb4M%3D","line":44,"updated":"2014-03-17 22:45:00.000000000","message":"*I* appreciate your pedantic use of underscores, but I should warn you that everybody else seems to prefer \u0027test_private_method_name\u0027 to \u0027test__private_method_name\u0027.","commit_id":"94eff51433dc643681973fec2faaada0c7eb50f1"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"3e2c5a7c385df5721d320ff8e49d05564f9419ff","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        self.mock_fanout \u003d self.mock_fanout_p.start()"},{"line_number":42,"context_line":"        self.mock_cast \u003d self.mock_cast_p.start()"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    def _test__schedule_network(self, network,"},{"line_number":45,"context_line":"                                new_agents\u003dNone, existing_agents\u003dNone,"},{"line_number":46,"context_line":"                                expected_casts\u003d0, expected_warnings\u003d0):"},{"line_number":47,"context_line":"        self.notifier.plugin.schedule_network.return_value \u003d new_agents"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAWH%2F%2Fbr0%3D","line":44,"in_reply_to":"AAAAWH%2F%2Fb4M%3D","updated":"2014-03-17 22:56:00.000000000","message":"I am fine either way...but I think that ultimately there\u0027s no difference with one or two underscores.","commit_id":"94eff51433dc643681973fec2faaada0c7eb50f1"},{"author":{"_account_id":2035,"name":"Maru Newby","email":"marun@redhat.com","username":"maru"},"change_message_id":"ee9dec37754da29daf30ee33c4aa984a8e7d12aa","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        network \u003d {\u0027id\u0027: \u0027foo_net_id\u0027}"},{"line_number":70,"context_line":"        self._test__schedule_network(network,"},{"line_number":71,"context_line":"                                     new_agents\u003dNone, existing_agents\u003d[agent],"},{"line_number":72,"context_line":"                                     expected_casts\u003d0, expected_warnings\u003d0)"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    def test__schedule_network_no_new_agents(self):"},{"line_number":75,"context_line":"        network \u003d {\u0027id\u0027: \u0027foo_net_id\u0027}"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAWH%2F%2Fb4k%3D","line":72,"updated":"2014-03-17 22:45:00.000000000","message":"(Suggestion only) Consider providing only non-default arguments (e.g. omit new_agents, expected_casts and expected_warnings since they don\u0027t differ from the defaults).","commit_id":"94eff51433dc643681973fec2faaada0c7eb50f1"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"3e2c5a7c385df5721d320ff8e49d05564f9419ff","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        network \u003d {\u0027id\u0027: \u0027foo_net_id\u0027}"},{"line_number":70,"context_line":"        self._test__schedule_network(network,"},{"line_number":71,"context_line":"                                     new_agents\u003dNone, existing_agents\u003d[agent],"},{"line_number":72,"context_line":"                                     expected_casts\u003d0, expected_warnings\u003d0)"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    def test__schedule_network_no_new_agents(self):"},{"line_number":75,"context_line":"        network \u003d {\u0027id\u0027: \u0027foo_net_id\u0027}"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAWH%2F%2Fbss%3D","line":72,"in_reply_to":"AAAAWH%2F%2Fb4k%3D","updated":"2014-03-17 22:56:00.000000000","message":"The reason why I have been explicit about this was for documentation purposes. It\u0027s much clearer to understand what to expect from this test without going to read the helper method all the way to the top.","commit_id":"94eff51433dc643681973fec2faaada0c7eb50f1"},{"author":{"_account_id":2035,"name":"Maru Newby","email":"marun@redhat.com","username":"maru"},"change_message_id":"ee9dec37754da29daf30ee33c4aa984a8e7d12aa","unresolved":false,"context_lines":[{"line_number":97,"context_line":"    def test__get_enabled_agents_with_inactive_ones(self):"},{"line_number":98,"context_line":"        agent1 \u003d agents_db.Agent()"},{"line_number":99,"context_line":"        agent1.admin_state_up \u003d True"},{"line_number":100,"context_line":"        agent1.heartbeat_timestamp \u003d timeutils.utcnow()"},{"line_number":101,"context_line":"        agent1.host \u003d \u0027foo_host_1\u0027"},{"line_number":102,"context_line":"        agent2 \u003d agents_db.Agent()"},{"line_number":103,"context_line":"        agent2.admin_state_up \u003d True"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAWH%2F%2Fb0A%3D","line":100,"updated":"2014-03-17 22:45:00.000000000","message":"(Suggestion only) Are these attributes (heartbeat_timestamp, host) necessary given that the agents won\u0027t be serialized and the attributes don\u0027t appear to be used in the code under test?","commit_id":"94eff51433dc643681973fec2faaada0c7eb50f1"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"3e2c5a7c385df5721d320ff8e49d05564f9419ff","unresolved":false,"context_lines":[{"line_number":97,"context_line":"    def test__get_enabled_agents_with_inactive_ones(self):"},{"line_number":98,"context_line":"        agent1 \u003d agents_db.Agent()"},{"line_number":99,"context_line":"        agent1.admin_state_up \u003d True"},{"line_number":100,"context_line":"        agent1.heartbeat_timestamp \u003d timeutils.utcnow()"},{"line_number":101,"context_line":"        agent1.host \u003d \u0027foo_host_1\u0027"},{"line_number":102,"context_line":"        agent2 \u003d agents_db.Agent()"},{"line_number":103,"context_line":"        agent2.admin_state_up \u003d True"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAWH%2F%2Fbsc%3D","line":100,"in_reply_to":"AAAAWH%2F%2Fb0A%3D","updated":"2014-03-17 22:56:00.000000000","message":"I can kill host, but heartbeat_timestamp is used to select which agent is active.","commit_id":"94eff51433dc643681973fec2faaada0c7eb50f1"}]}
