)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"52118a5b1ef441bcc2c75e6d649cec251d780f48","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Rodolfo Alonso Hernandez \u003cralonsoh@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-03-24 20:48:17 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Change provider network segmentation ID in OVS agent"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Added the ability to change the segmentation ID of a network"},{"line_number":10,"context_line":"with ports bound to OVS agent. The rules, both in the integration"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"5fc1f717_48795091","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":52},"updated":"2019-04-02 15:33:15.000000000","message":"So these will cause local vlan to physical vlan re-mapping, right? It will cause dataplane down IMO, or not? How about add a release note to the user to notify the side-effect of this segment change?","commit_id":"e4b46f0e76f2e222e77ab226f953e0642a4934c9"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"1dc38b0ad7648a66a0dbc7f5f4dacfb577d147cd","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Rodolfo Alonso Hernandez \u003cralonsoh@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-03-24 20:48:17 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Change provider network segmentation ID in OVS agent"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Added the ability to change the segmentation ID of a network"},{"line_number":10,"context_line":"with ports bound to OVS agent. The rules, both in the integration"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"5fc1f717_d1bddfd7","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":52},"in_reply_to":"5fc1f717_48795091","updated":"2019-04-03 10:33:40.000000000","message":"There will be a traffic interruption but, as commented in the spec, this is something inevitable during this migration.\n\nOf course I\u0027ll add a release note.","commit_id":"e4b46f0e76f2e222e77ab226f953e0642a4934c9"}],"neutron/agent/rpc.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"c70366b012345ace3d30d2ff56791aae2eba8a79","unresolved":false,"context_lines":[{"line_number":111,"context_line":"              the device port"},{"line_number":112,"context_line":"        1.4 - tunnel_sync rpc signature upgrade to obtain \u0027host\u0027"},{"line_number":113,"context_line":"        1.5 - Support update_device_list and"},{"line_number":114,"context_line":"              get_devices_details_list_and_failed_devices"},{"line_number":115,"context_line":"    \u0027\u0027\u0027"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    def __init__(self, topic):"}],"source_content_type":"text/x-python","patch_set":19,"id":"3fce034c_3c195621","line":114,"updated":"2019-04-18 07:47:39.000000000","message":"shouldn\u0027t You bump version and add new function to this list?","commit_id":"400abe90609e7f263efb8241b0bca6bb07580998"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"180837574b3fb8f7feaa6e83825473d94265d368","unresolved":false,"context_lines":[{"line_number":111,"context_line":"              the device port"},{"line_number":112,"context_line":"        1.4 - tunnel_sync rpc signature upgrade to obtain \u0027host\u0027"},{"line_number":113,"context_line":"        1.5 - Support update_device_list and"},{"line_number":114,"context_line":"              get_devices_details_list_and_failed_devices"},{"line_number":115,"context_line":"    \u0027\u0027\u0027"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    def __init__(self, topic):"}],"source_content_type":"text/x-python","patch_set":19,"id":"3fce034c_6854f821","line":114,"in_reply_to":"3fce034c_3c195621","updated":"2019-04-18 12:40:20.000000000","message":"You are right!","commit_id":"400abe90609e7f263efb8241b0bca6bb07580998"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"e974b589f456d949fbcf264254ce7de4971aea8b","unresolved":false,"context_lines":[{"line_number":144,"context_line":"            devices\u003ddevices, agent_id\u003dagent_id, host\u003dhost)"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    def get_network_details(self, context, network, agent_id, host\u003dNone):"},{"line_number":147,"context_line":"        cctxt \u003d self.client.prepare()"},{"line_number":148,"context_line":"        return cctxt.call(context, \u0027get_network_details\u0027, network\u003dnetwork,"},{"line_number":149,"context_line":"                          agent_id\u003dagent_id, host\u003dhost)"},{"line_number":150,"context_line":""}],"source_content_type":"text/x-python","patch_set":22,"id":"ffb9cba7_416626f0","line":147,"range":{"start_line":147,"start_character":28,"end_line":147,"end_character":37},"updated":"2019-04-23 08:24:24.000000000","message":"Don\u0027t we need to specify\n\n version\u003d\u00271\u00276\u0027\n\n?","commit_id":"3a6b830e90c499b2f2a805c0d98804e79df38537"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"7362fbfb10a5b72fd2bab0755c0cf883f35ea145","unresolved":false,"context_lines":[{"line_number":144,"context_line":"            devices\u003ddevices, agent_id\u003dagent_id, host\u003dhost)"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    def get_network_details(self, context, network, agent_id, host\u003dNone):"},{"line_number":147,"context_line":"        cctxt \u003d self.client.prepare()"},{"line_number":148,"context_line":"        return cctxt.call(context, \u0027get_network_details\u0027, network\u003dnetwork,"},{"line_number":149,"context_line":"                          agent_id\u003dagent_id, host\u003dhost)"},{"line_number":150,"context_line":""}],"source_content_type":"text/x-python","patch_set":22,"id":"ffb9cba7_66d9e781","line":147,"range":{"start_line":147,"start_character":28,"end_line":147,"end_character":37},"in_reply_to":"ffb9cba7_416626f0","updated":"2019-04-23 10:20:28.000000000","message":"Hmm you are right","commit_id":"3a6b830e90c499b2f2a805c0d98804e79df38537"}],"neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"5e5ce1f54415f4057d8d734b2f38df5d4913f797","unresolved":false,"context_lines":[{"line_number":399,"context_line":"                               n_const.TYPE_VXLAN: {}}"},{"line_number":400,"context_line":""},{"line_number":401,"context_line":"    def _update_network_segmentation_id(self, network):"},{"line_number":402,"context_line":"        if network[provider_net.NETWORK_TYPE] is not n_const.TYPE_VLAN:"},{"line_number":403,"context_line":"            return"},{"line_number":404,"context_line":"        try:"},{"line_number":405,"context_line":"            vlan_map \u003d self.vlan_manager.get(network[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":7,"id":"5fc1f717_907b238a","line":402,"range":{"start_line":402,"start_character":46,"end_line":402,"end_character":52},"updated":"2019-03-18 17:46:15.000000000","message":"This should be !\u003d","commit_id":"32ddcda2674f5bb8633158bf0fc5fb213957a18e"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"5e5ce1f54415f4057d8d734b2f38df5d4913f797","unresolved":false,"context_lines":[{"line_number":402,"context_line":"        if network[provider_net.NETWORK_TYPE] is not n_const.TYPE_VLAN:"},{"line_number":403,"context_line":"            return"},{"line_number":404,"context_line":"        try:"},{"line_number":405,"context_line":"            vlan_map \u003d self.vlan_manager.get(network[\u0027id\u0027])"},{"line_number":406,"context_line":"        except vlanmanager.MappingNotFound:"},{"line_number":407,"context_line":"            return"},{"line_number":408,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"5fc1f717_f0a4e7a7","line":405,"updated":"2019-03-18 17:46:15.000000000","message":"In case of restart, we need to remap the network vlan segmentation id, like in \"provision_local_vlan\"","commit_id":"32ddcda2674f5bb8633158bf0fc5fb213957a18e"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"16f3edc110e0a8495040b60572db7d595f5633e4","unresolved":false,"context_lines":[{"line_number":423,"context_line":"            port\u003dphys_port, lvid\u003dlvid,"},{"line_number":424,"context_line":"            segmentation_id\u003dnetwork[provider_net.SEGMENTATION_ID],"},{"line_number":425,"context_line":"            distributed\u003dself.enable_distributed_routing)"},{"line_number":426,"context_line":"        self.int_br.reclaim_local_vlan(port\u003dint_port,"},{"line_number":427,"context_line":"                                       segmentation_id\u003dsegmentation_id_old)"},{"line_number":428,"context_line":"        self.int_br.provision_local_vlan("},{"line_number":429,"context_line":"            port\u003dint_port, lvid\u003dlvid,"},{"line_number":430,"context_line":"            segmentation_id\u003dnetwork[provider_net.SEGMENTATION_ID])"},{"line_number":431,"context_line":""},{"line_number":432,"context_line":"    def setup_rpc(self):"},{"line_number":433,"context_line":"        self.plugin_rpc \u003d OVSPluginApi(topics.PLUGIN)"}],"source_content_type":"text/x-python","patch_set":11,"id":"5fc1f717_506aa0ec","line":430,"range":{"start_line":426,"start_character":8,"end_line":430,"end_character":66},"updated":"2019-03-28 20:27:35.000000000","message":"Is this just updating the VLAN on the phys_br side for the uplink, or is this changing the local VLAN ports plugged into br-int use?","commit_id":"e4b46f0e76f2e222e77ab226f953e0642a4934c9"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"1dc38b0ad7648a66a0dbc7f5f4dacfb577d147cd","unresolved":false,"context_lines":[{"line_number":423,"context_line":"            port\u003dphys_port, lvid\u003dlvid,"},{"line_number":424,"context_line":"            segmentation_id\u003dnetwork[provider_net.SEGMENTATION_ID],"},{"line_number":425,"context_line":"            distributed\u003dself.enable_distributed_routing)"},{"line_number":426,"context_line":"        self.int_br.reclaim_local_vlan(port\u003dint_port,"},{"line_number":427,"context_line":"                                       segmentation_id\u003dsegmentation_id_old)"},{"line_number":428,"context_line":"        self.int_br.provision_local_vlan("},{"line_number":429,"context_line":"            port\u003dint_port, lvid\u003dlvid,"},{"line_number":430,"context_line":"            segmentation_id\u003dnetwork[provider_net.SEGMENTATION_ID])"},{"line_number":431,"context_line":""},{"line_number":432,"context_line":"    def setup_rpc(self):"},{"line_number":433,"context_line":"        self.plugin_rpc \u003d OVSPluginApi(topics.PLUGIN)"}],"source_content_type":"text/x-python","patch_set":11,"id":"5fc1f717_b1db731f","line":430,"range":{"start_line":426,"start_character":8,"end_line":430,"end_character":66},"in_reply_to":"5fc1f717_506aa0ec","updated":"2019-04-03 10:33:40.000000000","message":"This is changing only the segmentation ID (external VLAN). We don\u0027t modify the internal VLAN mapping (local port VLANs are not modified).\n\nFirst command: remove the old seg_id.\nSecond command:\n  self.add_flow(\n    priority\u003d3,\n    in_port\u003dport,\n    dl_vlan\u003ddl_vlan,\n    actions\u003d\"mod_vlan_vid:%s,resubmit(,%d)\" % (\n      lvid, constants.TRANSIENT_TABLE))\n \u003d\u003d\u003e We are translating the internal VLAN tag to the new external VLAN tag.","commit_id":"e4b46f0e76f2e222e77ab226f953e0642a4934c9"}],"neutron/plugins/ml2/drivers/openvswitch/agent/vlanmanager.py":[{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"cc84cbc474c5252bbad1e2e243cd15d8f1b0c8bb","unresolved":false,"context_lines":[{"line_number":113,"context_line":"        try:"},{"line_number":114,"context_line":"            self.mapping[net_id].segmentation_id \u003d segmentation_id"},{"line_number":115,"context_line":"        except KeyError:"},{"line_number":116,"context_line":"            raise MappingNotFound(net_id\u003dnet_id)"}],"source_content_type":"text/x-python","patch_set":7,"id":"5fc1f717_217cba1d","line":116,"range":{"start_line":116,"start_character":12,"end_line":116,"end_character":48},"updated":"2019-03-13 13:59:45.000000000","message":"Is there something more user-friendly we can do with this? This will simply raise an error and dump a stack trace into the logs, I wonder if it would be worth it to handle this somehow with a friendly message for operators. Although, I\u0027m not sure what they could do about it.\n\nI guess my point is that its worth thinking about what to do with this situation, I would prefer to see us log a very specific error message rather than just dump a stack trace into the logs. Only someone familiar with the code will be able to make sense of what is happening. A better message will get operators oriented in the right direction to get some support.","commit_id":"32ddcda2674f5bb8633158bf0fc5fb213957a18e"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"5e5ce1f54415f4057d8d734b2f38df5d4913f797","unresolved":false,"context_lines":[{"line_number":113,"context_line":"        try:"},{"line_number":114,"context_line":"            self.mapping[net_id].segmentation_id \u003d segmentation_id"},{"line_number":115,"context_line":"        except KeyError:"},{"line_number":116,"context_line":"            raise MappingNotFound(net_id\u003dnet_id)"}],"source_content_type":"text/x-python","patch_set":7,"id":"5fc1f717_f375d164","line":116,"range":{"start_line":116,"start_character":12,"end_line":116,"end_character":48},"in_reply_to":"5fc1f717_217cba1d","updated":"2019-03-18 17:46:15.000000000","message":"This is not a user input error (for example, segmentation ID already used or out of the provided range), but a developer coding error. In [1] we first check the network exists in LocalVlanManager. With the existing code is not possible to hit this error.\n\nThis exception is here:\n- For consistency with other functions in this class.\n- To provide the developer, not the user (we should never hit this line), information about a severe error.\n\nAs I said, an operator should never hit this error. Even if this function is used anywhere else.\n\n[1] https://review.openstack.org/#/c/632984/7/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py@405","commit_id":"32ddcda2674f5bb8633158bf0fc5fb213957a18e"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"013b868ca0b5590a51f4afe01c008d35c7eb1742","unresolved":false,"context_lines":[{"line_number":113,"context_line":"        try:"},{"line_number":114,"context_line":"            self.mapping[net_id].segmentation_id \u003d segmentation_id"},{"line_number":115,"context_line":"        except KeyError:"},{"line_number":116,"context_line":"            raise MappingNotFound(net_id\u003dnet_id)"}],"source_content_type":"text/x-python","patch_set":7,"id":"5fc1f717_44ece7f2","line":116,"range":{"start_line":116,"start_character":12,"end_line":116,"end_character":48},"in_reply_to":"5fc1f717_f375d164","updated":"2019-03-21 21:23:23.000000000","message":"After searching around the code for how this exception is handled, it does appear that any error messages read nicely. No concern here after all.","commit_id":"32ddcda2674f5bb8633158bf0fc5fb213957a18e"}],"neutron/plugins/ml2/rpc.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"c70366b012345ace3d30d2ff56791aae2eba8a79","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    #       the device port"},{"line_number":52,"context_line":"    #   1.4 tunnel_sync rpc signature upgrade to obtain \u0027host\u0027"},{"line_number":53,"context_line":"    #   1.5 Support update_device_list and"},{"line_number":54,"context_line":"    #       get_devices_details_list_and_failed_devices"},{"line_number":55,"context_line":"    target \u003d oslo_messaging.Target(version\u003d\u00271.5\u0027)"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    def __init__(self, notifier, type_manager):"}],"source_content_type":"text/x-python","patch_set":19,"id":"3fce034c_fcbd0ed8","line":54,"updated":"2019-04-18 07:47:39.000000000","message":"And same here?","commit_id":"400abe90609e7f263efb8241b0bca6bb07580998"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"180837574b3fb8f7feaa6e83825473d94265d368","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    #       the device port"},{"line_number":52,"context_line":"    #   1.4 tunnel_sync rpc signature upgrade to obtain \u0027host\u0027"},{"line_number":53,"context_line":"    #   1.5 Support update_device_list and"},{"line_number":54,"context_line":"    #       get_devices_details_list_and_failed_devices"},{"line_number":55,"context_line":"    target \u003d oslo_messaging.Target(version\u003d\u00271.5\u0027)"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    def __init__(self, notifier, type_manager):"}],"source_content_type":"text/x-python","patch_set":19,"id":"3fce034c_882604ce","line":54,"in_reply_to":"3fce034c_fcbd0ed8","updated":"2019-04-18 12:40:20.000000000","message":"Done","commit_id":"400abe90609e7f263efb8241b0bca6bb07580998"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"e974b589f456d949fbcf264254ce7de4971aea8b","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    #   1.5 Support update_device_list and"},{"line_number":53,"context_line":"    #       get_devices_details_list_and_failed_devices"},{"line_number":54,"context_line":"    #   1.6 Support get_network_details"},{"line_number":55,"context_line":"    target \u003d oslo_messaging.Target(version\u003d\u00271.5\u0027)"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    def __init__(self, notifier, type_manager):"},{"line_number":58,"context_line":"        self.setup_tunnel_callback_mixin(notifier, type_manager)"}],"source_content_type":"text/x-python","patch_set":22,"id":"ffb9cba7_617d6a6d","line":55,"range":{"start_line":55,"start_character":43,"end_line":55,"end_character":48},"updated":"2019-04-23 08:24:24.000000000","message":"1.6?","commit_id":"3a6b830e90c499b2f2a805c0d98804e79df38537"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"7362fbfb10a5b72fd2bab0755c0cf883f35ea145","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    #   1.5 Support update_device_list and"},{"line_number":53,"context_line":"    #       get_devices_details_list_and_failed_devices"},{"line_number":54,"context_line":"    #   1.6 Support get_network_details"},{"line_number":55,"context_line":"    target \u003d oslo_messaging.Target(version\u003d\u00271.5\u0027)"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    def __init__(self, notifier, type_manager):"},{"line_number":58,"context_line":"        self.setup_tunnel_callback_mixin(notifier, type_manager)"}],"source_content_type":"text/x-python","patch_set":22,"id":"ffb9cba7_26e3ef35","line":55,"range":{"start_line":55,"start_character":43,"end_line":55,"end_character":48},"in_reply_to":"ffb9cba7_617d6a6d","updated":"2019-04-23 10:20:28.000000000","message":"Correct!","commit_id":"3a6b830e90c499b2f2a805c0d98804e79df38537"}],"neutron/tests/unit/plugins/ml2/drivers/openvswitch/agent/test_ovs_neutron_agent.py":[{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"013b868ca0b5590a51f4afe01c008d35c7eb1742","unresolved":false,"context_lines":[{"line_number":2399,"context_line":"            mock_get.assert_not_called()"},{"line_number":2400,"context_line":""},{"line_number":2401,"context_line":"    def test__update_network_segmentation_id_vlan_not_found(self):"},{"line_number":2402,"context_line":"        network \u003d {\u0027id\u0027: \u0027my-net-uuid\u0027,"},{"line_number":2403,"context_line":"                   provider_net.NETWORK_TYPE: n_const.TYPE_VLAN}"},{"line_number":2404,"context_line":"        with mock.patch.object(self.agent.vlan_manager,"},{"line_number":2405,"context_line":"                               \u0027update_segmentation_id\u0027) as mock_update_segid:"},{"line_number":2406,"context_line":"            self.agent._update_network_segmentation_id(network)"}],"source_content_type":"text/x-python","patch_set":9,"id":"5fc1f717_b3985275","line":2403,"range":{"start_line":2402,"start_character":18,"end_line":2403,"end_character":64},"updated":"2019-03-21 21:23:23.000000000","message":"Do you need to include a value for provider_net.PHYSICAL_NETWORK here? What about provider_net.SEGMENTATION_ID? I\u0027m not sure whether the test is wrong or the code is wrong, _update_network_segmentation_id() assumes that the network dict will pass values for both keys.","commit_id":"aacd35751244c79667df1a08445de050dce6b148"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"396a3c7450768d3025d83ab8f41834f0e36b4b0a","unresolved":false,"context_lines":[{"line_number":2399,"context_line":"            mock_get.assert_not_called()"},{"line_number":2400,"context_line":""},{"line_number":2401,"context_line":"    def test__update_network_segmentation_id_vlan_not_found(self):"},{"line_number":2402,"context_line":"        network \u003d {\u0027id\u0027: \u0027my-net-uuid\u0027,"},{"line_number":2403,"context_line":"                   provider_net.NETWORK_TYPE: n_const.TYPE_VLAN}"},{"line_number":2404,"context_line":"        with mock.patch.object(self.agent.vlan_manager,"},{"line_number":2405,"context_line":"                               \u0027update_segmentation_id\u0027) as mock_update_segid:"},{"line_number":2406,"context_line":"            self.agent._update_network_segmentation_id(network)"}],"source_content_type":"text/x-python","patch_set":9,"id":"5fc1f717_b20123b2","line":2403,"range":{"start_line":2402,"start_character":18,"end_line":2403,"end_character":64},"in_reply_to":"5fc1f717_b3985275","updated":"2019-03-22 10:01:04.000000000","message":"Yes, I changed the tested function without changing the tests. My bad.","commit_id":"aacd35751244c79667df1a08445de050dce6b148"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"013b868ca0b5590a51f4afe01c008d35c7eb1742","unresolved":false,"context_lines":[{"line_number":2407,"context_line":"            mock_update_segid.assert_not_called()"},{"line_number":2408,"context_line":""},{"line_number":2409,"context_line":"    def test__update_network_segmentation_id_segmentation_id_not_updated(self):"},{"line_number":2410,"context_line":"        network \u003d {\u0027id\u0027: \u0027my-net-uuid\u0027,"},{"line_number":2411,"context_line":"                   provider_net.SEGMENTATION_ID: 1005,"},{"line_number":2412,"context_line":"                   provider_net.NETWORK_TYPE: n_const.TYPE_VLAN}"},{"line_number":2413,"context_line":"        self.agent.vlan_manager.add(\u0027my-net-uuid\u0027, 5, n_const.TYPE_VLAN,"},{"line_number":2414,"context_line":"                                    \u0027provider_net\u0027, 1005, None)"},{"line_number":2415,"context_line":"        with mock.patch.object(self.agent.vlan_manager,"}],"source_content_type":"text/x-python","patch_set":9,"id":"5fc1f717_738c2a35","line":2412,"range":{"start_line":2410,"start_character":18,"end_line":2412,"end_character":64},"updated":"2019-03-21 21:23:23.000000000","message":"Do you need to include a value for provider_net.PHYSICAL_NETWORK here?","commit_id":"aacd35751244c79667df1a08445de050dce6b148"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"396a3c7450768d3025d83ab8f41834f0e36b4b0a","unresolved":false,"context_lines":[{"line_number":2407,"context_line":"            mock_update_segid.assert_not_called()"},{"line_number":2408,"context_line":""},{"line_number":2409,"context_line":"    def test__update_network_segmentation_id_segmentation_id_not_updated(self):"},{"line_number":2410,"context_line":"        network \u003d {\u0027id\u0027: \u0027my-net-uuid\u0027,"},{"line_number":2411,"context_line":"                   provider_net.SEGMENTATION_ID: 1005,"},{"line_number":2412,"context_line":"                   provider_net.NETWORK_TYPE: n_const.TYPE_VLAN}"},{"line_number":2413,"context_line":"        self.agent.vlan_manager.add(\u0027my-net-uuid\u0027, 5, n_const.TYPE_VLAN,"},{"line_number":2414,"context_line":"                                    \u0027provider_net\u0027, 1005, None)"},{"line_number":2415,"context_line":"        with mock.patch.object(self.agent.vlan_manager,"}],"source_content_type":"text/x-python","patch_set":9,"id":"5fc1f717_12f357e9","line":2412,"range":{"start_line":2410,"start_character":18,"end_line":2412,"end_character":64},"in_reply_to":"5fc1f717_738c2a35","updated":"2019-03-22 10:01:04.000000000","message":"ditto","commit_id":"aacd35751244c79667df1a08445de050dce6b148"},{"author":{"_account_id":10022,"name":"Gabriele Cerami","email":"gcerami@redhat.com","username":"panda"},"change_message_id":"d2c3675ca1e0d5af71fb11178023db47048c6934","unresolved":false,"context_lines":[{"line_number":2369,"context_line":"            else:"},{"line_number":2370,"context_line":"                bridge.set_datapath_id.assert_called_once_with(dpid)"},{"line_number":2371,"context_line":""},{"line_number":2372,"context_line":"    def test__update_network_segmentation_id(self):"},{"line_number":2373,"context_line":"        network \u003d {\u0027id\u0027: \u0027my-net-uuid\u0027,"},{"line_number":2374,"context_line":"                   provider_net.SEGMENTATION_ID: 1005,"},{"line_number":2375,"context_line":"                   provider_net.PHYSICAL_NETWORK: \u0027provider_net\u0027,"}],"source_content_type":"text/x-python","patch_set":24,"id":"ffb9cba7_37bf34b1","line":2372,"updated":"2019-04-29 08:03:52.000000000","message":"Why double underscore here and the following tests ?","commit_id":"9a95977592caf3711533261ff03e6f67653ee17b"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"f21009924a4945c033d23b6bc0c9469ca423a451","unresolved":false,"context_lines":[{"line_number":2369,"context_line":"            else:"},{"line_number":2370,"context_line":"                bridge.set_datapath_id.assert_called_once_with(dpid)"},{"line_number":2371,"context_line":""},{"line_number":2372,"context_line":"    def test__update_network_segmentation_id(self):"},{"line_number":2373,"context_line":"        network \u003d {\u0027id\u0027: \u0027my-net-uuid\u0027,"},{"line_number":2374,"context_line":"                   provider_net.SEGMENTATION_ID: 1005,"},{"line_number":2375,"context_line":"                   provider_net.PHYSICAL_NETWORK: \u0027provider_net\u0027,"}],"source_content_type":"text/x-python","patch_set":24,"id":"ffb9cba7_90bff85f","line":2372,"in_reply_to":"ffb9cba7_37bf34b1","updated":"2019-04-30 09:26:02.000000000","message":"The customary naming for test case functions is \"test_\" plus the name of the function; in this case:\n  \"test_\" + \"_update_network_segmentation_id\"\n\nhttp://codesearch.openstack.org/?q\u003dtest__\u0026i\u003dnope\u0026files\u003d\u0026repos\u003dneutron","commit_id":"9a95977592caf3711533261ff03e6f67653ee17b"}],"releasenotes/notes/change-segmentation-id-ovs-a201e0ac1c4d4fb6.yaml":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"c70366b012345ace3d30d2ff56791aae2eba8a79","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The segmentation ID of a provider network can be now modified, even with"},{"line_number":5,"context_line":"    OVS ports bound. Note that, during this process, the traffic of the bound"}],"source_content_type":"text/x-yaml","patch_set":19,"id":"3fce034c_dcb852e6","line":2,"updated":"2019-04-18 07:47:39.000000000","message":"IMHO this is pretty big new feature for next release so maybe it deserves to have \"prelude\" section also","commit_id":"400abe90609e7f263efb8241b0bca6bb07580998"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"180837574b3fb8f7feaa6e83825473d94265d368","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The segmentation ID of a provider network can be now modified, even with"},{"line_number":5,"context_line":"    OVS ports bound. Note that, during this process, the traffic of the bound"}],"source_content_type":"text/x-yaml","patch_set":19,"id":"3fce034c_081c5476","line":2,"in_reply_to":"3fce034c_dcb852e6","updated":"2019-04-18 12:40:20.000000000","message":"Done","commit_id":"400abe90609e7f263efb8241b0bca6bb07580998"},{"author":{"_account_id":30156,"name":"Igor D.C.","email":"igor.duarte.cardoso@intel.com","username":"igordc"},"change_message_id":"bdfb4f39c0176f6c3a7c313d8588e9c350beda85","unresolved":false,"context_lines":[{"line_number":8,"context_line":"    The segmentation ID of a provider network can be now modified, even with"},{"line_number":9,"context_line":"    OVS ports bound. Note that, during this process, the traffic of the bound"},{"line_number":10,"context_line":"    ports tagged with the former segmentation ID (external VLAN) will be mapped"},{"line_number":11,"context_line":"    to the new one. This can provoke a traffic disrruption while the external"},{"line_number":12,"context_line":"    network VLAN is migrated to the new tag."}],"source_content_type":"text/x-yaml","patch_set":20,"id":"3fce034c_8ebda203","line":11,"range":{"start_line":11,"start_character":47,"end_line":11,"end_character":58},"updated":"2019-04-18 22:42:47.000000000","message":"disruption","commit_id":"bf8479e7ee47481725b919c9019d4862b037df71"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"cadd777354a34aea21fb832d72229873267f189d","unresolved":false,"context_lines":[{"line_number":8,"context_line":"    The segmentation ID of a provider network can be now modified, even with"},{"line_number":9,"context_line":"    OVS ports bound. Note that, during this process, the traffic of the bound"},{"line_number":10,"context_line":"    ports tagged with the former segmentation ID (external VLAN) will be mapped"},{"line_number":11,"context_line":"    to the new one. This can provoke a traffic disrruption while the external"},{"line_number":12,"context_line":"    network VLAN is migrated to the new tag."}],"source_content_type":"text/x-yaml","patch_set":20,"id":"3fce034c_1499b8c2","line":11,"range":{"start_line":11,"start_character":47,"end_line":11,"end_character":58},"in_reply_to":"3fce034c_8ebda203","updated":"2019-04-19 06:48:40.000000000","message":"Done","commit_id":"bf8479e7ee47481725b919c9019d4862b037df71"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"d375911006883d16eb5ebd7fa6a642bdbb59dd0f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"prelude: \u003e"},{"line_number":3,"context_line":"    Support change provider network segmentation ID, including OVS agent bound"},{"line_number":4,"context_line":"    ports."},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"features:"},{"line_number":7,"context_line":"  - |"}],"source_content_type":"text/x-yaml","patch_set":24,"id":"ffb9cba7_64a8718b","line":4,"updated":"2019-05-01 19:25:18.000000000","message":"I would remove this prelude section as it makes a separate entry in the release notes that will seem disconnected from the feature.","commit_id":"9a95977592caf3711533261ff03e6f67653ee17b"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"ed3d49c993b9911a3a3c69079d525d81ae4a704e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"prelude: \u003e"},{"line_number":3,"context_line":"    Support change provider network segmentation ID, including OVS agent bound"},{"line_number":4,"context_line":"    ports."},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"features:"},{"line_number":7,"context_line":"  - |"}],"source_content_type":"text/x-yaml","patch_set":24,"id":"ffb9cba7_c4691df9","line":4,"in_reply_to":"ffb9cba7_64a8718b","updated":"2019-05-01 19:51:40.000000000","message":"Good catch. It looks better to use only \"features\" section.","commit_id":"9a95977592caf3711533261ff03e6f67653ee17b"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"8587c0061f0bfce8c4ffeaf05860aab49a7972bf","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"prelude: \u003e"},{"line_number":3,"context_line":"    Support change provider network segmentation ID, including OVS agent bound"},{"line_number":4,"context_line":"    ports."},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"features:"},{"line_number":7,"context_line":"  - |"}],"source_content_type":"text/x-yaml","patch_set":24,"id":"dfbec78f_baedcf26","line":4,"in_reply_to":"ffb9cba7_c4691df9","updated":"2019-05-03 16:05:10.000000000","message":"Done","commit_id":"9a95977592caf3711533261ff03e6f67653ee17b"}]}
