)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"bd8f21dfa9de4a606f3add0c78707a9f072b25a4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"fb6c9936_f9ab476d","updated":"2022-01-14 20:10:48.000000000","message":"\u003e Patch Set 1: Code-Review-1\n\u003e \n\u003e OVN driver does not support VLAN network segmentation ID change:\n\u003e \n\u003e BadRequestException: 400: Client Error for url: http://192.168.10.40:9696/v2.0/networks/c9689da8-f64b-4682-8ec1-3f141ed036cc, Invalid input for operation: Provider network attribute provider:segmentation_id cannot be updated if any port in the network has not the following binding:vif_type: unbound, binding_failed.\n\u003e \n\u003e \n\u003e If the network has a port bound to a OVN backend, this operations is forbidden. OVN mech driver does not implement \"provider_network_attribute_updates_supported\". See:\n\nI found that this is called only for the agent based mech drivers:\nhttps://github.com/openstack/neutron/blob/master/neutron/plugins/ml2/plugin.py#L901\n\nPerhaps when I tried I didn\u0027t have bound ports? I\u0027ll check that.\n","commit_id":"4b9fc733ff03c3bf9bab3bf1ee9e62c7125f39ec"}],"neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_client.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"72e130a461be729a058771688956988e65db99f0","unresolved":true,"context_lines":[{"line_number":1721,"context_line":"                                         network, txn)"},{"line_number":1722,"context_line":"            if (network.get(pnet.NETWORK_TYPE) \u003d\u003d const.TYPE_VLAN and"},{"line_number":1723,"context_line":"                    original_network and"},{"line_number":1724,"context_line":"                    network[pnet.SEGMENTATION_ID] !\u003d"},{"line_number":1725,"context_line":"                    original_network.get(pnet.SEGMENTATION_ID)):"},{"line_number":1726,"context_line":"                segment \u003d ["},{"line_number":1727,"context_line":"                    segment for segment in segments_db.get_network_segments("}],"source_content_type":"text/x-python","patch_set":1,"id":"59c1f1c1_d7cfb57d","line":1724,"updated":"2021-08-12 07:52:52.000000000","message":"is pnet.SEGMENTATION_ID expected to be always there? Below for original_network You use get() method to get that attribute.","commit_id":"4b9fc733ff03c3bf9bab3bf1ee9e62c7125f39ec"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"bd8f21dfa9de4a606f3add0c78707a9f072b25a4","unresolved":true,"context_lines":[{"line_number":1721,"context_line":"                                         network, txn)"},{"line_number":1722,"context_line":"            if (network.get(pnet.NETWORK_TYPE) \u003d\u003d const.TYPE_VLAN and"},{"line_number":1723,"context_line":"                    original_network and"},{"line_number":1724,"context_line":"                    network[pnet.SEGMENTATION_ID] !\u003d"},{"line_number":1725,"context_line":"                    original_network.get(pnet.SEGMENTATION_ID)):"},{"line_number":1726,"context_line":"                segment \u003d ["},{"line_number":1727,"context_line":"                    segment for segment in segments_db.get_network_segments("}],"source_content_type":"text/x-python","patch_set":1,"id":"0748644e_3c913d4f","line":1724,"in_reply_to":"59c1f1c1_d7cfb57d","updated":"2022-01-14 20:10:48.000000000","message":"That\u0027s a good question - I thought API validators would make sure if VLAN type is passed then the segmentation ID is passed with it.","commit_id":"4b9fc733ff03c3bf9bab3bf1ee9e62c7125f39ec"}]}
