)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"332abf0c98ca92696dc0dbe8bf36b1d9fae752ce","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2019-02-05 21:33:33 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Libvirt: do not set mac when unplugging macvtap vf"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"- This change updates unplug_hw_veb to reset the"},{"line_number":10,"context_line":"  vf mac when unplugging macvtap sriov vifs."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"- This change corrects an outdated comment to reflect"},{"line_number":13,"context_line":"  that ip tools support setting a zero mac and leaves"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"9fdfeff1_0109a393","line":10,"range":{"start_line":8,"start_character":0,"end_line":10,"end_character":44},"updated":"2019-02-11 17:21:38.000000000","message":"Can you add the \"why\" here too if you need to rework this? You can pretty much copy-paste from the bug report as while I get what you\u0027re doing here I had to go read that report to figure out why","commit_id":"8b21752c81ae5c3e8f02e1b4b0802c57ab176c29"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"6c966966c4c1fbcb87609d76dcc3d3df1ac06ae4","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2019-02-05 21:33:33 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Libvirt: do not set mac when unplugging macvtap vf"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"- This change updates unplug_hw_veb to reset the"},{"line_number":10,"context_line":"  vf mac when unplugging macvtap sriov vifs."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"- This change corrects an outdated comment to reflect"},{"line_number":13,"context_line":"  that ip tools support setting a zero mac and leaves"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"9fdfeff1_14fd5f39","line":10,"range":{"start_line":8,"start_character":0,"end_line":10,"end_character":44},"in_reply_to":"9fdfeff1_0109a393","updated":"2019-02-11 18:36:49.000000000","message":"ya ill update when i fix matt\u0027s nit in the comments and\nadress his question below.\n\nmy current plan is to respin all the patches tomorrow once feedback has been gathered.","commit_id":"8b21752c81ae5c3e8f02e1b4b0802c57ab176c29"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"adacc5c030af1849f02d620c019ddb7857e73237","unresolved":false,"context_lines":[{"line_number":10,"context_line":"  vf mac when unplugging macvtap sriov vifs."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"- This change corrects an outdated comment to reflect"},{"line_number":13,"context_line":"  that ip tools support setting a zero mac and leaves"},{"line_number":14,"context_line":"  a TODO to futher clean up this code later in Stein."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I4f78f3cc412d7ec59456aea915a1ebfc8b27681f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"9fdfeff1_f430dba0","line":13,"range":{"start_line":13,"start_character":7,"end_line":13,"end_character":42},"updated":"2019-02-11 18:02:57.000000000","message":"Was this new support since that comment was originally added and if so, what is the minimum required version of that package for the zero mac support and will that be on modern distros?","commit_id":"8b21752c81ae5c3e8f02e1b4b0802c57ab176c29"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"6c966966c4c1fbcb87609d76dcc3d3df1ac06ae4","unresolved":false,"context_lines":[{"line_number":10,"context_line":"  vf mac when unplugging macvtap sriov vifs."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"- This change corrects an outdated comment to reflect"},{"line_number":13,"context_line":"  that ip tools support setting a zero mac and leaves"},{"line_number":14,"context_line":"  a TODO to futher clean up this code later in Stein."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I4f78f3cc412d7ec59456aea915a1ebfc8b27681f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"9fdfeff1_573be9cf","line":13,"range":{"start_line":13,"start_character":7,"end_line":13,"end_character":42},"in_reply_to":"9fdfeff1_543e8729","updated":"2019-02-11 18:36:49.000000000","message":"ya you are right. the error that ip tools reaises comes from the driver initially. the driver either accelts the ioctl to update the mac with the value of 0 or rejects it as invalid.\n\ni have tested locally with the intel igb/igbvf driver and i belive adrian tested with the mellanox driver.\n\ni belive both the ixgbe and i40e driver support setting the vf to 0 from my past experience with them but\ni do not have acess to intel niantic(x520) or fortvile(xl710) nics to vlidate. regardless of if they accept the vf mac reset or not the current behavior for seting the vf to the vms mac on unplug would still be incorrect.","commit_id":"8b21752c81ae5c3e8f02e1b4b0802c57ab176c29"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"d8739d9847a0face13bd8ccdb9fe3cc09bf2543c","unresolved":false,"context_lines":[{"line_number":10,"context_line":"  vf mac when unplugging macvtap sriov vifs."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"- This change corrects an outdated comment to reflect"},{"line_number":13,"context_line":"  that ip tools support setting a zero mac and leaves"},{"line_number":14,"context_line":"  a TODO to futher clean up this code later in Stein."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I4f78f3cc412d7ec59456aea915a1ebfc8b27681f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"9fdfeff1_543e8729","line":13,"range":{"start_line":13,"start_character":7,"end_line":13,"end_character":42},"in_reply_to":"9fdfeff1_f430dba0","updated":"2019-02-11 18:16:22.000000000","message":"It not ip tool it is enforced by the driver it self. in the past some drivers allowed it and some didn\u0027t. but for libvirt to work properly it is needed. (for example to clean the VF mac after deleting the VM). For Mellanox we fixed it a while back (2 year ago I think) and I believe the intel driver had the same issue.","commit_id":"8b21752c81ae5c3e8f02e1b4b0802c57ab176c29"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"0b30f3821c88761b60948bc850d1cecd48fc4a5c","unresolved":false,"context_lines":[{"line_number":10,"context_line":"  vf mac when unplugging macvtap sriov vifs."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"- This change corrects an outdated comment to reflect"},{"line_number":13,"context_line":"  that ip tools support setting a zero mac and leaves"},{"line_number":14,"context_line":"  a TODO to futher clean up this code later in Stein."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I4f78f3cc412d7ec59456aea915a1ebfc8b27681f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"9fdfeff1_749dcb55","line":13,"range":{"start_line":13,"start_character":7,"end_line":13,"end_character":42},"in_reply_to":"9fdfeff1_f430dba0","updated":"2019-02-11 18:13:23.000000000","message":"so not the orginal comment was misleading\n\nperhaps min is to.\n\nwhen dealing with macvtap sriov there are two things you can set a mac address for.\n\n1 the pcie VF can have its mac administratively set via the PF using ip tools. the VF support setting the 0 mac\n\nthe second it the linux netdev associated with the VF.\nthe netdev does not support setting its mac to 0\nhowever when you do set it to 0 the exit code that is returned is 2 which is the same exit code for interface not found which we allow in the expected set.\n\n\nas a result we can set the VF mac to 0 which resets it\nto the factor default and the error for setting the netdev to 0 is ignored and has no effect.\n\nwould you like me to state that clearly in the commit.","commit_id":"8b21752c81ae5c3e8f02e1b4b0802c57ab176c29"}],"nova/network/linux_utils.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"87ce4bce07ac188c299fb2e52dc041b81d114061","unresolved":false,"context_lines":[{"line_number":71,"context_line":"    # Bring up/down the VF\u0027s interface"},{"line_number":72,"context_line":"    # TODO(edand): The mac is assigned as a workaround for the following issue"},{"line_number":73,"context_line":"    #              https://bugzilla.redhat.com/show_bug.cgi?id\u003d1372944"},{"line_number":74,"context_line":"    #              once resolved it will be removed"},{"line_number":75,"context_line":"    utils.execute(\u0027ip\u0027, \u0027link\u0027, \u0027set\u0027, vf_ifname,"},{"line_number":76,"context_line":"                  \u0027address\u0027, mac_addr,"},{"line_number":77,"context_line":"                  port_state,"}],"source_content_type":"text/x-python","patch_set":4,"id":"9fdfeff1_aa5b302c","side":"PARENT","line":74,"updated":"2019-01-21 13:44:20.000000000","message":"so, AFAICT, the fix for the above bug (and associated bug in libvirt) is in libvirt 3.2.0. Technically, our libvirt min version is still (crazily...) 1.3.1:\n\nhttps://github.com/openstack/nova/blob/99ca7d60b41f63446f86ed9be86440a2b250f330/nova/virt/libvirt/driver.py#L223\n\nNot sure if this is something to worry about, though, since in order to use most SR-IOV stuff, I think the end user would be using a much newer version of libvirt?","commit_id":"99ca7d60b41f63446f86ed9be86440a2b250f330"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"bf1f2f61fc1c6949258bf1c3e82428064f57bdab","unresolved":false,"context_lines":[{"line_number":71,"context_line":"    # Bring up/down the VF\u0027s interface"},{"line_number":72,"context_line":"    # TODO(edand): The mac is assigned as a workaround for the following issue"},{"line_number":73,"context_line":"    #              https://bugzilla.redhat.com/show_bug.cgi?id\u003d1372944"},{"line_number":74,"context_line":"    #              once resolved it will be removed"},{"line_number":75,"context_line":"    utils.execute(\u0027ip\u0027, \u0027link\u0027, \u0027set\u0027, vf_ifname,"},{"line_number":76,"context_line":"                  \u0027address\u0027, mac_addr,"},{"line_number":77,"context_line":"                  port_state,"}],"source_content_type":"text/x-python","patch_set":4,"id":"9fdfeff1_3e4c4cc6","side":"PARENT","line":74,"in_reply_to":"9fdfeff1_aa5b302c","updated":"2019-01-22 14:01:03.000000000","message":"hi jay my v1 did not delete this and removing this code i think is not needed.\n\nif i dont remove this code then the command on line 75 will fail with execode 2 which is already in the allowed set.\n\nas such i can simply leave the failing call in place as the code is really there for plug and im fixign unplug.\n\ne.g. its fine to set the vf to the vm port mac when plugging\nit was not fine to also set it to the vm port mac on the vf when unplugging. since this code will have no effect in the unplugg case with a mac of 0 its slightly inefficient but safe to leave.","commit_id":"99ca7d60b41f63446f86ed9be86440a2b250f330"}],"nova/virt/libvirt/vif.py":[{"author":{"_account_id":28714,"name":"Adrian Chiris","email":"adrianc@nvidia.com","username":"adrianc"},"change_message_id":"cf4834a11d9cc73a8ffe1db9a414b8611ebb858c","unresolved":false,"context_lines":[{"line_number":836,"context_line":"            # port is reused for another vm before the VF is reused."},{"line_number":837,"context_line":"            # The ip utility accepts the MAC 00:00:00:00:00:00 which can"},{"line_number":838,"context_line":"            # be used to reset the VF mac when nolonger in use by a vm."},{"line_number":839,"context_line":"            # As such we hardcode the 00:00:00:00:00:00 mac."},{"line_number":840,"context_line":"            linux_net_utils.set_vf_interface_vlan(vif[\u0027profile\u0027][\u0027pci_slot\u0027],"},{"line_number":841,"context_line":"                                            mac_addr\u003d\u002700:00:00:00:00:00\u0027)"},{"line_number":842,"context_line":"        elif vif[\u0027vnic_type\u0027] \u003d\u003d network_model.VNIC_TYPE_DIRECT:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_cecb201a","line":839,"updated":"2018-12-13 13:04:51.000000000","message":"as finally libvirt seems do be behaving nicely\nid remove the comment all together as we are simply clearing the MAC we set during plug_hw_veb()\n\nalso the \"TODO(vladikr)\" above seems to be outdated:","commit_id":"1bea334251fd8f1babc04ddb7b732a267d9adfc1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a572d58d90bd53aa50fade9bfcd2f03670c67d37","unresolved":false,"context_lines":[{"line_number":836,"context_line":"            # port is reused for another vm before the VF is reused."},{"line_number":837,"context_line":"            # The ip utility accepts the MAC 00:00:00:00:00:00 which can"},{"line_number":838,"context_line":"            # be used to reset the VF mac when nolonger in use by a vm."},{"line_number":839,"context_line":"            # As such we hardcode the 00:00:00:00:00:00 mac."},{"line_number":840,"context_line":"            linux_net_utils.set_vf_interface_vlan(vif[\u0027profile\u0027][\u0027pci_slot\u0027],"},{"line_number":841,"context_line":"                                            mac_addr\u003d\u002700:00:00:00:00:00\u0027)"},{"line_number":842,"context_line":"        elif vif[\u0027vnic_type\u0027] \u003d\u003d network_model.VNIC_TYPE_DIRECT:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_6931a6ef","line":839,"in_reply_to":"3f79a3b5_cecb201a","updated":"2018-12-13 13:15:28.000000000","message":"ya ill remove the other todo.\ntechnically we should not need to set the mac at all on unplug with libvirt \u003e 3.2 even via the pf.","commit_id":"1bea334251fd8f1babc04ddb7b732a267d9adfc1"},{"author":{"_account_id":28714,"name":"Adrian Chiris","email":"adrianc@nvidia.com","username":"adrianc"},"change_message_id":"cf4834a11d9cc73a8ffe1db9a414b8611ebb858c","unresolved":false,"context_lines":[{"line_number":837,"context_line":"            # The ip utility accepts the MAC 00:00:00:00:00:00 which can"},{"line_number":838,"context_line":"            # be used to reset the VF mac when nolonger in use by a vm."},{"line_number":839,"context_line":"            # As such we hardcode the 00:00:00:00:00:00 mac."},{"line_number":840,"context_line":"            linux_net_utils.set_vf_interface_vlan(vif[\u0027profile\u0027][\u0027pci_slot\u0027],"},{"line_number":841,"context_line":"                                            mac_addr\u003d\u002700:00:00:00:00:00\u0027)"},{"line_number":842,"context_line":"        elif vif[\u0027vnic_type\u0027] \u003d\u003d network_model.VNIC_TYPE_DIRECT:"},{"line_number":843,"context_line":"            if \"trusted\" in vif[\u0027profile\u0027]:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_0eeb587a","line":840,"range":{"start_line":840,"start_character":28,"end_line":840,"end_character":49},"updated":"2018-12-13 13:04:51.000000000","message":"it will not work unless you modify the method to not set the VF netdev mac/vlan as libvirt is in charge of setting and clearing this in the case of macVtap","commit_id":"1bea334251fd8f1babc04ddb7b732a267d9adfc1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a572d58d90bd53aa50fade9bfcd2f03670c67d37","unresolved":false,"context_lines":[{"line_number":837,"context_line":"            # The ip utility accepts the MAC 00:00:00:00:00:00 which can"},{"line_number":838,"context_line":"            # be used to reset the VF mac when nolonger in use by a vm."},{"line_number":839,"context_line":"            # As such we hardcode the 00:00:00:00:00:00 mac."},{"line_number":840,"context_line":"            linux_net_utils.set_vf_interface_vlan(vif[\u0027profile\u0027][\u0027pci_slot\u0027],"},{"line_number":841,"context_line":"                                            mac_addr\u003d\u002700:00:00:00:00:00\u0027)"},{"line_number":842,"context_line":"        elif vif[\u0027vnic_type\u0027] \u003d\u003d network_model.VNIC_TYPE_DIRECT:"},{"line_number":843,"context_line":"            if \"trusted\" in vif[\u0027profile\u0027]:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_0948325f","line":840,"range":{"start_line":840,"start_character":28,"end_line":840,"end_character":49},"in_reply_to":"3f79a3b5_0eeb587a","updated":"2018-12-13 13:15:28.000000000","message":"yep you are right\nin practice ti does not seam to break the migration but ill correct that in the next version","commit_id":"1bea334251fd8f1babc04ddb7b732a267d9adfc1"},{"author":{"_account_id":28714,"name":"Adrian Chiris","email":"adrianc@nvidia.com","username":"adrianc"},"change_message_id":"e26a7908f30edf56c09a88ee440559a7965fb5d7","unresolved":false,"context_lines":[{"line_number":836,"context_line":"            # be used to reset the VF mac when nolonger in use by a vm."},{"line_number":837,"context_line":"            # As such we hardcode the 00:00:00:00:00:00 mac."},{"line_number":838,"context_line":"            linux_net_utils.set_vf_interface_vlan(vif[\u0027profile\u0027][\u0027pci_slot\u0027],"},{"line_number":839,"context_line":"                                            mac_addr\u003d\u002700:00:00:00:00:00\u0027)"},{"line_number":840,"context_line":"        elif vif[\u0027vnic_type\u0027] \u003d\u003d network_model.VNIC_TYPE_DIRECT:"},{"line_number":841,"context_line":"            if \"trusted\" in vif[\u0027profile\u0027]:"},{"line_number":842,"context_line":"                linux_net.set_vf_trusted(vif[\u0027profile\u0027][\u0027pci_slot\u0027], False)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_67a3d59d","line":839,"updated":"2018-12-17 15:28:01.000000000","message":"digging further, i believe we should not do anything during \nplug_hw_veb() and unplug_hw_veb() in the case of macVtap.\n\nlibvirt will set the MAC and vlan for us.\nsee: https://bugzilla.redhat.com/show_bug.cgi?id\u003d1113474\n\nnow, libvirt in case of macVtap sets the MAC on the VF netdev not the VF idx, this means an additional fix will be needed in neutron sriov agent (sriovnicswitch) as today the agent relies on the VF idx mac address to determine if a port was successfully binded.\n\n\na hook in neutron to test this: (since nova will not boot a VM as it waits for a port bind event from neutron)\n\n+++ b/neutron/plugins/ml2/drivers/mech_sriov/mech_driver/mech_driver.py\n@@ -91,7 +91,7 @@ class SriovNicSwitchMechanismDriver(mech_agent.SimpleAgentMechanismDriverBase):\n                       vnic_type)\n             return\n\n-        if vnic_type \u003d\u003d portbindings.VNIC_DIRECT_PHYSICAL:\n+        if (vnic_type \u003d\u003d portbindings.VNIC_DIRECT_PHYSICAL or vnic_type \u003d\u003d portbindings.VNIC_MACVTAP):\n             # Physical functions don\u0027t support things like QoS properties,\n             # spoof checking, etc. so we might as well side-step the agent\n             # for now. The agent also doesn\u0027t currently recognize non-VF","commit_id":"dd3cb4b4744be87a4227f257cb4d97583768c1a1"},{"author":{"_account_id":28714,"name":"Adrian Chiris","email":"adrianc@nvidia.com","username":"adrianc"},"change_message_id":"91e189b0ae8b21c19811d87b54cd1f47678558d2","unresolved":false,"context_lines":[{"line_number":836,"context_line":"            # be used to reset the VF mac when nolonger in use by a vm."},{"line_number":837,"context_line":"            # As such we hardcode the 00:00:00:00:00:00 mac."},{"line_number":838,"context_line":"            linux_net_utils.set_vf_interface_vlan(vif[\u0027profile\u0027][\u0027pci_slot\u0027],"},{"line_number":839,"context_line":"                                            mac_addr\u003d\u002700:00:00:00:00:00\u0027)"},{"line_number":840,"context_line":"        elif vif[\u0027vnic_type\u0027] \u003d\u003d network_model.VNIC_TYPE_DIRECT:"},{"line_number":841,"context_line":"            if \"trusted\" in vif[\u0027profile\u0027]:"},{"line_number":842,"context_line":"                linux_net.set_vf_trusted(vif[\u0027profile\u0027][\u0027pci_slot\u0027], False)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_ca5bd021","line":839,"in_reply_to":"3f79a3b5_67a3d59d","updated":"2018-12-17 15:40:38.000000000","message":"well, setting the MAC the VF net device may or may not set the PF\u0027s VF MAC table (May be driver specific)\n\nwith mellanox driver it doesn\u0027t.","commit_id":"dd3cb4b4744be87a4227f257cb4d97583768c1a1"},{"author":{"_account_id":28714,"name":"Adrian Chiris","email":"adrianc@nvidia.com","username":"adrianc"},"change_message_id":"644b215e54daf2bc8c357f5eba7a59cfbd6dbca0","unresolved":false,"context_lines":[{"line_number":836,"context_line":"            # be used to reset the VF mac when nolonger in use by a vm."},{"line_number":837,"context_line":"            # As such we hardcode the 00:00:00:00:00:00 mac."},{"line_number":838,"context_line":"            linux_net_utils.set_vf_interface_vlan(vif[\u0027profile\u0027][\u0027pci_slot\u0027],"},{"line_number":839,"context_line":"                                            mac_addr\u003d\u002700:00:00:00:00:00\u0027)"},{"line_number":840,"context_line":"        elif vif[\u0027vnic_type\u0027] \u003d\u003d network_model.VNIC_TYPE_DIRECT:"},{"line_number":841,"context_line":"            if \"trusted\" in vif[\u0027profile\u0027]:"},{"line_number":842,"context_line":"                linux_net.set_vf_trusted(vif[\u0027profile\u0027][\u0027pci_slot\u0027], False)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_beaa3969","line":839,"in_reply_to":"3f79a3b5_ca5bd021","updated":"2018-12-18 16:40:36.000000000","message":"following an IRC discussion, to avoid un-needed changes in neutron sriov agent, it seems reasonable that plug_hw_veb()/unplug_hw_veb() will set the the VF idx MAC on the PF.","commit_id":"dd3cb4b4744be87a4227f257cb4d97583768c1a1"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"87ce4bce07ac188c299fb2e52dc041b81d114061","unresolved":false,"context_lines":[{"line_number":825,"context_line":"        pass"},{"line_number":826,"context_line":""},{"line_number":827,"context_line":"    def unplug_hw_veb(self, instance, vif):"},{"line_number":828,"context_line":"        # TODO(sean-k-mooney): remove in stien after backpoting 0 mac"},{"line_number":829,"context_line":"        # change as this should no longer be need with libvirt \u003e 3.2.0."},{"line_number":830,"context_line":"        if vif[\u0027vnic_type\u0027] \u003d\u003d network_model.VNIC_TYPE_MACVTAP:"},{"line_number":831,"context_line":"            # NOTE(sean-k-mooney): Retaining the vm mac on the vf"}],"source_content_type":"text/x-python","patch_set":4,"id":"9fdfeff1_ea7a9886","line":828,"range":{"start_line":828,"start_character":41,"end_line":828,"end_character":46},"updated":"2019-01-21 13:44:20.000000000","message":"Stein","commit_id":"090e41a13c3c2cd76d8c56571044dcfa8c1aeb7b"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"87ce4bce07ac188c299fb2e52dc041b81d114061","unresolved":false,"context_lines":[{"line_number":825,"context_line":"        pass"},{"line_number":826,"context_line":""},{"line_number":827,"context_line":"    def unplug_hw_veb(self, instance, vif):"},{"line_number":828,"context_line":"        # TODO(sean-k-mooney): remove in stien after backpoting 0 mac"},{"line_number":829,"context_line":"        # change as this should no longer be need with libvirt \u003e 3.2.0."},{"line_number":830,"context_line":"        if vif[\u0027vnic_type\u0027] \u003d\u003d network_model.VNIC_TYPE_MACVTAP:"},{"line_number":831,"context_line":"            # NOTE(sean-k-mooney): Retaining the vm mac on the vf"}],"source_content_type":"text/x-python","patch_set":4,"id":"9fdfeff1_ca75549a","line":828,"range":{"start_line":828,"start_character":53,"end_line":828,"end_character":63},"updated":"2019-01-21 13:44:20.000000000","message":"backporting","commit_id":"090e41a13c3c2cd76d8c56571044dcfa8c1aeb7b"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"87ce4bce07ac188c299fb2e52dc041b81d114061","unresolved":false,"context_lines":[{"line_number":826,"context_line":""},{"line_number":827,"context_line":"    def unplug_hw_veb(self, instance, vif):"},{"line_number":828,"context_line":"        # TODO(sean-k-mooney): remove in stien after backpoting 0 mac"},{"line_number":829,"context_line":"        # change as this should no longer be need with libvirt \u003e 3.2.0."},{"line_number":830,"context_line":"        if vif[\u0027vnic_type\u0027] \u003d\u003d network_model.VNIC_TYPE_MACVTAP:"},{"line_number":831,"context_line":"            # NOTE(sean-k-mooney): Retaining the vm mac on the vf"},{"line_number":832,"context_line":"            # after unpluging the vif prevents the PF from transmitting"}],"source_content_type":"text/x-python","patch_set":4,"id":"9fdfeff1_6a66a8f0","line":829,"range":{"start_line":829,"start_character":63,"end_line":829,"end_character":64},"updated":"2019-01-21 13:44:20.000000000","message":"\u003e\u003d","commit_id":"090e41a13c3c2cd76d8c56571044dcfa8c1aeb7b"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"87ce4bce07ac188c299fb2e52dc041b81d114061","unresolved":false,"context_lines":[{"line_number":826,"context_line":""},{"line_number":827,"context_line":"    def unplug_hw_veb(self, instance, vif):"},{"line_number":828,"context_line":"        # TODO(sean-k-mooney): remove in stien after backpoting 0 mac"},{"line_number":829,"context_line":"        # change as this should no longer be need with libvirt \u003e 3.2.0."},{"line_number":830,"context_line":"        if vif[\u0027vnic_type\u0027] \u003d\u003d network_model.VNIC_TYPE_MACVTAP:"},{"line_number":831,"context_line":"            # NOTE(sean-k-mooney): Retaining the vm mac on the vf"},{"line_number":832,"context_line":"            # after unpluging the vif prevents the PF from transmitting"}],"source_content_type":"text/x-python","patch_set":4,"id":"9fdfeff1_aa74909a","line":829,"range":{"start_line":829,"start_character":45,"end_line":829,"end_character":49},"updated":"2019-01-21 13:44:20.000000000","message":"needed","commit_id":"090e41a13c3c2cd76d8c56571044dcfa8c1aeb7b"},{"author":{"_account_id":28714,"name":"Adrian Chiris","email":"adrianc@nvidia.com","username":"adrianc"},"change_message_id":"82492f267695eeed5c158983279eea897df1f7f7","unresolved":false,"context_lines":[{"line_number":826,"context_line":""},{"line_number":827,"context_line":"    def unplug_hw_veb(self, instance, vif):"},{"line_number":828,"context_line":"        # TODO(sean-k-mooney): remove in stien after backpoting 0 mac"},{"line_number":829,"context_line":"        # change as this should no longer be need with libvirt \u003e 3.2.0."},{"line_number":830,"context_line":"        if vif[\u0027vnic_type\u0027] \u003d\u003d network_model.VNIC_TYPE_MACVTAP:"},{"line_number":831,"context_line":"            # NOTE(sean-k-mooney): Retaining the vm mac on the vf"},{"line_number":832,"context_line":"            # after unpluging the vif prevents the PF from transmitting"}],"source_content_type":"text/x-python","patch_set":4,"id":"9fdfeff1_fac89455","line":829,"range":{"start_line":829,"start_character":63,"end_line":829,"end_character":64},"in_reply_to":"9fdfeff1_6a66a8f0","updated":"2019-02-14 18:23:07.000000000","message":"Done","commit_id":"090e41a13c3c2cd76d8c56571044dcfa8c1aeb7b"},{"author":{"_account_id":28714,"name":"Adrian Chiris","email":"adrianc@nvidia.com","username":"adrianc"},"change_message_id":"82492f267695eeed5c158983279eea897df1f7f7","unresolved":false,"context_lines":[{"line_number":826,"context_line":""},{"line_number":827,"context_line":"    def unplug_hw_veb(self, instance, vif):"},{"line_number":828,"context_line":"        # TODO(sean-k-mooney): remove in stien after backpoting 0 mac"},{"line_number":829,"context_line":"        # change as this should no longer be need with libvirt \u003e 3.2.0."},{"line_number":830,"context_line":"        if vif[\u0027vnic_type\u0027] \u003d\u003d network_model.VNIC_TYPE_MACVTAP:"},{"line_number":831,"context_line":"            # NOTE(sean-k-mooney): Retaining the vm mac on the vf"},{"line_number":832,"context_line":"            # after unpluging the vif prevents the PF from transmitting"}],"source_content_type":"text/x-python","patch_set":4,"id":"9fdfeff1_3ab37ceb","line":829,"range":{"start_line":829,"start_character":45,"end_line":829,"end_character":49},"in_reply_to":"9fdfeff1_aa74909a","updated":"2019-02-14 18:23:07.000000000","message":"Done","commit_id":"090e41a13c3c2cd76d8c56571044dcfa8c1aeb7b"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"87ce4bce07ac188c299fb2e52dc041b81d114061","unresolved":false,"context_lines":[{"line_number":829,"context_line":"        # change as this should no longer be need with libvirt \u003e 3.2.0."},{"line_number":830,"context_line":"        if vif[\u0027vnic_type\u0027] \u003d\u003d network_model.VNIC_TYPE_MACVTAP:"},{"line_number":831,"context_line":"            # NOTE(sean-k-mooney): Retaining the vm mac on the vf"},{"line_number":832,"context_line":"            # after unpluging the vif prevents the PF from transmitting"},{"line_number":833,"context_line":"            # a packet with that destination address. This would create a"},{"line_number":834,"context_line":"            # a network partion in the event a vm is migrated or the neuton"},{"line_number":835,"context_line":"            # port is reused for another vm before the VF is reused."}],"source_content_type":"text/x-python","patch_set":4,"id":"9fdfeff1_aaa9f0df","line":832,"range":{"start_line":832,"start_character":20,"end_line":832,"end_character":29},"updated":"2019-01-21 13:44:20.000000000","message":"unplugging","commit_id":"090e41a13c3c2cd76d8c56571044dcfa8c1aeb7b"},{"author":{"_account_id":28714,"name":"Adrian Chiris","email":"adrianc@nvidia.com","username":"adrianc"},"change_message_id":"82492f267695eeed5c158983279eea897df1f7f7","unresolved":false,"context_lines":[{"line_number":829,"context_line":"        # change as this should no longer be need with libvirt \u003e 3.2.0."},{"line_number":830,"context_line":"        if vif[\u0027vnic_type\u0027] \u003d\u003d network_model.VNIC_TYPE_MACVTAP:"},{"line_number":831,"context_line":"            # NOTE(sean-k-mooney): Retaining the vm mac on the vf"},{"line_number":832,"context_line":"            # after unpluging the vif prevents the PF from transmitting"},{"line_number":833,"context_line":"            # a packet with that destination address. This would create a"},{"line_number":834,"context_line":"            # a network partion in the event a vm is migrated or the neuton"},{"line_number":835,"context_line":"            # port is reused for another vm before the VF is reused."}],"source_content_type":"text/x-python","patch_set":4,"id":"9fdfeff1_7abd84b5","line":832,"range":{"start_line":832,"start_character":20,"end_line":832,"end_character":29},"in_reply_to":"9fdfeff1_aaa9f0df","updated":"2019-02-14 18:23:07.000000000","message":"Done","commit_id":"090e41a13c3c2cd76d8c56571044dcfa8c1aeb7b"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"87ce4bce07ac188c299fb2e52dc041b81d114061","unresolved":false,"context_lines":[{"line_number":831,"context_line":"            # NOTE(sean-k-mooney): Retaining the vm mac on the vf"},{"line_number":832,"context_line":"            # after unpluging the vif prevents the PF from transmitting"},{"line_number":833,"context_line":"            # a packet with that destination address. This would create a"},{"line_number":834,"context_line":"            # a network partion in the event a vm is migrated or the neuton"},{"line_number":835,"context_line":"            # port is reused for another vm before the VF is reused."},{"line_number":836,"context_line":"            # The ip utility accepts the MAC 00:00:00:00:00:00 which can"},{"line_number":837,"context_line":"            # be used to reset the VF mac when nolonger in use by a vm."}],"source_content_type":"text/x-python","patch_set":4,"id":"9fdfeff1_6aab08d6","line":834,"range":{"start_line":834,"start_character":24,"end_line":834,"end_character":31},"updated":"2019-01-21 13:44:20.000000000","message":"partition","commit_id":"090e41a13c3c2cd76d8c56571044dcfa8c1aeb7b"},{"author":{"_account_id":28714,"name":"Adrian Chiris","email":"adrianc@nvidia.com","username":"adrianc"},"change_message_id":"82492f267695eeed5c158983279eea897df1f7f7","unresolved":false,"context_lines":[{"line_number":831,"context_line":"            # NOTE(sean-k-mooney): Retaining the vm mac on the vf"},{"line_number":832,"context_line":"            # after unpluging the vif prevents the PF from transmitting"},{"line_number":833,"context_line":"            # a packet with that destination address. This would create a"},{"line_number":834,"context_line":"            # a network partion in the event a vm is migrated or the neuton"},{"line_number":835,"context_line":"            # port is reused for another vm before the VF is reused."},{"line_number":836,"context_line":"            # The ip utility accepts the MAC 00:00:00:00:00:00 which can"},{"line_number":837,"context_line":"            # be used to reset the VF mac when nolonger in use by a vm."}],"source_content_type":"text/x-python","patch_set":4,"id":"9fdfeff1_5ab8c0c6","line":834,"range":{"start_line":834,"start_character":24,"end_line":834,"end_character":31},"in_reply_to":"9fdfeff1_6aab08d6","updated":"2019-02-14 18:23:07.000000000","message":"Done","commit_id":"090e41a13c3c2cd76d8c56571044dcfa8c1aeb7b"},{"author":{"_account_id":21813,"name":"Andrey Volkov","email":"m@amadev.ru","username":"avolkov"},"change_message_id":"e5b0cd5b96ec6df95756af99d3c17f47a0c7943a","unresolved":false,"context_lines":[{"line_number":825,"context_line":"        pass"},{"line_number":826,"context_line":""},{"line_number":827,"context_line":"    def unplug_hw_veb(self, instance, vif):"},{"line_number":828,"context_line":"        # TODO(sean-k-mooney): remove in stien after backpoting 0 mac"},{"line_number":829,"context_line":"        # change as this should no longer be need with libvirt \u003e 3.2.0."},{"line_number":830,"context_line":"        if vif[\u0027vnic_type\u0027] \u003d\u003d network_model.VNIC_TYPE_MACVTAP:"},{"line_number":831,"context_line":"            # NOTE(sean-k-mooney): Retaining the vm mac on the vf"}],"source_content_type":"text/x-python","patch_set":5,"id":"9fdfeff1_94efbde7","line":828,"range":{"start_line":828,"start_character":41,"end_line":828,"end_character":46},"updated":"2019-01-31 08:42:35.000000000","message":"Stein","commit_id":"f8626235614eb3cf66b0fdf9b9c3e70d3982f03d"},{"author":{"_account_id":21813,"name":"Andrey Volkov","email":"m@amadev.ru","username":"avolkov"},"change_message_id":"e5b0cd5b96ec6df95756af99d3c17f47a0c7943a","unresolved":false,"context_lines":[{"line_number":825,"context_line":"        pass"},{"line_number":826,"context_line":""},{"line_number":827,"context_line":"    def unplug_hw_veb(self, instance, vif):"},{"line_number":828,"context_line":"        # TODO(sean-k-mooney): remove in stien after backpoting 0 mac"},{"line_number":829,"context_line":"        # change as this should no longer be need with libvirt \u003e 3.2.0."},{"line_number":830,"context_line":"        if vif[\u0027vnic_type\u0027] \u003d\u003d network_model.VNIC_TYPE_MACVTAP:"},{"line_number":831,"context_line":"            # NOTE(sean-k-mooney): Retaining the vm mac on the vf"}],"source_content_type":"text/x-python","patch_set":5,"id":"9fdfeff1_b4ea01d5","line":828,"range":{"start_line":828,"start_character":53,"end_line":828,"end_character":63},"updated":"2019-01-31 08:42:35.000000000","message":"backporting","commit_id":"f8626235614eb3cf66b0fdf9b9c3e70d3982f03d"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"b2cbccccc42f1e3603ca412bab4e9f5b6eff9378","unresolved":false,"context_lines":[{"line_number":825,"context_line":"        pass"},{"line_number":826,"context_line":""},{"line_number":827,"context_line":"    def unplug_hw_veb(self, instance, vif):"},{"line_number":828,"context_line":"        # TODO(sean-k-mooney): remove in stien after backpoting 0 mac"},{"line_number":829,"context_line":"        # change as this should no longer be need with libvirt \u003e 3.2.0."},{"line_number":830,"context_line":"        if vif[\u0027vnic_type\u0027] \u003d\u003d network_model.VNIC_TYPE_MACVTAP:"},{"line_number":831,"context_line":"            # NOTE(sean-k-mooney): Retaining the vm mac on the vf"}],"source_content_type":"text/x-python","patch_set":5,"id":"9fdfeff1_3fc32e8b","line":828,"range":{"start_line":828,"start_character":41,"end_line":828,"end_character":46},"in_reply_to":"9fdfeff1_94efbde7","updated":"2019-02-01 14:46:58.000000000","message":"this actully might need to wait until train at this point.\nsimply becasue we wont have time to move this code to an os-vif plugin.","commit_id":"f8626235614eb3cf66b0fdf9b9c3e70d3982f03d"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"b2cbccccc42f1e3603ca412bab4e9f5b6eff9378","unresolved":false,"context_lines":[{"line_number":825,"context_line":"        pass"},{"line_number":826,"context_line":""},{"line_number":827,"context_line":"    def unplug_hw_veb(self, instance, vif):"},{"line_number":828,"context_line":"        # TODO(sean-k-mooney): remove in stien after backpoting 0 mac"},{"line_number":829,"context_line":"        # change as this should no longer be need with libvirt \u003e 3.2.0."},{"line_number":830,"context_line":"        if vif[\u0027vnic_type\u0027] \u003d\u003d network_model.VNIC_TYPE_MACVTAP:"},{"line_number":831,"context_line":"            # NOTE(sean-k-mooney): Retaining the vm mac on the vf"}],"source_content_type":"text/x-python","patch_set":5,"id":"9fdfeff1_5ff15200","line":828,"range":{"start_line":828,"start_character":53,"end_line":828,"end_character":63},"in_reply_to":"9fdfeff1_b4ea01d5","updated":"2019-02-01 14:46:58.000000000","message":"thanks ill fix if i am asked to respin","commit_id":"f8626235614eb3cf66b0fdf9b9c3e70d3982f03d"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"df9e4b45566fafc39ffb25acb413041d47f5de62","unresolved":false,"context_lines":[{"line_number":777,"context_line":"            # be used to reset the VF mac when nolonger in use by a vm."},{"line_number":778,"context_line":"            # As such we hardcode the 00:00:00:00:00:00 mac."},{"line_number":779,"context_line":"            linux_net_utils.set_vf_interface_vlan(vif[\u0027profile\u0027][\u0027pci_slot\u0027],"},{"line_number":780,"context_line":"                                            mac_addr\u003d\u002700:00:00:00:00:00\u0027)"},{"line_number":781,"context_line":"        elif vif[\u0027vnic_type\u0027] \u003d\u003d network_model.VNIC_TYPE_DIRECT:"},{"line_number":782,"context_line":"            if \"trusted\" in vif[\u0027profile\u0027]:"},{"line_number":783,"context_line":"                linux_net.set_vf_trusted(vif[\u0027profile\u0027][\u0027pci_slot\u0027], False)"}],"source_content_type":"text/x-python","patch_set":7,"id":"9fdfeff1_2fd98af3","line":780,"range":{"start_line":780,"start_character":43,"end_line":780,"end_character":73},"updated":"2019-02-05 19:16:28.000000000","message":"can you fix the indentation? which was messed up by this commit https://github.com/openstack/nova/commit/3f5594cf40e1b5d83abc822f230f4dfcf23d6263","commit_id":"7e5273677c58b94684aca92a61cac64b716c9c9f"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a814e65fc53ea5a9480615493606ac5b3c3aaee4","unresolved":false,"context_lines":[{"line_number":777,"context_line":"            # be used to reset the VF mac when nolonger in use by a vm."},{"line_number":778,"context_line":"            # As such we hardcode the 00:00:00:00:00:00 mac."},{"line_number":779,"context_line":"            linux_net_utils.set_vf_interface_vlan(vif[\u0027profile\u0027][\u0027pci_slot\u0027],"},{"line_number":780,"context_line":"                                            mac_addr\u003d\u002700:00:00:00:00:00\u0027)"},{"line_number":781,"context_line":"        elif vif[\u0027vnic_type\u0027] \u003d\u003d network_model.VNIC_TYPE_DIRECT:"},{"line_number":782,"context_line":"            if \"trusted\" in vif[\u0027profile\u0027]:"},{"line_number":783,"context_line":"                linux_net.set_vf_trusted(vif[\u0027profile\u0027][\u0027pci_slot\u0027], False)"}],"source_content_type":"text/x-python","patch_set":7,"id":"9fdfeff1_ceb55fcf","line":780,"range":{"start_line":780,"start_character":43,"end_line":780,"end_character":73},"in_reply_to":"9fdfeff1_2fd98af3","updated":"2019-02-05 20:44:07.000000000","message":"if i respin this yes.\n\nthe current indentaion is perfectly legal form a pep8 point of view but ill reflow it if i respin.\n\n\nthe gate is finally green so im not going to respin unless\npeople want it fix but i als realise that this is a trival change that wont get fixed otherwise.","commit_id":"7e5273677c58b94684aca92a61cac64b716c9c9f"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1c2e4ae79c777d575fd3850052963403229199a8","unresolved":false,"context_lines":[{"line_number":777,"context_line":"            # be used to reset the VF mac when nolonger in use by a vm."},{"line_number":778,"context_line":"            # As such we hardcode the 00:00:00:00:00:00 mac."},{"line_number":779,"context_line":"            linux_net_utils.set_vf_interface_vlan(vif[\u0027profile\u0027][\u0027pci_slot\u0027],"},{"line_number":780,"context_line":"                                            mac_addr\u003d\u002700:00:00:00:00:00\u0027)"},{"line_number":781,"context_line":"        elif vif[\u0027vnic_type\u0027] \u003d\u003d network_model.VNIC_TYPE_DIRECT:"},{"line_number":782,"context_line":"            if \"trusted\" in vif[\u0027profile\u0027]:"},{"line_number":783,"context_line":"                linux_net.set_vf_trusted(vif[\u0027profile\u0027][\u0027pci_slot\u0027], False)"}],"source_content_type":"text/x-python","patch_set":7,"id":"9fdfeff1_2e474bbf","line":780,"range":{"start_line":780,"start_character":43,"end_line":780,"end_character":73},"in_reply_to":"9fdfeff1_ceb55fcf","updated":"2019-02-05 20:48:21.000000000","message":"by the way if we have to respin any of the later patches ill fix up this one too. i think i will have to change the last patch so ill likely fix it then.","commit_id":"7e5273677c58b94684aca92a61cac64b716c9c9f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f022f2d8baf15f12415fde223c63e7f8385575c1","unresolved":false,"context_lines":[{"line_number":637,"context_line":"        pass"},{"line_number":638,"context_line":""},{"line_number":639,"context_line":"    def plug_hw_veb(self, instance, vif):"},{"line_number":640,"context_line":"        # TODO(vladikr): This code can be removed once the minimum version of"},{"line_number":641,"context_line":"        # Libvirt is incleased above 1.3.5, as vlan will be set by libvirt"},{"line_number":642,"context_line":"        if vif[\u0027vnic_type\u0027] \u003d\u003d network_model.VNIC_TYPE_MACVTAP:"},{"line_number":643,"context_line":"            linux_net_utils.set_vf_interface_vlan("},{"line_number":644,"context_line":"                vif[\u0027profile\u0027][\u0027pci_slot\u0027],"}],"source_content_type":"text/x-python","patch_set":8,"id":"9fdfeff1_37d3ae62","line":641,"range":{"start_line":640,"start_character":8,"end_line":641,"end_character":74},"updated":"2019-02-12 16:22:11.000000000","message":"Does this comment need re-working as well?","commit_id":"8b21752c81ae5c3e8f02e1b4b0802c57ab176c29"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"3bda86d3407b5f3a288b655b8fb938c4822d1fba","unresolved":false,"context_lines":[{"line_number":637,"context_line":"        pass"},{"line_number":638,"context_line":""},{"line_number":639,"context_line":"    def plug_hw_veb(self, instance, vif):"},{"line_number":640,"context_line":"        # TODO(vladikr): This code can be removed once the minimum version of"},{"line_number":641,"context_line":"        # Libvirt is incleased above 1.3.5, as vlan will be set by libvirt"},{"line_number":642,"context_line":"        if vif[\u0027vnic_type\u0027] \u003d\u003d network_model.VNIC_TYPE_MACVTAP:"},{"line_number":643,"context_line":"            linux_net_utils.set_vf_interface_vlan("},{"line_number":644,"context_line":"                vif[\u0027profile\u0027][\u0027pci_slot\u0027],"}],"source_content_type":"text/x-python","patch_set":8,"id":"9fdfeff1_2564d821","line":641,"range":{"start_line":640,"start_character":8,"end_line":641,"end_character":74},"in_reply_to":"9fdfeff1_37d3ae62","updated":"2019-02-12 18:17:25.000000000","message":"i dont think it needs reworking but we could actully \nremove the code when\nhttps://review.openstack.org/#/c/632507/\nis merged.\n\ni would perfer to do this as a follow up patch as it is not need to complete the spec/blueprint but ill add it ot my list.","commit_id":"8b21752c81ae5c3e8f02e1b4b0802c57ab176c29"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"adacc5c030af1849f02d620c019ddb7857e73237","unresolved":false,"context_lines":[{"line_number":765,"context_line":"        pass"},{"line_number":766,"context_line":""},{"line_number":767,"context_line":"    def unplug_hw_veb(self, instance, vif):"},{"line_number":768,"context_line":"        # TODO(sean-k-mooney): remove in train after backporting 0 mac"},{"line_number":769,"context_line":"        # change as this should no longer be need with libvirt \u003e 3.2.0."},{"line_number":770,"context_line":"        if vif[\u0027vnic_type\u0027] \u003d\u003d network_model.VNIC_TYPE_MACVTAP:"},{"line_number":771,"context_line":"            # NOTE(sean-k-mooney): Retaining the vm mac on the vf"}],"source_content_type":"text/x-python","patch_set":8,"id":"9fdfeff1_f4621bad","line":768,"range":{"start_line":768,"start_character":41,"end_line":768,"end_character":46},"updated":"2019-02-11 18:02:57.000000000","message":"What does Train have to do with libvirt \u003e 3.2.0? I guess you\u0027re assuming that we\u0027ll bump to 4.0.0 in Train?\n\nhttps://github.com/openstack/nova/blob/bff3fd1cdbc441bf8d0bbe91099c2b2c57578b31/nova/virt/libvirt/driver.py#L230\n\nWhich Kashyap is working on:\n\nhttps://review.openstack.org/#/c/632507/\n\nBut ^ only bumps minimum required libvirt to 3.0.0.\n\nOr am I missing something here?","commit_id":"8b21752c81ae5c3e8f02e1b4b0802c57ab176c29"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"0b30f3821c88761b60948bc850d1cecd48fc4a5c","unresolved":false,"context_lines":[{"line_number":765,"context_line":"        pass"},{"line_number":766,"context_line":""},{"line_number":767,"context_line":"    def unplug_hw_veb(self, instance, vif):"},{"line_number":768,"context_line":"        # TODO(sean-k-mooney): remove in train after backporting 0 mac"},{"line_number":769,"context_line":"        # change as this should no longer be need with libvirt \u003e 3.2.0."},{"line_number":770,"context_line":"        if vif[\u0027vnic_type\u0027] \u003d\u003d network_model.VNIC_TYPE_MACVTAP:"},{"line_number":771,"context_line":"            # NOTE(sean-k-mooney): Retaining the vm mac on the vf"}],"source_content_type":"text/x-python","patch_set":8,"id":"9fdfeff1_d405977b","line":768,"range":{"start_line":768,"start_character":41,"end_line":768,"end_character":46},"in_reply_to":"9fdfeff1_f4621bad","updated":"2019-02-11 18:13:23.000000000","message":"yes\n\ni am basing it on \n\nhttps://wiki.openstack.org/wiki/LibvirtDistroSupportMatrix#Nova_release_min_version\n\nwhich sugges that the next minium version would be declard as 4.0.0 in stien. \n\nlooking at https://review.openstack.org/#/c/632507/3/nova/virt/libvirt/driver.py@230\n\nit appars that that has already been set to 4.0.0","commit_id":"8b21752c81ae5c3e8f02e1b4b0802c57ab176c29"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"adacc5c030af1849f02d620c019ddb7857e73237","unresolved":false,"context_lines":[{"line_number":766,"context_line":""},{"line_number":767,"context_line":"    def unplug_hw_veb(self, instance, vif):"},{"line_number":768,"context_line":"        # TODO(sean-k-mooney): remove in train after backporting 0 mac"},{"line_number":769,"context_line":"        # change as this should no longer be need with libvirt \u003e 3.2.0."},{"line_number":770,"context_line":"        if vif[\u0027vnic_type\u0027] \u003d\u003d network_model.VNIC_TYPE_MACVTAP:"},{"line_number":771,"context_line":"            # NOTE(sean-k-mooney): Retaining the vm mac on the vf"},{"line_number":772,"context_line":"            # after unpluging the vif prevents the PF from transmitting"}],"source_content_type":"text/x-python","patch_set":8,"id":"9fdfeff1_544a0727","line":769,"range":{"start_line":769,"start_character":45,"end_line":769,"end_character":49},"updated":"2019-02-11 18:02:57.000000000","message":"needed","commit_id":"8b21752c81ae5c3e8f02e1b4b0802c57ab176c29"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"adacc5c030af1849f02d620c019ddb7857e73237","unresolved":false,"context_lines":[{"line_number":771,"context_line":"            # NOTE(sean-k-mooney): Retaining the vm mac on the vf"},{"line_number":772,"context_line":"            # after unpluging the vif prevents the PF from transmitting"},{"line_number":773,"context_line":"            # a packet with that destination address. This would create a"},{"line_number":774,"context_line":"            # a network partion in the event a vm is migrated or the neuton"},{"line_number":775,"context_line":"            # port is reused for another vm before the VF is reused."},{"line_number":776,"context_line":"            # The ip utility accepts the MAC 00:00:00:00:00:00 which can"},{"line_number":777,"context_line":"            # be used to reset the VF mac when nolonger in use by a vm."}],"source_content_type":"text/x-python","patch_set":8,"id":"9fdfeff1_b411f306","line":774,"range":{"start_line":774,"start_character":24,"end_line":774,"end_character":31},"updated":"2019-02-11 18:02:57.000000000","message":"partition","commit_id":"8b21752c81ae5c3e8f02e1b4b0802c57ab176c29"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"adacc5c030af1849f02d620c019ddb7857e73237","unresolved":false,"context_lines":[{"line_number":774,"context_line":"            # a network partion in the event a vm is migrated or the neuton"},{"line_number":775,"context_line":"            # port is reused for another vm before the VF is reused."},{"line_number":776,"context_line":"            # The ip utility accepts the MAC 00:00:00:00:00:00 which can"},{"line_number":777,"context_line":"            # be used to reset the VF mac when nolonger in use by a vm."},{"line_number":778,"context_line":"            # As such we hardcode the 00:00:00:00:00:00 mac."},{"line_number":779,"context_line":"            linux_net_utils.set_vf_interface_vlan(vif[\u0027profile\u0027][\u0027pci_slot\u0027],"},{"line_number":780,"context_line":"                                                  mac_addr\u003d\u002700:00:00:00:00:00\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"9fdfeff1_74f38be8","line":777,"range":{"start_line":777,"start_character":47,"end_line":777,"end_character":55},"updated":"2019-02-11 18:02:57.000000000","message":"no longer","commit_id":"8b21752c81ae5c3e8f02e1b4b0802c57ab176c29"}]}
