)]}'
{"specs/victoria/approved/sriov-interface-attach-detach.rst":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"561dbf002b3221d3a00f2048b10d69f41b4ec01f","unresolved":false,"context_lines":[{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Support SRIOV interface attach and detach"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Include the URL of your launchpad blueprint:"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"https://blueprints.launchpad.net/nova/+spec/sriov-interface-attach-detach"},{"line_number":14,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"bf51134e_ed01cd08","line":11,"range":{"start_line":10,"start_character":0,"end_line":11,"end_character":44},"updated":"2020-07-17 10:51:16.000000000","message":"drop?","commit_id":"239ef6b92efa7c5fc54b9f53588ced8c39f9817c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"c47c5d6c218326f2bfe217237f48a0f93e47ed1c","unresolved":false,"context_lines":[{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Support SRIOV interface attach and detach"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Include the URL of your launchpad blueprint:"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"https://blueprints.launchpad.net/nova/+spec/sriov-interface-attach-detach"},{"line_number":14,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"bf51134e_73bbd774","line":11,"range":{"start_line":10,"start_character":0,"end_line":11,"end_character":44},"in_reply_to":"bf51134e_ed01cd08","updated":"2020-07-17 15:29:39.000000000","message":"Done","commit_id":"239ef6b92efa7c5fc54b9f53588ced8c39f9817c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"561dbf002b3221d3a00f2048b10d69f41b4ec01f","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"https://blueprints.launchpad.net/nova/+spec/sriov-interface-attach-detach"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Nova supports booting servers with SRIOV interfaces however attaching and"},{"line_number":16,"context_line":"detaching an SRIOV interfaces to an existing server is not supported as the PCI"},{"line_number":17,"context_line":"device management is missing from the attach and detach code path."},{"line_number":18,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"bf51134e_5ffcdc0b","line":15,"range":{"start_line":15,"start_character":51,"end_line":15,"end_character":59},"updated":"2020-07-17 10:51:16.000000000","message":"nit: , however,","commit_id":"239ef6b92efa7c5fc54b9f53588ced8c39f9817c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"c47c5d6c218326f2bfe217237f48a0f93e47ed1c","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"https://blueprints.launchpad.net/nova/+spec/sriov-interface-attach-detach"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Nova supports booting servers with SRIOV interfaces however attaching and"},{"line_number":16,"context_line":"detaching an SRIOV interfaces to an existing server is not supported as the PCI"},{"line_number":17,"context_line":"device management is missing from the attach and detach code path."},{"line_number":18,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"bf51134e_3374bffe","line":15,"range":{"start_line":15,"start_character":51,"end_line":15,"end_character":59},"in_reply_to":"bf51134e_5ffcdc0b","updated":"2020-07-17 15:29:39.000000000","message":"Done","commit_id":"239ef6b92efa7c5fc54b9f53588ced8c39f9817c"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"f8721a20eedbf11dc73d3c95c00b6763c07de82f","unresolved":false,"context_lines":[{"line_number":20,"context_line":"Problem description"},{"line_number":21,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"SRIOV intefaces cannot be attached or detached from an existing nova server."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Use Cases"},{"line_number":26,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bf51134e_426243af","line":23,"range":{"start_line":23,"start_character":38,"end_line":23,"end_character":46},"updated":"2020-07-17 12:13:56.000000000","message":"so today in the api while we block attach we do not block detach. the detach will complete form the api successfully but will not release the claim on the vf.\n\nfor PF detach it does not work at all because for PF\nwe use a different element type in the libvirt xml that does not container the mac and the current detach code assumes it is there.\n\nso i think we need to consider blocking detach in older releases to prevent leaking the pci device claims.\nthe claim will be fixed if the vm is live migrated or deleted but not for other move operation like cold migrate or shelve.\ni did not check evalucate but i suspect it would not be cleaned in that case either.","commit_id":"239ef6b92efa7c5fc54b9f53588ced8c39f9817c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"c47c5d6c218326f2bfe217237f48a0f93e47ed1c","unresolved":false,"context_lines":[{"line_number":20,"context_line":"Problem description"},{"line_number":21,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"SRIOV intefaces cannot be attached or detached from an existing nova server."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Use Cases"},{"line_number":26,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bf51134e_f3d7e7bf","line":23,"range":{"start_line":23,"start_character":38,"end_line":23,"end_character":46},"in_reply_to":"bf51134e_426243af","updated":"2020-07-17 15:29:39.000000000","message":"Thanks. I can mention this issue in the spec. However I suggest to handle the blocking of detach as bugfix because we want to backport the blockade.","commit_id":"239ef6b92efa7c5fc54b9f53588ced8c39f9817c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"561dbf002b3221d3a00f2048b10d69f41b4ec01f","unresolved":false,"context_lines":[{"line_number":29,"context_line":"SRIOV interface to get high throughput connectivity to that network direction."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"As an end user I want to detach an existing SRIOV interface as I don\u0027t use that"},{"line_number":32,"context_line":"network access any more and I want to free up the scarce SRIOV resource."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Proposed change"},{"line_number":35,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bf51134e_1f1a646e","line":32,"range":{"start_line":32,"start_character":15,"end_line":32,"end_character":23},"updated":"2020-07-17 10:51:16.000000000","message":"anymore","commit_id":"239ef6b92efa7c5fc54b9f53588ced8c39f9817c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"c47c5d6c218326f2bfe217237f48a0f93e47ed1c","unresolved":false,"context_lines":[{"line_number":29,"context_line":"SRIOV interface to get high throughput connectivity to that network direction."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"As an end user I want to detach an existing SRIOV interface as I don\u0027t use that"},{"line_number":32,"context_line":"network access any more and I want to free up the scarce SRIOV resource."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Proposed change"},{"line_number":35,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bf51134e_d3d463be","line":32,"range":{"start_line":32,"start_character":15,"end_line":32,"end_character":23},"in_reply_to":"bf51134e_1f1a646e","updated":"2020-07-17 15:29:39.000000000","message":"Done","commit_id":"239ef6b92efa7c5fc54b9f53588ced8c39f9817c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"561dbf002b3221d3a00f2048b10d69f41b4ec01f","unresolved":false,"context_lines":[{"line_number":35,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"In the compute manager, during interface attach, the compute needs to generate"},{"line_number":38,"context_line":"InstancePCIRequest for the requested port if the vnic_type of the port"},{"line_number":39,"context_line":"indicates an SRIOV interface. Then run a pci claim on the generated pci request"},{"line_number":40,"context_line":"to check if there is free pci device, claim it, and get a PciDevice object. If"},{"line_number":41,"context_line":"this is successful then connec the pci request to the RequestedNetwork object"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bf51134e_ff169049","line":38,"range":{"start_line":38,"start_character":0,"end_line":38,"end_character":18},"updated":"2020-07-17 10:51:16.000000000","message":"``literal``","commit_id":"239ef6b92efa7c5fc54b9f53588ced8c39f9817c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"c47c5d6c218326f2bfe217237f48a0f93e47ed1c","unresolved":false,"context_lines":[{"line_number":35,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"In the compute manager, during interface attach, the compute needs to generate"},{"line_number":38,"context_line":"InstancePCIRequest for the requested port if the vnic_type of the port"},{"line_number":39,"context_line":"indicates an SRIOV interface. Then run a pci claim on the generated pci request"},{"line_number":40,"context_line":"to check if there is free pci device, claim it, and get a PciDevice object. If"},{"line_number":41,"context_line":"this is successful then connec the pci request to the RequestedNetwork object"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bf51134e_5397b3ec","line":38,"range":{"start_line":38,"start_character":0,"end_line":38,"end_character":18},"in_reply_to":"bf51134e_ff169049","updated":"2020-07-17 15:29:39.000000000","message":"Done","commit_id":"239ef6b92efa7c5fc54b9f53588ced8c39f9817c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"561dbf002b3221d3a00f2048b10d69f41b4ec01f","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"In the compute manager, during interface attach, the compute needs to generate"},{"line_number":38,"context_line":"InstancePCIRequest for the requested port if the vnic_type of the port"},{"line_number":39,"context_line":"indicates an SRIOV interface. Then run a pci claim on the generated pci request"},{"line_number":40,"context_line":"to check if there is free pci device, claim it, and get a PciDevice object. If"},{"line_number":41,"context_line":"this is successful then connec the pci request to the RequestedNetwork object"},{"line_number":42,"context_line":"and call Neutron as today with that RequestedNetwork. Then call the virt driver"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bf51134e_9f54b400","line":39,"range":{"start_line":39,"start_character":41,"end_line":39,"end_character":44},"updated":"2020-07-17 10:51:16.000000000","message":"PCI","commit_id":"239ef6b92efa7c5fc54b9f53588ced8c39f9817c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"c47c5d6c218326f2bfe217237f48a0f93e47ed1c","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"In the compute manager, during interface attach, the compute needs to generate"},{"line_number":38,"context_line":"InstancePCIRequest for the requested port if the vnic_type of the port"},{"line_number":39,"context_line":"indicates an SRIOV interface. Then run a pci claim on the generated pci request"},{"line_number":40,"context_line":"to check if there is free pci device, claim it, and get a PciDevice object. If"},{"line_number":41,"context_line":"this is successful then connec the pci request to the RequestedNetwork object"},{"line_number":42,"context_line":"and call Neutron as today with that RequestedNetwork. Then call the virt driver"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bf51134e_93ecab90","line":39,"range":{"start_line":39,"start_character":41,"end_line":39,"end_character":44},"in_reply_to":"bf51134e_9f54b400","updated":"2020-07-17 15:29:39.000000000","message":"Done in the whole doc","commit_id":"239ef6b92efa7c5fc54b9f53588ced8c39f9817c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"561dbf002b3221d3a00f2048b10d69f41b4ec01f","unresolved":false,"context_lines":[{"line_number":38,"context_line":"InstancePCIRequest for the requested port if the vnic_type of the port"},{"line_number":39,"context_line":"indicates an SRIOV interface. Then run a pci claim on the generated pci request"},{"line_number":40,"context_line":"to check if there is free pci device, claim it, and get a PciDevice object. If"},{"line_number":41,"context_line":"this is successful then connec the pci request to the RequestedNetwork object"},{"line_number":42,"context_line":"and call Neutron as today with that RequestedNetwork. Then call the virt driver"},{"line_number":43,"context_line":"as today."},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"bf51134e_df38ecd5","line":41,"range":{"start_line":41,"start_character":24,"end_line":41,"end_character":30},"updated":"2020-07-17 10:51:16.000000000","message":"connect","commit_id":"239ef6b92efa7c5fc54b9f53588ced8c39f9817c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"c47c5d6c218326f2bfe217237f48a0f93e47ed1c","unresolved":false,"context_lines":[{"line_number":38,"context_line":"InstancePCIRequest for the requested port if the vnic_type of the port"},{"line_number":39,"context_line":"indicates an SRIOV interface. Then run a pci claim on the generated pci request"},{"line_number":40,"context_line":"to check if there is free pci device, claim it, and get a PciDevice object. If"},{"line_number":41,"context_line":"this is successful then connec the pci request to the RequestedNetwork object"},{"line_number":42,"context_line":"and call Neutron as today with that RequestedNetwork. Then call the virt driver"},{"line_number":43,"context_line":"as today."},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"bf51134e_33fb1f48","line":41,"range":{"start_line":41,"start_character":24,"end_line":41,"end_character":30},"in_reply_to":"bf51134e_df38ecd5","updated":"2020-07-17 15:29:39.000000000","message":"Done","commit_id":"239ef6b92efa7c5fc54b9f53588ced8c39f9817c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"561dbf002b3221d3a00f2048b10d69f41b4ec01f","unresolved":false,"context_lines":[{"line_number":42,"context_line":"and call Neutron as today with that RequestedNetwork. Then call the virt driver"},{"line_number":43,"context_line":"as today."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"During detach we have to recover the pci request from the vif being destroyed"},{"line_number":46,"context_line":"then from that we can get the pci device that we need to uncleam in the pci"},{"line_number":47,"context_line":"tracker."},{"line_number":48,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"bf51134e_1f3384f8","line":45,"range":{"start_line":45,"start_character":58,"end_line":45,"end_character":61},"updated":"2020-07-17 10:51:16.000000000","message":"VIF","commit_id":"239ef6b92efa7c5fc54b9f53588ced8c39f9817c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"c47c5d6c218326f2bfe217237f48a0f93e47ed1c","unresolved":false,"context_lines":[{"line_number":42,"context_line":"and call Neutron as today with that RequestedNetwork. Then call the virt driver"},{"line_number":43,"context_line":"as today."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"During detach we have to recover the pci request from the vif being destroyed"},{"line_number":46,"context_line":"then from that we can get the pci device that we need to uncleam in the pci"},{"line_number":47,"context_line":"tracker."},{"line_number":48,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"bf51134e_f35c074e","line":45,"range":{"start_line":45,"start_character":58,"end_line":45,"end_character":61},"in_reply_to":"bf51134e_1f3384f8","updated":"2020-07-17 15:29:39.000000000","message":"Done","commit_id":"239ef6b92efa7c5fc54b9f53588ced8c39f9817c"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"f8721a20eedbf11dc73d3c95c00b6763c07de82f","unresolved":false,"context_lines":[{"line_number":45,"context_line":"During detach we have to recover the pci request from the vif being destroyed"},{"line_number":46,"context_line":"then from that we can get the pci device that we need to uncleam in the pci"},{"line_number":47,"context_line":"tracker."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Alternatives"},{"line_number":50,"context_line":"------------"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"bf51134e_02168bf2","line":48,"updated":"2020-07-17 12:13:56.000000000","message":"so do we also want to track the cnages for sriov pf detach in this sepc and or blocking the detach optional via config at the api.\n\ni was going to fix the pf detach as a bugfix becuase i wanted to backport that so that numa live migration could be fixed altthough there is a differen issue once detach is fixed that likely would need to be adress before pf live migratoin actully works. specificly the mac adress need to be updated which is why vms with pf passthohg cant be cold or live migrated currently. again i was going to track fixing that as a seperate bug since at least the cold migratoin case was expected to work even thohg it was never actully implemeted correctly.","commit_id":"239ef6b92efa7c5fc54b9f53588ced8c39f9817c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"c47c5d6c218326f2bfe217237f48a0f93e47ed1c","unresolved":false,"context_lines":[{"line_number":45,"context_line":"During detach we have to recover the pci request from the vif being destroyed"},{"line_number":46,"context_line":"then from that we can get the pci device that we need to uncleam in the pci"},{"line_number":47,"context_line":"tracker."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Alternatives"},{"line_number":50,"context_line":"------------"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"bf51134e_f38527b0","line":48,"in_reply_to":"bf51134e_02168bf2","updated":"2020-07-17 15:29:39.000000000","message":"I\u0027m fine handling the PF detach case as a separate bugfix due to the NUMA case. You can still add that patch top of mine if you wish.","commit_id":"239ef6b92efa7c5fc54b9f53588ced8c39f9817c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"561dbf002b3221d3a00f2048b10d69f41b4ec01f","unresolved":false,"context_lines":[{"line_number":80,"context_line":"------------------"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"There will be an extra neutron call during interface attach as well as"},{"line_number":83,"context_line":"additional DB operations. The interface_attach RPC method is synchronous today"},{"line_number":84,"context_line":"so this will be an end user visible change."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Other deployer impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bf51134e_ff2fb085","line":83,"range":{"start_line":83,"start_character":30,"end_line":83,"end_character":46},"updated":"2020-07-17 10:51:16.000000000","message":"``literal``","commit_id":"239ef6b92efa7c5fc54b9f53588ced8c39f9817c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"c47c5d6c218326f2bfe217237f48a0f93e47ed1c","unresolved":false,"context_lines":[{"line_number":80,"context_line":"------------------"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"There will be an extra neutron call during interface attach as well as"},{"line_number":83,"context_line":"additional DB operations. The interface_attach RPC method is synchronous today"},{"line_number":84,"context_line":"so this will be an end user visible change."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Other deployer impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bf51134e_33903fee","line":83,"range":{"start_line":83,"start_character":30,"end_line":83,"end_character":46},"in_reply_to":"bf51134e_ff2fb085","updated":"2020-07-17 15:29:39.000000000","message":"Done","commit_id":"239ef6b92efa7c5fc54b9f53588ced8c39f9817c"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"7632c95a42f99c840924f0c5453b9d7eec1b1f20","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Nova supports booting servers with SRIOV interfaces. However, attaching and"},{"line_number":14,"context_line":"detaching an SRIOV interface to an existing server is not supported as the PCI"},{"line_number":15,"context_line":"device management is missing from the attach and detach code path."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf51134e_499c035d","line":15,"updated":"2020-07-21 09:06:21.000000000","message":"++","commit_id":"428d3e7e72adf7b5b2530e7058d3093253d4b2ec"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"7632c95a42f99c840924f0c5453b9d7eec1b1f20","unresolved":false,"context_lines":[{"line_number":36,"context_line":"``InstancePCIRequest`` for the requested port if the vnic_type of the port"},{"line_number":37,"context_line":"indicates an SRIOV interface. Then run a PCI claim on the generated PCI request"},{"line_number":38,"context_line":"to check if there is a free PCI device, claim it, and get a ``PciDevice``"},{"line_number":39,"context_line":"object. If this is successful then connect the PCI request to the"},{"line_number":40,"context_line":"``RequestedNetwork`` object and call Neutron as today with that"},{"line_number":41,"context_line":"``RequestedNetwork``. Then call the virt driver as of today."},{"line_number":42,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf51134e_c9a773a7","line":39,"range":{"start_line":39,"start_character":8,"end_line":39,"end_character":30},"updated":"2020-07-21 09:06:21.000000000","message":"What if the claim is unsuccessful ? I guess the instance action will be errored but the instance status will be back to ACTIVE ?","commit_id":"428d3e7e72adf7b5b2530e7058d3093253d4b2ec"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"0b32d589606e0be6645aac66afbaebf6d832f442","unresolved":false,"context_lines":[{"line_number":36,"context_line":"``InstancePCIRequest`` for the requested port if the vnic_type of the port"},{"line_number":37,"context_line":"indicates an SRIOV interface. Then run a PCI claim on the generated PCI request"},{"line_number":38,"context_line":"to check if there is a free PCI device, claim it, and get a ``PciDevice``"},{"line_number":39,"context_line":"object. If this is successful then connect the PCI request to the"},{"line_number":40,"context_line":"``RequestedNetwork`` object and call Neutron as today with that"},{"line_number":41,"context_line":"``RequestedNetwork``. Then call the virt driver as of today."},{"line_number":42,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf51134e_bbdfddd4","line":39,"range":{"start_line":39,"start_character":8,"end_line":39,"end_character":30},"in_reply_to":"bf51134e_c9a773a7","updated":"2020-07-21 14:48:20.000000000","message":"Yes. The instance state never changes during the interface attach action.","commit_id":"428d3e7e72adf7b5b2530e7058d3093253d4b2ec"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"7632c95a42f99c840924f0c5453b9d7eec1b1f20","unresolved":false,"context_lines":[{"line_number":38,"context_line":"to check if there is a free PCI device, claim it, and get a ``PciDevice``"},{"line_number":39,"context_line":"object. If this is successful then connect the PCI request to the"},{"line_number":40,"context_line":"``RequestedNetwork`` object and call Neutron as today with that"},{"line_number":41,"context_line":"``RequestedNetwork``. Then call the virt driver as of today."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"During detach, we have to recover the PCI request from the VIF being destroyed"},{"line_number":44,"context_line":"then from that, we can get the PCI device that we need to unclaim in the PCI"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf51134e_89c61b49","line":41,"updated":"2020-07-21 09:06:21.000000000","message":"we would still have races like for other instance actions in case we have a problem in between the Neutron call and the virt driver, but meh, it\u0027s already the same issue for all instance actions.","commit_id":"428d3e7e72adf7b5b2530e7058d3093253d4b2ec"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"0b32d589606e0be6645aac66afbaebf6d832f442","unresolved":false,"context_lines":[{"line_number":38,"context_line":"to check if there is a free PCI device, claim it, and get a ``PciDevice``"},{"line_number":39,"context_line":"object. If this is successful then connect the PCI request to the"},{"line_number":40,"context_line":"``RequestedNetwork`` object and call Neutron as today with that"},{"line_number":41,"context_line":"``RequestedNetwork``. Then call the virt driver as of today."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"During detach, we have to recover the PCI request from the VIF being destroyed"},{"line_number":44,"context_line":"then from that, we can get the PCI device that we need to unclaim in the PCI"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf51134e_1b936902","line":41,"in_reply_to":"bf51134e_89c61b49","updated":"2020-07-21 14:48:20.000000000","message":"Yeah, this is no different from how the code behaves today.","commit_id":"428d3e7e72adf7b5b2530e7058d3093253d4b2ec"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"7632c95a42f99c840924f0c5453b9d7eec1b1f20","unresolved":false,"context_lines":[{"line_number":49,"context_line":"tracking and therefore leaked until the nova server is deleted or live"},{"line_number":50,"context_line":"migrated. This issue will be gone when the current spec is implemented. Also"},{"line_number":51,"context_line":"as a separate bugfix SRIOV detach will be blocked on stable branches to prevent"},{"line_number":52,"context_line":"the resource leak."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"There is a separate issue with SRIOV PF detach due to the way the libvirt"},{"line_number":55,"context_line":"domain XML is generated. While the fix for that is needed for the current spec,"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf51134e_89f45b89","line":52,"updated":"2020-07-21 09:06:21.000000000","message":"cool with me if you also provide the bugfix in the commit msg.","commit_id":"428d3e7e72adf7b5b2530e7058d3093253d4b2ec"}]}
