)]}'
{"neutron/agent/common/l2agent.py":[{"author":{"_account_id":8873,"name":"Assaf Muller","email":"amuller@redhat.com","username":"amuller"},"change_message_id":"2bc74fa394adfd0f435dd12989785fb442eb3241","unresolved":false,"context_lines":[{"line_number":15,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"class L2AgentRPC(object):"},{"line_number":19,"context_line":"    \u0027\u0027\u0027Common Agent RPC framework for receiving RPC messages about Ports and"},{"line_number":20,"context_line":"    Networks."},{"line_number":21,"context_line":"    \u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a4dcd0f_f9df3738","line":18,"updated":"2015-08-10 13:50:34.000000000","message":"It seems like this change could stand in a patch of its own.","commit_id":"0e243d3212a369aa38c5b85d569caa90501571b1"}],"neutron/plugins/ml2/drivers/linuxbridge/agent/linuxbridge_neutron_agent.py":[{"author":{"_account_id":4656,"name":"Sean M. Collins","email":"sean@coreitpro.com","username":"scollins"},"change_message_id":"844faf3a388f99ab66dce76c28c469bd74ea0bb1","unresolved":false,"context_lines":[{"line_number":690,"context_line":"        :param quitting_rpc_timeout: timeout in seconds for rpc calls after"},{"line_number":691,"context_line":"               stop is called."},{"line_number":692,"context_line":"        \"\"\""},{"line_number":693,"context_line":"        super(LinuxBridgeNeutronAgent, self).__init__()"},{"line_number":694,"context_line":"        self.context \u003d context.get_admin_context_without_session()"},{"line_number":695,"context_line":"        self.interface_mappings \u003d interface_mappings"},{"line_number":696,"context_line":"        self.polling_interval \u003d polling_interval"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a4dcd0f_0a9c950c","line":693,"updated":"2015-08-12 11:06:09.000000000","message":"OK, I\u0027ll give that a try - thanks :)","commit_id":"0e243d3212a369aa38c5b85d569caa90501571b1"},{"author":{"_account_id":8873,"name":"Assaf Muller","email":"amuller@redhat.com","username":"amuller"},"change_message_id":"2bc74fa394adfd0f435dd12989785fb442eb3241","unresolved":false,"context_lines":[{"line_number":690,"context_line":"        :param quitting_rpc_timeout: timeout in seconds for rpc calls after"},{"line_number":691,"context_line":"               stop is called."},{"line_number":692,"context_line":"        \"\"\""},{"line_number":693,"context_line":"        super(LinuxBridgeNeutronAgent, self).__init__()"},{"line_number":694,"context_line":"        self.context \u003d context.get_admin_context_without_session()"},{"line_number":695,"context_line":"        self.interface_mappings \u003d interface_mappings"},{"line_number":696,"context_line":"        self.polling_interval \u003d polling_interval"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a4dcd0f_d9fd9b6f","line":693,"updated":"2015-08-10 13:50:34.000000000","message":"Should folding start in to init be on a change of its own?","commit_id":"0e243d3212a369aa38c5b85d569caa90501571b1"},{"author":{"_account_id":8873,"name":"Assaf Muller","email":"amuller@redhat.com","username":"amuller"},"change_message_id":"5815171d1430448a02d396e9ee34845f78b822e0","unresolved":false,"context_lines":[{"line_number":690,"context_line":"        :param quitting_rpc_timeout: timeout in seconds for rpc calls after"},{"line_number":691,"context_line":"               stop is called."},{"line_number":692,"context_line":"        \"\"\""},{"line_number":693,"context_line":"        super(LinuxBridgeNeutronAgent, self).__init__()"},{"line_number":694,"context_line":"        self.context \u003d context.get_admin_context_without_session()"},{"line_number":695,"context_line":"        self.interface_mappings \u003d interface_mappings"},{"line_number":696,"context_line":"        self.polling_interval \u003d polling_interval"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a4dcd0f_07863edb","line":693,"in_reply_to":"1a4dcd0f_4729a688","updated":"2015-08-10 14:19:58.000000000","message":"Yes you can mock out methods on a class level: mock.patch(\u0027full.path.to.class.method\u0027).start()","commit_id":"0e243d3212a369aa38c5b85d569caa90501571b1"},{"author":{"_account_id":4656,"name":"Sean M. Collins","email":"sean@coreitpro.com","username":"scollins"},"change_message_id":"9f816f035886ed4d49157104ed82f22f4467e7b1","unresolved":false,"context_lines":[{"line_number":690,"context_line":"        :param quitting_rpc_timeout: timeout in seconds for rpc calls after"},{"line_number":691,"context_line":"               stop is called."},{"line_number":692,"context_line":"        \"\"\""},{"line_number":693,"context_line":"        super(LinuxBridgeNeutronAgent, self).__init__()"},{"line_number":694,"context_line":"        self.context \u003d context.get_admin_context_without_session()"},{"line_number":695,"context_line":"        self.interface_mappings \u003d interface_mappings"},{"line_number":696,"context_line":"        self.polling_interval \u003d polling_interval"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a4dcd0f_4729a688","line":693,"in_reply_to":"1a4dcd0f_d9fd9b6f","updated":"2015-08-10 14:09:18.000000000","message":"The problem is the unit tests have to patch out self.daemon_loop, and having it in the constructor - I don\u0027t know if we can use mock.patch on a class method or if you need an instance of a class to patch. I\u0027d have to look further.","commit_id":"0e243d3212a369aa38c5b85d569caa90501571b1"},{"author":{"_account_id":11307,"name":"Andreas Scheuring","email":"andreas.scheuring@de.ibm.com","username":"uniqueName"},"change_message_id":"883577253862feb8a859b92c6c7b8b28a51183f2","unresolved":false,"context_lines":[{"line_number":1149,"context_line":"                                    quitting_rpc_timeout)"},{"line_number":1150,"context_line":"    LOG.info(_LI(\"Agent initialized successfully, now running... \"))"},{"line_number":1151,"context_line":"    launcher \u003d service.launch(cfg.CONF, agent)"},{"line_number":1152,"context_line":"    agent.start()"},{"line_number":1153,"context_line":"    launcher.wait()"},{"line_number":1154,"context_line":""},{"line_number":1155,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"9a1a9d01_d6d4e8ec","line":1152,"updated":"2015-09-30 15:47:24.000000000","message":"I assume this is an interface method that will be called on service.launch. So line should be obsolete!","commit_id":"350d3bff81f4b9eadfbf37d14846208fd7253fff"}],"neutron/tests/unit/plugins/ml2/drivers/linuxbridge/agent/test_linuxbridge_neutron_agent.py":[{"author":{"_account_id":11307,"name":"Andreas Scheuring","email":"andreas.scheuring@de.ibm.com","username":"uniqueName"},"change_message_id":"883577253862feb8a859b92c6c7b8b28a51183f2","unresolved":false,"context_lines":[{"line_number":134,"context_line":"        with mock.patch.object(self.agent.br_mgr,"},{"line_number":135,"context_line":"                               \"get_bridge_name\") as get_br_fn,\\"},{"line_number":136,"context_line":"                mock.patch.object(self.agent.br_mgr,"},{"line_number":137,"context_line":"                                  \"delete_vlan_bridge\") as del_fn:"},{"line_number":138,"context_line":"            get_br_fn.return_value \u003d \"br0\""},{"line_number":139,"context_line":"            self.agent.network_delete(\"anycontext\", network_id\u003d\"123\")"},{"line_number":140,"context_line":"            get_br_fn.assert_called_with(\"123\")"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a1a9d01_4daa8686","line":137,"updated":"2015-09-30 15:47:24.000000000","message":"has been renamed to \"delete_bridge\" with commit 9022fb1ae8f90df59c4da64450eb96de8c011715\n\nso probably just replacing the string is sufficient.","commit_id":"350d3bff81f4b9eadfbf37d14846208fd7253fff"}]}
