)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"59419f7eccc896f2bf32c244d23fb132a3df5382","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Previously, the OVS bridge name only came from nova.conf.  It will be"},{"line_number":10,"context_line":"helpful to allow Neutron to specify the name.  In particular, this has"},{"line_number":11,"context_line":"come up as a requirement for implementin Neutron\u0027s \"vlan-aware-vms\""},{"line_number":12,"context_line":"spec, which will require a separate bridge per port, at least for the"},{"line_number":13,"context_line":"existing default ML2+OVS backend.  This patch will allow Neutron to"},{"line_number":14,"context_line":"customize the bridge name on a per-port basis."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"fa69d971_f810b3aa","line":11,"range":{"start_line":11,"start_character":29,"end_line":11,"end_character":40},"updated":"2015-12-30 08:24:52.000000000","message":"typo","commit_id":"bd1ec3504d14000e7e1b3944d5ec41b29eafe803"},{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"b7600bd49754e88b3df4bb45082b164189dac7b4","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Previously, the OVS bridge name only came from nova.conf.  It will be"},{"line_number":10,"context_line":"helpful to allow Neutron to specify the name.  In particular, this has"},{"line_number":11,"context_line":"come up as a requirement for implementin Neutron\u0027s \"vlan-aware-vms\""},{"line_number":12,"context_line":"spec, which will require a separate bridge per port, at least for the"},{"line_number":13,"context_line":"existing default ML2+OVS backend.  This patch will allow Neutron to"},{"line_number":14,"context_line":"customize the bridge name on a per-port basis."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"7a5de9d1_46cc2e6a","line":11,"range":{"start_line":11,"start_character":29,"end_line":11,"end_character":40},"in_reply_to":"fa69d971_f810b3aa","updated":"2016-01-28 21:42:35.000000000","message":"Done","commit_id":"bd1ec3504d14000e7e1b3944d5ec41b29eafe803"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"8966ecfdf1b135113315f4cee85742c80d1429b4","unresolved":false,"context_lines":[{"line_number":18,"context_line":"a name in vif_details, but fall back to the config value, otherwise."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"While not immediately needed, it seems convenient to go ahead and apply"},{"line_number":21,"context_line":"the same change for VIF_TYPE_BRIDGE (linux bridge), since it\u0027s a trivial"},{"line_number":22,"context_line":"addition to the patch."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"The test case just follows the same pattern as several other test cases"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"7a5de9d1_c6a082a8","line":21,"range":{"start_line":21,"start_character":20,"end_line":21,"end_character":35},"updated":"2016-01-27 09:38:11.000000000","message":"nit: and VIF_TYPE_VHOSTUSER.","commit_id":"bd1ec3504d14000e7e1b3944d5ec41b29eafe803"},{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"b7600bd49754e88b3df4bb45082b164189dac7b4","unresolved":false,"context_lines":[{"line_number":18,"context_line":"a name in vif_details, but fall back to the config value, otherwise."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"While not immediately needed, it seems convenient to go ahead and apply"},{"line_number":21,"context_line":"the same change for VIF_TYPE_BRIDGE (linux bridge), since it\u0027s a trivial"},{"line_number":22,"context_line":"addition to the patch."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"The test case just follows the same pattern as several other test cases"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"7a5de9d1_66c7ea45","line":21,"range":{"start_line":21,"start_character":20,"end_line":21,"end_character":35},"in_reply_to":"7a5de9d1_c6a082a8","updated":"2016-01-28 21:42:35.000000000","message":"Done","commit_id":"bd1ec3504d14000e7e1b3944d5ec41b29eafe803"}],"nova/network/neutronv2/api.py":[{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"5915f13b38a204c58f8713316bc8d5492b402a79","unresolved":false,"context_lines":[{"line_number":1517,"context_line":"        should_create_bridge \u003d None"},{"line_number":1518,"context_line":"        vif_type \u003d port.get(\u0027binding:vif_type\u0027)"},{"line_number":1519,"context_line":"        port_details \u003d port.get(\u0027binding:vif_details\u0027, {})"},{"line_number":1520,"context_line":"        # TODO(berrange) Neutron should pass the bridge name"},{"line_number":1521,"context_line":"        # in another binding metadata field"},{"line_number":1522,"context_line":"        if vif_type \u003d\u003d network_model.VIF_TYPE_OVS:"},{"line_number":1523,"context_line":"            bridge \u003d port_details.get(network_model.VIF_DETAILS_BRIDGE_NAME,"},{"line_number":1524,"context_line":"                                      CONF.neutron.ovs_bridge)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a7b0d38_f8c42193","line":1521,"range":{"start_line":1520,"start_character":8,"end_line":1521,"end_character":43},"updated":"2015-12-23 09:22:05.000000000","message":"This comment could be removed too.","commit_id":"ba29e6fcfa1985d6fd5cfb2894a87d840785c1f3"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"59419f7eccc896f2bf32c244d23fb132a3df5382","unresolved":false,"context_lines":[{"line_number":1524,"context_line":"            ovs_interfaceid \u003d port[\u0027id\u0027]"},{"line_number":1525,"context_line":"        elif vif_type \u003d\u003d network_model.VIF_TYPE_BRIDGE:"},{"line_number":1526,"context_line":"            bridge \u003d port_details.get(network_model.VIF_DETAILS_BRIDGE_NAME,"},{"line_number":1527,"context_line":"                                      (\"brq\" + port[\u0027network_id\u0027]))"},{"line_number":1528,"context_line":"            should_create_bridge \u003d True"},{"line_number":1529,"context_line":"        elif vif_type \u003d\u003d network_model.VIF_TYPE_DVS:"},{"line_number":1530,"context_line":"            # The name of the DVS port group will contain the neutron"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa69d971_f8a3d34d","line":1527,"updated":"2015-12-30 08:24:52.000000000","message":"you do not need the extra brackets here","commit_id":"bd1ec3504d14000e7e1b3944d5ec41b29eafe803"},{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"b7600bd49754e88b3df4bb45082b164189dac7b4","unresolved":false,"context_lines":[{"line_number":1524,"context_line":"            ovs_interfaceid \u003d port[\u0027id\u0027]"},{"line_number":1525,"context_line":"        elif vif_type \u003d\u003d network_model.VIF_TYPE_BRIDGE:"},{"line_number":1526,"context_line":"            bridge \u003d port_details.get(network_model.VIF_DETAILS_BRIDGE_NAME,"},{"line_number":1527,"context_line":"                                      (\"brq\" + port[\u0027network_id\u0027]))"},{"line_number":1528,"context_line":"            should_create_bridge \u003d True"},{"line_number":1529,"context_line":"        elif vif_type \u003d\u003d network_model.VIF_TYPE_DVS:"},{"line_number":1530,"context_line":"            # The name of the DVS port group will contain the neutron"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a5de9d1_46d3ce04","line":1527,"in_reply_to":"fa69d971_f8a3d34d","updated":"2016-01-28 21:42:35.000000000","message":"they don\u0027t hurt either, but i removed them","commit_id":"bd1ec3504d14000e7e1b3944d5ec41b29eafe803"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"8966ecfdf1b135113315f4cee85742c80d1429b4","unresolved":false,"context_lines":[{"line_number":1533,"context_line":"        elif (vif_type \u003d\u003d network_model.VIF_TYPE_VHOSTUSER and"},{"line_number":1534,"context_line":"         port_details.get(network_model.VIF_DETAILS_VHOSTUSER_OVS_PLUG,"},{"line_number":1535,"context_line":"                          False)):"},{"line_number":1536,"context_line":"            bridge \u003d port_details.get(network_model.VIF_DETAILS_BRIDGE_NAME,"},{"line_number":1537,"context_line":"                                      CONF.neutron.ovs_bridge)"},{"line_number":1538,"context_line":"            ovs_interfaceid \u003d port[\u0027id\u0027]"},{"line_number":1539,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7a5de9d1_26aab671","line":1536,"updated":"2016-01-27 09:38:11.000000000","message":"You need a unit test for this case.","commit_id":"bd1ec3504d14000e7e1b3944d5ec41b29eafe803"},{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"b7600bd49754e88b3df4bb45082b164189dac7b4","unresolved":false,"context_lines":[{"line_number":1533,"context_line":"        elif (vif_type \u003d\u003d network_model.VIF_TYPE_VHOSTUSER and"},{"line_number":1534,"context_line":"         port_details.get(network_model.VIF_DETAILS_VHOSTUSER_OVS_PLUG,"},{"line_number":1535,"context_line":"                          False)):"},{"line_number":1536,"context_line":"            bridge \u003d port_details.get(network_model.VIF_DETAILS_BRIDGE_NAME,"},{"line_number":1537,"context_line":"                                      CONF.neutron.ovs_bridge)"},{"line_number":1538,"context_line":"            ovs_interfaceid \u003d port[\u0027id\u0027]"},{"line_number":1539,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7a5de9d1_26d8121d","line":1536,"in_reply_to":"7a5de9d1_26aab671","updated":"2016-01-28 21:42:35.000000000","message":"oops, thanks","commit_id":"bd1ec3504d14000e7e1b3944d5ec41b29eafe803"}],"nova/tests/unit/network/test_neutronv2.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"8966ecfdf1b135113315f4cee85742c80d1429b4","unresolved":false,"context_lines":[{"line_number":2502,"context_line":"        self.assertNotEqual(CONF.neutron.ovs_bridge, net[\u0027bridge\u0027])"},{"line_number":2503,"context_line":"        self.assertEqual(\u0027custom-bridge\u0027, net[\u0027bridge\u0027])"},{"line_number":2504,"context_line":""},{"line_number":2505,"context_line":"    def test_nw_info_build_custom_ovs_bridge(self):"},{"line_number":2506,"context_line":"        self._test_nw_info_build_custom_bridge(model.VIF_TYPE_OVS)"},{"line_number":2507,"context_line":""},{"line_number":2508,"context_line":"    def test_nw_info_build_custom_lb_bridge(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a5de9d1_c6b5e2d0","line":2505,"updated":"2016-01-27 09:38:11.000000000","message":"Need a similar test for the vhostuser case.","commit_id":"bd1ec3504d14000e7e1b3944d5ec41b29eafe803"},{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"b7600bd49754e88b3df4bb45082b164189dac7b4","unresolved":false,"context_lines":[{"line_number":2502,"context_line":"        self.assertNotEqual(CONF.neutron.ovs_bridge, net[\u0027bridge\u0027])"},{"line_number":2503,"context_line":"        self.assertEqual(\u0027custom-bridge\u0027, net[\u0027bridge\u0027])"},{"line_number":2504,"context_line":""},{"line_number":2505,"context_line":"    def test_nw_info_build_custom_ovs_bridge(self):"},{"line_number":2506,"context_line":"        self._test_nw_info_build_custom_bridge(model.VIF_TYPE_OVS)"},{"line_number":2507,"context_line":""},{"line_number":2508,"context_line":"    def test_nw_info_build_custom_lb_bridge(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a5de9d1_46faee76","line":2505,"in_reply_to":"7a5de9d1_c6b5e2d0","updated":"2016-01-28 21:42:35.000000000","message":"Done","commit_id":"bd1ec3504d14000e7e1b3944d5ec41b29eafe803"}],"releasenotes/notes/neutron-ovs-bridge-name-7b3477103622f4cc.yaml":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"8966ecfdf1b135113315f4cee85742c80d1429b4","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Add support for allowing Neutron to specify the"},{"line_number":4,"context_line":"    bridge name for the OVS and Linux Bridge VIF types."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"7a5de9d1_86afea7c","line":4,"updated":"2016-01-27 09:38:11.000000000","message":"And vhostuser.","commit_id":"bd1ec3504d14000e7e1b3944d5ec41b29eafe803"}]}
