)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"69f37ef582e1c96c2b7fa1be23aa21586dd39206","unresolved":true,"context_lines":[{"line_number":35,"context_line":"1: https://github.com/ovn-org/ovn-vif/blob/main/Documentation/topics/vif-plug-providers/vif-plug-representor.rst"},{"line_number":36,"context_line":"Partial-Bug: #1932154"},{"line_number":37,"context_line":"Depends-On: I496db96ea40da3bee5b81bcee1edc79e1f46b541"},{"line_number":38,"context_line":"Depends-On: I603270707d6208d86c282cb1eac56098a1d07993"},{"line_number":39,"context_line":"Depends-On: I83a128a260acdd8bf78fede566af6881b8b82a9c"},{"line_number":40,"context_line":"Change-Id: Icc6c2d0f7f8f5cc94997db6244175a8e8884789f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":22,"id":"a8d2d638_daa5d852","line":38,"updated":"2022-02-17 13:05:39.000000000","message":"nit: another release patch was finally merged: Ib79171d06b30d8d5fca6103fcad225342d5a1daf (https://review.opendev.org/c/openstack/releases/+/829078)","commit_id":"ba4bf413291d786ce7edca7baeeb9a4441ca4f2a"},{"author":{"_account_id":13686,"name":"Frode Nordahl","email":"fnordahl@ubuntu.com","username":"fnordahl"},"change_message_id":"389a72e373fae93aefabf53060ddce76eb472969","unresolved":false,"context_lines":[{"line_number":35,"context_line":"1: https://github.com/ovn-org/ovn-vif/blob/main/Documentation/topics/vif-plug-providers/vif-plug-representor.rst"},{"line_number":36,"context_line":"Partial-Bug: #1932154"},{"line_number":37,"context_line":"Depends-On: I496db96ea40da3bee5b81bcee1edc79e1f46b541"},{"line_number":38,"context_line":"Depends-On: I603270707d6208d86c282cb1eac56098a1d07993"},{"line_number":39,"context_line":"Depends-On: I83a128a260acdd8bf78fede566af6881b8b82a9c"},{"line_number":40,"context_line":"Change-Id: Icc6c2d0f7f8f5cc94997db6244175a8e8884789f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":22,"id":"5f4dc9f4_4b8218cc","line":38,"in_reply_to":"a8d2d638_daa5d852","updated":"2022-02-17 13:06:57.000000000","message":"Ack","commit_id":"ba4bf413291d786ce7edca7baeeb9a4441ca4f2a"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":13686,"name":"Frode Nordahl","email":"fnordahl@ubuntu.com","username":"fnordahl"},"change_message_id":"a0651bed7a311bcf9158a63f8a61a90879b87c1c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"c82dc991_eb4b85d9","updated":"2022-01-27 13:25:20.000000000","message":"recheck","commit_id":"f5124c8b643506a6712e872ad09216268508e14e"},{"author":{"_account_id":13686,"name":"Frode Nordahl","email":"fnordahl@ubuntu.com","username":"fnordahl"},"change_message_id":"a983366a224dddf38941d243826c206b4d8f0be8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"27b7e659_e6f20441","updated":"2022-01-28 18:52:20.000000000","message":"recheck","commit_id":"2029d4c24221c5b7f0ec75563e568ecab991b080"},{"author":{"_account_id":13686,"name":"Frode Nordahl","email":"fnordahl@ubuntu.com","username":"fnordahl"},"change_message_id":"62bbf7f887a173f3d953086f3ed47caa8a1e4d35","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":20,"id":"0c3348fd_c0912d58","updated":"2022-02-08 10:39:13.000000000","message":"Failure due to change to VNIC_REMOTE_MANAGED, awaiting merge + release of change in neutron-lib [0], background on the last minute change in [1].\n\n0: https://review.opendev.org/c/openstack/neutron-lib/+/828174\n1: https://review.opendev.org/c/openstack/neutron-specs/+/828173","commit_id":"037dfae2914c192d48ca418e62fc1f1e9ad7b506"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"e5f76fcf0c5a91829b53151b4c500da5d2f94076","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":20,"id":"ed8d6b62_4974ef7c","updated":"2022-02-09 17:10:33.000000000","message":"The Nova series is now on its way in with 2+2 \u0026 WF+1 https://review.opendev.org/q/topic:2021-09-10-off-path-net-backends-dep","commit_id":"037dfae2914c192d48ca418e62fc1f1e9ad7b506"},{"author":{"_account_id":13686,"name":"Frode Nordahl","email":"fnordahl@ubuntu.com","username":"fnordahl"},"change_message_id":"bed71d5ddd270a6f75b4c6ce18f81f856ab5b0c8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":21,"id":"cc944f74_a8b03131","updated":"2022-02-14 10:07:37.000000000","message":"Rebase to get out of merge conflict, tests will fail while we await a new release of neutron-lib to get the new VNIC type [0].\n\nPlease proceed with review regardless of test failure, we have demonstrated passing tests prior to the last minut VNIC type change.\n\n0: https://review.opendev.org/c/openstack/releases/+/829005","commit_id":"78e7a908cd5bf07bb44af93f11533dea1ae4795e"},{"author":{"_account_id":13686,"name":"Frode Nordahl","email":"fnordahl@ubuntu.com","username":"fnordahl"},"change_message_id":"335c6bb7d3b2702b7189dca3f2ca82c0bf2f0fa2","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":22,"id":"b7129daf_1da378fe","updated":"2022-02-16 17:52:34.000000000","message":"Thank you for taking the time to review, much appreciated!\n\nYour question prompted a new question from me, and happy to change the code as you suggest once we get that sorted out.","commit_id":"ba4bf413291d786ce7edca7baeeb9a4441ca4f2a"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"69f37ef582e1c96c2b7fa1be23aa21586dd39206","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":22,"id":"fd662091_26a22bb0","updated":"2022-02-17 13:05:39.000000000","message":"neutron-lib release 2.20.0 is out, please change requirements accordingly","commit_id":"ba4bf413291d786ce7edca7baeeb9a4441ca4f2a"},{"author":{"_account_id":13686,"name":"Frode Nordahl","email":"fnordahl@ubuntu.com","username":"fnordahl"},"change_message_id":"6522b19802e8339e85e74b7475f576232b31c6a0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":23,"id":"f1e9987a_5384bd17","updated":"2022-02-17 13:59:26.000000000","message":"@Slawek I updated the patch set to address a couple of other review feedbacks.\n\nI left the passing of port_context as is and added a comment, and still happy to change it on your direction.","commit_id":"d6eb8f70be1e701589645631c436e46592a98c30"},{"author":{"_account_id":13686,"name":"Frode Nordahl","email":"fnordahl@ubuntu.com","username":"fnordahl"},"change_message_id":"58e18f5fe9e9733fb39ed23847e24fb9540964ee","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":23,"id":"2d0900b0_4c364937","updated":"2022-02-17 14:02:56.000000000","message":"Also note that we depend on the requirements update [0] for the tests to succeed, I added it as a Depends-On, but I do not know if Zuul magically sorts that kind of dependency out.\n\n0: https://review.opendev.org/c/openstack/requirements/+/829670","commit_id":"d6eb8f70be1e701589645631c436e46592a98c30"},{"author":{"_account_id":13686,"name":"Frode Nordahl","email":"fnordahl@ubuntu.com","username":"fnordahl"},"change_message_id":"1e983ba6a9d1d70b4945b36f0f01d578ff748545","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":24,"id":"370bcae3_bcd3fc12","updated":"2022-02-18 06:12:03.000000000","message":"Ah, this repository has both a requirements.txt and lower-constraints.txt","commit_id":"2e9829e2e74790696e49991618ac666e55ac9610"},{"author":{"_account_id":13686,"name":"Frode Nordahl","email":"fnordahl@ubuntu.com","username":"fnordahl"},"change_message_id":"bd1cb121a749e15063e5ad3fc5d830280e39b98b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":24,"id":"c00a9aba_104d4e92","updated":"2022-02-17 20:10:11.000000000","message":"No worries, looking at the results so far, I think I jumped the gun, apparently the test runner downloaded a cached version of the artifact [0]. It renders correctly when downloading from here, so I guess we just need to try again.\n\n0: https://releases.openstack.org/constraints/upper/master","commit_id":"2e9829e2e74790696e49991618ac666e55ac9610"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"1249a5d6b135ac78d147537de08f9489d270dd54","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":24,"id":"48f2d9e2_c1f4d99c","updated":"2022-02-17 21:51:47.000000000","message":"recheck","commit_id":"2e9829e2e74790696e49991618ac666e55ac9610"},{"author":{"_account_id":13686,"name":"Frode Nordahl","email":"fnordahl@ubuntu.com","username":"fnordahl"},"change_message_id":"68ea22757deb4b6e6e8f13f0d21d2191845620cb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":24,"id":"9d04c036_c3571103","updated":"2022-02-18 05:53:20.000000000","message":"recheck","commit_id":"2e9829e2e74790696e49991618ac666e55ac9610"},{"author":{"_account_id":13686,"name":"Frode Nordahl","email":"fnordahl@ubuntu.com","username":"fnordahl"},"change_message_id":"fb0a70d00c893ff4c8f306deebe9102e7b5426c6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":24,"id":"b5343386_4ac1da5a","updated":"2022-02-17 19:55:38.000000000","message":"recheck","commit_id":"2e9829e2e74790696e49991618ac666e55ac9610"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"ff150ed6d846f506f55cd73978c8d289d10e8a6e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":24,"id":"eed9e94a_06df94e5","updated":"2022-02-17 20:04:52.000000000","message":"recheck","commit_id":"2e9829e2e74790696e49991618ac666e55ac9610"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"d974266c34d1dbe68599fb7609e5a59701cebec9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":24,"id":"895d3eda_db497e1b","in_reply_to":"b5343386_4ac1da5a","updated":"2022-02-17 20:05:34.000000000","message":"Sorry, didn\u0027t notice yours.","commit_id":"2e9829e2e74790696e49991618ac666e55ac9610"}],"neutron/common/ovn/constants.py":[{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"49a87cc92c3352902f730816f59c2f5065a02983","unresolved":true,"context_lines":[{"line_number":95,"context_line":"    # SmartNIC DPU. Switchdev capable device exposed on the SmartNIC DPU"},{"line_number":96,"context_line":"    # control plane CPUs."},{"line_number":97,"context_line":"    OVNPortBindingProfileParamSet({\u0027pci_vendor_info\u0027: [str],"},{"line_number":98,"context_line":"                                   \u0027pci_slot\u0027: [str],"},{"line_number":99,"context_line":"                                   \u0027physical_network\u0027: [str, type(None)],"},{"line_number":100,"context_line":"                                   \u0027card_serial_number\u0027: [str],"},{"line_number":101,"context_line":"                                   \u0027pf_mac_address\u0027: [str],"}],"source_content_type":"text/x-python","patch_set":3,"id":"edc212a2_831964a8","line":98,"updated":"2022-01-24 18:26:50.000000000","message":"Maybe worth-adding Depends-On as Sean\u0027s comment here suggests:\n\nhttps://review.opendev.org/c/openstack/nova/+/824833/1/nova/network/neutron.py#669","commit_id":"480dc591621c580be5374462eab2e332226c92bd"},{"author":{"_account_id":13686,"name":"Frode Nordahl","email":"fnordahl@ubuntu.com","username":"fnordahl"},"change_message_id":"2f8fbae170105c4e9b885f248847cbdb9f7a53f9","unresolved":false,"context_lines":[{"line_number":95,"context_line":"    # SmartNIC DPU. Switchdev capable device exposed on the SmartNIC DPU"},{"line_number":96,"context_line":"    # control plane CPUs."},{"line_number":97,"context_line":"    OVNPortBindingProfileParamSet({\u0027pci_vendor_info\u0027: [str],"},{"line_number":98,"context_line":"                                   \u0027pci_slot\u0027: [str],"},{"line_number":99,"context_line":"                                   \u0027physical_network\u0027: [str, type(None)],"},{"line_number":100,"context_line":"                                   \u0027card_serial_number\u0027: [str],"},{"line_number":101,"context_line":"                                   \u0027pf_mac_address\u0027: [str],"}],"source_content_type":"text/x-python","patch_set":3,"id":"dc7af2f5_b1855bc1","line":98,"in_reply_to":"4fb790f5_2584c0dd","updated":"2022-01-26 09:03:29.000000000","message":"Done","commit_id":"480dc591621c580be5374462eab2e332226c92bd"},{"author":{"_account_id":13686,"name":"Frode Nordahl","email":"fnordahl@ubuntu.com","username":"fnordahl"},"change_message_id":"5e6613c91bde9821f1993b7dbf6d318d146367e6","unresolved":true,"context_lines":[{"line_number":95,"context_line":"    # SmartNIC DPU. Switchdev capable device exposed on the SmartNIC DPU"},{"line_number":96,"context_line":"    # control plane CPUs."},{"line_number":97,"context_line":"    OVNPortBindingProfileParamSet({\u0027pci_vendor_info\u0027: [str],"},{"line_number":98,"context_line":"                                   \u0027pci_slot\u0027: [str],"},{"line_number":99,"context_line":"                                   \u0027physical_network\u0027: [str, type(None)],"},{"line_number":100,"context_line":"                                   \u0027card_serial_number\u0027: [str],"},{"line_number":101,"context_line":"                                   \u0027pf_mac_address\u0027: [str],"}],"source_content_type":"text/x-python","patch_set":3,"id":"4fb790f5_2584c0dd","line":98,"in_reply_to":"edc212a2_831964a8","updated":"2022-01-24 19:22:46.000000000","message":"Sure, will add that.\n\nYour comment reminds me, neutron will most likely expect vf_num from nova to be int. There is at least presence for other numeric values in the binding profile to have that type. And it actually does validation.\n\nRef:\nhttps://review.opendev.org/c/openstack/neutron/+/826099\nhttps://review.opendev.org/c/openstack/neutron/+/818420","commit_id":"480dc591621c580be5374462eab2e332226c92bd"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"6b0040a13e1eae2e5ebe15d0972f96803cce0819","unresolved":true,"context_lines":[{"line_number":375,"context_line":"OVN_CMS_OPTIONS \u003d \u0027ovn-cms-options\u0027"},{"line_number":376,"context_line":"CMS_OPT_CHASSIS_AS_GW \u003d \u0027enable-chassis-as-gw\u0027"},{"line_number":377,"context_line":"CMS_OPT_AVAILABILITY_ZONES \u003d \u0027availability-zones\u0027"},{"line_number":378,"context_line":"CMS_OPT_BOARD_SERIAL_NUMBER \u003d \u0027board-serial-number\u0027"},{"line_number":379,"context_line":""},{"line_number":380,"context_line":"# OVN vlan transparency option"},{"line_number":381,"context_line":"VLAN_PASSTHRU \u003d \u0027vlan-passthru\u0027"}],"source_content_type":"text/x-python","patch_set":22,"id":"aafa3aae_55c16371","line":378,"range":{"start_line":378,"start_character":31,"end_line":378,"end_character":50},"updated":"2022-02-16 20:09:04.000000000","message":"Worth noting here that we accept \"card_serial_number\" in binding:profile since we named it that way in Nova but use \"board_serial_number\" because that\u0027s how this serial number is called in the kernel in devlink-info:\n\nhttps://www.kernel.org/doc/html/latest/networking/devlink/devlink-info.html#devlink-info\n\nAn operator specifies this as an external-id \n\n```\nexternal-ids:ovn-cms-options\u003d\"board-serial-number\"\n```\n\nas we document it in \n\nhttps://review.opendev.org/c/openstack/neutron/+/828103/8/doc/source/admin/ovn/smartnic_dpu.rst#172\n\nSo it could still be renamed in Neutron without breakage to have more consistency with Nova.\n\nIn case ovn-vif learns some discovery mechanism in the future for extracting devlink info\u0027s board_serial_number we\u0027d then need to do the name conversion there.","commit_id":"ba4bf413291d786ce7edca7baeeb9a4441ca4f2a"},{"author":{"_account_id":13686,"name":"Frode Nordahl","email":"fnordahl@ubuntu.com","username":"fnordahl"},"change_message_id":"6522b19802e8339e85e74b7475f576232b31c6a0","unresolved":false,"context_lines":[{"line_number":375,"context_line":"OVN_CMS_OPTIONS \u003d \u0027ovn-cms-options\u0027"},{"line_number":376,"context_line":"CMS_OPT_CHASSIS_AS_GW \u003d \u0027enable-chassis-as-gw\u0027"},{"line_number":377,"context_line":"CMS_OPT_AVAILABILITY_ZONES \u003d \u0027availability-zones\u0027"},{"line_number":378,"context_line":"CMS_OPT_BOARD_SERIAL_NUMBER \u003d \u0027board-serial-number\u0027"},{"line_number":379,"context_line":""},{"line_number":380,"context_line":"# OVN vlan transparency option"},{"line_number":381,"context_line":"VLAN_PASSTHRU \u003d \u0027vlan-passthru\u0027"}],"source_content_type":"text/x-python","patch_set":22,"id":"66cd3967_6c4139ba","line":378,"range":{"start_line":378,"start_character":31,"end_line":378,"end_character":50},"in_reply_to":"97ccc396_e7b089b4","updated":"2022-02-17 13:59:26.000000000","message":"Done","commit_id":"ba4bf413291d786ce7edca7baeeb9a4441ca4f2a"},{"author":{"_account_id":13686,"name":"Frode Nordahl","email":"fnordahl@ubuntu.com","username":"fnordahl"},"change_message_id":"ceb173d829480b6205b3446ad15098c2bd59e7e2","unresolved":true,"context_lines":[{"line_number":375,"context_line":"OVN_CMS_OPTIONS \u003d \u0027ovn-cms-options\u0027"},{"line_number":376,"context_line":"CMS_OPT_CHASSIS_AS_GW \u003d \u0027enable-chassis-as-gw\u0027"},{"line_number":377,"context_line":"CMS_OPT_AVAILABILITY_ZONES \u003d \u0027availability-zones\u0027"},{"line_number":378,"context_line":"CMS_OPT_BOARD_SERIAL_NUMBER \u003d \u0027board-serial-number\u0027"},{"line_number":379,"context_line":""},{"line_number":380,"context_line":"# OVN vlan transparency option"},{"line_number":381,"context_line":"VLAN_PASSTHRU \u003d \u0027vlan-passthru\u0027"}],"source_content_type":"text/x-python","patch_set":22,"id":"f535576d_efcafaa5","line":378,"range":{"start_line":378,"start_character":31,"end_line":378,"end_character":50},"in_reply_to":"aafa3aae_55c16371","updated":"2022-02-17 05:43:49.000000000","message":"Yep, the kernel devlink property name is the source of the original choice of `board-serial-number`, I also think the Nova and Neutron specs started out with that.\n\nHave no issue with changing it to match what we ended up with in Nova for consistency.\n\nAs you point out Neutron owns both ends of the conversation in defining what the operator puts into the OVN database and what the driver looks for.","commit_id":"ba4bf413291d786ce7edca7baeeb9a4441ca4f2a"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"78e09e74f204efaf70bc2ef01c72af60ad66d199","unresolved":true,"context_lines":[{"line_number":375,"context_line":"OVN_CMS_OPTIONS \u003d \u0027ovn-cms-options\u0027"},{"line_number":376,"context_line":"CMS_OPT_CHASSIS_AS_GW \u003d \u0027enable-chassis-as-gw\u0027"},{"line_number":377,"context_line":"CMS_OPT_AVAILABILITY_ZONES \u003d \u0027availability-zones\u0027"},{"line_number":378,"context_line":"CMS_OPT_BOARD_SERIAL_NUMBER \u003d \u0027board-serial-number\u0027"},{"line_number":379,"context_line":""},{"line_number":380,"context_line":"# OVN vlan transparency option"},{"line_number":381,"context_line":"VLAN_PASSTHRU \u003d \u0027vlan-passthru\u0027"}],"source_content_type":"text/x-python","patch_set":22,"id":"97ccc396_e7b089b4","line":378,"range":{"start_line":378,"start_character":31,"end_line":378,"end_character":50},"in_reply_to":"f535576d_efcafaa5","updated":"2022-02-17 07:56:34.000000000","message":"Been trying to find out where the confusion came from. The PCI/PCIe specs use the term \"add-in card\" and specifically the SN VPD field has the following description: \"The characters are alphanumeric and represent the unique add-in card Serial Number.\" I think that\u0027s likely the reason why I used the term \"card\" later because we currently parse the capability directly in Libvirt rather than using devlink. Devlink docs mention PCI VPD but instead call the same field a \"board serial number\".\n\nSo, on the one hand we plug PCIe add-in cards into a (mother)board. On the other hand, every PCIe card has a printed circuit board. Could be a reason why devlink authors chose that.\n\nThe main argument I have for consistency in naming at the CMS side (in Nova and Neutron) is that it will be easier to do lookup in the source code.","commit_id":"ba4bf413291d786ce7edca7baeeb9a4441ca4f2a"}],"neutron/plugins/ml2/drivers/ovn/mech_driver/mech_driver.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"28f233a381cc3c44c31072bd46df765b12573a14","unresolved":true,"context_lines":[{"line_number":928,"context_line":"        try:"},{"line_number":929,"context_line":"            bind_host \u003d self._ovn_client.determine_bind_host("},{"line_number":930,"context_line":"                port,"},{"line_number":931,"context_line":"                port_context\u003dcontext)"},{"line_number":932,"context_line":"            datapath_type, iface_types, chassis_physnets \u003d ("},{"line_number":933,"context_line":"                self.sb_ovn.get_chassis_data_for_ml2_bind_port(bind_host))"},{"line_number":934,"context_line":"            iface_types \u003d iface_types.split(\u0027,\u0027) if iface_types else []"}],"source_content_type":"text/x-python","patch_set":22,"id":"d772a722_1169bbe6","line":931,"updated":"2022-02-16 14:41:11.000000000","message":"can\u0027t You here simply pass context.current as \"port\" parameter?","commit_id":"ba4bf413291d786ce7edca7baeeb9a4441ca4f2a"},{"author":{"_account_id":13686,"name":"Frode Nordahl","email":"fnordahl@ubuntu.com","username":"fnordahl"},"change_message_id":"5dc058d523a06d85bceb745de99015dbbdbb0202","unresolved":true,"context_lines":[{"line_number":928,"context_line":"        try:"},{"line_number":929,"context_line":"            bind_host \u003d self._ovn_client.determine_bind_host("},{"line_number":930,"context_line":"                port,"},{"line_number":931,"context_line":"                port_context\u003dcontext)"},{"line_number":932,"context_line":"            datapath_type, iface_types, chassis_physnets \u003d ("},{"line_number":933,"context_line":"                self.sb_ovn.get_chassis_data_for_ml2_bind_port(bind_host))"},{"line_number":934,"context_line":"            iface_types \u003d iface_types.split(\u0027,\u0027) if iface_types else []"}],"source_content_type":"text/x-python","patch_set":22,"id":"ab55de3f_071cb37d","line":931,"in_reply_to":"897585b4_2e150675","updated":"2022-02-17 05:38:59.000000000","message":"Looking at the ``PortContext`` definition the ``host`` property does appear to contain some special case handling:\n\nhttps://github.com/openstack/neutron/blob/3dfe6072421e3d5dc708a3bf065fb1a64ea3129a/neutron/plugins/ml2/driver_context.py#L255-L262","commit_id":"ba4bf413291d786ce7edca7baeeb9a4441ca4f2a"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"7617e6b10116ef44689d47ef7ea7d2b6c34c1590","unresolved":true,"context_lines":[{"line_number":928,"context_line":"        try:"},{"line_number":929,"context_line":"            bind_host \u003d self._ovn_client.determine_bind_host("},{"line_number":930,"context_line":"                port,"},{"line_number":931,"context_line":"                port_context\u003dcontext)"},{"line_number":932,"context_line":"            datapath_type, iface_types, chassis_physnets \u003d ("},{"line_number":933,"context_line":"                self.sb_ovn.get_chassis_data_for_ml2_bind_port(bind_host))"},{"line_number":934,"context_line":"            iface_types \u003d iface_types.split(\u0027,\u0027) if iface_types else []"}],"source_content_type":"text/x-python","patch_set":22,"id":"de50e6e6_ac2ca78b","line":931,"in_reply_to":"ab55de3f_071cb37d","updated":"2022-02-22 08:43:50.000000000","message":"port \u003d context.current, thus only with the context is enough.\n\nIn any case, this is not relevant at this point, we can change it later.","commit_id":"ba4bf413291d786ce7edca7baeeb9a4441ca4f2a"},{"author":{"_account_id":13686,"name":"Frode Nordahl","email":"fnordahl@ubuntu.com","username":"fnordahl"},"change_message_id":"335c6bb7d3b2702b7189dca3f2ca82c0bf2f0fa2","unresolved":true,"context_lines":[{"line_number":928,"context_line":"        try:"},{"line_number":929,"context_line":"            bind_host \u003d self._ovn_client.determine_bind_host("},{"line_number":930,"context_line":"                port,"},{"line_number":931,"context_line":"                port_context\u003dcontext)"},{"line_number":932,"context_line":"            datapath_type, iface_types, chassis_physnets \u003d ("},{"line_number":933,"context_line":"                self.sb_ovn.get_chassis_data_for_ml2_bind_port(bind_host))"},{"line_number":934,"context_line":"            iface_types \u003d iface_types.split(\u0027,\u0027) if iface_types else []"}],"source_content_type":"text/x-python","patch_set":22,"id":"897585b4_2e150675","line":931,"in_reply_to":"d772a722_1169bbe6","updated":"2022-02-16 17:52:34.000000000","message":"The original code passes `context.host` to `self.sb_ovn.get_chassis_data_for_ml2_bind_port()`, so based on that I made the assumption that if we\u0027re about the bind the port then the port Dict in `context.current` may not contain up to date information yet, and thus I needed to pass in the PortContext so that the helper could access `context.host`.\n\nI\u0027d be happy to just pass in `context.current` port Dict if I can rely on it containing the required information. I tested this approach on two real systems and it did appear to work.","commit_id":"ba4bf413291d786ce7edca7baeeb9a4441ca4f2a"}],"neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_client.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"28f233a381cc3c44c31072bd46df765b12573a14","unresolved":true,"context_lines":[{"line_number":248,"context_line":"        :rtype: str"},{"line_number":249,"context_line":"        :raises: n_exc.InvalidInput, RuntimeError"},{"line_number":250,"context_line":"        \"\"\""},{"line_number":251,"context_line":"        port \u003d port_context.current if port_context else port"},{"line_number":252,"context_line":"        vnic_type \u003d port.get(portbindings.VNIC_TYPE, portbindings.VNIC_NORMAL)"},{"line_number":253,"context_line":"        if vnic_type !\u003d portbindings.VNIC_REMOTE_MANAGED:"},{"line_number":254,"context_line":"            return port_context.host if port_context else port.get("}],"source_content_type":"text/x-python","patch_set":22,"id":"0f74a3d1_dc1d56e8","line":251,"updated":"2022-02-16 14:41:11.000000000","message":"why it needs to have both port and port_context parameters? Wouldn\u0027t port be enough?","commit_id":"ba4bf413291d786ce7edca7baeeb9a4441ca4f2a"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"2c7533ff1c2f013c7e042f72bb7339da5c092b0f","unresolved":true,"context_lines":[{"line_number":248,"context_line":"        :rtype: str"},{"line_number":249,"context_line":"        :raises: n_exc.InvalidInput, RuntimeError"},{"line_number":250,"context_line":"        \"\"\""},{"line_number":251,"context_line":"        port \u003d port_context.current if port_context else port"},{"line_number":252,"context_line":"        vnic_type \u003d port.get(portbindings.VNIC_TYPE, portbindings.VNIC_NORMAL)"},{"line_number":253,"context_line":"        if vnic_type !\u003d portbindings.VNIC_REMOTE_MANAGED:"},{"line_number":254,"context_line":"            return port_context.host if port_context else port.get("}],"source_content_type":"text/x-python","patch_set":22,"id":"86720412_20cb18f2","line":251,"in_reply_to":"0a92a432_228307af","updated":"2022-02-22 16:40:41.000000000","message":"as ralonsoh wrote (https://review.opendev.org/c/openstack/neutron/+/808961/comment/d772a722_1169bbe6/ ) we can change it later, I think we can live with it now","commit_id":"ba4bf413291d786ce7edca7baeeb9a4441ca4f2a"},{"author":{"_account_id":13686,"name":"Frode Nordahl","email":"fnordahl@ubuntu.com","username":"fnordahl"},"change_message_id":"d4699483303e398d098aac63f720e2b00d813674","unresolved":true,"context_lines":[{"line_number":248,"context_line":"        :rtype: str"},{"line_number":249,"context_line":"        :raises: n_exc.InvalidInput, RuntimeError"},{"line_number":250,"context_line":"        \"\"\""},{"line_number":251,"context_line":"        port \u003d port_context.current if port_context else port"},{"line_number":252,"context_line":"        vnic_type \u003d port.get(portbindings.VNIC_TYPE, portbindings.VNIC_NORMAL)"},{"line_number":253,"context_line":"        if vnic_type !\u003d portbindings.VNIC_REMOTE_MANAGED:"},{"line_number":254,"context_line":"            return port_context.host if port_context else port.get("}],"source_content_type":"text/x-python","patch_set":22,"id":"0a92a432_228307af","line":251,"in_reply_to":"0f74a3d1_dc1d56e8","updated":"2022-02-17 06:03:37.000000000","message":"The original code used ``context.host`` and there appears to be some special case handing in the ``PortContext.host`` property [0].\n\nIf you look a few lines down I use the ``host`` property here to mimic that behavior.\n\nSince this function is used multiple places and the extra argument is only applicable at bind time I guess we could rename the parameter and make it only contain the contents of the host property if that makes things more clear?\n\n0: https://github.com/openstack/neutron/blob/3dfe6072421e3d5dc708a3bf065fb1a64ea3129a/neutron/plugins/ml2/driver_context.py#L255-L262","commit_id":"ba4bf413291d786ce7edca7baeeb9a4441ca4f2a"}],"releasenotes/notes/ovn-smartnic-dpu-portbinding-dd0a16bac6d2e59f.yaml":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"28f233a381cc3c44c31072bd46df765b12573a14","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add support for VNIC type \u0027remote-managed\u0027 in OVN. The OVN driver can now"},{"line_number":5,"context_line":"    bind remote managed ports to SmartNIC DPUs. SmartNIC DPU portbinding"},{"line_number":6,"context_line":"    requires OVN version 21.12 or above, compiled with OVN VIF version 21.12 or"},{"line_number":7,"context_line":"    above."}],"source_content_type":"text/x-yaml","patch_set":22,"id":"7661c753_b130a95a","line":4,"range":{"start_line":4,"start_character":30,"end_line":4,"end_character":46},"updated":"2022-02-16 14:41:11.000000000","message":"nitty nit: please put it into `` `` instead of \u0027 \u0027","commit_id":"ba4bf413291d786ce7edca7baeeb9a4441ca4f2a"},{"author":{"_account_id":13686,"name":"Frode Nordahl","email":"fnordahl@ubuntu.com","username":"fnordahl"},"change_message_id":"335c6bb7d3b2702b7189dca3f2ca82c0bf2f0fa2","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add support for VNIC type \u0027remote-managed\u0027 in OVN. The OVN driver can now"},{"line_number":5,"context_line":"    bind remote managed ports to SmartNIC DPUs. SmartNIC DPU portbinding"},{"line_number":6,"context_line":"    requires OVN version 21.12 or above, compiled with OVN VIF version 21.12 or"},{"line_number":7,"context_line":"    above."}],"source_content_type":"text/x-yaml","patch_set":22,"id":"18cbd1c1_60b74fa0","line":4,"range":{"start_line":4,"start_character":30,"end_line":4,"end_character":46},"in_reply_to":"7661c753_b130a95a","updated":"2022-02-16 17:52:34.000000000","message":"Ack","commit_id":"ba4bf413291d786ce7edca7baeeb9a4441ca4f2a"}]}
