)]}'
{"neutron/plugins/ofagent/README":[{"author":{"_account_id":105,"name":"Kyle Mestery","email":"mestery@mestery.com","username":"mestery"},"change_message_id":"921d52e0277bb8643185c39d9fb990893fed799e","unresolved":false,"context_lines":[{"line_number":27,"context_line":"and then replace the bridge_mappings with:"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    [AGENT]"},{"line_number":30,"context_line":"    physical_interface_mappings\u003dpublic:int-public"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"After Icehouce, most of the functionalities have been folded into"},{"line_number":33,"context_line":"a single bridge, the integration bridge.  (aka. br-int)"}],"source_content_type":"application/octet-stream","patch_set":14,"id":"fa98f980_ed5a7e4f","line":30,"updated":"2014-08-31 18:25:51.000000000","message":"Nice explanation here!","commit_id":"d504e68781b6fa8aed7cb03bcbbf275b17961e48"}],"neutron/plugins/openvswitch/common/config.py":[{"author":{"_account_id":105,"name":"Kyle Mestery","email":"mestery@mestery.com","username":"mestery"},"change_message_id":"921d52e0277bb8643185c39d9fb990893fed799e","unresolved":false,"context_lines":[{"line_number":41,"context_line":"               help\u003d_(\"Local IP address of GRE tunnel endpoints.\")),"},{"line_number":42,"context_line":"    cfg.ListOpt(\u0027bridge_mappings\u0027,"},{"line_number":43,"context_line":"                default\u003dDEFAULT_BRIDGE_MAPPINGS,"},{"line_number":44,"context_line":"                help\u003d_(\"List of \u003cphysical_network\u003e:\u003cbridge\u003e\")),"},{"line_number":45,"context_line":"    cfg.StrOpt(\u0027tenant_network_type\u0027, default\u003d\u0027local\u0027,"},{"line_number":46,"context_line":"               help\u003d_(\"Network type for tenant networks \""},{"line_number":47,"context_line":"                      \"(local, vlan, gre, vxlan, or none)\")),"}],"source_content_type":"text/x-python","patch_set":14,"id":"fa98f980_4d31ca0a","side":"PARENT","line":44,"updated":"2014-08-31 18:25:51.000000000","message":"There will soon be a patch out to remove the OVS plugin, which will likely end up moving this file. Just a heads up, if that lands first, this will need to be rebased against it.","commit_id":"8b04a13185ea80fc59f9de89983b3037111fa253"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"7d9621a41c167f2b732dc8a4ec8073ed5cb3926c","unresolved":false,"context_lines":[{"line_number":41,"context_line":"               help\u003d_(\"Local IP address of GRE tunnel endpoints.\")),"},{"line_number":42,"context_line":"    cfg.ListOpt(\u0027bridge_mappings\u0027,"},{"line_number":43,"context_line":"                default\u003dDEFAULT_BRIDGE_MAPPINGS,"},{"line_number":44,"context_line":"                help\u003d_(\"List of \u003cphysical_network\u003e:\u003cbridge\u003e\")),"},{"line_number":45,"context_line":"    cfg.StrOpt(\u0027tenant_network_type\u0027, default\u003d\u0027local\u0027,"},{"line_number":46,"context_line":"               help\u003d_(\"Network type for tenant networks \""},{"line_number":47,"context_line":"                      \"(local, vlan, gre, vxlan, or none)\")),"}],"source_content_type":"text/x-python","patch_set":14,"id":"fa98f980_6374da9c","side":"PARENT","line":44,"in_reply_to":"fa98f980_4d31ca0a","updated":"2014-09-01 00:41:14.000000000","message":"thank you for heads up!\n\ni\u0027m not sure if it\u0027s a good idea to remove the plugin and move files around in a single patch, though.","commit_id":"8b04a13185ea80fc59f9de89983b3037111fa253"},{"author":{"_account_id":1689,"name":"Robert Kukura","email":"rk@theep.net","username":"rkukura"},"change_message_id":"9b0fb363203f41d4dcd233b0fe299fc7956f43b0","unresolved":false,"context_lines":[{"line_number":42,"context_line":"    cfg.ListOpt(\u0027bridge_mappings\u0027,"},{"line_number":43,"context_line":"                default\u003dDEFAULT_BRIDGE_MAPPINGS,"},{"line_number":44,"context_line":"                help\u003d_(\"List of \u003cphysical_network\u003e:\u003cbridge\u003e. \""},{"line_number":45,"context_line":"                       \"Deprecated for ofagent.\")),"},{"line_number":46,"context_line":"    cfg.StrOpt(\u0027tenant_network_type\u0027, default\u003d\u0027local\u0027,"},{"line_number":47,"context_line":"               help\u003d_(\"Network type for tenant networks \""},{"line_number":48,"context_line":"                      \"(local, vlan, gre, vxlan, or none).\")),"}],"source_content_type":"text/x-python","patch_set":16,"id":"fa98f980_4ddc0ee5","line":45,"updated":"2014-09-02 12:57:24.000000000","message":"I\u0027m a bit concerned this deprecation message will confuse neutron-openvswitch-agent users.","commit_id":"160305653ef56e7d3b394a13fe6dfba737a3775b"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"9784ec0bd0b324545b1e8edec737fce11d8dcd42","unresolved":false,"context_lines":[{"line_number":42,"context_line":"    cfg.ListOpt(\u0027bridge_mappings\u0027,"},{"line_number":43,"context_line":"                default\u003dDEFAULT_BRIDGE_MAPPINGS,"},{"line_number":44,"context_line":"                help\u003d_(\"List of \u003cphysical_network\u003e:\u003cbridge\u003e. \""},{"line_number":45,"context_line":"                       \"Deprecated for ofagent.\")),"},{"line_number":46,"context_line":"    cfg.StrOpt(\u0027tenant_network_type\u0027, default\u003d\u0027local\u0027,"},{"line_number":47,"context_line":"               help\u003d_(\"Network type for tenant networks \""},{"line_number":48,"context_line":"                      \"(local, vlan, gre, vxlan, or none).\")),"}],"source_content_type":"text/x-python","patch_set":16,"id":"fa98f980_901e0d62","line":45,"in_reply_to":"fa98f980_4ddc0ee5","updated":"2014-09-02 13:02:03.000000000","message":"do you have a suggestion?\nprobably it\u0027s time to unshare ovs_opts, i guess.","commit_id":"160305653ef56e7d3b394a13fe6dfba737a3775b"}],"neutron/tests/unit/ml2/drivers/test_ofagent_mech.py":[{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"58fa78a2dc6d0be22dfb17d5f3b8309ba4cff639","unresolved":false,"context_lines":[{"line_number":74,"context_line":"    pass"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"# TODO(yamamoto): remove the following tests"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"class OfagentMechanismPhysBridgeTestCase(base.AgentMechanismBaseTestCase):"},{"line_number":80,"context_line":"    VIF_TYPE \u003d portbindings.VIF_TYPE_OVS"}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_f390f243","line":77,"updated":"2014-08-11 11:41:11.000000000","message":"why?","commit_id":"77f8e5aeb8f51e5864dfaaaa3c50935d7973ac08"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"e1dd32d36a2f032024bbca45d5b932e0c024c65d","unresolved":false,"context_lines":[{"line_number":74,"context_line":"    pass"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"# TODO(yamamoto): remove the following tests"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"class OfagentMechanismPhysBridgeTestCase(base.AgentMechanismBaseTestCase):"},{"line_number":80,"context_line":"    VIF_TYPE \u003d portbindings.VIF_TYPE_OVS"}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_f9d45320","line":77,"in_reply_to":"baada198_160ab4d0","updated":"2014-08-11 12:31:48.000000000","message":"i added a note about removal plan in README.","commit_id":"77f8e5aeb8f51e5864dfaaaa3c50935d7973ac08"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"ba1ddfdf856f8d88490e7d64b4c2f902acb46bd2","unresolved":false,"context_lines":[{"line_number":74,"context_line":"    pass"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"# TODO(yamamoto): remove the following tests"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"class OfagentMechanismPhysBridgeTestCase(base.AgentMechanismBaseTestCase):"},{"line_number":80,"context_line":"    VIF_TYPE \u003d portbindings.VIF_TYPE_OVS"}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_f6838052","line":77,"in_reply_to":"baada198_f390f243","updated":"2014-08-11 11:58:31.000000000","message":"because the following code tests the deprecated option.","commit_id":"77f8e5aeb8f51e5864dfaaaa3c50935d7973ac08"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"e3d0811e0ca40de11456e0abc4405265a746faf9","unresolved":false,"context_lines":[{"line_number":74,"context_line":"    pass"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"# TODO(yamamoto): remove the following tests"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"class OfagentMechanismPhysBridgeTestCase(base.AgentMechanismBaseTestCase):"},{"line_number":80,"context_line":"    VIF_TYPE \u003d portbindings.VIF_TYPE_OVS"}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_160ab4d0","line":77,"in_reply_to":"baada198_f6838052","updated":"2014-08-11 12:03:39.000000000","message":"I see. That makes sense. Then, to make it clearer in the future, could you also add when and why should those tests be removed?","commit_id":"77f8e5aeb8f51e5864dfaaaa3c50935d7973ac08"}],"neutron/tests/unit/ofagent/test_ofa_neutron_agent.py":[{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"58fa78a2dc6d0be22dfb17d5f3b8309ba4cff639","unresolved":false,"context_lines":[{"line_number":498,"context_line":"            add_port_fn.return_value \u003d \"111\""},{"line_number":499,"context_line":"            self.agent.setup_physical_interfaces({\"physnet1\": \"eth1\"})"},{"line_number":500,"context_line":"            expected_calls \u003d [mock.call(\"eth1\")]"},{"line_number":501,"context_line":"            add_port_fn.assert_has_calls(expected_calls)"},{"line_number":502,"context_line":"            self.assertEqual(111, self.agent.int_ofports[\"physnet1\"])"},{"line_number":503,"context_line":""},{"line_number":504,"context_line":"    def test_port_unbound(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_b36bda52","line":501,"updated":"2014-08-11 11:41:11.000000000","message":"Since you only have one call, why not just:\n\nadd_port_fn.assert_called_once_with(\"eth1\")","commit_id":"77f8e5aeb8f51e5864dfaaaa3c50935d7973ac08"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"ba1ddfdf856f8d88490e7d64b4c2f902acb46bd2","unresolved":false,"context_lines":[{"line_number":498,"context_line":"            add_port_fn.return_value \u003d \"111\""},{"line_number":499,"context_line":"            self.agent.setup_physical_interfaces({\"physnet1\": \"eth1\"})"},{"line_number":500,"context_line":"            expected_calls \u003d [mock.call(\"eth1\")]"},{"line_number":501,"context_line":"            add_port_fn.assert_has_calls(expected_calls)"},{"line_number":502,"context_line":"            self.assertEqual(111, self.agent.int_ofports[\"physnet1\"])"},{"line_number":503,"context_line":""},{"line_number":504,"context_line":"    def test_port_unbound(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_f6eaa00c","line":501,"in_reply_to":"baada198_b36bda52","updated":"2014-08-11 11:58:31.000000000","message":"no particular reason.\ni\u0027ll try that in the next version.","commit_id":"77f8e5aeb8f51e5864dfaaaa3c50935d7973ac08"}]}
