)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":14228,"name":"Clif Houck","email":"me@clifhouck.com","username":"clif_h"},"change_message_id":"bdb7296fa87e780ec301be1ca264e4c6552eed87","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"4acdf268_0855e0e0","updated":"2025-11-04 14:40:56.000000000","message":"Adding a schema (mostly) removes the need for validation/validators, right?\n\nDo existing tests exercise this schema against events? It\u0027s not clear to me from this change that they do.","commit_id":"306e2d27e2f0c91799328392cc29f8c7ac616513"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"f68a27acaaef5cba3840202aaefcd46b7449a027","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"e82f63e6_f81fb126","updated":"2025-11-22 00:16:38.000000000","message":"Please re-add to ironic-week-prio once the review feedback has been addressed.","commit_id":"306e2d27e2f0c91799328392cc29f8c7ac616513"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"2320a4d1233e8c5f18e3785e6bb96ac7b36d11cd","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"61806bcf_598f4887","in_reply_to":"4acdf268_0855e0e0","updated":"2025-11-05 22:58:38.000000000","message":"There\u0027s a flag we can enable in tests to verify response schemas. You\u0027re right that perfect tests don\u0027t exist for this but we haven\u0027t enforced that standard for previous related patches.","commit_id":"306e2d27e2f0c91799328392cc29f8c7ac616513"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"0101706584c8da303db9fe276cc0b2baf73243d1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"5749276f_7be41ec4","in_reply_to":"e82f63e6_f81fb126","updated":"2026-03-16 05:31:48.000000000","message":"Acknowledged","commit_id":"306e2d27e2f0c91799328392cc29f8c7ac616513"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"0101706584c8da303db9fe276cc0b2baf73243d1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"17c2e294_04ff1a30","updated":"2026-03-16 05:31:48.000000000","message":"Hopefully a reasonable trade off to get OpenAPI schemas.","commit_id":"178a499e794cd294f4188f8d621e342d9a3c9e85"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"3a95ec4d0d00c1d91588b1d898b60890a292fec4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"c73da009_5d6ceace","updated":"2026-03-06 23:04:42.000000000","message":"This does need a release note, as it contains operator-facing API changes in error cases. Specifically, we will be returning a much more generic error than we did before the schema change. I suspect this has been the case for all these schema changes and we just missed it until now; not a big deal just need to make sure we release note it moving forward.","commit_id":"178a499e794cd294f4188f8d621e342d9a3c9e85"}],"ironic/api/controllers/v1/event.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"35efd2eb0852f93a7ff538a40e1f18ba08f672a1","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    }),"},{"line_number":44,"context_line":"    args.dict_valid(**{"},{"line_number":45,"context_line":"        \u0027port_id\u0027: args.uuid,"},{"line_number":46,"context_line":"        \u0027mac_address\u0027: args.mac_address,"},{"line_number":47,"context_line":"        \u0027device_id\u0027: args.uuid,"},{"line_number":48,"context_line":"        \u0027binding:host_id\u0027: args.uuid"},{"line_number":49,"context_line":"    })"}],"source_content_type":"text/x-python","patch_set":2,"id":"2feef433_17034e8c","side":"PARENT","line":46,"updated":"2026-03-05 17:34:55.000000000","message":"Previous validation of MAC addresses here","commit_id":"a2f37c5c714f65b17cdad395c51fc838f986de95"}],"ironic/api/validation/validators.py":[{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"2320a4d1233e8c5f18e3785e6bb96ac7b36d11cd","unresolved":true,"context_lines":[{"line_number":55,"context_line":"    if not isinstance(instance, str):"},{"line_number":56,"context_line":"        return True"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    return netutils.is_valid_mac(instance)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"class SchemaValidator:"}],"source_content_type":"text/x-python","patch_set":2,"id":"2f52a1e3_d84ec3c0","line":58,"updated":"2025-11-05 22:58:38.000000000","message":"If we weren\u0027t validating it was a mac before, does this represent an API change?","commit_id":"306e2d27e2f0c91799328392cc29f8c7ac616513"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"35efd2eb0852f93a7ff538a40e1f18ba08f672a1","unresolved":false,"context_lines":[{"line_number":55,"context_line":"    if not isinstance(instance, str):"},{"line_number":56,"context_line":"        return True"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    return netutils.is_valid_mac(instance)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"class SchemaValidator:"}],"source_content_type":"text/x-python","patch_set":2,"id":"e15d2a0c_226a5ebf","line":58,"in_reply_to":"2f52a1e3_d84ec3c0","updated":"2026-03-05 17:34:55.000000000","message":"Thankfully we were already validating whether this was formatted correctly or not, as you can see [here](https://review.opendev.org/c/openstack/ironic/+/959880/2/ironic/api/controllers/v1/event.py#b46).","commit_id":"306e2d27e2f0c91799328392cc29f8c7ac616513"}]}
