)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1a9fd3b7ab41ca6c2d4cad789374d5fd85cac23c","unresolved":true,"context_lines":[{"line_number":15,"context_line":"  implementation:"},{"line_number":16,"context_line":"* the name of the API extension used"},{"line_number":17,"context_line":"* the resource_request content in the new format if the port has no QoS"},{"line_number":18,"context_line":"  policy."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: Ibb331b75b45dece8a9c4b2268155ec825f29979b"},{"line_number":21,"context_line":"blueprint: qos-minimum-guaranteed-packet-rate"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"0138ec81_fea63bc4","line":18,"updated":"2021-07-27 16:02:43.000000000","message":"Does this need to be dropped?\n\nLater: it seems so. Is there a patch you can depend on?","commit_id":"caed91f817c35599568c183804394120ff2d0fcd"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"dea2556e5a466dbaf8b765a260e97a58be06583c","unresolved":true,"context_lines":[{"line_number":15,"context_line":"  implementation:"},{"line_number":16,"context_line":"* the name of the API extension used"},{"line_number":17,"context_line":"* the resource_request content in the new format if the port has no QoS"},{"line_number":18,"context_line":"  policy."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: Ibb331b75b45dece8a9c4b2268155ec825f29979b"},{"line_number":21,"context_line":"blueprint: qos-minimum-guaranteed-packet-rate"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"10a1bfd4_d38db716","line":18,"in_reply_to":"0138ec81_fea63bc4","updated":"2021-08-02 15:21:52.000000000","message":"No, not yet. Przemek currently works on that resource request API extension patch right on top of the QoS API extension patch https://review.opendev.org/c/openstack/neutron/+/803045","commit_id":"caed91f817c35599568c183804394120ff2d0fcd"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d1cf61749609ea01c54ee450fe5b2022ea71941d","unresolved":true,"context_lines":[{"line_number":15,"context_line":"  implementation:"},{"line_number":16,"context_line":"* the name of the API extension used"},{"line_number":17,"context_line":"* the resource_request content in the new format if the port has no QoS"},{"line_number":18,"context_line":"  policy."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: Ibb331b75b45dece8a9c4b2268155ec825f29979b"},{"line_number":21,"context_line":"blueprint: qos-minimum-guaranteed-packet-rate"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"7a08e2e5_6dd3eeed","line":18,"in_reply_to":"10a1bfd4_d38db716","updated":"2021-08-16 07:02:03.000000000","message":"I have to depend on https://review.opendev.org/c/openstack/neutron-lib/+/803905/2/neutron_lib/api/definitions/port_resource_request_groups.py and update the name of the extension in this series to match with the neutron one.","commit_id":"caed91f817c35599568c183804394120ff2d0fcd"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"061306beda1dacf589cbfcf7198dc3adc15566ac","unresolved":false,"context_lines":[{"line_number":15,"context_line":"  implementation:"},{"line_number":16,"context_line":"* the name of the API extension used"},{"line_number":17,"context_line":"* the resource_request content in the new format if the port has no QoS"},{"line_number":18,"context_line":"  policy."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: Ibb331b75b45dece8a9c4b2268155ec825f29979b"},{"line_number":21,"context_line":"blueprint: qos-minimum-guaranteed-packet-rate"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"f07764c6_8e6fc3e7","line":18,"in_reply_to":"7a08e2e5_6dd3eeed","updated":"2021-08-16 19:30:54.000000000","message":"Done","commit_id":"caed91f817c35599568c183804394120ff2d0fcd"}],"nova/tests/fixtures/neutron.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"5abc9d7385fcc8a88ebae1f01f0388d1abc78071","unresolved":true,"context_lines":[{"line_number":970,"context_line":"        \"\"\""},{"line_number":971,"context_line":"        # TODO(gibi): make this the default definition format after nova"},{"line_number":972,"context_line":"        # not need to support the old format any more which will happen after"},{"line_number":973,"context_line":"        # Neutron does not support the old format any more."},{"line_number":974,"context_line":"        # old format:"},{"line_number":975,"context_line":"        #"},{"line_number":976,"context_line":"        # \u0027resource_request\u0027: {"}],"source_content_type":"text/x-python","patch_set":7,"id":"192993c3_f5e912d7","line":973,"updated":"2021-07-20 17:02:19.000000000","message":"The new format is available when the \u0027resource-request-extended\u0027 extension is provided, yes? Could you state as much here, if so?","commit_id":"758770c6e65bcf28995bcce10e36070763ba1ae3"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"601bd46e0339a47691459094c8444adc0a75f8e7","unresolved":false,"context_lines":[{"line_number":970,"context_line":"        \"\"\""},{"line_number":971,"context_line":"        # TODO(gibi): make this the default definition format after nova"},{"line_number":972,"context_line":"        # not need to support the old format any more which will happen after"},{"line_number":973,"context_line":"        # Neutron does not support the old format any more."},{"line_number":974,"context_line":"        # old format:"},{"line_number":975,"context_line":"        #"},{"line_number":976,"context_line":"        # \u0027resource_request\u0027: {"}],"source_content_type":"text/x-python","patch_set":7,"id":"8eb506ea_a046d171","line":973,"in_reply_to":"192993c3_f5e912d7","updated":"2021-07-22 13:20:06.000000000","message":"Done","commit_id":"758770c6e65bcf28995bcce10e36070763ba1ae3"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"5abc9d7385fcc8a88ebae1f01f0388d1abc78071","unresolved":true,"context_lines":[{"line_number":1009,"context_line":"        # }"},{"line_number":1010,"context_line":"        groups \u003d []"},{"line_number":1011,"context_line":"        same_subtree \u003d []"},{"line_number":1012,"context_line":"        old_rr \u003d port.get(\u0027resource_request\u0027)"},{"line_number":1013,"context_line":"        if old_rr:"},{"line_number":1014,"context_line":"            # use the port id as group id as we know that in the old format"},{"line_number":1015,"context_line":"            # we can have only one group per port"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a05b83b_7bcd079b","line":1012,"updated":"2021-07-20 17:02:19.000000000","message":"Can\u0027t we use\n\n  port[\u0027resource_request\u0027]\n\ninstead, since all our tests where this code path will run will have at least configured the old version? i.e. if someone tries to use a port without this attribute configured in a test that uses this fixture, maybe crashing and burning is the correct response?","commit_id":"758770c6e65bcf28995bcce10e36070763ba1ae3"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"601bd46e0339a47691459094c8444adc0a75f8e7","unresolved":false,"context_lines":[{"line_number":1009,"context_line":"        # }"},{"line_number":1010,"context_line":"        groups \u003d []"},{"line_number":1011,"context_line":"        same_subtree \u003d []"},{"line_number":1012,"context_line":"        old_rr \u003d port.get(\u0027resource_request\u0027)"},{"line_number":1013,"context_line":"        if old_rr:"},{"line_number":1014,"context_line":"            # use the port id as group id as we know that in the old format"},{"line_number":1015,"context_line":"            # we can have only one group per port"}],"source_content_type":"text/x-python","patch_set":7,"id":"db4d3bc4_0ce2b90a","line":1012,"in_reply_to":"3a05b83b_7bcd079b","updated":"2021-07-22 13:20:06.000000000","message":"Unfortunately it is more complex. The resource request tests uses ports without the QoS policies (e.g. test_two_sriov_ports_one_with_request_two_available_pfs) as well. And Neutron today returns None in resource_request for those ports.\n\nBelow I choose to represent the request of these ports with not a None resource_request but with \n  \"resource_request\":{\n    \"request_groups\": [],\n    \"same_subtree\": [],\n  }\nThis might or might not be correct depending on how Neutron will be implemented. I\u0027ve now added a TODO here and to the commit message","commit_id":"758770c6e65bcf28995bcce10e36070763ba1ae3"}],"nova/tests/functional/test_servers_resource_request.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1a9fd3b7ab41ca6c2d4cad789374d5fd85cac23c","unresolved":true,"context_lines":[{"line_number":133,"context_line":"        extensions[\u0027extensions\u0027].append("},{"line_number":134,"context_line":"            {"},{"line_number":135,"context_line":"                # TODO(gibi): replace this with the official extension"},{"line_number":136,"context_line":"                # definition from neutron when that is available"},{"line_number":137,"context_line":"                \"updated\": \"2021-01-01T10:00:00-00:00\","},{"line_number":138,"context_line":"                \"name\": constants.EXTENDED_RESOURCE_REQUEST,"},{"line_number":139,"context_line":"                \"links\": [],"}],"source_content_type":"text/x-python","patch_set":8,"id":"aaca2457_98d6b1ff","line":136,"updated":"2021-07-27 16:02:43.000000000","message":"I guess we need to wait until this is merged?","commit_id":"caed91f817c35599568c183804394120ff2d0fcd"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"061306beda1dacf589cbfcf7198dc3adc15566ac","unresolved":false,"context_lines":[{"line_number":133,"context_line":"        extensions[\u0027extensions\u0027].append("},{"line_number":134,"context_line":"            {"},{"line_number":135,"context_line":"                # TODO(gibi): replace this with the official extension"},{"line_number":136,"context_line":"                # definition from neutron when that is available"},{"line_number":137,"context_line":"                \"updated\": \"2021-01-01T10:00:00-00:00\","},{"line_number":138,"context_line":"                \"name\": constants.EXTENDED_RESOURCE_REQUEST,"},{"line_number":139,"context_line":"                \"links\": [],"}],"source_content_type":"text/x-python","patch_set":8,"id":"bddfdd8c_19ae618d","line":136,"in_reply_to":"3a733317_2d18f051","updated":"2021-08-16 19:30:54.000000000","message":"Done. See the Depends-On added to the commit message.","commit_id":"caed91f817c35599568c183804394120ff2d0fcd"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"dea2556e5a466dbaf8b765a260e97a58be06583c","unresolved":true,"context_lines":[{"line_number":133,"context_line":"        extensions[\u0027extensions\u0027].append("},{"line_number":134,"context_line":"            {"},{"line_number":135,"context_line":"                # TODO(gibi): replace this with the official extension"},{"line_number":136,"context_line":"                # definition from neutron when that is available"},{"line_number":137,"context_line":"                \"updated\": \"2021-01-01T10:00:00-00:00\","},{"line_number":138,"context_line":"                \"name\": constants.EXTENDED_RESOURCE_REQUEST,"},{"line_number":139,"context_line":"                \"links\": [],"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a733317_2d18f051","line":136,"in_reply_to":"aaca2457_98d6b1ff","updated":"2021-08-02 15:21:52.000000000","message":"yepp I\u0027d like to wait for the patch that defines the name of the extension.","commit_id":"caed91f817c35599568c183804394120ff2d0fcd"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"061306beda1dacf589cbfcf7198dc3adc15566ac","unresolved":true,"context_lines":[{"line_number":206,"context_line":"            # a single group"},{"line_number":207,"context_line":"            same_subtree \u003d [old_rr[\u0027id\u0027]]"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"        # TODO(gibi): Synchronize the no QoS policy case behavior with the"},{"line_number":210,"context_line":"        # Neutron implementation. Today in case of the old format Neutron"},{"line_number":211,"context_line":"        # returns None. This fixtures now returns empty groups and same subtree"},{"line_number":212,"context_line":"        # instead of None for the new format if the port has no resource"}],"source_content_type":"text/x-python","patch_set":8,"id":"4a5132c5_ec80f208","line":209,"updated":"2021-08-16 19:30:54.000000000","message":"Done. Agreed with the Neutron folks that neutron returns None in the new format too. I adapted the fixture to simulate that.","commit_id":"caed91f817c35599568c183804394120ff2d0fcd"}]}
