)]}'
{"neutron/extensions/port_resource_request.py":[{"author":{"_account_id":5367,"name":"boden","email":"bodenvmw@gmail.com","username":"boden"},"change_message_id":"95b0b5617932c078f8c6a0785e179191a5caff2b","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"from neutron_lib.api.definitions import port_resource_request"},{"line_number":16,"context_line":"from neutron_lib.api import extensions as api_extensions"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"class Port_resource_request(api_extensions.APIExtensionDescriptor):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_25a3e39d","line":16,"updated":"2018-07-23 17:56:24.000000000","message":"I think the way you want to do this is to include a private/temporary api def here that can later be removed once the api def in neutron-lib merges. For example [1].\n\n\nUsing Depends on from this patch to neutron-lib one doesn\u0027t quite work because the new code won\u0027t be available to neutron until we release neutron-lib with the new code and then update neutron\u0027s requirements to use it (via neutron-lib).\n\n\n\n[1] https://review.openstack.org/#/c/566182/","commit_id":"564ed728e336ad52391d3f2105382dee99d44cec"}],"neutron/services/qos/qos_plugin.py":[{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"inactive contributor"},"change_message_id":"fe56924fbc3000cc4d8da045879a8c2194e14667","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from neutron_lib.api.definitions import port_resource_request"},{"line_number":17,"context_line":"from neutron_lib.api.definitions import qos as qos_apidef"},{"line_number":18,"context_line":"from neutron_lib.api.definitions import qos_bw_minimum_ingress"},{"line_number":19,"context_line":"from neutron_lib.callbacks import events as callbacks_events"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_f21f6105","line":16,"range":{"start_line":16,"start_character":40,"end_line":16,"end_character":61},"updated":"2018-08-13 07:12:20.000000000","message":"Why do we import this here if we don\u0027t use it? This seems to belong to the patch implementing this extension.","commit_id":"c771ee02d8562d7bf62df0095c4b36be6fc44e46"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"746dd4f7b846296e59bcc00e424e6919fc322aed","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from neutron_lib.api.definitions import port_resource_request"},{"line_number":17,"context_line":"from neutron_lib.api.definitions import qos as qos_apidef"},{"line_number":18,"context_line":"from neutron_lib.api.definitions import qos_bw_minimum_ingress"},{"line_number":19,"context_line":"from neutron_lib.callbacks import events as callbacks_events"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_1e6998f7","line":16,"range":{"start_line":16,"start_character":40,"end_line":16,"end_character":61},"in_reply_to":"3f79a3b5_f21f6105","updated":"2018-08-15 08:33:22.000000000","message":"Done","commit_id":"c771ee02d8562d7bf62df0095c4b36be6fc44e46"}]}
