)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6005918783d560b5d2c2934808f8414d3e973bad","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"02d850ba_e95f903e","updated":"2026-05-05 16:46:47.000000000","message":"As discussed on IRC, there are potentially a few other filters missing here. I\u0027m not -1\u0027ing because we might want to fix them separately and SDK could just be wrong.","commit_id":"b67dd10a6fb081a7193a8e1eaf9fb334258e33b5"},{"author":{"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},"change_message_id":"ce99170e7ce8549d37ae049624e70ed86bffc48b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"c7bbe664_b4b3f6a9","updated":"2026-05-06 11:34:54.000000000","message":"Looks good afaik :)","commit_id":"b888b84ee21ceb2e4a147ec2e5283553e7ff52b3"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"a73b29bbb2fd586f8d46c29c6b343294e6c67d7b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"3725e63a_dfb593bb","updated":"2026-05-05 21:11:32.000000000","message":"The sdk -ext did still fail in the test patch, might not be pulling in the change there","commit_id":"b888b84ee21ceb2e4a147ec2e5283553e7ff52b3"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"38c02232e2fcda650c1d5e617fbb8fc8bd153812","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"b69c1ad1_18b5e35c","updated":"2026-05-05 21:10:26.000000000","message":"recheck functional failure unrelated","commit_id":"b888b84ee21ceb2e4a147ec2e5283553e7ff52b3"}],"neutron_lib/api/definitions/firewall_v2.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9e0b2dbcb437c031d57f41a4b70b00dc86056e76","unresolved":true,"context_lines":[{"line_number":44,"context_line":"API_PREFIX \u003d \u0027/fwaas\u0027"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"RESOURCE_ATTRIBUTE_MAP \u003d {"},{"line_number":47,"context_line":"    api_const.FIREWALL_RULES: {"},{"line_number":48,"context_line":"        \u0027id\u0027: {\u0027allow_post\u0027: False, \u0027allow_put\u0027: False,"},{"line_number":49,"context_line":"               \u0027validate\u0027: {\u0027type:uuid\u0027: None},"},{"line_number":50,"context_line":"               \u0027is_visible\u0027: True, \u0027primary_key\u0027: True},"},{"line_number":51,"context_line":"        \u0027tenant_id\u0027: {\u0027allow_post\u0027: True, \u0027allow_put\u0027: False,"},{"line_number":52,"context_line":"                      \u0027required_by_policy\u0027: True,"},{"line_number":53,"context_line":"                      \u0027validate\u0027: {\u0027type:string\u0027:"},{"line_number":54,"context_line":"                                   db_const.UUID_FIELD_SIZE},"},{"line_number":55,"context_line":"                      \u0027is_visible\u0027: True},"},{"line_number":56,"context_line":"        \u0027name\u0027: {\u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":57,"context_line":"                 \u0027is_filter\u0027: True, \u0027is_sort_key\u0027: True,"},{"line_number":58,"context_line":"                 \u0027validate\u0027: {\u0027type:string\u0027: db_const.NAME_FIELD_SIZE},"},{"line_number":59,"context_line":"                 \u0027is_visible\u0027: True, \u0027default\u0027: \u0027\u0027},"},{"line_number":60,"context_line":"        \u0027description\u0027: {\u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":61,"context_line":"                        \u0027validate\u0027: {\u0027type:string\u0027:"},{"line_number":62,"context_line":"                                     db_const.DESCRIPTION_FIELD_SIZE},"},{"line_number":63,"context_line":"                        \u0027is_visible\u0027: True, \u0027default\u0027: \u0027\u0027},"},{"line_number":64,"context_line":"        \u0027firewall_policy_id\u0027: {\u0027allow_post\u0027: False, \u0027allow_put\u0027: False,"},{"line_number":65,"context_line":"                               \u0027validate\u0027: {\u0027type:uuid_or_none\u0027: None},"},{"line_number":66,"context_line":"                               \u0027is_visible\u0027: True},"},{"line_number":67,"context_line":"        constants.SHARED: {"},{"line_number":68,"context_line":"            \u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":69,"context_line":"            \u0027default\u0027: False, \u0027is_visible\u0027: True,"},{"line_number":70,"context_line":"            \u0027convert_to\u0027: converters.convert_to_boolean,"},{"line_number":71,"context_line":"            \u0027required_by_policy\u0027: True, \u0027enforce_policy\u0027: True"},{"line_number":72,"context_line":"        },"},{"line_number":73,"context_line":"        \u0027protocol\u0027: {"},{"line_number":74,"context_line":"            \u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":75,"context_line":"            \u0027is_visible\u0027: True, \u0027default\u0027: None,"},{"line_number":76,"context_line":"            \u0027convert_to\u0027: converters.convert_to_protocol,"},{"line_number":77,"context_line":"            \u0027validate\u0027: {\u0027type:values\u0027: api_const.FW_PROTOCOL_VALUES}},"},{"line_number":78,"context_line":"        \u0027ip_version\u0027: {\u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":79,"context_line":"                       \u0027default\u0027: 4, \u0027convert_to\u0027: converters.convert_to_int,"},{"line_number":80,"context_line":"                       \u0027validate\u0027: {\u0027type:values\u0027: [4, 6]},"},{"line_number":81,"context_line":"                       \u0027is_visible\u0027: True},"},{"line_number":82,"context_line":"        \u0027source_ip_address\u0027: {\u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":83,"context_line":"                              \u0027validate\u0027: {\u0027type:ip_or_subnet_or_none\u0027: None},"},{"line_number":84,"context_line":"                              \u0027is_visible\u0027: True, \u0027default\u0027: None},"},{"line_number":85,"context_line":"        \u0027destination_ip_address\u0027: {\u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":86,"context_line":"                                   \u0027validate\u0027: {\u0027type:ip_or_subnet_or_none\u0027:"},{"line_number":87,"context_line":"                                                None},"},{"line_number":88,"context_line":"                                   \u0027is_visible\u0027: True, \u0027default\u0027: None},"},{"line_number":89,"context_line":"        \u0027source_port\u0027: {\u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":90,"context_line":"                        \u0027validate\u0027: {\u0027type:port_range\u0027: None},"},{"line_number":91,"context_line":"                        \u0027convert_to\u0027: converters.convert_to_string,"},{"line_number":92,"context_line":"                        \u0027default\u0027: None, \u0027is_visible\u0027: True},"},{"line_number":93,"context_line":"        \u0027destination_port\u0027: {\u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":94,"context_line":"                             \u0027validate\u0027: {\u0027type:port_range\u0027: None},"},{"line_number":95,"context_line":"                             \u0027convert_to\u0027: converters.convert_to_string,"},{"line_number":96,"context_line":"                             \u0027default\u0027: None, \u0027is_visible\u0027: True},"},{"line_number":97,"context_line":"        \u0027position\u0027: {\u0027allow_post\u0027: False, \u0027allow_put\u0027: False,"},{"line_number":98,"context_line":"                     \u0027default\u0027: None, \u0027is_visible\u0027: True},"},{"line_number":99,"context_line":"        \u0027action\u0027: {\u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":100,"context_line":"                   \u0027convert_to\u0027: converters.convert_string_to_case_insensitive,"},{"line_number":101,"context_line":"                   \u0027validate\u0027: {\u0027type:values\u0027:"},{"line_number":102,"context_line":"                                api_const.FW_VALID_ACTION_VALUES},"},{"line_number":103,"context_line":"                   \u0027is_visible\u0027: True, \u0027default\u0027: \u0027deny\u0027},"},{"line_number":104,"context_line":"        \u0027enabled\u0027: {\u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":105,"context_line":"                    \u0027convert_to\u0027: converters.convert_to_boolean,"},{"line_number":106,"context_line":"                    \u0027default\u0027: True, \u0027is_visible\u0027: True},"},{"line_number":107,"context_line":"    },"},{"line_number":108,"context_line":"    api_const.FIREWALL_GROUPS: {"},{"line_number":109,"context_line":"        \u0027id\u0027: {\u0027allow_post\u0027: False, \u0027allow_put\u0027: False,"},{"line_number":110,"context_line":"               \u0027validate\u0027: {\u0027type:uuid\u0027: None},"}],"source_content_type":"text/x-python","patch_set":1,"id":"cc88e14b_c1b764a1","line":107,"range":{"start_line":47,"start_character":0,"end_line":107,"end_character":6},"updated":"2026-05-05 16:46:06.000000000","message":"There are quite a few other filters that SDK alleges neutron supported. I don\u0027t know how many of these are actually valid, but some of them (like `enabled`) \"feel\" valid.\n\nhttps://github.com/openstack/openstacksdk/blob/405e2d7836a2777eb59f06f95f4025faa058f166/openstack/network/v2/firewall_rule.py#L33-L47","commit_id":"b67dd10a6fb081a7193a8e1eaf9fb334258e33b5"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"41628362e94be9654ea5d427bcf67fe6bdda6146","unresolved":true,"context_lines":[{"line_number":44,"context_line":"API_PREFIX \u003d \u0027/fwaas\u0027"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"RESOURCE_ATTRIBUTE_MAP \u003d {"},{"line_number":47,"context_line":"    api_const.FIREWALL_RULES: {"},{"line_number":48,"context_line":"        \u0027id\u0027: {\u0027allow_post\u0027: False, \u0027allow_put\u0027: False,"},{"line_number":49,"context_line":"               \u0027validate\u0027: {\u0027type:uuid\u0027: None},"},{"line_number":50,"context_line":"               \u0027is_visible\u0027: True, \u0027primary_key\u0027: True},"},{"line_number":51,"context_line":"        \u0027tenant_id\u0027: {\u0027allow_post\u0027: True, \u0027allow_put\u0027: False,"},{"line_number":52,"context_line":"                      \u0027required_by_policy\u0027: True,"},{"line_number":53,"context_line":"                      \u0027validate\u0027: {\u0027type:string\u0027:"},{"line_number":54,"context_line":"                                   db_const.UUID_FIELD_SIZE},"},{"line_number":55,"context_line":"                      \u0027is_visible\u0027: True},"},{"line_number":56,"context_line":"        \u0027name\u0027: {\u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":57,"context_line":"                 \u0027is_filter\u0027: True, \u0027is_sort_key\u0027: True,"},{"line_number":58,"context_line":"                 \u0027validate\u0027: {\u0027type:string\u0027: db_const.NAME_FIELD_SIZE},"},{"line_number":59,"context_line":"                 \u0027is_visible\u0027: True, \u0027default\u0027: \u0027\u0027},"},{"line_number":60,"context_line":"        \u0027description\u0027: {\u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":61,"context_line":"                        \u0027validate\u0027: {\u0027type:string\u0027:"},{"line_number":62,"context_line":"                                     db_const.DESCRIPTION_FIELD_SIZE},"},{"line_number":63,"context_line":"                        \u0027is_visible\u0027: True, \u0027default\u0027: \u0027\u0027},"},{"line_number":64,"context_line":"        \u0027firewall_policy_id\u0027: {\u0027allow_post\u0027: False, \u0027allow_put\u0027: False,"},{"line_number":65,"context_line":"                               \u0027validate\u0027: {\u0027type:uuid_or_none\u0027: None},"},{"line_number":66,"context_line":"                               \u0027is_visible\u0027: True},"},{"line_number":67,"context_line":"        constants.SHARED: {"},{"line_number":68,"context_line":"            \u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":69,"context_line":"            \u0027default\u0027: False, \u0027is_visible\u0027: True,"},{"line_number":70,"context_line":"            \u0027convert_to\u0027: converters.convert_to_boolean,"},{"line_number":71,"context_line":"            \u0027required_by_policy\u0027: True, \u0027enforce_policy\u0027: True"},{"line_number":72,"context_line":"        },"},{"line_number":73,"context_line":"        \u0027protocol\u0027: {"},{"line_number":74,"context_line":"            \u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":75,"context_line":"            \u0027is_visible\u0027: True, \u0027default\u0027: None,"},{"line_number":76,"context_line":"            \u0027convert_to\u0027: converters.convert_to_protocol,"},{"line_number":77,"context_line":"            \u0027validate\u0027: {\u0027type:values\u0027: api_const.FW_PROTOCOL_VALUES}},"},{"line_number":78,"context_line":"        \u0027ip_version\u0027: {\u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":79,"context_line":"                       \u0027default\u0027: 4, \u0027convert_to\u0027: converters.convert_to_int,"},{"line_number":80,"context_line":"                       \u0027validate\u0027: {\u0027type:values\u0027: [4, 6]},"},{"line_number":81,"context_line":"                       \u0027is_visible\u0027: True},"},{"line_number":82,"context_line":"        \u0027source_ip_address\u0027: {\u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":83,"context_line":"                              \u0027validate\u0027: {\u0027type:ip_or_subnet_or_none\u0027: None},"},{"line_number":84,"context_line":"                              \u0027is_visible\u0027: True, \u0027default\u0027: None},"},{"line_number":85,"context_line":"        \u0027destination_ip_address\u0027: {\u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":86,"context_line":"                                   \u0027validate\u0027: {\u0027type:ip_or_subnet_or_none\u0027:"},{"line_number":87,"context_line":"                                                None},"},{"line_number":88,"context_line":"                                   \u0027is_visible\u0027: True, \u0027default\u0027: None},"},{"line_number":89,"context_line":"        \u0027source_port\u0027: {\u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":90,"context_line":"                        \u0027validate\u0027: {\u0027type:port_range\u0027: None},"},{"line_number":91,"context_line":"                        \u0027convert_to\u0027: converters.convert_to_string,"},{"line_number":92,"context_line":"                        \u0027default\u0027: None, \u0027is_visible\u0027: True},"},{"line_number":93,"context_line":"        \u0027destination_port\u0027: {\u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":94,"context_line":"                             \u0027validate\u0027: {\u0027type:port_range\u0027: None},"},{"line_number":95,"context_line":"                             \u0027convert_to\u0027: converters.convert_to_string,"},{"line_number":96,"context_line":"                             \u0027default\u0027: None, \u0027is_visible\u0027: True},"},{"line_number":97,"context_line":"        \u0027position\u0027: {\u0027allow_post\u0027: False, \u0027allow_put\u0027: False,"},{"line_number":98,"context_line":"                     \u0027default\u0027: None, \u0027is_visible\u0027: True},"},{"line_number":99,"context_line":"        \u0027action\u0027: {\u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":100,"context_line":"                   \u0027convert_to\u0027: converters.convert_string_to_case_insensitive,"},{"line_number":101,"context_line":"                   \u0027validate\u0027: {\u0027type:values\u0027:"},{"line_number":102,"context_line":"                                api_const.FW_VALID_ACTION_VALUES},"},{"line_number":103,"context_line":"                   \u0027is_visible\u0027: True, \u0027default\u0027: \u0027deny\u0027},"},{"line_number":104,"context_line":"        \u0027enabled\u0027: {\u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":105,"context_line":"                    \u0027convert_to\u0027: converters.convert_to_boolean,"},{"line_number":106,"context_line":"                    \u0027default\u0027: True, \u0027is_visible\u0027: True},"},{"line_number":107,"context_line":"    },"},{"line_number":108,"context_line":"    api_const.FIREWALL_GROUPS: {"},{"line_number":109,"context_line":"        \u0027id\u0027: {\u0027allow_post\u0027: False, \u0027allow_put\u0027: False,"},{"line_number":110,"context_line":"               \u0027validate\u0027: {\u0027type:uuid\u0027: None},"}],"source_content_type":"text/x-python","patch_set":1,"id":"2cb29b8e_691b0602","line":107,"range":{"start_line":47,"start_character":0,"end_line":107,"end_character":6},"in_reply_to":"cc88e14b_c1b764a1","updated":"2026-05-06 12:02:55.000000000","message":"yeah, description for example is not common for filtering, but the others perhaps are ok","commit_id":"b67dd10a6fb081a7193a8e1eaf9fb334258e33b5"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9e0b2dbcb437c031d57f41a4b70b00dc86056e76","unresolved":true,"context_lines":[{"line_number":105,"context_line":"                    \u0027convert_to\u0027: converters.convert_to_boolean,"},{"line_number":106,"context_line":"                    \u0027default\u0027: True, \u0027is_visible\u0027: True},"},{"line_number":107,"context_line":"    },"},{"line_number":108,"context_line":"    api_const.FIREWALL_GROUPS: {"},{"line_number":109,"context_line":"        \u0027id\u0027: {\u0027allow_post\u0027: False, \u0027allow_put\u0027: False,"},{"line_number":110,"context_line":"               \u0027validate\u0027: {\u0027type:uuid\u0027: None},"},{"line_number":111,"context_line":"               \u0027is_visible\u0027: True,"},{"line_number":112,"context_line":"               \u0027primary_key\u0027: True},"},{"line_number":113,"context_line":"        \u0027name\u0027: {\u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":114,"context_line":"                 \u0027is_filter\u0027: True, \u0027is_sort_key\u0027: True,"},{"line_number":115,"context_line":"                 \u0027validate\u0027: {\u0027type:string\u0027: db_const.NAME_FIELD_SIZE},"},{"line_number":116,"context_line":"                 \u0027is_visible\u0027: True, \u0027default\u0027: \u0027\u0027},"},{"line_number":117,"context_line":"        \u0027description\u0027: {\u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":118,"context_line":"                        \u0027validate\u0027: {\u0027type:string\u0027:"},{"line_number":119,"context_line":"                                     db_const.DESCRIPTION_FIELD_SIZE},"},{"line_number":120,"context_line":"                        \u0027is_visible\u0027: True, \u0027default\u0027: \u0027\u0027},"},{"line_number":121,"context_line":"        \u0027admin_state_up\u0027: {\u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":122,"context_line":"                           \u0027default\u0027: True, \u0027is_visible\u0027: True,"},{"line_number":123,"context_line":"                           \u0027convert_to\u0027: converters.convert_to_boolean},"},{"line_number":124,"context_line":"        \u0027status\u0027: {\u0027allow_post\u0027: False, \u0027allow_put\u0027: False,"},{"line_number":125,"context_line":"                   \u0027is_visible\u0027: True},"},{"line_number":126,"context_line":"        constants.SHARED: {"},{"line_number":127,"context_line":"            \u0027allow_post\u0027: True, \u0027allow_put\u0027: True, \u0027default\u0027: False,"},{"line_number":128,"context_line":"            \u0027convert_to\u0027: converters.convert_to_boolean,"},{"line_number":129,"context_line":"            \u0027is_visible\u0027: True, \u0027required_by_policy\u0027: True,"},{"line_number":130,"context_line":"            \u0027enforce_policy\u0027: True"},{"line_number":131,"context_line":"        },"},{"line_number":132,"context_line":"        port.COLLECTION_NAME: {\u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":133,"context_line":"                               \u0027validate\u0027: {\u0027type:uuid_list\u0027: None},"},{"line_number":134,"context_line":"                               \u0027convert_to\u0027:"},{"line_number":135,"context_line":"                                   converters.convert_none_to_empty_list,"},{"line_number":136,"context_line":"                               \u0027default\u0027: None, \u0027is_visible\u0027: True},"},{"line_number":137,"context_line":"        \u0027tenant_id\u0027: {\u0027allow_post\u0027: True, \u0027allow_put\u0027: False,"},{"line_number":138,"context_line":"                      \u0027required_by_policy\u0027: True,"},{"line_number":139,"context_line":"                      \u0027validate\u0027: {\u0027type:string\u0027:"},{"line_number":140,"context_line":"                                   db_const.UUID_FIELD_SIZE},"},{"line_number":141,"context_line":"                      \u0027is_visible\u0027: True},"},{"line_number":142,"context_line":"        \u0027ingress_firewall_policy_id\u0027: {\u0027allow_post\u0027: True,"},{"line_number":143,"context_line":"                                       \u0027allow_put\u0027: True,"},{"line_number":144,"context_line":"                                       \u0027validate\u0027: {\u0027type:uuid_or_none\u0027:"},{"line_number":145,"context_line":"                                                    None},"},{"line_number":146,"context_line":"                                       \u0027default\u0027: None, \u0027is_visible\u0027: True},"},{"line_number":147,"context_line":"        \u0027egress_firewall_policy_id\u0027: {\u0027allow_post\u0027: True,"},{"line_number":148,"context_line":"                                      \u0027allow_put\u0027: True,"},{"line_number":149,"context_line":"                                      \u0027validate\u0027: {\u0027type:uuid_or_none\u0027:"},{"line_number":150,"context_line":"                                                   None},"},{"line_number":151,"context_line":"                                      \u0027default\u0027: None, \u0027is_visible\u0027: True},"},{"line_number":152,"context_line":"    },"},{"line_number":153,"context_line":"    api_const.FIREWALL_POLICIES: {"},{"line_number":154,"context_line":"        \u0027id\u0027: {\u0027allow_post\u0027: False, \u0027allow_put\u0027: False,"},{"line_number":155,"context_line":"               \u0027validate\u0027: {\u0027type:uuid\u0027: None},"}],"source_content_type":"text/x-python","patch_set":1,"id":"782ddb72_9d1b582a","line":152,"range":{"start_line":108,"start_character":0,"end_line":152,"end_character":6},"updated":"2026-05-05 16:46:06.000000000","message":"Ditto\n\nhttps://github.com/openstack/openstacksdk/blob/405e2d7836a2777eb59f06f95f4025faa058f166/openstack/network/v2/firewall_group.py#L33-L42","commit_id":"b67dd10a6fb081a7193a8e1eaf9fb334258e33b5"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9e0b2dbcb437c031d57f41a4b70b00dc86056e76","unresolved":true,"context_lines":[{"line_number":150,"context_line":"                                                   None},"},{"line_number":151,"context_line":"                                      \u0027default\u0027: None, \u0027is_visible\u0027: True},"},{"line_number":152,"context_line":"    },"},{"line_number":153,"context_line":"    api_const.FIREWALL_POLICIES: {"},{"line_number":154,"context_line":"        \u0027id\u0027: {\u0027allow_post\u0027: False, \u0027allow_put\u0027: False,"},{"line_number":155,"context_line":"               \u0027validate\u0027: {\u0027type:uuid\u0027: None},"},{"line_number":156,"context_line":"               \u0027is_visible\u0027: True,"},{"line_number":157,"context_line":"               \u0027primary_key\u0027: True},"},{"line_number":158,"context_line":"        \u0027tenant_id\u0027: {\u0027allow_post\u0027: True, \u0027allow_put\u0027: False,"},{"line_number":159,"context_line":"                      \u0027required_by_policy\u0027: True,"},{"line_number":160,"context_line":"                      \u0027validate\u0027: {\u0027type:string\u0027:"},{"line_number":161,"context_line":"                                   db_const.UUID_FIELD_SIZE},"},{"line_number":162,"context_line":"                      \u0027is_visible\u0027: True},"},{"line_number":163,"context_line":"        \u0027name\u0027: {\u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":164,"context_line":"                 \u0027is_filter\u0027: True, \u0027is_sort_key\u0027: True,"},{"line_number":165,"context_line":"                 \u0027validate\u0027: {\u0027type:string\u0027: db_const.NAME_FIELD_SIZE},"},{"line_number":166,"context_line":"                 \u0027is_visible\u0027: True, \u0027default\u0027: \u0027\u0027},"},{"line_number":167,"context_line":"        \u0027description\u0027: {\u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":168,"context_line":"                        \u0027validate\u0027: {\u0027type:string\u0027:"},{"line_number":169,"context_line":"                                     db_const.DESCRIPTION_FIELD_SIZE},"},{"line_number":170,"context_line":"                        \u0027is_visible\u0027: True, \u0027default\u0027: \u0027\u0027},"},{"line_number":171,"context_line":"        constants.SHARED: {"},{"line_number":172,"context_line":"            \u0027allow_post\u0027: True, \u0027allow_put\u0027: True, \u0027default\u0027: False,"},{"line_number":173,"context_line":"            \u0027convert_to\u0027: converters.convert_to_boolean,"},{"line_number":174,"context_line":"            \u0027is_visible\u0027: True, \u0027required_by_policy\u0027: True,"},{"line_number":175,"context_line":"            \u0027enforce_policy\u0027: True"},{"line_number":176,"context_line":"        },"},{"line_number":177,"context_line":"        api_const.FIREWALL_RULES: {\u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":178,"context_line":"                                   \u0027validate\u0027: {\u0027type:uuid_list\u0027: None},"},{"line_number":179,"context_line":"                                   \u0027convert_to\u0027:"},{"line_number":180,"context_line":"                                       converters.convert_none_to_empty_list,"},{"line_number":181,"context_line":"                                   \u0027default\u0027: None, \u0027is_visible\u0027: True},"},{"line_number":182,"context_line":"        \u0027audited\u0027: {\u0027allow_post\u0027: True, \u0027allow_put\u0027: True, \u0027default\u0027: False,"},{"line_number":183,"context_line":"                    \u0027convert_to\u0027: converters.convert_to_boolean,"},{"line_number":184,"context_line":"                    \u0027is_visible\u0027: True},"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"    },"},{"line_number":187,"context_line":"}"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"# The subresource attribute map for the extension.  This extension has only"}],"source_content_type":"text/x-python","patch_set":1,"id":"84fefd81_57f29deb","line":186,"range":{"start_line":153,"start_character":1,"end_line":186,"end_character":6},"updated":"2026-05-05 16:46:06.000000000","message":"Ditto\n\nhttps://github.com/openstack/openstacksdk/blob/405e2d7836a2777eb59f06f95f4025faa058f166/openstack/network/v2/firewall_policy.py#L35-L41","commit_id":"b67dd10a6fb081a7193a8e1eaf9fb334258e33b5"}],"neutron_lib/api/definitions/taas.py":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"41628362e94be9654ea5d427bcf67fe6bdda6146","unresolved":true,"context_lines":[{"line_number":46,"context_line":"        \u0027id\u0027: {\u0027allow_post\u0027: False, \u0027allow_put\u0027: False,"},{"line_number":47,"context_line":"               \u0027validate\u0027: {\u0027type:uuid\u0027: None}, \u0027is_visible\u0027: True,"},{"line_number":48,"context_line":"               \u0027primary_key\u0027: True},"},{"line_number":49,"context_line":"        \u0027tenant_id\u0027: {\u0027allow_post\u0027: True, \u0027allow_put\u0027: False,"},{"line_number":50,"context_line":"                      \u0027validate\u0027: {\u0027type:string\u0027: None},"},{"line_number":51,"context_line":"                      \u0027required_by_policy\u0027: True, \u0027is_visible\u0027: True},"},{"line_number":52,"context_line":"        \u0027name\u0027: {\u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":53,"context_line":"                 \u0027is_filter\u0027: True, \u0027is_sort_key\u0027: True,"},{"line_number":54,"context_line":"                 \u0027validate\u0027: {\u0027type:string\u0027: None},"}],"source_content_type":"text/x-python","patch_set":2,"id":"09ab5cee_d2f223c3","line":51,"range":{"start_line":49,"start_character":8,"end_line":51,"end_character":70},"updated":"2026-05-06 12:02:55.000000000","message":"in SDK it is (actually project_id) is also in query_mapping list","commit_id":"b888b84ee21ceb2e4a147ec2e5283553e7ff52b3"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"25500af2ec1ead6860c7393a4cc9cd315e7d8265","unresolved":true,"context_lines":[{"line_number":46,"context_line":"        \u0027id\u0027: {\u0027allow_post\u0027: False, \u0027allow_put\u0027: False,"},{"line_number":47,"context_line":"               \u0027validate\u0027: {\u0027type:uuid\u0027: None}, \u0027is_visible\u0027: True,"},{"line_number":48,"context_line":"               \u0027primary_key\u0027: True},"},{"line_number":49,"context_line":"        \u0027tenant_id\u0027: {\u0027allow_post\u0027: True, \u0027allow_put\u0027: False,"},{"line_number":50,"context_line":"                      \u0027validate\u0027: {\u0027type:string\u0027: None},"},{"line_number":51,"context_line":"                      \u0027required_by_policy\u0027: True, \u0027is_visible\u0027: True},"},{"line_number":52,"context_line":"        \u0027name\u0027: {\u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":53,"context_line":"                 \u0027is_filter\u0027: True, \u0027is_sort_key\u0027: True,"},{"line_number":54,"context_line":"                 \u0027validate\u0027: {\u0027type:string\u0027: None},"}],"source_content_type":"text/x-python","patch_set":2,"id":"4ed0caff_bb25214b","line":51,"range":{"start_line":49,"start_character":8,"end_line":51,"end_character":70},"in_reply_to":"09ab5cee_d2f223c3","updated":"2026-05-06 13:08:21.000000000","message":"I have another patch changing everything to  project_id, it\u0027s just needs a bit of work and dependencies","commit_id":"b888b84ee21ceb2e4a147ec2e5283553e7ff52b3"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"41628362e94be9654ea5d427bcf67fe6bdda6146","unresolved":true,"context_lines":[{"line_number":66,"context_line":"        \u0027id\u0027: {\u0027allow_post\u0027: False, \u0027allow_put\u0027: False,"},{"line_number":67,"context_line":"               \u0027validate\u0027: {\u0027type:uuid\u0027: None}, \u0027is_visible\u0027: True,"},{"line_number":68,"context_line":"               \u0027primary_key\u0027: True},"},{"line_number":69,"context_line":"        \u0027tenant_id\u0027: {\u0027allow_post\u0027: True, \u0027allow_put\u0027: False,"},{"line_number":70,"context_line":"                      \u0027validate\u0027: {\u0027type:string\u0027: None},"},{"line_number":71,"context_line":"                      \u0027required_by_policy\u0027: True, \u0027is_visible\u0027: True},"},{"line_number":72,"context_line":"        \u0027name\u0027: {\u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"}],"source_content_type":"text/x-python","patch_set":2,"id":"d8f541e2_99dd3925","line":69,"range":{"start_line":69,"start_character":9,"end_line":69,"end_character":18},"updated":"2026-05-06 12:02:55.000000000","message":"ditto","commit_id":"b888b84ee21ceb2e4a147ec2e5283553e7ff52b3"}],"neutron_lib/api/definitions/tap_mirror.py":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"41628362e94be9654ea5d427bcf67fe6bdda6146","unresolved":true,"context_lines":[{"line_number":37,"context_line":"            \u0027allow_post\u0027: False, \u0027allow_put\u0027: False,"},{"line_number":38,"context_line":"            \u0027validate\u0027: {\u0027type:uuid\u0027: None}, \u0027is_visible\u0027: True,"},{"line_number":39,"context_line":"            \u0027primary_key\u0027: True},"},{"line_number":40,"context_line":"        \u0027project_id\u0027: {"},{"line_number":41,"context_line":"            \u0027allow_post\u0027: True, \u0027allow_put\u0027: False,"},{"line_number":42,"context_line":"            \u0027validate\u0027: {\u0027type:string\u0027: db_const.PROJECT_ID_FIELD_SIZE},"},{"line_number":43,"context_line":"            \u0027required_by_policy\u0027: True, \u0027is_filter\u0027: True,"}],"source_content_type":"text/x-python","patch_set":2,"id":"5d8b556e_bab588e0","line":40,"range":{"start_line":40,"start_character":9,"end_line":40,"end_character":19},"updated":"2026-05-06 12:02:55.000000000","message":"in SDK project_id is also in query_mapping list","commit_id":"b888b84ee21ceb2e4a147ec2e5283553e7ff52b3"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"25500af2ec1ead6860c7393a4cc9cd315e7d8265","unresolved":true,"context_lines":[{"line_number":37,"context_line":"            \u0027allow_post\u0027: False, \u0027allow_put\u0027: False,"},{"line_number":38,"context_line":"            \u0027validate\u0027: {\u0027type:uuid\u0027: None}, \u0027is_visible\u0027: True,"},{"line_number":39,"context_line":"            \u0027primary_key\u0027: True},"},{"line_number":40,"context_line":"        \u0027project_id\u0027: {"},{"line_number":41,"context_line":"            \u0027allow_post\u0027: True, \u0027allow_put\u0027: False,"},{"line_number":42,"context_line":"            \u0027validate\u0027: {\u0027type:string\u0027: db_const.PROJECT_ID_FIELD_SIZE},"},{"line_number":43,"context_line":"            \u0027required_by_policy\u0027: True, \u0027is_filter\u0027: True,"}],"source_content_type":"text/x-python","patch_set":2,"id":"ca83fcd6_e2a45e5a","line":40,"range":{"start_line":40,"start_character":9,"end_line":40,"end_character":19},"in_reply_to":"5d8b556e_bab588e0","updated":"2026-05-06 13:08:21.000000000","message":"Yeah, it seems like some things are missing from a lot of places here, not exactly how far to go here.","commit_id":"b888b84ee21ceb2e4a147ec2e5283553e7ff52b3"}],"neutron_lib/api/definitions/vpn.py":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"41628362e94be9654ea5d427bcf67fe6bdda6146","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"4cfa0ff7_a6ae5a48","updated":"2026-05-06 12:02:55.000000000","message":"for VPN endpoints in SDK there are also description and similar things set in the query_map list, I am not sure that all is needed really as Stephen commented for fwaas also","commit_id":"b888b84ee21ceb2e4a147ec2e5283553e7ff52b3"}]}
