)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"5df464fd0ab0f4936cf98f753ddfa04485eae2e7","unresolved":false,"context_lines":[{"line_number":31,"context_line":"  VNIC_TYPE_SMARTNIC. Network requests are examined for the presence of"},{"line_number":32,"context_line":"  port ids to determine the VNIC type via Neutron API. If SmartNIC"},{"line_number":33,"context_line":"  ports are requested, a compute service version check is performed"},{"line_number":34,"context_line":"  across all cells;"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Change-Id: Ica09376951d49bc60ce6e33147477e4fa38b9482"},{"line_number":37,"context_line":"Implements: blueprint integration-with-off-path-network-backends"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"b416ad48_df666709","line":34,"updated":"2022-02-01 15:07:16.000000000","message":"OK, so we reject interface attach and server create request with such ports if there is old compute. The rest of the server operations are safe as there should not be any existing VM with smartnic ports in the system.","commit_id":"1f879371a12b14e42fc0ac0adf7f50b4deb90056"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"3280435b8f7f20e68920773d173ee47257ad4a17","unresolved":false,"context_lines":[{"line_number":31,"context_line":"  VNIC_TYPE_SMARTNIC. Network requests are examined for the presence of"},{"line_number":32,"context_line":"  port ids to determine the VNIC type via Neutron API. If SmartNIC"},{"line_number":33,"context_line":"  ports are requested, a compute service version check is performed"},{"line_number":34,"context_line":"  across all cells;"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Change-Id: Ica09376951d49bc60ce6e33147477e4fa38b9482"},{"line_number":37,"context_line":"Implements: blueprint integration-with-off-path-network-backends"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"9d23ad67_6f177968","line":34,"in_reply_to":"b416ad48_df666709","updated":"2022-02-01 19:59:29.000000000","message":"Yes, I could have extended the interface detach case but if you can\u0027t attach it in the first place then it\u0027s probably not worth doing the check there. The same applies for other ops as you say.","commit_id":"1f879371a12b14e42fc0ac0adf7f50b4deb90056"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4f2710f7abb34896b53834f0191cb7d904a80679","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"cedb293a_be774def","updated":"2022-01-25 02:19:11.000000000","message":"am not a full code review just wanted to note that this is going to conflict with \nhttps://review.opendev.org/c/openstack/nova/+/819494 which i expect to merge before this patch.\n\nyou could use an in tree depends on to pick it up or just deal with the conflict when it arrises.\n\nwhen that revert is done the code should become simpler so it may reduce the size of this patch too as a side effect.","commit_id":"254e5a84d2e43699c6bff46a0d900b81038de1b2"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"a2f6f0ca54fd61b7f3c4c6a0f3db9d711180d40b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"9561e32e_f843097f","in_reply_to":"cedb293a_be774def","updated":"2022-01-26 20:58:31.000000000","message":"Ack, this should simplify things.","commit_id":"254e5a84d2e43699c6bff46a0d900b81038de1b2"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"5df464fd0ab0f4936cf98f753ddfa04485eae2e7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"a1f072f1_d257febd","updated":"2022-02-01 15:07:16.000000000","message":"Nothing major inline, this looks good to me. (+1 only as I have to go back to the previous patches in the series anyhow)\n","commit_id":"1f879371a12b14e42fc0ac0adf7f50b4deb90056"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"25c4c801872667ca67e248b914285c58e4a76aa2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"187429d2_b8948897","updated":"2022-02-03 14:06:41.000000000","message":"I have an extra question inline","commit_id":"1a2c63d1d3dc046548ab7d9ab0b912505a204cda"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"ae53f1f1cf9f394c88b6e04d25c17091045853d9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"a5d8a690_6fac040d","updated":"2022-02-03 14:01:08.000000000","message":"looks good (the nova-next failure is a known issue tracked here https://bugs.launchpad.net/nova/+bug/1959899)","commit_id":"1a2c63d1d3dc046548ab7d9ab0b912505a204cda"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"a71a033af84cf7f865f401ac5eccea54df010177","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"08ea0896_2481d53f","updated":"2022-02-03 09:58:38.000000000","message":"recheck","commit_id":"1a2c63d1d3dc046548ab7d9ab0b912505a204cda"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"6af4a8bd55abee0872a20f1a3c7c7b6ab2fe07bb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"10a3975b_8f6f2054","updated":"2022-02-02 17:20:26.000000000","message":"recheck","commit_id":"1a2c63d1d3dc046548ab7d9ab0b912505a204cda"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"c268bf30e49e22b46bfaf51169a142483355ace1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"3a7db552_031ecd6a","updated":"2022-02-03 12:14:52.000000000","message":"recheck","commit_id":"1a2c63d1d3dc046548ab7d9ab0b912505a204cda"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"00bf0a05cf2ff44b1fc7518b96d326959fea1bf4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"52ca979a_a8b879b5","updated":"2022-02-02 20:15:52.000000000","message":"recheck","commit_id":"1a2c63d1d3dc046548ab7d9ab0b912505a204cda"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"c29c299190080abf754cad6b2f33b5bf52527020","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"a7512375_c63c2214","updated":"2022-02-03 07:13:36.000000000","message":"recheck","commit_id":"1a2c63d1d3dc046548ab7d9ab0b912505a204cda"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"0a2b3a6ce1ee0b89e0b23c5e8f09de4a5a0b5922","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"bffc9815_4f7d088a","updated":"2022-02-02 20:15:47.000000000","message":"test_device_tagging failure - will recheck","commit_id":"1a2c63d1d3dc046548ab7d9ab0b912505a204cda"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7d98ac67b58e16d1f02d90420bde797a3b689fe9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"a74d6844_455395e5","updated":"2022-02-04 09:47:43.000000000","message":"Looks good","commit_id":"7e2437ed70908323fe84b524368630ed615aa8a5"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"36f14d51faa550d47c7c9e5c3a0baf4f8f5c2ad5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"a2947377_2ad85733","updated":"2022-02-08 10:27:40.000000000","message":"i have tried to captrue all the place where the vnic type needs to be renamed\n\nbut overall i think this looks pretty good so +1 for now","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"c270d167e652af3aef42406bc9b14104607dbc6b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"7150b0ac_6e77a6ce","updated":"2022-02-04 19:22:53.000000000","message":"recheck","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"54a9c6bb6775b68e0ce7670470f4b46ba7bb6fff","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"8d667edf_7042a1f8","updated":"2022-02-05 06:27:23.000000000","message":"recheck","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"fab83ea36e7b5ae23e38641f536015a103c9dbbc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"e85309b3_6db0d6b9","updated":"2022-02-09 15:57:48.000000000","message":"OK the new vnic type definition is merged in neutron-lib[1] so we can rely on the name of the new type. Other then that this code has no real dependency to neutron.\n\nLooks good\n\n[1] https://review.opendev.org/c/openstack/neutron-lib/+/828174","commit_id":"0620678344d0f032a33e952d4d0fa653741f09e7"}],"nova/compute/api.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"5df464fd0ab0f4936cf98f753ddfa04485eae2e7","unresolved":true,"context_lines":[{"line_number":1019,"context_line":"                        raise exception.ForbiddenPortsWithAccelerator(msg)"},{"line_number":1020,"context_line":""},{"line_number":1021,"context_line":"    def _check_vnic_smartnic_min_version(self, context):"},{"line_number":1022,"context_line":"        min_version \u003d (objects.service."},{"line_number":1023,"context_line":"                       get_minimum_version_all_cells("},{"line_number":1024,"context_line":"                           context,"},{"line_number":1025,"context_line":"                           [\u0027nova-compute\u0027]))"},{"line_number":1026,"context_line":"        if min_version \u003c SUPPORT_VNIC_TYPE_SMARTNIC:"},{"line_number":1027,"context_line":"            msg \u003d (\"SmartNIC ports are not supported\""},{"line_number":1028,"context_line":"                   \" until an upgrade is fully finished.\")"}],"source_content_type":"text/x-python","patch_set":7,"id":"d5fce874_63cebf54","line":1025,"range":{"start_line":1022,"start_character":1,"end_line":1025,"end_character":45},"updated":"2022-02-01 15:07:16.000000000","message":"I would use the wrapping like:\n        min_version \u003d objects.service.get_minimum_version_all_cells(\n            context, [\u0027nova-compute\u0027])\n\nblack would put the closing ) to a new line that is fine too","commit_id":"1f879371a12b14e42fc0ac0adf7f50b4deb90056"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"3280435b8f7f20e68920773d173ee47257ad4a17","unresolved":false,"context_lines":[{"line_number":1019,"context_line":"                        raise exception.ForbiddenPortsWithAccelerator(msg)"},{"line_number":1020,"context_line":""},{"line_number":1021,"context_line":"    def _check_vnic_smartnic_min_version(self, context):"},{"line_number":1022,"context_line":"        min_version \u003d (objects.service."},{"line_number":1023,"context_line":"                       get_minimum_version_all_cells("},{"line_number":1024,"context_line":"                           context,"},{"line_number":1025,"context_line":"                           [\u0027nova-compute\u0027]))"},{"line_number":1026,"context_line":"        if min_version \u003c SUPPORT_VNIC_TYPE_SMARTNIC:"},{"line_number":1027,"context_line":"            msg \u003d (\"SmartNIC ports are not supported\""},{"line_number":1028,"context_line":"                   \" until an upgrade is fully finished.\")"}],"source_content_type":"text/x-python","patch_set":7,"id":"232e6866_9635acc5","line":1025,"range":{"start_line":1022,"start_character":1,"end_line":1025,"end_character":45},"in_reply_to":"d5fce874_63cebf54","updated":"2022-02-01 19:59:29.000000000","message":"Ack, thanks for noticing.","commit_id":"1f879371a12b14e42fc0ac0adf7f50b4deb90056"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"25c4c801872667ca67e248b914285c58e4a76aa2","unresolved":true,"context_lines":[{"line_number":115,"context_line":"MIN_COMPUTE_MOVE_WITH_EXTENDED_RESOURCE_REQUEST \u003d 59"},{"line_number":116,"context_line":"MIN_COMPUTE_INT_ATTACH_WITH_EXTENDED_RES_REQ \u003d 60"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"SUPPORT_VNIC_TYPE_SMARTNIC \u003d 61"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"# FIXME(danms): Keep a global cache of the cells we find the"},{"line_number":121,"context_line":"# first time we look. This needs to be refreshed on a timer or"}],"source_content_type":"text/x-python","patch_set":10,"id":"580d51ca_d2201961","line":118,"updated":"2022-02-03 14:06:41.000000000","message":"This is good now as the feature at this point is not fully implemented. Do you have a patch that actually bumps the service version [1] to 61 to indicate that the feature is ready?\n\n[1] https://github.com/openstack/nova/blob/b0633ac49bfbe2e0e51ef0506f626d2dbf7c1705/nova/objects/service.py#L34","commit_id":"1a2c63d1d3dc046548ab7d9ab0b912505a204cda"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"87b55b578fb3b09b9762f91cbccee31492b41647","unresolved":false,"context_lines":[{"line_number":115,"context_line":"MIN_COMPUTE_MOVE_WITH_EXTENDED_RESOURCE_REQUEST \u003d 59"},{"line_number":116,"context_line":"MIN_COMPUTE_INT_ATTACH_WITH_EXTENDED_RES_REQ \u003d 60"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"SUPPORT_VNIC_TYPE_SMARTNIC \u003d 61"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"# FIXME(danms): Keep a global cache of the cells we find the"},{"line_number":121,"context_line":"# first time we look. This needs to be refreshed on a timer or"}],"source_content_type":"text/x-python","patch_set":10,"id":"47223ee5_56963cff","line":118,"in_reply_to":"27dfd9d2_1889882c","updated":"2022-02-03 20:50:44.000000000","message":"Done, see: https://review.opendev.org/c/openstack/nova/+/824835/11/nova/objects/service.py#34","commit_id":"1a2c63d1d3dc046548ab7d9ab0b912505a204cda"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"ee28c79f15c844f54bb6d069a3e98dcc452ed1ab","unresolved":true,"context_lines":[{"line_number":115,"context_line":"MIN_COMPUTE_MOVE_WITH_EXTENDED_RESOURCE_REQUEST \u003d 59"},{"line_number":116,"context_line":"MIN_COMPUTE_INT_ATTACH_WITH_EXTENDED_RES_REQ \u003d 60"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"SUPPORT_VNIC_TYPE_SMARTNIC \u003d 61"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"# FIXME(danms): Keep a global cache of the cells we find the"},{"line_number":121,"context_line":"# first time we look. This needs to be refreshed on a timer or"}],"source_content_type":"text/x-python","patch_set":10,"id":"27dfd9d2_1889882c","line":118,"in_reply_to":"580d51ca_d2201961","updated":"2022-02-03 16:58:22.000000000","message":"I don\u0027t, good catch!","commit_id":"1a2c63d1d3dc046548ab7d9ab0b912505a204cda"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"36f14d51faa550d47c7c9e5c3a0baf4f8f5c2ad5","unresolved":true,"context_lines":[{"line_number":115,"context_line":"MIN_COMPUTE_MOVE_WITH_EXTENDED_RESOURCE_REQUEST \u003d 59"},{"line_number":116,"context_line":"MIN_COMPUTE_INT_ATTACH_WITH_EXTENDED_RES_REQ \u003d 60"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"SUPPORT_VNIC_TYPE_SMARTNIC \u003d 61"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"# FIXME(danms): Keep a global cache of the cells we find the"},{"line_number":121,"context_line":"# first time we look. This needs to be refreshed on a timer or"}],"source_content_type":"text/x-python","patch_set":13,"id":"cfe034ea_0236e743","line":118,"range":{"start_line":118,"start_character":18,"end_line":118,"end_character":26},"updated":"2022-02-08 10:27:40.000000000","message":"REMOTE_MANAGED","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"f0507fdb37a24e7a8c060912cb09a206926ed05b","unresolved":false,"context_lines":[{"line_number":115,"context_line":"MIN_COMPUTE_MOVE_WITH_EXTENDED_RESOURCE_REQUEST \u003d 59"},{"line_number":116,"context_line":"MIN_COMPUTE_INT_ATTACH_WITH_EXTENDED_RES_REQ \u003d 60"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"SUPPORT_VNIC_TYPE_SMARTNIC \u003d 61"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"# FIXME(danms): Keep a global cache of the cells we find the"},{"line_number":121,"context_line":"# first time we look. This needs to be refreshed on a timer or"}],"source_content_type":"text/x-python","patch_set":13,"id":"513992f5_67c6ab06","line":118,"range":{"start_line":118,"start_character":18,"end_line":118,"end_character":26},"in_reply_to":"cfe034ea_0236e743","updated":"2022-02-08 16:52:43.000000000","message":"Done","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"36f14d51faa550d47c7c9e5c3a0baf4f8f5c2ad5","unresolved":true,"context_lines":[{"line_number":1018,"context_line":"                            \" until upgrade finished.\")"},{"line_number":1019,"context_line":"                        raise exception.ForbiddenPortsWithAccelerator(msg)"},{"line_number":1020,"context_line":""},{"line_number":1021,"context_line":"    def _check_vnic_smartnic_min_version(self, context):"},{"line_number":1022,"context_line":"        min_version \u003d (objects.service.get_minimum_version_all_cells("},{"line_number":1023,"context_line":"            context, [\u0027nova-compute\u0027]))"},{"line_number":1024,"context_line":"        if min_version \u003c SUPPORT_VNIC_TYPE_SMARTNIC:"}],"source_content_type":"text/x-python","patch_set":13,"id":"08eb9955_31f514fa","line":1021,"range":{"start_line":1021,"start_character":8,"end_line":1021,"end_character":40},"updated":"2022-02-08 10:27:40.000000000","message":"_check_vinc_remote_managed_min_version","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"f0507fdb37a24e7a8c060912cb09a206926ed05b","unresolved":false,"context_lines":[{"line_number":1018,"context_line":"                            \" until upgrade finished.\")"},{"line_number":1019,"context_line":"                        raise exception.ForbiddenPortsWithAccelerator(msg)"},{"line_number":1020,"context_line":""},{"line_number":1021,"context_line":"    def _check_vnic_smartnic_min_version(self, context):"},{"line_number":1022,"context_line":"        min_version \u003d (objects.service.get_minimum_version_all_cells("},{"line_number":1023,"context_line":"            context, [\u0027nova-compute\u0027]))"},{"line_number":1024,"context_line":"        if min_version \u003c SUPPORT_VNIC_TYPE_SMARTNIC:"}],"source_content_type":"text/x-python","patch_set":13,"id":"9249163a_a31c5423","line":1021,"range":{"start_line":1021,"start_character":8,"end_line":1021,"end_character":40},"in_reply_to":"08eb9955_31f514fa","updated":"2022-02-08 16:52:43.000000000","message":"Done","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"36f14d51faa550d47c7c9e5c3a0baf4f8f5c2ad5","unresolved":true,"context_lines":[{"line_number":1021,"context_line":"    def _check_vnic_smartnic_min_version(self, context):"},{"line_number":1022,"context_line":"        min_version \u003d (objects.service.get_minimum_version_all_cells("},{"line_number":1023,"context_line":"            context, [\u0027nova-compute\u0027]))"},{"line_number":1024,"context_line":"        if min_version \u003c SUPPORT_VNIC_TYPE_SMARTNIC:"},{"line_number":1025,"context_line":"            msg \u003d (\"SmartNIC ports are not supported\""},{"line_number":1026,"context_line":"                   \" until an upgrade is fully finished.\")"},{"line_number":1027,"context_line":"            raise exception.ForbiddenWithSmartNICPorts(msg)"}],"source_content_type":"text/x-python","patch_set":13,"id":"05171086_0a3b61d2","line":1024,"range":{"start_line":1024,"start_character":43,"end_line":1024,"end_character":51},"updated":"2022-02-08 10:27:40.000000000","message":"REMOTE_MANAGED","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"f0507fdb37a24e7a8c060912cb09a206926ed05b","unresolved":false,"context_lines":[{"line_number":1021,"context_line":"    def _check_vnic_smartnic_min_version(self, context):"},{"line_number":1022,"context_line":"        min_version \u003d (objects.service.get_minimum_version_all_cells("},{"line_number":1023,"context_line":"            context, [\u0027nova-compute\u0027]))"},{"line_number":1024,"context_line":"        if min_version \u003c SUPPORT_VNIC_TYPE_SMARTNIC:"},{"line_number":1025,"context_line":"            msg \u003d (\"SmartNIC ports are not supported\""},{"line_number":1026,"context_line":"                   \" until an upgrade is fully finished.\")"},{"line_number":1027,"context_line":"            raise exception.ForbiddenWithSmartNICPorts(msg)"}],"source_content_type":"text/x-python","patch_set":13,"id":"08cb53d4_01af1366","line":1024,"range":{"start_line":1024,"start_character":43,"end_line":1024,"end_character":51},"in_reply_to":"05171086_0a3b61d2","updated":"2022-02-08 16:52:43.000000000","message":"Done","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"36f14d51faa550d47c7c9e5c3a0baf4f8f5c2ad5","unresolved":true,"context_lines":[{"line_number":1026,"context_line":"                   \" until an upgrade is fully finished.\")"},{"line_number":1027,"context_line":"            raise exception.ForbiddenWithSmartNICPorts(msg)"},{"line_number":1028,"context_line":""},{"line_number":1029,"context_line":"    def _check_support_vnic_smartnic(self, context, requested_networks):"},{"line_number":1030,"context_line":"        if requested_networks:"},{"line_number":1031,"context_line":"            for request_net in requested_networks:"},{"line_number":1032,"context_line":"                if request_net.port_id and self.network_api.is_smartnic_port("}],"source_content_type":"text/x-python","patch_set":13,"id":"3ff19d7a_61aaf3d6","line":1029,"range":{"start_line":1029,"start_character":8,"end_line":1029,"end_character":36},"updated":"2022-02-08 10:27:40.000000000","message":"_check_supports_vnic_remote_managed","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"f0507fdb37a24e7a8c060912cb09a206926ed05b","unresolved":false,"context_lines":[{"line_number":1026,"context_line":"                   \" until an upgrade is fully finished.\")"},{"line_number":1027,"context_line":"            raise exception.ForbiddenWithSmartNICPorts(msg)"},{"line_number":1028,"context_line":""},{"line_number":1029,"context_line":"    def _check_support_vnic_smartnic(self, context, requested_networks):"},{"line_number":1030,"context_line":"        if requested_networks:"},{"line_number":1031,"context_line":"            for request_net in requested_networks:"},{"line_number":1032,"context_line":"                if request_net.port_id and self.network_api.is_smartnic_port("}],"source_content_type":"text/x-python","patch_set":13,"id":"d54c0b96_4f743103","line":1029,"range":{"start_line":1029,"start_character":8,"end_line":1029,"end_character":36},"in_reply_to":"3ff19d7a_61aaf3d6","updated":"2022-02-08 16:52:43.000000000","message":"Done","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"36f14d51faa550d47c7c9e5c3a0baf4f8f5c2ad5","unresolved":true,"context_lines":[{"line_number":1029,"context_line":"    def _check_support_vnic_smartnic(self, context, requested_networks):"},{"line_number":1030,"context_line":"        if requested_networks:"},{"line_number":1031,"context_line":"            for request_net in requested_networks:"},{"line_number":1032,"context_line":"                if request_net.port_id and self.network_api.is_smartnic_port("},{"line_number":1033,"context_line":"                    context, request_net.port_id):"},{"line_number":1034,"context_line":"                    self._check_vnic_smartnic_min_version(context)"},{"line_number":1035,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"c9dddeda_aadc122e","line":1032,"range":{"start_line":1032,"start_character":60,"end_line":1032,"end_character":76},"updated":"2022-02-08 10:27:40.000000000","message":"is_remote_managed_port","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"f0507fdb37a24e7a8c060912cb09a206926ed05b","unresolved":false,"context_lines":[{"line_number":1029,"context_line":"    def _check_support_vnic_smartnic(self, context, requested_networks):"},{"line_number":1030,"context_line":"        if requested_networks:"},{"line_number":1031,"context_line":"            for request_net in requested_networks:"},{"line_number":1032,"context_line":"                if request_net.port_id and self.network_api.is_smartnic_port("},{"line_number":1033,"context_line":"                    context, request_net.port_id):"},{"line_number":1034,"context_line":"                    self._check_vnic_smartnic_min_version(context)"},{"line_number":1035,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"9c356c1f_0a69cd80","line":1032,"range":{"start_line":1032,"start_character":60,"end_line":1032,"end_character":76},"in_reply_to":"c9dddeda_aadc122e","updated":"2022-02-08 16:52:43.000000000","message":"Done","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"36f14d51faa550d47c7c9e5c3a0baf4f8f5c2ad5","unresolved":true,"context_lines":[{"line_number":1030,"context_line":"        if requested_networks:"},{"line_number":1031,"context_line":"            for request_net in requested_networks:"},{"line_number":1032,"context_line":"                if request_net.port_id and self.network_api.is_smartnic_port("},{"line_number":1033,"context_line":"                    context, request_net.port_id):"},{"line_number":1034,"context_line":"                    self._check_vnic_smartnic_min_version(context)"},{"line_number":1035,"context_line":""},{"line_number":1036,"context_line":"    def _validate_and_build_base_options("}],"source_content_type":"text/x-python","patch_set":13,"id":"77be51cc_4a19f029","line":1033,"range":{"start_line":1033,"start_character":48,"end_line":1033,"end_character":50},"updated":"2022-02-08 10:27:40.000000000","message":"nit for clarity i woudl move this to the next line","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"f0507fdb37a24e7a8c060912cb09a206926ed05b","unresolved":false,"context_lines":[{"line_number":1030,"context_line":"        if requested_networks:"},{"line_number":1031,"context_line":"            for request_net in requested_networks:"},{"line_number":1032,"context_line":"                if request_net.port_id and self.network_api.is_smartnic_port("},{"line_number":1033,"context_line":"                    context, request_net.port_id):"},{"line_number":1034,"context_line":"                    self._check_vnic_smartnic_min_version(context)"},{"line_number":1035,"context_line":""},{"line_number":1036,"context_line":"    def _validate_and_build_base_options("}],"source_content_type":"text/x-python","patch_set":13,"id":"8e4a9cb5_3577a446","line":1033,"range":{"start_line":1033,"start_character":48,"end_line":1033,"end_character":50},"in_reply_to":"77be51cc_4a19f029","updated":"2022-02-08 16:52:43.000000000","message":"Done","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"36f14d51faa550d47c7c9e5c3a0baf4f8f5c2ad5","unresolved":true,"context_lines":[{"line_number":1031,"context_line":"            for request_net in requested_networks:"},{"line_number":1032,"context_line":"                if request_net.port_id and self.network_api.is_smartnic_port("},{"line_number":1033,"context_line":"                    context, request_net.port_id):"},{"line_number":1034,"context_line":"                    self._check_vnic_smartnic_min_version(context)"},{"line_number":1035,"context_line":""},{"line_number":1036,"context_line":"    def _validate_and_build_base_options("},{"line_number":1037,"context_line":"        self, context, flavor, boot_meta, image_href, image_id, kernel_id,"}],"source_content_type":"text/x-python","patch_set":13,"id":"8addf12e_e4ec8ddf","line":1034,"range":{"start_line":1034,"start_character":25,"end_line":1034,"end_character":57},"updated":"2022-02-08 10:27:40.000000000","message":"_check_vinc_remote_managed_min_version","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"f0507fdb37a24e7a8c060912cb09a206926ed05b","unresolved":false,"context_lines":[{"line_number":1031,"context_line":"            for request_net in requested_networks:"},{"line_number":1032,"context_line":"                if request_net.port_id and self.network_api.is_smartnic_port("},{"line_number":1033,"context_line":"                    context, request_net.port_id):"},{"line_number":1034,"context_line":"                    self._check_vnic_smartnic_min_version(context)"},{"line_number":1035,"context_line":""},{"line_number":1036,"context_line":"    def _validate_and_build_base_options("},{"line_number":1037,"context_line":"        self, context, flavor, boot_meta, image_href, image_id, kernel_id,"}],"source_content_type":"text/x-python","patch_set":13,"id":"7e96a725_3bae5051","line":1034,"range":{"start_line":1034,"start_character":25,"end_line":1034,"end_character":57},"in_reply_to":"8addf12e_e4ec8ddf","updated":"2022-02-08 16:52:43.000000000","message":"Done","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"36f14d51faa550d47c7c9e5c3a0baf4f8f5c2ad5","unresolved":true,"context_lines":[{"line_number":5179,"context_line":"                raise exception.ForbiddenPortsWithAccelerator()"},{"line_number":5180,"context_line":""},{"line_number":5181,"context_line":"            if port.get(\u0027binding:vnic_type\u0027,"},{"line_number":5182,"context_line":"                        \u0027normal\u0027) \u003d\u003d network_model.VNIC_TYPE_SMARTNIC:"},{"line_number":5183,"context_line":"                self._check_vnic_smartnic_min_version(context)"},{"line_number":5184,"context_line":""},{"line_number":5185,"context_line":"            self.ensure_compute_version_for_resource_request("}],"source_content_type":"text/x-python","patch_set":13,"id":"7daf9365_a97c6943","line":5182,"range":{"start_line":5182,"start_character":61,"end_line":5182,"end_character":69},"updated":"2022-02-08 10:27:40.000000000","message":"REMOTE_MANAGED","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"f0507fdb37a24e7a8c060912cb09a206926ed05b","unresolved":false,"context_lines":[{"line_number":5179,"context_line":"                raise exception.ForbiddenPortsWithAccelerator()"},{"line_number":5180,"context_line":""},{"line_number":5181,"context_line":"            if port.get(\u0027binding:vnic_type\u0027,"},{"line_number":5182,"context_line":"                        \u0027normal\u0027) \u003d\u003d network_model.VNIC_TYPE_SMARTNIC:"},{"line_number":5183,"context_line":"                self._check_vnic_smartnic_min_version(context)"},{"line_number":5184,"context_line":""},{"line_number":5185,"context_line":"            self.ensure_compute_version_for_resource_request("}],"source_content_type":"text/x-python","patch_set":13,"id":"70df0336_087f788a","line":5182,"range":{"start_line":5182,"start_character":61,"end_line":5182,"end_character":69},"in_reply_to":"7daf9365_a97c6943","updated":"2022-02-08 16:52:43.000000000","message":"Done","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"}],"nova/conf/workarounds.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"fab83ea36e7b5ae23e38641f536015a103c9dbbc","unresolved":false,"context_lines":[{"line_number":313,"context_line":"                        \"vdpa\","},{"line_number":314,"context_line":"                        \"accelerator-direct\","},{"line_number":315,"context_line":"                        \"accelerator-direct-physical\","},{"line_number":316,"context_line":"                        \"remote-managed\","},{"line_number":317,"context_line":"                    ]),"},{"line_number":318,"context_line":"                default\u003d[],"},{"line_number":319,"context_line":"                help\u003d\"\"\""}],"source_content_type":"text/x-python","patch_set":15,"id":"f8d70eb8_f764e752","line":316,"updated":"2022-02-09 15:57:48.000000000","message":"thanks!","commit_id":"0620678344d0f032a33e952d4d0fa653741f09e7"}],"nova/exception.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"36f14d51faa550d47c7c9e5c3a0baf4f8f5c2ad5","unresolved":true,"context_lines":[{"line_number":175,"context_line":"    msg_fmt \u003d _(\"Feature not supported with Ports that have accelerators.\")"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"class ForbiddenWithSmartNICPorts(NotSupported):"},{"line_number":179,"context_line":"    msg_fmt \u003d _(\"This feature is not supported when SmartNIC ports\""},{"line_number":180,"context_line":"                \" are in use.\")"},{"line_number":181,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"021068f7_17b8e7c8","line":178,"range":{"start_line":178,"start_character":6,"end_line":178,"end_character":32},"updated":"2022-02-08 10:27:40.000000000","message":"ForbiddenWithRemoteManagedPorts","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"f0507fdb37a24e7a8c060912cb09a206926ed05b","unresolved":false,"context_lines":[{"line_number":175,"context_line":"    msg_fmt \u003d _(\"Feature not supported with Ports that have accelerators.\")"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"class ForbiddenWithSmartNICPorts(NotSupported):"},{"line_number":179,"context_line":"    msg_fmt \u003d _(\"This feature is not supported when SmartNIC ports\""},{"line_number":180,"context_line":"                \" are in use.\")"},{"line_number":181,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"c5836ea3_e0016678","line":178,"range":{"start_line":178,"start_character":6,"end_line":178,"end_character":32},"in_reply_to":"021068f7_17b8e7c8","updated":"2022-02-08 16:52:43.000000000","message":"Done","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"36f14d51faa550d47c7c9e5c3a0baf4f8f5c2ad5","unresolved":true,"context_lines":[{"line_number":176,"context_line":""},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"class ForbiddenWithSmartNICPorts(NotSupported):"},{"line_number":179,"context_line":"    msg_fmt \u003d _(\"This feature is not supported when SmartNIC ports\""},{"line_number":180,"context_line":"                \" are in use.\")"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"0afc0775_352b3de0","line":179,"range":{"start_line":179,"start_character":52,"end_line":179,"end_character":60},"updated":"2022-02-08 10:27:40.000000000","message":"remote-managed or remote managed","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"f0507fdb37a24e7a8c060912cb09a206926ed05b","unresolved":false,"context_lines":[{"line_number":176,"context_line":""},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"class ForbiddenWithSmartNICPorts(NotSupported):"},{"line_number":179,"context_line":"    msg_fmt \u003d _(\"This feature is not supported when SmartNIC ports\""},{"line_number":180,"context_line":"                \" are in use.\")"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"c1303b59_4bc07416","line":179,"range":{"start_line":179,"start_character":52,"end_line":179,"end_character":60},"in_reply_to":"0afc0775_352b3de0","updated":"2022-02-08 16:52:43.000000000","message":"Done","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"}],"nova/network/model.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"36f14d51faa550d47c7c9e5c3a0baf4f8f5c2ad5","unresolved":true,"context_lines":[{"line_number":106,"context_line":"VNIC_TYPE_VDPA \u003d \u0027vdpa\u0027"},{"line_number":107,"context_line":"VNIC_TYPE_ACCELERATOR_DIRECT \u003d \u0027accelerator-direct\u0027"},{"line_number":108,"context_line":"VNIC_TYPE_ACCELERATOR_DIRECT_PHYSICAL \u003d \u0027accelerator-direct-physical\u0027"},{"line_number":109,"context_line":"VNIC_TYPE_SMARTNIC \u003d \u0027smart-nic\u0027"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"# Define list of ports which needs pci request."},{"line_number":112,"context_line":"# Note: The macvtap port needs a PCI request as it is a tap interface"}],"source_content_type":"text/x-python","patch_set":13,"id":"389f9d06_2cc8adfc","line":109,"range":{"start_line":109,"start_character":10,"end_line":109,"end_character":18},"updated":"2022-02-08 10:27:40.000000000","message":"REMOTE_MANAGED","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"36f14d51faa550d47c7c9e5c3a0baf4f8f5c2ad5","unresolved":true,"context_lines":[{"line_number":106,"context_line":"VNIC_TYPE_VDPA \u003d \u0027vdpa\u0027"},{"line_number":107,"context_line":"VNIC_TYPE_ACCELERATOR_DIRECT \u003d \u0027accelerator-direct\u0027"},{"line_number":108,"context_line":"VNIC_TYPE_ACCELERATOR_DIRECT_PHYSICAL \u003d \u0027accelerator-direct-physical\u0027"},{"line_number":109,"context_line":"VNIC_TYPE_SMARTNIC \u003d \u0027smart-nic\u0027"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"# Define list of ports which needs pci request."},{"line_number":112,"context_line":"# Note: The macvtap port needs a PCI request as it is a tap interface"}],"source_content_type":"text/x-python","patch_set":13,"id":"13982c48_38df79bd","line":109,"range":{"start_line":109,"start_character":21,"end_line":109,"end_character":31},"updated":"2022-02-08 10:27:40.000000000","message":"remote-managed","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"f0507fdb37a24e7a8c060912cb09a206926ed05b","unresolved":false,"context_lines":[{"line_number":106,"context_line":"VNIC_TYPE_VDPA \u003d \u0027vdpa\u0027"},{"line_number":107,"context_line":"VNIC_TYPE_ACCELERATOR_DIRECT \u003d \u0027accelerator-direct\u0027"},{"line_number":108,"context_line":"VNIC_TYPE_ACCELERATOR_DIRECT_PHYSICAL \u003d \u0027accelerator-direct-physical\u0027"},{"line_number":109,"context_line":"VNIC_TYPE_SMARTNIC \u003d \u0027smart-nic\u0027"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"# Define list of ports which needs pci request."},{"line_number":112,"context_line":"# Note: The macvtap port needs a PCI request as it is a tap interface"}],"source_content_type":"text/x-python","patch_set":13,"id":"7d81f3cd_d2957139","line":109,"range":{"start_line":109,"start_character":21,"end_line":109,"end_character":31},"in_reply_to":"13982c48_38df79bd","updated":"2022-02-08 16:52:43.000000000","message":"Done","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"f0507fdb37a24e7a8c060912cb09a206926ed05b","unresolved":false,"context_lines":[{"line_number":106,"context_line":"VNIC_TYPE_VDPA \u003d \u0027vdpa\u0027"},{"line_number":107,"context_line":"VNIC_TYPE_ACCELERATOR_DIRECT \u003d \u0027accelerator-direct\u0027"},{"line_number":108,"context_line":"VNIC_TYPE_ACCELERATOR_DIRECT_PHYSICAL \u003d \u0027accelerator-direct-physical\u0027"},{"line_number":109,"context_line":"VNIC_TYPE_SMARTNIC \u003d \u0027smart-nic\u0027"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"# Define list of ports which needs pci request."},{"line_number":112,"context_line":"# Note: The macvtap port needs a PCI request as it is a tap interface"}],"source_content_type":"text/x-python","patch_set":13,"id":"5ed27cc6_e7c6f18f","line":109,"range":{"start_line":109,"start_character":10,"end_line":109,"end_character":18},"in_reply_to":"389f9d06_2cc8adfc","updated":"2022-02-08 16:52:43.000000000","message":"Done","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"36f14d51faa550d47c7c9e5c3a0baf4f8f5c2ad5","unresolved":true,"context_lines":[{"line_number":130,"context_line":"                                 VNIC_TYPE_DIRECT_PHYSICAL,"},{"line_number":131,"context_line":"                                 VNIC_TYPE_ACCELERATOR_DIRECT,"},{"line_number":132,"context_line":"                                 VNIC_TYPE_ACCELERATOR_DIRECT_PHYSICAL,"},{"line_number":133,"context_line":"                                 VNIC_TYPE_SMARTNIC)"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"# Define list of ports which contains devices managed by cyborg."},{"line_number":136,"context_line":"VNIC_TYPES_ACCELERATOR \u003d ("}],"source_content_type":"text/x-python","patch_set":13,"id":"e309dc08_3f83426e","line":133,"range":{"start_line":133,"start_character":33,"end_line":133,"end_character":51},"updated":"2022-02-08 10:27:40.000000000","message":"dito","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"f0507fdb37a24e7a8c060912cb09a206926ed05b","unresolved":false,"context_lines":[{"line_number":130,"context_line":"                                 VNIC_TYPE_DIRECT_PHYSICAL,"},{"line_number":131,"context_line":"                                 VNIC_TYPE_ACCELERATOR_DIRECT,"},{"line_number":132,"context_line":"                                 VNIC_TYPE_ACCELERATOR_DIRECT_PHYSICAL,"},{"line_number":133,"context_line":"                                 VNIC_TYPE_SMARTNIC)"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"# Define list of ports which contains devices managed by cyborg."},{"line_number":136,"context_line":"VNIC_TYPES_ACCELERATOR \u003d ("}],"source_content_type":"text/x-python","patch_set":13,"id":"f5187a12_169784a7","line":133,"range":{"start_line":133,"start_character":33,"end_line":133,"end_character":51},"in_reply_to":"e309dc08_3f83426e","updated":"2022-02-08 16:52:43.000000000","message":"Done","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"}],"nova/network/neutron.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"36f14d51faa550d47c7c9e5c3a0baf4f8f5c2ad5","unresolved":true,"context_lines":[{"line_number":2135,"context_line":"        \"\"\""},{"line_number":2136,"context_line":"        return vnic_type \u003d\u003d network_model.VNIC_TYPE_SMARTNIC"},{"line_number":2137,"context_line":""},{"line_number":2138,"context_line":"    def is_smartnic_port(self, context, port_id):"},{"line_number":2139,"context_line":"        \"\"\"Determine if a port has a SmartNIC VNIC type."},{"line_number":2140,"context_line":""},{"line_number":2141,"context_line":"        :param context: The request context"}],"source_content_type":"text/x-python","patch_set":13,"id":"4cd24303_a01c0f03","line":2138,"range":{"start_line":2138,"start_character":8,"end_line":2138,"end_character":24},"updated":"2022-02-08 10:27:40.000000000","message":"im not really sure if you need both of these but i would suggest making this is_remote_managed_port","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"f0507fdb37a24e7a8c060912cb09a206926ed05b","unresolved":false,"context_lines":[{"line_number":2135,"context_line":"        \"\"\""},{"line_number":2136,"context_line":"        return vnic_type \u003d\u003d network_model.VNIC_TYPE_SMARTNIC"},{"line_number":2137,"context_line":""},{"line_number":2138,"context_line":"    def is_smartnic_port(self, context, port_id):"},{"line_number":2139,"context_line":"        \"\"\"Determine if a port has a SmartNIC VNIC type."},{"line_number":2140,"context_line":""},{"line_number":2141,"context_line":"        :param context: The request context"}],"source_content_type":"text/x-python","patch_set":13,"id":"61575b10_f0802092","line":2138,"range":{"start_line":2138,"start_character":8,"end_line":2138,"end_character":24},"in_reply_to":"4cd24303_a01c0f03","updated":"2022-02-08 16:52:43.000000000","message":"Done","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"36f14d51faa550d47c7c9e5c3a0baf4f8f5c2ad5","unresolved":true,"context_lines":[{"line_number":2142,"context_line":"        :param port_id: The id of the Neutron port"},{"line_number":2143,"context_line":"        \"\"\""},{"line_number":2144,"context_line":"        port \u003d self.show_port(context, port_id)[\u0027port\u0027]"},{"line_number":2145,"context_line":"        vnic_type \u003d port.get(\u0027binding:vnic_type\u0027,"},{"line_number":2146,"context_line":"                             network_model.VNIC_TYPE_NORMAL)"},{"line_number":2147,"context_line":"        return vnic_type \u003d\u003d network_model.VNIC_TYPE_SMARTNIC"},{"line_number":2148,"context_line":""},{"line_number":2149,"context_line":"    # NOTE(sean-k-mooney): we might want to have this return a"},{"line_number":2150,"context_line":"    # nova.network.model.VIF object instead in the future."}],"source_content_type":"text/x-python","patch_set":13,"id":"de9ccaea_66a2fd13","line":2147,"range":{"start_line":2145,"start_character":8,"end_line":2147,"end_character":60},"updated":"2022-02-08 10:27:40.000000000","message":"and eitehr inlien _is_remote_managed or refactor this to\n\nreturn _is_remote_managed(\n    port.get(\u0027binding:vnic_type\u0027, network_model.VNIC_TYPE_NORMAL)\n)","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"f0507fdb37a24e7a8c060912cb09a206926ed05b","unresolved":false,"context_lines":[{"line_number":2142,"context_line":"        :param port_id: The id of the Neutron port"},{"line_number":2143,"context_line":"        \"\"\""},{"line_number":2144,"context_line":"        port \u003d self.show_port(context, port_id)[\u0027port\u0027]"},{"line_number":2145,"context_line":"        vnic_type \u003d port.get(\u0027binding:vnic_type\u0027,"},{"line_number":2146,"context_line":"                             network_model.VNIC_TYPE_NORMAL)"},{"line_number":2147,"context_line":"        return vnic_type \u003d\u003d network_model.VNIC_TYPE_SMARTNIC"},{"line_number":2148,"context_line":""},{"line_number":2149,"context_line":"    # NOTE(sean-k-mooney): we might want to have this return a"},{"line_number":2150,"context_line":"    # nova.network.model.VIF object instead in the future."}],"source_content_type":"text/x-python","patch_set":13,"id":"a90d50ba_eda07f1a","line":2147,"range":{"start_line":2145,"start_character":8,"end_line":2147,"end_character":60},"in_reply_to":"de9ccaea_66a2fd13","updated":"2022-02-08 16:52:43.000000000","message":"Refactored as proposed.","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"}],"nova/network/os_vif_util.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"36f14d51faa550d47c7c9e5c3a0baf4f8f5c2ad5","unresolved":true,"context_lines":[{"line_number":338,"context_line":"            port_profile\u003d_get_ovs_representor_port_profile(vif),"},{"line_number":339,"context_line":"            plugin\u003d\"ovs\")"},{"line_number":340,"context_line":"        _set_representor_datapath_offload_settings(vif, obj)"},{"line_number":341,"context_line":"    elif vnic_type \u003d\u003d model.VNIC_TYPE_SMARTNIC:"},{"line_number":342,"context_line":"        # A networking backend is responsible for setting up a"},{"line_number":343,"context_line":"        # representor in this case so the driver is noop."},{"line_number":344,"context_line":"        obj \u003d _get_vif_instance("}],"source_content_type":"text/x-python","patch_set":13,"id":"ee812181_467b10de","line":341,"range":{"start_line":341,"start_character":38,"end_line":341,"end_character":46},"updated":"2022-02-08 10:27:40.000000000","message":"REMOTE_MANAGED","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"f0507fdb37a24e7a8c060912cb09a206926ed05b","unresolved":false,"context_lines":[{"line_number":338,"context_line":"            port_profile\u003d_get_ovs_representor_port_profile(vif),"},{"line_number":339,"context_line":"            plugin\u003d\"ovs\")"},{"line_number":340,"context_line":"        _set_representor_datapath_offload_settings(vif, obj)"},{"line_number":341,"context_line":"    elif vnic_type \u003d\u003d model.VNIC_TYPE_SMARTNIC:"},{"line_number":342,"context_line":"        # A networking backend is responsible for setting up a"},{"line_number":343,"context_line":"        # representor in this case so the driver is noop."},{"line_number":344,"context_line":"        obj \u003d _get_vif_instance("}],"source_content_type":"text/x-python","patch_set":13,"id":"c4d8970f_4cc1d987","line":341,"range":{"start_line":341,"start_character":38,"end_line":341,"end_character":46},"in_reply_to":"ee812181_467b10de","updated":"2022-02-08 16:52:43.000000000","message":"Done","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"}],"nova/objects/service.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"36f14d51faa550d47c7c9e5c3a0baf4f8f5c2ad5","unresolved":true,"context_lines":[{"line_number":214,"context_line":"    # request"},{"line_number":215,"context_line":"    {\u0027compute_rpc\u0027: \u00276.0\u0027},"},{"line_number":216,"context_line":"    # Version 61: Compute RPC v6.0:"},{"line_number":217,"context_line":"    # Add support for remotely-managed ports (vnic-type \u0027smart-nic\u0027)"},{"line_number":218,"context_line":"    {\u0027compute_rpc\u0027: \u00276.0\u0027},"},{"line_number":219,"context_line":")"},{"line_number":220,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"fdff08b0_864fe513","line":217,"range":{"start_line":217,"start_character":57,"end_line":217,"end_character":66},"updated":"2022-02-08 10:27:40.000000000","message":"remote-managed","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"f0507fdb37a24e7a8c060912cb09a206926ed05b","unresolved":false,"context_lines":[{"line_number":214,"context_line":"    # request"},{"line_number":215,"context_line":"    {\u0027compute_rpc\u0027: \u00276.0\u0027},"},{"line_number":216,"context_line":"    # Version 61: Compute RPC v6.0:"},{"line_number":217,"context_line":"    # Add support for remotely-managed ports (vnic-type \u0027smart-nic\u0027)"},{"line_number":218,"context_line":"    {\u0027compute_rpc\u0027: \u00276.0\u0027},"},{"line_number":219,"context_line":")"},{"line_number":220,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"b45e6191_1c7e7a2c","line":217,"range":{"start_line":217,"start_character":57,"end_line":217,"end_character":66},"in_reply_to":"fdff08b0_864fe513","updated":"2022-02-08 16:52:43.000000000","message":"Done","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"}],"nova/tests/unit/compute/test_api.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"36f14d51faa550d47c7c9e5c3a0baf4f8f5c2ad5","unresolved":true,"context_lines":[{"line_number":207,"context_line":"        return list_obj"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"    @mock.patch("},{"line_number":210,"context_line":"        \u0027nova.network.neutron.API.is_smartnic_port\u0027,"},{"line_number":211,"context_line":"        new\u003dmock.Mock(return_value\u003dFalse),"},{"line_number":212,"context_line":"    )"},{"line_number":213,"context_line":"    @mock.patch(\u0027nova.objects.Quotas.check_deltas\u0027)"}],"source_content_type":"text/x-python","patch_set":13,"id":"ca2e570e_16fb46a9","line":210,"range":{"start_line":210,"start_character":37,"end_line":210,"end_character":45},"updated":"2022-02-08 10:27:40.000000000","message":"remote_managed","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"f0507fdb37a24e7a8c060912cb09a206926ed05b","unresolved":false,"context_lines":[{"line_number":207,"context_line":"        return list_obj"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"    @mock.patch("},{"line_number":210,"context_line":"        \u0027nova.network.neutron.API.is_smartnic_port\u0027,"},{"line_number":211,"context_line":"        new\u003dmock.Mock(return_value\u003dFalse),"},{"line_number":212,"context_line":"    )"},{"line_number":213,"context_line":"    @mock.patch(\u0027nova.objects.Quotas.check_deltas\u0027)"}],"source_content_type":"text/x-python","patch_set":13,"id":"f032bb4b_963e15d7","line":210,"range":{"start_line":210,"start_character":37,"end_line":210,"end_character":45},"in_reply_to":"ca2e570e_16fb46a9","updated":"2022-02-08 16:52:43.000000000","message":"Done","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"36f14d51faa550d47c7c9e5c3a0baf4f8f5c2ad5","unresolved":true,"context_lines":[{"line_number":7248,"context_line":"        mock_get.assert_called_once_with(self.context, [\u0027nova-compute\u0027])"},{"line_number":7249,"context_line":""},{"line_number":7250,"context_line":"    @mock.patch("},{"line_number":7251,"context_line":"        \u0027nova.network.neutron.API.is_smartnic_port\u0027,"},{"line_number":7252,"context_line":"        new\u003dmock.Mock(return_value\u003dTrue),"},{"line_number":7253,"context_line":"    )"},{"line_number":7254,"context_line":"    @mock.patch(\u0027nova.objects.service.get_minimum_version_all_cells\u0027,"}],"source_content_type":"text/x-python","patch_set":13,"id":"573175a2_7a62c973","line":7251,"range":{"start_line":7251,"start_character":34,"end_line":7251,"end_character":50},"updated":"2022-02-08 10:27:40.000000000","message":"same","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"f0507fdb37a24e7a8c060912cb09a206926ed05b","unresolved":false,"context_lines":[{"line_number":7248,"context_line":"        mock_get.assert_called_once_with(self.context, [\u0027nova-compute\u0027])"},{"line_number":7249,"context_line":""},{"line_number":7250,"context_line":"    @mock.patch("},{"line_number":7251,"context_line":"        \u0027nova.network.neutron.API.is_smartnic_port\u0027,"},{"line_number":7252,"context_line":"        new\u003dmock.Mock(return_value\u003dTrue),"},{"line_number":7253,"context_line":"    )"},{"line_number":7254,"context_line":"    @mock.patch(\u0027nova.objects.service.get_minimum_version_all_cells\u0027,"}],"source_content_type":"text/x-python","patch_set":13,"id":"b0ab3d1c_1b595621","line":7251,"range":{"start_line":7251,"start_character":34,"end_line":7251,"end_character":50},"in_reply_to":"573175a2_7a62c973","updated":"2022-02-08 16:52:43.000000000","message":"Done","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"36f14d51faa550d47c7c9e5c3a0baf4f8f5c2ad5","unresolved":true,"context_lines":[{"line_number":7257,"context_line":"        requested_networks \u003d objects.NetworkRequestList("},{"line_number":7258,"context_line":"            objects\u003d[objects.NetworkRequest(port_id\u003duuids.port)])"},{"line_number":7259,"context_line":"        self.assertRaisesRegex(exception.ForbiddenWithSmartNICPorts,"},{"line_number":7260,"context_line":"            \u0027SmartNIC ports are not supported until an upgrade is fully\u0027"},{"line_number":7261,"context_line":"            \u0027 finished.\u0027,"},{"line_number":7262,"context_line":"            self.compute_api._check_support_vnic_smartnic,"},{"line_number":7263,"context_line":"            self.context,"}],"source_content_type":"text/x-python","patch_set":13,"id":"d0455ecf_57eaa804","line":7260,"range":{"start_line":7260,"start_character":13,"end_line":7260,"end_character":21},"updated":"2022-02-08 10:27:40.000000000","message":"Remote managed","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"f0507fdb37a24e7a8c060912cb09a206926ed05b","unresolved":false,"context_lines":[{"line_number":7257,"context_line":"        requested_networks \u003d objects.NetworkRequestList("},{"line_number":7258,"context_line":"            objects\u003d[objects.NetworkRequest(port_id\u003duuids.port)])"},{"line_number":7259,"context_line":"        self.assertRaisesRegex(exception.ForbiddenWithSmartNICPorts,"},{"line_number":7260,"context_line":"            \u0027SmartNIC ports are not supported until an upgrade is fully\u0027"},{"line_number":7261,"context_line":"            \u0027 finished.\u0027,"},{"line_number":7262,"context_line":"            self.compute_api._check_support_vnic_smartnic,"},{"line_number":7263,"context_line":"            self.context,"}],"source_content_type":"text/x-python","patch_set":13,"id":"123e9962_987b00ac","line":7260,"range":{"start_line":7260,"start_character":13,"end_line":7260,"end_character":21},"in_reply_to":"d0455ecf_57eaa804","updated":"2022-02-08 16:52:43.000000000","message":"Done","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"36f14d51faa550d47c7c9e5c3a0baf4f8f5c2ad5","unresolved":true,"context_lines":[{"line_number":7265,"context_line":"        mock_get.assert_called_once_with(self.context, [\u0027nova-compute\u0027])"},{"line_number":7266,"context_line":""},{"line_number":7267,"context_line":"    @mock.patch("},{"line_number":7268,"context_line":"        \u0027nova.network.neutron.API.is_smartnic_port\u0027,"},{"line_number":7269,"context_line":"        new\u003dmock.Mock(return_value\u003dTrue),"},{"line_number":7270,"context_line":"    )"},{"line_number":7271,"context_line":"    @mock.patch(\u0027nova.objects.service.get_minimum_version_all_cells\u0027,"}],"source_content_type":"text/x-python","patch_set":13,"id":"b6c88765_195a480a","line":7268,"range":{"start_line":7268,"start_character":34,"end_line":7268,"end_character":50},"updated":"2022-02-08 10:27:40.000000000","message":"dito","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"f0507fdb37a24e7a8c060912cb09a206926ed05b","unresolved":false,"context_lines":[{"line_number":7265,"context_line":"        mock_get.assert_called_once_with(self.context, [\u0027nova-compute\u0027])"},{"line_number":7266,"context_line":""},{"line_number":7267,"context_line":"    @mock.patch("},{"line_number":7268,"context_line":"        \u0027nova.network.neutron.API.is_smartnic_port\u0027,"},{"line_number":7269,"context_line":"        new\u003dmock.Mock(return_value\u003dTrue),"},{"line_number":7270,"context_line":"    )"},{"line_number":7271,"context_line":"    @mock.patch(\u0027nova.objects.service.get_minimum_version_all_cells\u0027,"}],"source_content_type":"text/x-python","patch_set":13,"id":"5e444a78_c87f190b","line":7268,"range":{"start_line":7268,"start_character":34,"end_line":7268,"end_character":50},"in_reply_to":"b6c88765_195a480a","updated":"2022-02-08 16:52:43.000000000","message":"Done","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"36f14d51faa550d47c7c9e5c3a0baf4f8f5c2ad5","unresolved":true,"context_lines":[{"line_number":7273,"context_line":"    def test_check_support_vnic_smartnic_version_61(self, mock_get):"},{"line_number":7274,"context_line":"        requested_networks \u003d objects.NetworkRequestList("},{"line_number":7275,"context_line":"            objects\u003d[objects.NetworkRequest(port_id\u003duuids.port)])"},{"line_number":7276,"context_line":"        self.compute_api._check_support_vnic_smartnic(self.context,"},{"line_number":7277,"context_line":"            requested_networks)"},{"line_number":7278,"context_line":"        mock_get.assert_called_once_with(self.context, [\u0027nova-compute\u0027])"},{"line_number":7279,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"560e6cb0_e7eb140a","line":7276,"range":{"start_line":7276,"start_character":25,"end_line":7276,"end_character":53},"updated":"2022-02-08 10:27:40.000000000","message":"_check_support_vnic_remote_managed","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"f0507fdb37a24e7a8c060912cb09a206926ed05b","unresolved":false,"context_lines":[{"line_number":7273,"context_line":"    def test_check_support_vnic_smartnic_version_61(self, mock_get):"},{"line_number":7274,"context_line":"        requested_networks \u003d objects.NetworkRequestList("},{"line_number":7275,"context_line":"            objects\u003d[objects.NetworkRequest(port_id\u003duuids.port)])"},{"line_number":7276,"context_line":"        self.compute_api._check_support_vnic_smartnic(self.context,"},{"line_number":7277,"context_line":"            requested_networks)"},{"line_number":7278,"context_line":"        mock_get.assert_called_once_with(self.context, [\u0027nova-compute\u0027])"},{"line_number":7279,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"bda76702_f761f334","line":7276,"range":{"start_line":7276,"start_character":25,"end_line":7276,"end_character":53},"in_reply_to":"560e6cb0_e7eb140a","updated":"2022-02-08 16:52:43.000000000","message":"Done","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"}],"nova/tests/unit/compute/test_compute.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"36f14d51faa550d47c7c9e5c3a0baf4f8f5c2ad5","unresolved":true,"context_lines":[{"line_number":8693,"context_line":"        mock_secgroups.assert_called_once_with(mock.ANY, \u0027invalid_sec_group\u0027)"},{"line_number":8694,"context_line":""},{"line_number":8695,"context_line":"    @mock.patch("},{"line_number":8696,"context_line":"        \u0027nova.network.neutron.API.is_smartnic_port\u0027,"},{"line_number":8697,"context_line":"        new\u003dmock.Mock(return_value\u003dFalse),"},{"line_number":8698,"context_line":"    )"},{"line_number":8699,"context_line":"    def test_create_instance_associates_requested_networks(self):"}],"source_content_type":"text/x-python","patch_set":13,"id":"f13b8181_12f8bffd","line":8696,"range":{"start_line":8696,"start_character":34,"end_line":8696,"end_character":50},"updated":"2022-02-08 10:27:40.000000000","message":"same","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"f0507fdb37a24e7a8c060912cb09a206926ed05b","unresolved":false,"context_lines":[{"line_number":8693,"context_line":"        mock_secgroups.assert_called_once_with(mock.ANY, \u0027invalid_sec_group\u0027)"},{"line_number":8694,"context_line":""},{"line_number":8695,"context_line":"    @mock.patch("},{"line_number":8696,"context_line":"        \u0027nova.network.neutron.API.is_smartnic_port\u0027,"},{"line_number":8697,"context_line":"        new\u003dmock.Mock(return_value\u003dFalse),"},{"line_number":8698,"context_line":"    )"},{"line_number":8699,"context_line":"    def test_create_instance_associates_requested_networks(self):"}],"source_content_type":"text/x-python","patch_set":13,"id":"67a22b90_3977eef5","line":8696,"range":{"start_line":8696,"start_character":34,"end_line":8696,"end_character":50},"in_reply_to":"f13b8181_12f8bffd","updated":"2022-02-08 16:52:43.000000000","message":"Done","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"36f14d51faa550d47c7c9e5c3a0baf4f8f5c2ad5","unresolved":true,"context_lines":[{"line_number":9832,"context_line":"            self.assertEqual(refs[i][\u0027hostname\u0027], name)"},{"line_number":9833,"context_line":""},{"line_number":9834,"context_line":"    @mock.patch("},{"line_number":9835,"context_line":"        \u0027nova.network.neutron.API.is_smartnic_port\u0027,"},{"line_number":9836,"context_line":"        new\u003dmock.Mock(return_value\u003dFalse),"},{"line_number":9837,"context_line":"    )"},{"line_number":9838,"context_line":"    @mock.patch(\"nova.objects.service.get_minimum_version_all_cells\")"}],"source_content_type":"text/x-python","patch_set":13,"id":"8451f982_6cd66ebb","line":9835,"range":{"start_line":9835,"start_character":34,"end_line":9835,"end_character":50},"updated":"2022-02-08 10:27:40.000000000","message":"same","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"f0507fdb37a24e7a8c060912cb09a206926ed05b","unresolved":false,"context_lines":[{"line_number":9832,"context_line":"            self.assertEqual(refs[i][\u0027hostname\u0027], name)"},{"line_number":9833,"context_line":""},{"line_number":9834,"context_line":"    @mock.patch("},{"line_number":9835,"context_line":"        \u0027nova.network.neutron.API.is_smartnic_port\u0027,"},{"line_number":9836,"context_line":"        new\u003dmock.Mock(return_value\u003dFalse),"},{"line_number":9837,"context_line":"    )"},{"line_number":9838,"context_line":"    @mock.patch(\"nova.objects.service.get_minimum_version_all_cells\")"}],"source_content_type":"text/x-python","patch_set":13,"id":"5f60fa28_79edb8aa","line":9835,"range":{"start_line":9835,"start_character":34,"end_line":9835,"end_character":50},"in_reply_to":"8451f982_6cd66ebb","updated":"2022-02-08 16:52:43.000000000","message":"Done","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"}],"nova/tests/unit/network/test_neutron.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"36f14d51faa550d47c7c9e5c3a0baf4f8f5c2ad5","unresolved":true,"context_lines":[{"line_number":3614,"context_line":"            (model.VNIC_TYPE_VDPA, False),"},{"line_number":3615,"context_line":"            (model.VNIC_TYPE_ACCELERATOR_DIRECT, False),"},{"line_number":3616,"context_line":"            (model.VNIC_TYPE_ACCELERATOR_DIRECT_PHYSICAL, False),"},{"line_number":3617,"context_line":"            (model.VNIC_TYPE_SMARTNIC, True),"},{"line_number":3618,"context_line":"        }"},{"line_number":3619,"context_line":""},{"line_number":3620,"context_line":"        for vnic_type, expected in cases:"}],"source_content_type":"text/x-python","patch_set":13,"id":"a60856cd_8cea15f1","line":3617,"range":{"start_line":3617,"start_character":19,"end_line":3617,"end_character":37},"updated":"2022-02-08 10:27:40.000000000","message":"model.VNIC_TYPE_REMOTE_MANAGED","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"f0507fdb37a24e7a8c060912cb09a206926ed05b","unresolved":false,"context_lines":[{"line_number":3614,"context_line":"            (model.VNIC_TYPE_VDPA, False),"},{"line_number":3615,"context_line":"            (model.VNIC_TYPE_ACCELERATOR_DIRECT, False),"},{"line_number":3616,"context_line":"            (model.VNIC_TYPE_ACCELERATOR_DIRECT_PHYSICAL, False),"},{"line_number":3617,"context_line":"            (model.VNIC_TYPE_SMARTNIC, True),"},{"line_number":3618,"context_line":"        }"},{"line_number":3619,"context_line":""},{"line_number":3620,"context_line":"        for vnic_type, expected in cases:"}],"source_content_type":"text/x-python","patch_set":13,"id":"1d6f0b9e_49e4c87d","line":3617,"range":{"start_line":3617,"start_character":19,"end_line":3617,"end_character":37},"in_reply_to":"a60856cd_8cea15f1","updated":"2022-02-08 16:52:43.000000000","message":"Done","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"36f14d51faa550d47c7c9e5c3a0baf4f8f5c2ad5","unresolved":true,"context_lines":[{"line_number":6177,"context_line":"            (model.VNIC_TYPE_DIRECT, True, \u0027netN\u0027,"},{"line_number":6178,"context_line":"             mock.sentinel.resource_request2, None, None),"},{"line_number":6179,"context_line":"            (model.VNIC_TYPE_VDPA, None, \u0027netN\u0027, None, None, None),"},{"line_number":6180,"context_line":"            (model.VNIC_TYPE_SMARTNIC, None, \u0027netN\u0027, None, None, None),"},{"line_number":6181,"context_line":"        ]"},{"line_number":6182,"context_line":"        # _get_physnet_tunneled_info should be called for every NetworkRequest"},{"line_number":6183,"context_line":"        # (so seven times)"}],"source_content_type":"text/x-python","patch_set":13,"id":"6eeff1ed_308925cc","line":6180,"range":{"start_line":6180,"start_character":13,"end_line":6180,"end_character":37},"updated":"2022-02-08 10:27:40.000000000","message":"model.VNIC_TYPE_REMOTE_MANAGED","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"f0507fdb37a24e7a8c060912cb09a206926ed05b","unresolved":false,"context_lines":[{"line_number":6177,"context_line":"            (model.VNIC_TYPE_DIRECT, True, \u0027netN\u0027,"},{"line_number":6178,"context_line":"             mock.sentinel.resource_request2, None, None),"},{"line_number":6179,"context_line":"            (model.VNIC_TYPE_VDPA, None, \u0027netN\u0027, None, None, None),"},{"line_number":6180,"context_line":"            (model.VNIC_TYPE_SMARTNIC, None, \u0027netN\u0027, None, None, None),"},{"line_number":6181,"context_line":"        ]"},{"line_number":6182,"context_line":"        # _get_physnet_tunneled_info should be called for every NetworkRequest"},{"line_number":6183,"context_line":"        # (so seven times)"}],"source_content_type":"text/x-python","patch_set":13,"id":"ed6f1002_aefba2d9","line":6180,"range":{"start_line":6180,"start_character":13,"end_line":6180,"end_character":37},"in_reply_to":"6eeff1ed_308925cc","updated":"2022-02-08 16:52:43.000000000","message":"Done","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"}],"nova/tests/unit/network/test_os_vif_util.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"36f14d51faa550d47c7c9e5c3a0baf4f8f5c2ad5","unresolved":true,"context_lines":[{"line_number":701,"context_line":"            id\u003d\"dc065497-3c8d-4f44-8fb4-e1d33c16a536\","},{"line_number":702,"context_line":"            type\u003dmodel.VIF_TYPE_OVS,"},{"line_number":703,"context_line":"            address\u003d\"22:52:25:62:e2:aa\","},{"line_number":704,"context_line":"            vnic_type\u003dmodel.VNIC_TYPE_SMARTNIC,"},{"line_number":705,"context_line":"            network\u003dmodel.Network("},{"line_number":706,"context_line":"                id\u003d\"b82c1929-051e-481d-8110-4669916c7915\","},{"line_number":707,"context_line":"                label\u003d\"Demo Net\","}],"source_content_type":"text/x-python","patch_set":13,"id":"33e6f9b7_839188d9","line":704,"range":{"start_line":704,"start_character":22,"end_line":704,"end_character":46},"updated":"2022-02-08 10:27:40.000000000","message":"model.VNIC_TYPE_REMOTE_MANAGED","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"f0507fdb37a24e7a8c060912cb09a206926ed05b","unresolved":false,"context_lines":[{"line_number":701,"context_line":"            id\u003d\"dc065497-3c8d-4f44-8fb4-e1d33c16a536\","},{"line_number":702,"context_line":"            type\u003dmodel.VIF_TYPE_OVS,"},{"line_number":703,"context_line":"            address\u003d\"22:52:25:62:e2:aa\","},{"line_number":704,"context_line":"            vnic_type\u003dmodel.VNIC_TYPE_SMARTNIC,"},{"line_number":705,"context_line":"            network\u003dmodel.Network("},{"line_number":706,"context_line":"                id\u003d\"b82c1929-051e-481d-8110-4669916c7915\","},{"line_number":707,"context_line":"                label\u003d\"Demo Net\","}],"source_content_type":"text/x-python","patch_set":13,"id":"2b6f12f0_8c3094d3","line":704,"range":{"start_line":704,"start_character":22,"end_line":704,"end_character":46},"in_reply_to":"33e6f9b7_839188d9","updated":"2022-02-08 16:52:43.000000000","message":"Done","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"}],"nova/tests/unit/virt/libvirt/test_driver.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"36f14d51faa550d47c7c9e5c3a0baf4f8f5c2ad5","unresolved":true,"context_lines":[{"line_number":19419,"context_line":"        network_info \u003d ["},{"line_number":19420,"context_line":"            network_model.VIF("},{"line_number":19421,"context_line":"                id\u003duuids.vif_1,"},{"line_number":19422,"context_line":"                vnic_type\u003dnetwork_model.VNIC_TYPE_SMARTNIC),"},{"line_number":19423,"context_line":"            network_model.VIF("},{"line_number":19424,"context_line":"                id\u003duuids.vif_2,"},{"line_number":19425,"context_line":"                vnic_type\u003dnetwork_model.VNIC_TYPE_SMARTNIC,"}],"source_content_type":"text/x-python","patch_set":13,"id":"ca78dfc1_8aefce1f","line":19422,"range":{"start_line":19422,"start_character":26,"end_line":19422,"end_character":58},"updated":"2022-02-08 10:27:40.000000000","message":"network_model.VNIC_TYPE_REMOTE_MANAGED","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"f0507fdb37a24e7a8c060912cb09a206926ed05b","unresolved":false,"context_lines":[{"line_number":19419,"context_line":"        network_info \u003d ["},{"line_number":19420,"context_line":"            network_model.VIF("},{"line_number":19421,"context_line":"                id\u003duuids.vif_1,"},{"line_number":19422,"context_line":"                vnic_type\u003dnetwork_model.VNIC_TYPE_SMARTNIC),"},{"line_number":19423,"context_line":"            network_model.VIF("},{"line_number":19424,"context_line":"                id\u003duuids.vif_2,"},{"line_number":19425,"context_line":"                vnic_type\u003dnetwork_model.VNIC_TYPE_SMARTNIC,"}],"source_content_type":"text/x-python","patch_set":13,"id":"9fe51c68_f51b40ca","line":19422,"range":{"start_line":19422,"start_character":26,"end_line":19422,"end_character":58},"in_reply_to":"ca78dfc1_8aefce1f","updated":"2022-02-08 16:52:43.000000000","message":"Done","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"36f14d51faa550d47c7c9e5c3a0baf4f8f5c2ad5","unresolved":true,"context_lines":[{"line_number":19422,"context_line":"                vnic_type\u003dnetwork_model.VNIC_TYPE_SMARTNIC),"},{"line_number":19423,"context_line":"            network_model.VIF("},{"line_number":19424,"context_line":"                id\u003duuids.vif_2,"},{"line_number":19425,"context_line":"                vnic_type\u003dnetwork_model.VNIC_TYPE_SMARTNIC,"},{"line_number":19426,"context_line":"                active\u003dTrue),"},{"line_number":19427,"context_line":"        ]"},{"line_number":19428,"context_line":"        events \u003d drvr._get_neutron_events(network_info)"}],"source_content_type":"text/x-python","patch_set":13,"id":"e33e3c35_8fb0d85b","line":19425,"range":{"start_line":19425,"start_character":26,"end_line":19425,"end_character":58},"updated":"2022-02-08 10:27:40.000000000","message":"same","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"f0507fdb37a24e7a8c060912cb09a206926ed05b","unresolved":false,"context_lines":[{"line_number":19422,"context_line":"                vnic_type\u003dnetwork_model.VNIC_TYPE_SMARTNIC),"},{"line_number":19423,"context_line":"            network_model.VIF("},{"line_number":19424,"context_line":"                id\u003duuids.vif_2,"},{"line_number":19425,"context_line":"                vnic_type\u003dnetwork_model.VNIC_TYPE_SMARTNIC,"},{"line_number":19426,"context_line":"                active\u003dTrue),"},{"line_number":19427,"context_line":"        ]"},{"line_number":19428,"context_line":"        events \u003d drvr._get_neutron_events(network_info)"}],"source_content_type":"text/x-python","patch_set":13,"id":"482576ac_290809ae","line":19425,"range":{"start_line":19425,"start_character":26,"end_line":19425,"end_character":58},"in_reply_to":"e33e3c35_8fb0d85b","updated":"2022-02-08 16:52:43.000000000","message":"Done","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"36f14d51faa550d47c7c9e5c3a0baf4f8f5c2ad5","unresolved":true,"context_lines":[{"line_number":19426,"context_line":"                active\u003dTrue),"},{"line_number":19427,"context_line":"        ]"},{"line_number":19428,"context_line":"        events \u003d drvr._get_neutron_events(network_info)"},{"line_number":19429,"context_line":"        # For VNIC_TYPE_SMARTNIC events are only bind-time currently."},{"line_number":19430,"context_line":"        # Until this changes, they need to be filtered out to avoid waiting"},{"line_number":19431,"context_line":"        # for them unnecessarily."},{"line_number":19432,"context_line":"        self.assertEqual([], events)"}],"source_content_type":"text/x-python","patch_set":13,"id":"22b68a4c_eaa5e2fb","line":19429,"range":{"start_line":19429,"start_character":24,"end_line":19429,"end_character":32},"updated":"2022-02-08 10:27:40.000000000","message":"VNIC_TYPE_REMOTE_MANAGED","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"f0507fdb37a24e7a8c060912cb09a206926ed05b","unresolved":false,"context_lines":[{"line_number":19426,"context_line":"                active\u003dTrue),"},{"line_number":19427,"context_line":"        ]"},{"line_number":19428,"context_line":"        events \u003d drvr._get_neutron_events(network_info)"},{"line_number":19429,"context_line":"        # For VNIC_TYPE_SMARTNIC events are only bind-time currently."},{"line_number":19430,"context_line":"        # Until this changes, they need to be filtered out to avoid waiting"},{"line_number":19431,"context_line":"        # for them unnecessarily."},{"line_number":19432,"context_line":"        self.assertEqual([], events)"}],"source_content_type":"text/x-python","patch_set":13,"id":"7bf2b784_c3498d1e","line":19429,"range":{"start_line":19429,"start_character":24,"end_line":19429,"end_character":32},"in_reply_to":"22b68a4c_eaa5e2fb","updated":"2022-02-08 16:52:43.000000000","message":"Done","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"e0575cf6fbd6763ead64d69a83a812cd5c7ca3a0","unresolved":true,"context_lines":[{"line_number":19218,"context_line":"            network_model.VIF(id\u003duuids.vif_1, active\u003dFalse),"},{"line_number":19219,"context_line":"            network_model.VIF(id\u003duuids.vif_2, active\u003dFalse)"},{"line_number":19220,"context_line":"        ]"},{"line_number":19221,"context_line":""},{"line_number":19222,"context_line":"        @mock.patch.object(drvr, \u0027plug_vifs\u0027)"},{"line_number":19223,"context_line":"        @mock.patch.object(drvr, \u0027_create_guest\u0027)"},{"line_number":19224,"context_line":"        @mock.patch.object(drvr, \u0027_cleanup\u0027)"}],"source_content_type":"text/x-python","patch_set":15,"id":"51aea42c_2d2102c3","line":19221,"updated":"2022-02-09 11:39:22.000000000","message":"ah yes we were relyin on the fact that network_model.VIF inherits form dict\nand just did not happen to use it in a way that required the data type to be correct\n+1","commit_id":"0620678344d0f032a33e952d4d0fa653741f09e7"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"36f14d51faa550d47c7c9e5c3a0baf4f8f5c2ad5","unresolved":true,"context_lines":[{"line_number":7233,"context_line":"        # already up so we don\u0027t block on it."},{"line_number":7234,"context_line":"        return [(\u0027network-vif-plugged\u0027, vif[\u0027id\u0027])"},{"line_number":7235,"context_line":"                for vif in network_info if vif.get(\u0027active\u0027, True) is False and"},{"line_number":7236,"context_line":"                vif[\u0027vnic_type\u0027] !\u003d network_model.VNIC_TYPE_SMARTNIC]"},{"line_number":7237,"context_line":""},{"line_number":7238,"context_line":"    def _create_guest_with_network("},{"line_number":7239,"context_line":"        self,"}],"source_content_type":"text/x-python","patch_set":13,"id":"085f8d4d_ff09eb1c","line":7236,"range":{"start_line":7236,"start_character":50,"end_line":7236,"end_character":68},"updated":"2022-02-08 10:27:40.000000000","message":"network_model.VNIC_TYPE_REMOTE_MANAGED","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"f0507fdb37a24e7a8c060912cb09a206926ed05b","unresolved":false,"context_lines":[{"line_number":7233,"context_line":"        # already up so we don\u0027t block on it."},{"line_number":7234,"context_line":"        return [(\u0027network-vif-plugged\u0027, vif[\u0027id\u0027])"},{"line_number":7235,"context_line":"                for vif in network_info if vif.get(\u0027active\u0027, True) is False and"},{"line_number":7236,"context_line":"                vif[\u0027vnic_type\u0027] !\u003d network_model.VNIC_TYPE_SMARTNIC]"},{"line_number":7237,"context_line":""},{"line_number":7238,"context_line":"    def _create_guest_with_network("},{"line_number":7239,"context_line":"        self,"}],"source_content_type":"text/x-python","patch_set":13,"id":"377f1a5f_d4c6d0c7","line":7236,"range":{"start_line":7236,"start_character":50,"end_line":7236,"end_character":68},"in_reply_to":"085f8d4d_ff09eb1c","updated":"2022-02-08 16:52:43.000000000","message":"Done","commit_id":"bec7f191d857b89c50ab7b85e7c3e4730c81c2d1"}]}
