)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"483a5d6ee5e1c869d8abca9c57304222c7f14492","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"9e701684_5d839ec6","updated":"2026-05-06 20:33:56.000000000","message":"Wait, the ATTR_NOT_SPECIFIED does not work how I would expect","commit_id":"944ddd66746b456ec3e11ca97a1371b967d07259"},{"author":{"_account_id":34271,"name":"Miro Tomaska","display_name":"Miro Tomaska","email":"mtomaska@redhat.com","username":"mtomaska"},"change_message_id":"537c2540d8faad0cc776fcc1cdd2e8d7606b43c4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"929475d0_82d66a58","updated":"2026-05-05 19:38:20.000000000","message":"lgtm","commit_id":"944ddd66746b456ec3e11ca97a1371b967d07259"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"d7a84d8d21929db92c7bab1b3044e9c277ae0d6a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"97abede8_4c31887c","updated":"2026-05-07 14:09:24.000000000","message":"recheck\n\npackage installation failed\n+ functions-common:apt_get:1201            :   sudo DEBIAN_FRONTEND\u003dnoninteractive http_proxy\u003d https_proxy\u003d no_proxy\u003d apt-get --option Dpkg::Options::\u003d--force-confold --assume-yes install ksmtuned\nReading package lists...\nBuilding dependency tree...\nReading state information...\nE: Unable to locate package ksmtuned","commit_id":"6e4175356792b0ce8ffc07a4825ccc212df4cad4"}],"neutron_lib/api/definitions/evpn.py":[{"author":{"_account_id":38298,"name":"Helen Chen","display_name":"Helen Chen","email":"ichen@redhat.com","username":"ingwherchen"},"change_message_id":"35a6999cf371198d45d1a1fe9d24ec95e026c931","unresolved":true,"context_lines":[{"line_number":43,"context_line":"            \u0027is_sort_key\u0027: True,"},{"line_number":44,"context_line":"            \u0027enforce_policy\u0027: True,"},{"line_number":45,"context_line":"            \u0027validate\u0027: {\u0027type:range_or_none\u0027:"},{"line_number":46,"context_line":"                         [0, constants.MAX_VXLAN_VNI]},"},{"line_number":47,"context_line":"        },"},{"line_number":48,"context_line":"    },"},{"line_number":49,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":1,"id":"473ae45e_23f1d7ec","side":"PARENT","line":46,"updated":"2026-05-05 13:17:23.000000000","message":"Should the range be [1, constants.MAX_VXLAN_VNI]?","commit_id":"ea424098bb1f44bd28732c3f8285022eaa6a15d7"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"f942bc7a4388ed0d0c7230bcffe9e22ae5f844fe","unresolved":true,"context_lines":[{"line_number":43,"context_line":"            \u0027is_sort_key\u0027: True,"},{"line_number":44,"context_line":"            \u0027enforce_policy\u0027: True,"},{"line_number":45,"context_line":"            \u0027validate\u0027: {\u0027type:range_or_none\u0027:"},{"line_number":46,"context_line":"                         [0, constants.MAX_VXLAN_VNI]},"},{"line_number":47,"context_line":"        },"},{"line_number":48,"context_line":"    },"},{"line_number":49,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":1,"id":"c94273bd_788bcc56","side":"PARENT","line":46,"in_reply_to":"473ae45e_23f1d7ec","updated":"2026-05-05 13:32:14.000000000","message":"I thought 0 means \"auto-allocate\"","commit_id":"ea424098bb1f44bd28732c3f8285022eaa6a15d7"},{"author":{"_account_id":38298,"name":"Helen Chen","display_name":"Helen Chen","email":"ichen@redhat.com","username":"ingwherchen"},"change_message_id":"3ca655f9833e36e6bfe85889e53273f084501270","unresolved":false,"context_lines":[{"line_number":43,"context_line":"            \u0027is_sort_key\u0027: True,"},{"line_number":44,"context_line":"            \u0027enforce_policy\u0027: True,"},{"line_number":45,"context_line":"            \u0027validate\u0027: {\u0027type:range_or_none\u0027:"},{"line_number":46,"context_line":"                         [0, constants.MAX_VXLAN_VNI]},"},{"line_number":47,"context_line":"        },"},{"line_number":48,"context_line":"    },"},{"line_number":49,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":1,"id":"90a1c6e5_eebad4cb","side":"PARENT","line":46,"in_reply_to":"c94273bd_788bcc56","updated":"2026-05-05 13:36:49.000000000","message":"yes, you\u0027re right.","commit_id":"ea424098bb1f44bd28732c3f8285022eaa6a15d7"},{"author":{"_account_id":38298,"name":"Helen Chen","display_name":"Helen Chen","email":"ichen@redhat.com","username":"ingwherchen"},"change_message_id":"35a6999cf371198d45d1a1fe9d24ec95e026c931","unresolved":true,"context_lines":[{"line_number":37,"context_line":"            \u0027allow_post\u0027: True,"},{"line_number":38,"context_line":"            \u0027allow_put\u0027: False,"},{"line_number":39,"context_line":"            \u0027convert_to\u0027: converters.convert_to_int_if_not_none,"},{"line_number":40,"context_line":"            \u0027default\u0027: constants.ATTR_NOT_SPECIFIED,"},{"line_number":41,"context_line":"            \u0027is_visible\u0027: True,"},{"line_number":42,"context_line":"            \u0027is_filter\u0027: True,"},{"line_number":43,"context_line":"            \u0027is_sort_key\u0027: True,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3c1872a5_4c6c79f2","line":40,"updated":"2026-05-05 13:17:23.000000000","message":"If this is the REST API, should the REST API fail if no evpn_vni specified, since an evpn_vni of zero means auto-assign a value?","commit_id":"944ddd66746b456ec3e11ca97a1371b967d07259"},{"author":{"_account_id":38298,"name":"Helen Chen","display_name":"Helen Chen","email":"ichen@redhat.com","username":"ingwherchen"},"change_message_id":"3ca655f9833e36e6bfe85889e53273f084501270","unresolved":false,"context_lines":[{"line_number":37,"context_line":"            \u0027allow_post\u0027: True,"},{"line_number":38,"context_line":"            \u0027allow_put\u0027: False,"},{"line_number":39,"context_line":"            \u0027convert_to\u0027: converters.convert_to_int_if_not_none,"},{"line_number":40,"context_line":"            \u0027default\u0027: constants.ATTR_NOT_SPECIFIED,"},{"line_number":41,"context_line":"            \u0027is_visible\u0027: True,"},{"line_number":42,"context_line":"            \u0027is_filter\u0027: True,"},{"line_number":43,"context_line":"            \u0027is_sort_key\u0027: True,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5ed5f9ea_473f5e51","line":40,"in_reply_to":"081c0afd_89b64834","updated":"2026-05-05 13:36:49.000000000","message":"yes, we should allow non-evpn routers.  I get it now.  This value means that a message creating a non-evpn router does not specify evpn_vni.","commit_id":"944ddd66746b456ec3e11ca97a1371b967d07259"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"f942bc7a4388ed0d0c7230bcffe9e22ae5f844fe","unresolved":true,"context_lines":[{"line_number":37,"context_line":"            \u0027allow_post\u0027: True,"},{"line_number":38,"context_line":"            \u0027allow_put\u0027: False,"},{"line_number":39,"context_line":"            \u0027convert_to\u0027: converters.convert_to_int_if_not_none,"},{"line_number":40,"context_line":"            \u0027default\u0027: constants.ATTR_NOT_SPECIFIED,"},{"line_number":41,"context_line":"            \u0027is_visible\u0027: True,"},{"line_number":42,"context_line":"            \u0027is_filter\u0027: True,"},{"line_number":43,"context_line":"            \u0027is_sort_key\u0027: True,"}],"source_content_type":"text/x-python","patch_set":1,"id":"081c0afd_89b64834","line":40,"in_reply_to":"3c1872a5_4c6c79f2","updated":"2026-05-05 13:32:14.000000000","message":"I think we should allow to create non-evpn routers too if the extension is enabled, shouldn\u0027t we?","commit_id":"944ddd66746b456ec3e11ca97a1371b967d07259"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"57d7895b0b208c86e31191d4b0df9c8f7019ff41","unresolved":false,"context_lines":[{"line_number":37,"context_line":"            \u0027allow_post\u0027: True,"},{"line_number":38,"context_line":"            \u0027allow_put\u0027: False,"},{"line_number":39,"context_line":"            \u0027convert_to\u0027: converters.convert_to_int_if_not_none,"},{"line_number":40,"context_line":"            \u0027default\u0027: constants.ATTR_NOT_SPECIFIED,"},{"line_number":41,"context_line":"            \u0027is_visible\u0027: True,"},{"line_number":42,"context_line":"            \u0027is_filter\u0027: True,"},{"line_number":43,"context_line":"            \u0027is_sort_key\u0027: True,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7157d52f_2107352d","line":40,"in_reply_to":"5ed5f9ea_473f5e51","updated":"2026-05-05 13:40:20.000000000","message":"Exactly - then we can catch a KeyError if the vni was not provided in the request and do nothing with the evpn service plugin, like https://review.opendev.org/c/openstack/neutron/+/987250/3/neutron/services/evpn/plugin.py@79","commit_id":"944ddd66746b456ec3e11ca97a1371b967d07259"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"f3f8eb0b13e55f92079b4b3a94eeab64765295e1","unresolved":false,"context_lines":[{"line_number":37,"context_line":"            \u0027allow_post\u0027: True,"},{"line_number":38,"context_line":"            \u0027allow_put\u0027: False,"},{"line_number":39,"context_line":"            \u0027convert_to\u0027: converters.convert_to_int_if_not_none,"},{"line_number":40,"context_line":"            \u0027default\u0027: constants.ATTR_NOT_SPECIFIED,"},{"line_number":41,"context_line":"            \u0027is_visible\u0027: True,"},{"line_number":42,"context_line":"            \u0027is_filter\u0027: True,"},{"line_number":43,"context_line":"            \u0027is_sort_key\u0027: True,"}],"source_content_type":"text/x-python","patch_set":1,"id":"0e512e21_6ef854f6","line":40,"in_reply_to":"7157d52f_2107352d","updated":"2026-05-07 13:59:08.000000000","message":"Actually that\u0027s not how it works, we\u0027ll need to check for the ATTR_NOT_SPECIFIED object explicitly.","commit_id":"944ddd66746b456ec3e11ca97a1371b967d07259"}]}
