)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},"change_message_id":"c125dbae9a892cfa7385e09815c49ef67a5210fb","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"port-hint-ovs-tx-steering: shim extension"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"and a ML2 extension that does nothing, just loads the API extension."},{"line_number":10,"context_line":"All the real implementation is in the agent-side change."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"To enable this:"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"98b2186c_5161bd38","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":3},"updated":"2023-02-21 17:13:31.000000000","message":"nit: did you mean \"add\"?","commit_id":"1ebd08bcb63bc1bcc58f2530efdcf65ab8e8390d"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"41999af4e69513e973a8ddebfdd175c856206bfa","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"port-hint-ovs-tx-steering: shim extension"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"and a ML2 extension that does nothing, just loads the API extension."},{"line_number":10,"context_line":"All the real implementation is in the agent-side change."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"To enable this:"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"f87ba6a7_9ef15a1e","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":3},"in_reply_to":"98b2186c_5161bd38","updated":"2023-02-23 10:19:06.000000000","message":"I meant:\n\nA shim extension...\n\n...and an ML2 extension.\n\nBut keeping the first line short.","commit_id":"1ebd08bcb63bc1bcc58f2530efdcf65ab8e8390d"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"7694b882920c4664ddb8c3752ba28e770aade743","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"a52a44f5_395662e6","updated":"2023-02-16 13:19:50.000000000","message":"We need to have proper input validation for the hints attribute in the API.","commit_id":"76b5eda308cfa2dfa5ed8caa3e3584c18bdee9b2"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"306ab4c51365bbb1844de9fd07dc27f10052205d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"92197e27_81af37f8","updated":"2023-03-28 08:45:04.000000000","message":"Sounds good I guess :)","commit_id":"b9813259d2a8c28e4d6c82ea42f70ee73c474543"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"7f1557b256fc061304c3e716ee7b764f00813035","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"12cb43fd_815883cd","updated":"2023-03-23 10:04:00.000000000","message":"recheck bug/2012510","commit_id":"b9813259d2a8c28e4d6c82ea42f70ee73c474543"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"4335717950abebc8ce749ad8b8b6c06b91728043","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"15d8f036_f6fe73b4","updated":"2023-04-11 10:03:32.000000000","message":"I checked again it works, thanks for the","commit_id":"0913e1ad8d32a4bbc775a3d38f34c48f7df0f6b8"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"db8ccee5dcecb8d4e16c5f4a3dba776000ac4951","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"ef149599_6ba3b34d","updated":"2023-04-11 10:04:47.000000000","message":"recheck\ngreande failure seems irrelevant","commit_id":"0913e1ad8d32a4bbc775a3d38f34c48f7df0f6b8"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"4605cd35cae17fd5029dae51ac32d811ea53b6f7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"d5765937_310625d2","updated":"2023-05-04 11:52:04.000000000","message":"recheck https://bugs.launchpad.net/neutron/+bug/2015065","commit_id":"0212c49fdff407dd448dce7fe7a856d548f0725f"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"ba4e6070cd4d88995495e81bd9c15003afb5d394","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"1ecbca6c_3a0756e1","updated":"2023-05-03 11:25:12.000000000","message":"recheck https://bugs.launchpad.net/neutron/+bug/2017992","commit_id":"0212c49fdff407dd448dce7fe7a856d548f0725f"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"085a5785931b670d248f71c2b4f440a7d2d22d48","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"ae5b88c9_453258de","updated":"2023-05-05 08:37:48.000000000","message":"recheck neutron-fullstack-with-uwsgi timeout","commit_id":"0212c49fdff407dd448dce7fe7a856d548f0725f"}],"neutron/api/definitions/port_hint_ovs_tx_steering.py":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"4335717950abebc8ce749ad8b8b6c06b91728043","unresolved":true,"context_lines":[{"line_number":16,"context_line":"#     Delete it when the corresponding change in n-lib is merged and released"},{"line_number":17,"context_line":"#     and the n-lib requirement is bumped here:"},{"line_number":18,"context_line":"#     https://review.opendev.org/c/openstack/neutron-lib/+/873112"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"ALIAS \u003d \u0027port-hint-ovs-tx-steering\u0027"},{"line_number":22,"context_line":"IS_SHIM_EXTENSION \u003d True"}],"source_content_type":"text/x-python","patch_set":12,"id":"ef6dcd0e_369722c7","line":19,"updated":"2023-04-11 10:03:32.000000000","message":"yeah it is anyway time to release new n-lib:\n$ git log --oneline --no-merges 3.4.0..HEAD\n08cdc72 port-hints: api-ref: Add field length limitation\n8337580 api-ref: describe which protocols are enabled for stateless SG\neeec363 api-ref: add semantics for stateless security group api\nad8bcd2 Update master for stable/2023.1\ncf5b293 Remove unused rbac rule\n444cec2 [sqlalchemy-20] Use Connection.execute() instead of Engine.execute()\nec6a39c port-hint-ovs-tx-steering: api definition\n\nRodolfo dedicated time on the team meeting monthly so, let\u0027s do it 😊","commit_id":"0913e1ad8d32a4bbc775a3d38f34c48f7df0f6b8"}],"neutron/api/definitions/port_hints.py":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"f87199dcc0781a53e0502c21f0449524e682506b","unresolved":true,"context_lines":[{"line_number":29,"context_line":"RESOURCE_NAME \u003d port.RESOURCE_NAME"},{"line_number":30,"context_line":"COLLECTION_NAME \u003d port.COLLECTION_NAME"},{"line_number":31,"context_line":"HINTS \u003d \u0027hints\u0027"},{"line_number":32,"context_line":"HINTS_SPEC \u003d {"},{"line_number":33,"context_line":"    \u0027type:dict_or_none\u0027: {\u0027openvswitch\u0027: {"},{"line_number":34,"context_line":"        \u0027type:dict\u0027: {\u0027other_config\u0027: {"},{"line_number":35,"context_line":"            \u0027type:dict\u0027: {\u0027tx-steering\u0027: {"},{"line_number":36,"context_line":"                \u0027type:values\u0027: [\u0027thread\u0027, \u0027hash\u0027]}}}}}}}"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"RESOURCE_ATTRIBUTE_MAP \u003d {"},{"line_number":39,"context_line":"    COLLECTION_NAME: {"}],"source_content_type":"text/x-python","patch_set":9,"id":"084a7607_2965621f","line":36,"range":{"start_line":32,"start_character":0,"end_line":36,"end_character":56},"updated":"2023-03-14 13:06:30.000000000","message":"thanks, as we discussed locally this can help a lot users","commit_id":"9f9e61c6761010e9e5862c9c01351da8f7f521cb"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"306ab4c51365bbb1844de9fd07dc27f10052205d","unresolved":true,"context_lines":[{"line_number":29,"context_line":"RESOURCE_NAME \u003d port.RESOURCE_NAME"},{"line_number":30,"context_line":"COLLECTION_NAME \u003d port.COLLECTION_NAME"},{"line_number":31,"context_line":"HINTS \u003d \u0027hints\u0027"},{"line_number":32,"context_line":"HINTS_SPEC \u003d {"},{"line_number":33,"context_line":"    \u0027type:dict_or_none\u0027: {\u0027openvswitch\u0027: {"},{"line_number":34,"context_line":"        \u0027type:dict\u0027: {\u0027other_config\u0027: {"},{"line_number":35,"context_line":"            \u0027type:dict\u0027: {\u0027tx-steering\u0027: {"},{"line_number":36,"context_line":"                \u0027type:values\u0027: [\u0027thread\u0027, \u0027hash\u0027]}}}}}}}"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"RESOURCE_ATTRIBUTE_MAP \u003d {"},{"line_number":39,"context_line":"    COLLECTION_NAME: {"}],"source_content_type":"text/x-python","patch_set":9,"id":"48ebd2f3_a7218cec","line":36,"range":{"start_line":32,"start_character":0,"end_line":36,"end_character":56},"in_reply_to":"084a7607_2965621f","updated":"2023-03-28 08:45:04.000000000","message":"Can you build something to reuse this and validate the request in the agent?","commit_id":"9f9e61c6761010e9e5862c9c01351da8f7f521cb"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"8668f35bc0d559dcd1ab58432ba9cc426e928ff9","unresolved":false,"context_lines":[{"line_number":29,"context_line":"RESOURCE_NAME \u003d port.RESOURCE_NAME"},{"line_number":30,"context_line":"COLLECTION_NAME \u003d port.COLLECTION_NAME"},{"line_number":31,"context_line":"HINTS \u003d \u0027hints\u0027"},{"line_number":32,"context_line":"HINTS_SPEC \u003d {"},{"line_number":33,"context_line":"    \u0027type:dict_or_none\u0027: {\u0027openvswitch\u0027: {"},{"line_number":34,"context_line":"        \u0027type:dict\u0027: {\u0027other_config\u0027: {"},{"line_number":35,"context_line":"            \u0027type:dict\u0027: {\u0027tx-steering\u0027: {"},{"line_number":36,"context_line":"                \u0027type:values\u0027: [\u0027thread\u0027, \u0027hash\u0027]}}}}}}}"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"RESOURCE_ATTRIBUTE_MAP \u003d {"},{"line_number":39,"context_line":"    COLLECTION_NAME: {"}],"source_content_type":"text/x-python","patch_set":9,"id":"b2807e8d_8e34772b","line":36,"range":{"start_line":32,"start_character":0,"end_line":36,"end_character":56},"in_reply_to":"48ebd2f3_a7218cec","updated":"2023-03-30 12:26:06.000000000","message":"Right now we need the same validation in the api and in the agent because we have exactly one hint. But this can change if we have a second hint applicable to a different mech driver / agent. So if you don\u0027t mind I would keep the agent-specific validator in the agent.","commit_id":"9f9e61c6761010e9e5862c9c01351da8f7f521cb"}],"releasenotes/notes/port-hints-d465bb2fa144537c.yaml":[{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"306ab4c51365bbb1844de9fd07dc27f10052205d","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Ports now have a ``hints`` attribute, in which backend specific"},{"line_number":5,"context_line":"    tuning options can be passed to Neutron. The availability of the"},{"line_number":6,"context_line":"    ``hints`` attribute is signaled by the ``port-hints`` extension."}],"source_content_type":"text/x-yaml","patch_set":10,"id":"d5fe0b41_c87da906","line":3,"updated":"2023-03-28 08:45:04.000000000","message":"I would have decomposed this in 2. Instruction of hints and introduction of hints-steering","commit_id":"b9813259d2a8c28e4d6c82ea42f70ee73c474543"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"8668f35bc0d559dcd1ab58432ba9cc426e928ff9","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":"    Ports now have a ``hints`` attribute, in which backend specific"},{"line_number":5,"context_line":"    tuning options can be passed to Neutron. The availability of the"},{"line_number":6,"context_line":"    ``hints`` attribute is signaled by the ``port-hints`` extension."}],"source_content_type":"text/x-yaml","patch_set":10,"id":"48459d60_80c4de1b","line":3,"in_reply_to":"d5fe0b41_c87da906","updated":"2023-03-30 12:26:06.000000000","message":"Done","commit_id":"b9813259d2a8c28e4d6c82ea42f70ee73c474543"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"306ab4c51365bbb1844de9fd07dc27f10052205d","unresolved":true,"context_lines":[{"line_number":5,"context_line":"    tuning options can be passed to Neutron. The availability of the"},{"line_number":6,"context_line":"    ``hints`` attribute is signaled by the ``port-hints`` extension."},{"line_number":7,"context_line":"    The ``hints`` attribute is admin-only by default. Its value is a"},{"line_number":8,"context_line":"    dict, keyed by mechanism driver aliases. The possibe values are"},{"line_number":9,"context_line":"    defined by the mechanism drivers. An admin user can ask for a"},{"line_number":10,"context_line":"    hint in a port create or update request. As the name suggests a"},{"line_number":11,"context_line":"    hint is not a demand - Neutron applies the hint when it can, but"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"f10278e0_956eb152","line":8,"updated":"2023-03-28 08:45:04.000000000","message":"s/possibe/possible","commit_id":"b9813259d2a8c28e4d6c82ea42f70ee73c474543"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"8668f35bc0d559dcd1ab58432ba9cc426e928ff9","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    tuning options can be passed to Neutron. The availability of the"},{"line_number":6,"context_line":"    ``hints`` attribute is signaled by the ``port-hints`` extension."},{"line_number":7,"context_line":"    The ``hints`` attribute is admin-only by default. Its value is a"},{"line_number":8,"context_line":"    dict, keyed by mechanism driver aliases. The possibe values are"},{"line_number":9,"context_line":"    defined by the mechanism drivers. An admin user can ask for a"},{"line_number":10,"context_line":"    hint in a port create or update request. As the name suggests a"},{"line_number":11,"context_line":"    hint is not a demand - Neutron applies the hint when it can, but"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"628febb0_26cc55ef","line":8,"in_reply_to":"f10278e0_956eb152","updated":"2023-03-30 12:26:06.000000000","message":"Done","commit_id":"b9813259d2a8c28e4d6c82ea42f70ee73c474543"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"4335717950abebc8ce749ad8b8b6c06b91728043","unresolved":true,"context_lines":[{"line_number":9,"context_line":"    defined by the mechanism drivers. An admin user can ask for a"},{"line_number":10,"context_line":"    hint in a port create or update request. As the name suggests a"},{"line_number":11,"context_line":"    hint is not a demand - Neutron applies the hint when it can, but"},{"line_number":12,"context_line":"    it is free ignore it, when it can\u0027t."}],"source_content_type":"text/x-yaml","patch_set":12,"id":"f6091ec3_330370ae","line":12,"range":{"start_line":12,"start_character":10,"end_line":12,"end_character":21},"updated":"2023-04-11 10:03:32.000000000","message":"nit: free to ignore?","commit_id":"0913e1ad8d32a4bbc775a3d38f34c48f7df0f6b8"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"1c765680ea1dbe02a871ef33f3430462565acffb","unresolved":false,"context_lines":[{"line_number":9,"context_line":"    defined by the mechanism drivers. An admin user can ask for a"},{"line_number":10,"context_line":"    hint in a port create or update request. As the name suggests a"},{"line_number":11,"context_line":"    hint is not a demand - Neutron applies the hint when it can, but"},{"line_number":12,"context_line":"    it is free ignore it, when it can\u0027t."}],"source_content_type":"text/x-yaml","patch_set":12,"id":"4a3f957b_c642794c","line":12,"range":{"start_line":12,"start_character":10,"end_line":12,"end_character":21},"in_reply_to":"f6091ec3_330370ae","updated":"2023-04-12 11:35:41.000000000","message":"Done","commit_id":"0913e1ad8d32a4bbc775a3d38f34c48f7df0f6b8"}]}
