)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"7573b0cb9297b0c43198f8770569fc7e463cb188","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add delete_netdev field in VIFPortProfileOpenVSwitch profile"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In case of Smart NIC, os-vif is used to unplug the representor port from"},{"line_number":10,"context_line":"the integration bridge, but this causing an issue that it also try to"},{"line_number":11,"context_line":"delete the net device, so providing a field delete_netdev in"},{"line_number":12,"context_line":"VIFPortProfileOpenVSwitch profile to manage if we need to delete the"},{"line_number":13,"context_line":"netdev or not."},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3fa7e38b_56731950","line":11,"range":{"start_line":10,"start_character":24,"end_line":11,"end_character":22},"updated":"2020-01-16 13:11:37.000000000","message":"yes so we should try to delete the netdev if it exits and the current code check to see if it exits. in the dpdk case this shoudl not cause any issues as there will be no netdev for the representor so https://github.com/openstack/os-vif/blob/7bad0f93bbda1238fa3d853ce428f92d8606b360/vif_plug_ovs/linux_net.py#L67 will be false.","commit_id":"adb94795247f02c0879e420d812018113c1375f5"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c34c6e1dd86843bb8ce551e842ec5cdc69f51b5e","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add delete_netdev field in VIFPortProfileOpenVSwitch profile"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In case of Smart NIC, os-vif is used to unplug the representor port from"},{"line_number":10,"context_line":"the integration bridge, but this causing an issue that it also try to"},{"line_number":11,"context_line":"delete the net device, so providing a field delete_netdev in"},{"line_number":12,"context_line":"VIFPortProfileOpenVSwitch profile to manage if we need to delete the"},{"line_number":13,"context_line":"netdev or not."},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3fa7e38b_64469881","line":11,"range":{"start_line":10,"start_character":24,"end_line":11,"end_character":22},"in_reply_to":"3fa7e38b_0436c4e0","updated":"2020-01-16 21:33:01.000000000","message":"your missing my point for dpdk port representors there should be no netdev in the kernel. this should not change regardless of the implementation.","commit_id":"adb94795247f02c0879e420d812018113c1375f5"},{"author":{"_account_id":25241,"name":"waleed mousa","email":"waleedm@nvidia.com","username":"waleedm"},"change_message_id":"09c9812723f3ade32c85f6974d172bedd53fdb97","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add delete_netdev field in VIFPortProfileOpenVSwitch profile"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In case of Smart NIC, os-vif is used to unplug the representor port from"},{"line_number":10,"context_line":"the integration bridge, but this causing an issue that it also try to"},{"line_number":11,"context_line":"delete the net device, so providing a field delete_netdev in"},{"line_number":12,"context_line":"VIFPortProfileOpenVSwitch profile to manage if we need to delete the"},{"line_number":13,"context_line":"netdev or not."},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3fa7e38b_0436c4e0","line":11,"range":{"start_line":10,"start_character":24,"end_line":11,"end_character":22},"in_reply_to":"3fa7e38b_56731950","updated":"2020-01-16 21:17:52.000000000","message":"it\u0027s about bluefield not dpdk, So for bluefield no need to remove the net device for the representor as we are doing here https://github.com/openstack/os-vif/blob/master/vif_plug_ovs/ovs.py#L345-L351","commit_id":"adb94795247f02c0879e420d812018113c1375f5"},{"author":{"_account_id":28714,"name":"Adrian Chiris","email":"adrianc@nvidia.com","username":"adrianc"},"change_message_id":"2e2568262c5ee7ccda882fd2d0e12084762f222a","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add delete_netdev field in VIFPortProfileOpenVSwitch profile"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In case of Smart NIC, os-vif is used to unplug the representor port from"},{"line_number":10,"context_line":"the integration bridge, but this causing an issue that it also try to"},{"line_number":11,"context_line":"delete the net device, so providing a field delete_netdev in"},{"line_number":12,"context_line":"VIFPortProfileOpenVSwitch profile to manage if we need to delete the"},{"line_number":13,"context_line":"netdev or not."},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3fa7e38b_7b7280e6","line":11,"range":{"start_line":10,"start_character":24,"end_line":11,"end_character":22},"in_reply_to":"3fa7e38b_64469881","updated":"2020-01-21 15:23:51.000000000","message":"The statement about DPDK port representors is correct.\nKernel port representors however, cannot be deleted.\n\nsee [1] for more context. representor port on smartnic should be unplugged by os-vif (and not deleted).\nrepresentor name is defined by the operator in ironic port local_link_connection, then passed by ovs agent to os-vif.\n\nwhile the spec only discusses the plug action by os-vif, unplug should be symmetrical. the spec can be updated if needed.\n\n[1]https://github.com/openstack/neutron-specs/blob/master/specs/stein/neutron-ovs-agent-support-baremetal-with-smart-nic.rst","commit_id":"adb94795247f02c0879e420d812018113c1375f5"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"7573b0cb9297b0c43198f8770569fc7e463cb188","unresolved":false,"context_lines":[{"line_number":11,"context_line":"delete the net device, so providing a field delete_netdev in"},{"line_number":12,"context_line":"VIFPortProfileOpenVSwitch profile to manage if we need to delete the"},{"line_number":13,"context_line":"netdev or not."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Related-Bug: #1859976"},{"line_number":16,"context_line":"Change-Id: I3098c1c878d44a239af7725391c3645619e462c1"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3fa7e38b_b684cd0f","line":15,"range":{"start_line":14,"start_character":0,"end_line":15,"end_character":21},"updated":"2020-01-16 13:11:37.000000000","message":"you should file bugs against os-vif for os vif issue not neutron.","commit_id":"adb94795247f02c0879e420d812018113c1375f5"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c34c6e1dd86843bb8ce551e842ec5cdc69f51b5e","unresolved":false,"context_lines":[{"line_number":11,"context_line":"delete the net device, so providing a field delete_netdev in"},{"line_number":12,"context_line":"VIFPortProfileOpenVSwitch profile to manage if we need to delete the"},{"line_number":13,"context_line":"netdev or not."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Related-Bug: #1859976"},{"line_number":16,"context_line":"Change-Id: I3098c1c878d44a239af7725391c3645619e462c1"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3fa7e38b_046c8403","line":15,"range":{"start_line":14,"start_character":0,"end_line":15,"end_character":21},"in_reply_to":"3fa7e38b_04dc8441","updated":"2020-01-16 21:33:01.000000000","message":"it will not be set to unbond until after it is unpluged.\n\nand no i dont belive you should be updating the neutron agent. os-vif is responsible for adding and removing ports to ovs. the neutron agent should not need to be altered.","commit_id":"adb94795247f02c0879e420d812018113c1375f5"},{"author":{"_account_id":25241,"name":"waleed mousa","email":"waleedm@nvidia.com","username":"waleedm"},"change_message_id":"09c9812723f3ade32c85f6974d172bedd53fdb97","unresolved":false,"context_lines":[{"line_number":11,"context_line":"delete the net device, so providing a field delete_netdev in"},{"line_number":12,"context_line":"VIFPortProfileOpenVSwitch profile to manage if we need to delete the"},{"line_number":13,"context_line":"netdev or not."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Related-Bug: #1859976"},{"line_number":16,"context_line":"Change-Id: I3098c1c878d44a239af7725391c3645619e462c1"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3fa7e38b_04dc8441","line":15,"range":{"start_line":14,"start_character":0,"end_line":15,"end_character":21},"in_reply_to":"3fa7e38b_b684cd0f","updated":"2020-01-16 21:17:52.000000000","message":"So also it\u0027s related to neutron, when removing smart nic port, we will set it\u0027s bidning to UNBOUND, and use os-vif to unblug it, in that case we need only to remove it from the bridge but not to delete the netdev, we here:\nhttps://review.opendev.org/#/c/702806/1/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py@569\nSo I need to update this also according to this change to create a VIFPortProfileOpenVSwitch without removing the netdev","commit_id":"adb94795247f02c0879e420d812018113c1375f5"}],"os_vif/objects/vif.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"7573b0cb9297b0c43198f8770569fc7e463cb188","unresolved":false,"context_lines":[{"line_number":345,"context_line":"        \u0027create_port\u0027: fields.BooleanField(default\u003dFalse),"},{"line_number":346,"context_line":""},{"line_number":347,"context_line":"        #: Whether the os-vif plugin should delete netdev from the net devices"},{"line_number":348,"context_line":"        \u0027delete_netdev\u0027: fields.BooleanField(default\u003dTrue),"},{"line_number":349,"context_line":""},{"line_number":350,"context_line":"    }"},{"line_number":351,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_f6fc85b7","line":348,"range":{"start_line":348,"start_character":9,"end_line":348,"end_character":22},"updated":"2020-01-16 13:11:37.000000000","message":"remove_netdev might be better","commit_id":"adb94795247f02c0879e420d812018113c1375f5"},{"author":{"_account_id":25241,"name":"waleed mousa","email":"waleedm@nvidia.com","username":"waleedm"},"change_message_id":"09c9812723f3ade32c85f6974d172bedd53fdb97","unresolved":false,"context_lines":[{"line_number":345,"context_line":"        \u0027create_port\u0027: fields.BooleanField(default\u003dFalse),"},{"line_number":346,"context_line":""},{"line_number":347,"context_line":"        #: Whether the os-vif plugin should delete netdev from the net devices"},{"line_number":348,"context_line":"        \u0027delete_netdev\u0027: fields.BooleanField(default\u003dTrue),"},{"line_number":349,"context_line":""},{"line_number":350,"context_line":"    }"},{"line_number":351,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_64b698ff","line":348,"range":{"start_line":348,"start_character":9,"end_line":348,"end_character":22},"in_reply_to":"3fa7e38b_f6fc85b7","updated":"2020-01-16 21:17:52.000000000","message":"will do","commit_id":"adb94795247f02c0879e420d812018113c1375f5"},{"author":{"_account_id":28714,"name":"Adrian Chiris","email":"adrianc@nvidia.com","username":"adrianc"},"change_message_id":"2e2568262c5ee7ccda882fd2d0e12084762f222a","unresolved":false,"context_lines":[{"line_number":377,"context_line":"    # Version 1.1: VIFPortProfileOpenVSwitch updated to 1.1 from 1.0"},{"line_number":378,"context_line":"    # Version 1.2: VIFPortProfileOpenVSwitch updated to 1.2 from 1.1"},{"line_number":379,"context_line":"    # Version 1.3: VIFPortProfileOpenVSwitch updated to 1.3 from 1.2"},{"line_number":380,"context_line":"    # Version 1.4: VIFPortProfileOpenVSwitch updated to 1.4 from 1.4"},{"line_number":381,"context_line":""},{"line_number":382,"context_line":"    VERSION \u003d \u00271.4\u0027"},{"line_number":383,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_eeb313eb","line":380,"range":{"start_line":380,"start_character":67,"end_line":380,"end_character":68},"updated":"2020-01-21 15:23:51.000000000","message":"3","commit_id":"adb94795247f02c0879e420d812018113c1375f5"}],"vif_plug_ovs/ovs.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"7573b0cb9297b0c43198f8770569fc7e463cb188","unresolved":false,"context_lines":[{"line_number":327,"context_line":"        # NOTE(sean-k-mooney): even with the partial revert of change"},{"line_number":328,"context_line":"        # Iaf15fa7a678ec2624f7c12f634269c465fbad930 this should be correct"},{"line_number":329,"context_line":"        # so this is not removed."},{"line_number":330,"context_line":"        if (\"delete_netdev\" in vif.port_profile and"},{"line_number":331,"context_line":"                not vif.port_profile.delete_netdev):"},{"line_number":332,"context_line":"            # Unplug the port from the bridge but don\u0027t delete the netdev"},{"line_number":333,"context_line":"            self.ovsdb.delete_ovs_vif_port(vif.network.bridge, vif.vif_name,"},{"line_number":334,"context_line":"                                           delete_netdev\u003dFalse)"},{"line_number":335,"context_line":"        else:"},{"line_number":336,"context_line":"            self.ovsdb.delete_ovs_vif_port(vif.network.bridge, vif.vif_name)"},{"line_number":337,"context_line":""},{"line_number":338,"context_line":"    def _unplug_vf(self, vif):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_760975da","line":335,"range":{"start_line":330,"start_character":8,"end_line":335,"end_character":13},"updated":"2020-01-16 13:11:37.000000000","message":"you dont need this if else\njust do \n\ndelete \u003d  vif.port_profile.get(\"delete_netdev\", True)\nself.ovsdb.delete_ovs_vif_port(vif.network.bridge, vif.vif_name,delete_netdev\u003ddelete)\n\nthat said im not sure if delete_netdev is needed\nin the port_profile. we shoudl be able to tell that this is a\ndpdk port representor because it will be vif type vhost user and vnic_type direct right?\n\nso we can just check the vif class and profile\ni dont really want to have to have nova set this.\nit should be an internal detail of os-vif nova should not care.\n\nalso what error are you getting \n\ndelete_net_dev\n\nhttps://github.com/openstack/os-vif/blob/7bad0f93bbda1238fa3d853ce428f92d8606b360/vif_plug_ovs/linux_net.py#L65-L73\n\n\n@privsep.vif_plug.entrypoint\ndef delete_net_dev(dev):\n    \"\"\"Delete a network device only if it exists.\"\"\"\n    if ip_lib.exists(dev):\n        try:\n            ip_lib.delete(dev, check_exit_code\u003d[0, 2, 254])\n            LOG.debug(\"Net device removed: \u0027%s\u0027\", dev)\n        except processutils.ProcessExecutionError:\n            with excutils.save_and_reraise_exception():\nLOG.error(\"Failed removing net device: \u0027%s\u0027\", dev)\n\nchecks if the interface exists before it deletes it.\nfor dpdk represntor the interface should not exist on the kernel so this shoudl be a noop","commit_id":"adb94795247f02c0879e420d812018113c1375f5"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c34c6e1dd86843bb8ce551e842ec5cdc69f51b5e","unresolved":false,"context_lines":[{"line_number":327,"context_line":"        # NOTE(sean-k-mooney): even with the partial revert of change"},{"line_number":328,"context_line":"        # Iaf15fa7a678ec2624f7c12f634269c465fbad930 this should be correct"},{"line_number":329,"context_line":"        # so this is not removed."},{"line_number":330,"context_line":"        if (\"delete_netdev\" in vif.port_profile and"},{"line_number":331,"context_line":"                not vif.port_profile.delete_netdev):"},{"line_number":332,"context_line":"            # Unplug the port from the bridge but don\u0027t delete the netdev"},{"line_number":333,"context_line":"            self.ovsdb.delete_ovs_vif_port(vif.network.bridge, vif.vif_name,"},{"line_number":334,"context_line":"                                           delete_netdev\u003dFalse)"},{"line_number":335,"context_line":"        else:"},{"line_number":336,"context_line":"            self.ovsdb.delete_ovs_vif_port(vif.network.bridge, vif.vif_name)"},{"line_number":337,"context_line":""},{"line_number":338,"context_line":"    def _unplug_vf(self, vif):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_842e34a8","line":335,"range":{"start_line":330,"start_character":8,"end_line":335,"end_character":13},"in_reply_to":"3fa7e38b_44803cbf","updated":"2020-01-16 21:33:01.000000000","message":"i need to re review this but the 3 change you have up look incorrect to me.\n\nthe only entity that should be adding or remvoing interfaces to ovs is os-vif. the neutron agent should only be manaing vlan tags and openflow rules it should not be adding or removing interfaces.","commit_id":"adb94795247f02c0879e420d812018113c1375f5"},{"author":{"_account_id":25241,"name":"waleed mousa","email":"waleedm@nvidia.com","username":"waleedm"},"change_message_id":"09c9812723f3ade32c85f6974d172bedd53fdb97","unresolved":false,"context_lines":[{"line_number":327,"context_line":"        # NOTE(sean-k-mooney): even with the partial revert of change"},{"line_number":328,"context_line":"        # Iaf15fa7a678ec2624f7c12f634269c465fbad930 this should be correct"},{"line_number":329,"context_line":"        # so this is not removed."},{"line_number":330,"context_line":"        if (\"delete_netdev\" in vif.port_profile and"},{"line_number":331,"context_line":"                not vif.port_profile.delete_netdev):"},{"line_number":332,"context_line":"            # Unplug the port from the bridge but don\u0027t delete the netdev"},{"line_number":333,"context_line":"            self.ovsdb.delete_ovs_vif_port(vif.network.bridge, vif.vif_name,"},{"line_number":334,"context_line":"                                           delete_netdev\u003dFalse)"},{"line_number":335,"context_line":"        else:"},{"line_number":336,"context_line":"            self.ovsdb.delete_ovs_vif_port(vif.network.bridge, vif.vif_name)"},{"line_number":337,"context_line":""},{"line_number":338,"context_line":"    def _unplug_vf(self, vif):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_44803cbf","line":335,"range":{"start_line":330,"start_character":8,"end_line":335,"end_character":13},"in_reply_to":"3fa7e38b_760975da","updated":"2020-01-16 21:17:52.000000000","message":"so it\u0027s a bluefield change not dpdk,\nalso I depended on my change on this one [1], if you remmber\n[1]: https://review.opendev.org/#/c/636061/4..5","commit_id":"adb94795247f02c0879e420d812018113c1375f5"}]}
