)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a38ea897f9dfbd82938d4bd84837ccc0fbec3b03","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Sean Mooney \u003cwork@seanmooney.info\u003e"},{"line_number":5,"context_line":"CommitDate: 2022-08-16 14:04:19 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"enable blocked VDPA move operations"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This change adds functional test for operations on servers with VDPA"},{"line_number":10,"context_line":"devices that are expected to work but currently blocked due to lack"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"0a71c83f_04c10da7","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":6},"updated":"2022-08-19 11:29:20.000000000","message":"Enable","commit_id":"95f96ed3aa201bc5b90e589b288fa4039bc9c0d2"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"13bee606e76cdbcbf4d2c5b8b5c4895f25d4c3f6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"9f83ada9_b99c6758","updated":"2022-04-26 18:44:11.000000000","message":"filed bug for this\nhttps://bugs.launchpad.net/nova/+bug/1970467 ill update this and split the patch this week","commit_id":"4cde9568e065173c5481c4833671097f3e8dcb33"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"5710e9914c9b42add3b80f1c1c658c9886631e28","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"9337e57c_ee9457ca","updated":"2022-05-07 12:27:06.000000000","message":"detach interface is actually not working properly.\nits trying to calculate a device name that does not work for vdpa devices\n\n[instance: 24074ad7-622d-4a9b-8272-4255791cf70f] Detaching interface fa:16:3e:fe:68:66 failed because the device is no longer found on the guest.: nova.exception.DeviceNotFound: Device \u0027tap14252663-44\u0027 not found.\n\nill move attach and detach to the follow up patch with shelve and live migration which both depend on detach\n\n","commit_id":"9fbbe117d3155033134e2666532c94da373a7876"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"0ee88fcccf3e7545733e17035d1fe5a51a2dbc23","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"f0abd5b8_e48cf580","updated":"2022-07-08 10:32:53.000000000","message":"Do we have docs on vDPA? It would be good to note there the version of nova that added support for move operations (Zed 25.0.0?)","commit_id":"7fcd1a919c2635ae435593222956c8b81fedfc54"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"afb5c16847a92e337e505563e035114405594bff","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"ac47ea0f_592b302a","updated":"2022-07-08 10:32:16.000000000","message":"Small nits on the commit message but otherwise this looks good","commit_id":"7fcd1a919c2635ae435593222956c8b81fedfc54"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8a561e4785804be42e648ed0430624b43631677e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"2809d92b_756d73d7","in_reply_to":"df0745a8_ba68b8eb","updated":"2022-07-08 10:41:55.000000000","message":"i dont think we do have a vdpa doc currently but vdpa support was added in wallaby and we plan to backport this patch to wallaby although the rest of the WIP patches wont be backported.\n\nfi can add one to this patch and that will fix the lack of docs in wallaby too.","commit_id":"7fcd1a919c2635ae435593222956c8b81fedfc54"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"83104ab8cb2da0e2132917c2207d86898f344012","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"df0745a8_ba68b8eb","in_reply_to":"f0abd5b8_e48cf580","updated":"2022-07-08 10:33:19.000000000","message":"Or rather 26.0.0","commit_id":"7fcd1a919c2635ae435593222956c8b81fedfc54"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"0e34ad4b75a409689a23b3f09c3d4650c14f382d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"86c01c8d_0067a165","updated":"2022-08-02 17:14:51.000000000","message":"Couple of nits on the docs as I review the rest","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ca557032d298a3ed54fdfa2ed290957c4793d878","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"d8b91190_eff1b1a5","updated":"2022-08-02 17:16:51.000000000","message":"Looks pretty good. Just those nits, I think","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"8249d0d510bd8c64cd4aa2981a51c64ed8015b0f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"b93bccb4_52d0553e","updated":"2022-08-03 07:46:53.000000000","message":"Nice test coverage. I have some nits and requests inline but I think the direction is OK","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"56ccffed0cf4339026628ddd3c9f65d8d48b34e8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"f1299725_d895ce04","updated":"2022-08-03 11:22:01.000000000","message":"ack, the feedback all makes sense ill work on updating the patch now\n","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"2658ee85cfce80eae87584804d64624d3f39404e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"c60aa983_8ead486a","updated":"2022-08-17 09:42:46.000000000","message":"Looks good to me. Thanks!","commit_id":"95f96ed3aa201bc5b90e589b288fa4039bc9c0d2"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"23b9df08542012144d2e1e1cf568f38f6d1b2f2c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"15543b10_5abeb6e0","updated":"2022-08-20 08:11:17.000000000","message":"recheck nova-next test_extend_attached_volume","commit_id":"95f96ed3aa201bc5b90e589b288fa4039bc9c0d2"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"71da0568364573ec70462915e5cf8938a8404bee","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"36f0f121_2fcf5b54","updated":"2022-08-20 11:48:32.000000000","message":"recheck resizing block device failed.: libvirt.libvirtError: invalid argument: disk \u0027/dev/sda\u0027 was not found in the domain config","commit_id":"95f96ed3aa201bc5b90e589b288fa4039bc9c0d2"}],"doc/source/admin/vdpa.rst":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"0e34ad4b75a409689a23b3f09c3d4650c14f382d","unresolved":true,"context_lines":[{"line_number":1,"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"},{"line_number":2,"context_line":"Using ports vnic_type\u003d\u0027vdpa\u0027"},{"line_number":3,"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"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"The kernel vDPA (virtio Data Path Acceleration) framework"},{"line_number":6,"context_line":"provides a vendor independent framework for offloading data-plane"},{"line_number":7,"context_line":"processing to software or hardware virtio device backends."}],"source_content_type":"text/x-rst","patch_set":11,"id":"af39e5e6_f8af59b1","line":4,"updated":"2022-08-02 17:14:51.000000000","message":"The versionadded directive would be nifty here:\n\n  .. versionadded:: 23.0.0 (Wallaby)\n  \n      Introduced support for vDPA.\n      \nAlso, we should probably call out that this only works with libvirt/KVM:\n\n  .. important::\n  \n      The functionality described below is only supported by the libvirt/KVM\n      driver.","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d1299265f8e8d35670d679e5e84d542ba72a8100","unresolved":false,"context_lines":[{"line_number":1,"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"},{"line_number":2,"context_line":"Using ports vnic_type\u003d\u0027vdpa\u0027"},{"line_number":3,"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"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"The kernel vDPA (virtio Data Path Acceleration) framework"},{"line_number":6,"context_line":"provides a vendor independent framework for offloading data-plane"},{"line_number":7,"context_line":"processing to software or hardware virtio device backends."}],"source_content_type":"text/x-rst","patch_set":11,"id":"51770264_71ba7ad2","line":4,"in_reply_to":"76fa6bc1_c195e61f","updated":"2022-08-16 13:05:58.000000000","message":"Done","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4b6ef5876be73310026d492cc4d596a130e4f0e1","unresolved":true,"context_lines":[{"line_number":1,"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"},{"line_number":2,"context_line":"Using ports vnic_type\u003d\u0027vdpa\u0027"},{"line_number":3,"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"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"The kernel vDPA (virtio Data Path Acceleration) framework"},{"line_number":6,"context_line":"provides a vendor independent framework for offloading data-plane"},{"line_number":7,"context_line":"processing to software or hardware virtio device backends."}],"source_content_type":"text/x-rst","patch_set":11,"id":"76fa6bc1_c195e61f","line":4,"in_reply_to":"af39e5e6_f8af59b1","updated":"2022-08-02 22:07:58.000000000","message":"oh is that new? haven\u0027t used it but sure will do.","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"0e34ad4b75a409689a23b3f09c3d4650c14f382d","unresolved":true,"context_lines":[{"line_number":6,"context_line":"provides a vendor independent framework for offloading data-plane"},{"line_number":7,"context_line":"processing to software or hardware virtio device backends."},{"line_number":8,"context_line":"Starting from the 23.0.0 (Wallaby) release nova supports creating servers"},{"line_number":9,"context_line":"with neutron vdpa ports. While the kernel vDPA framework supports many"},{"line_number":10,"context_line":"types of vDPA devices, at this time nova only support ``virtio-net`` devices"},{"line_number":11,"context_line":"using the ``vhost-vdpa`` front-end driver. Support for ``virtio-blk`` or"},{"line_number":12,"context_line":"``virtio-gpu`` may be added in the future but is not currently planned"}],"source_content_type":"text/x-rst","patch_set":11,"id":"e8e59221_60932a40","line":9,"range":{"start_line":9,"start_character":13,"end_line":9,"end_character":17},"updated":"2022-08-02 17:14:51.000000000","message":"nit: vDPA","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d1299265f8e8d35670d679e5e84d542ba72a8100","unresolved":false,"context_lines":[{"line_number":6,"context_line":"provides a vendor independent framework for offloading data-plane"},{"line_number":7,"context_line":"processing to software or hardware virtio device backends."},{"line_number":8,"context_line":"Starting from the 23.0.0 (Wallaby) release nova supports creating servers"},{"line_number":9,"context_line":"with neutron vdpa ports. While the kernel vDPA framework supports many"},{"line_number":10,"context_line":"types of vDPA devices, at this time nova only support ``virtio-net`` devices"},{"line_number":11,"context_line":"using the ``vhost-vdpa`` front-end driver. Support for ``virtio-blk`` or"},{"line_number":12,"context_line":"``virtio-gpu`` may be added in the future but is not currently planned"}],"source_content_type":"text/x-rst","patch_set":11,"id":"142c488f_12d12187","line":9,"range":{"start_line":9,"start_character":13,"end_line":9,"end_character":17},"in_reply_to":"e8e59221_60932a40","updated":"2022-08-16 13:05:58.000000000","message":"Done","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"0e34ad4b75a409689a23b3f09c3d4650c14f382d","unresolved":true,"context_lines":[{"line_number":17,"context_line":"When implementing support for vDPA based neutron ports one of the first"},{"line_number":18,"context_line":"decisions nova had to make was how to model the availability of vDPA devices"},{"line_number":19,"context_line":"and the capability to virtualize vDPA devices. As the initial use-case"},{"line_number":20,"context_line":"for this technology was to offload networking to hardware offload ovs via"},{"line_number":21,"context_line":"neutron ports the decision was made to extend the existing PCI tracker that"},{"line_number":22,"context_line":"is used for SR-IOV and pci-passthrough to support vDPA devices. As a result"},{"line_number":23,"context_line":"a simplification was made to assume that the parent device of a vDPA device"}],"source_content_type":"text/x-rst","patch_set":11,"id":"682320e9_4b5bae64","line":20,"range":{"start_line":20,"start_character":66,"end_line":20,"end_character":69},"updated":"2022-08-02 17:14:51.000000000","message":"nit: OVS","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d1299265f8e8d35670d679e5e84d542ba72a8100","unresolved":false,"context_lines":[{"line_number":17,"context_line":"When implementing support for vDPA based neutron ports one of the first"},{"line_number":18,"context_line":"decisions nova had to make was how to model the availability of vDPA devices"},{"line_number":19,"context_line":"and the capability to virtualize vDPA devices. As the initial use-case"},{"line_number":20,"context_line":"for this technology was to offload networking to hardware offload ovs via"},{"line_number":21,"context_line":"neutron ports the decision was made to extend the existing PCI tracker that"},{"line_number":22,"context_line":"is used for SR-IOV and pci-passthrough to support vDPA devices. As a result"},{"line_number":23,"context_line":"a simplification was made to assume that the parent device of a vDPA device"}],"source_content_type":"text/x-rst","patch_set":11,"id":"ca2d1932_451c4a18","line":20,"range":{"start_line":20,"start_character":66,"end_line":20,"end_character":69},"in_reply_to":"682320e9_4b5bae64","updated":"2022-08-16 13:05:58.000000000","message":"Done","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"0e34ad4b75a409689a23b3f09c3d4650c14f382d","unresolved":true,"context_lines":[{"line_number":24,"context_line":"is an SR-IOV Virtual Function (VF). As a result software only vDPA device such"},{"line_number":25,"context_line":"as those created by the kernel ``vdpa-sim`` sample module are not supported."},{"line_number":26,"context_line":"To make vDPA device available to be scheduled to guests the operator should"},{"line_number":27,"context_line":"include the device using the pci address or vendor_id and product_id of the"},{"line_number":28,"context_line":"parent VF in the pci passthrough whitelist."},{"line_number":29,"context_line":"see: :nova-doc:`pci-passthrough \u003cadmin/pci-passthrough\u003e` for details on"},{"line_number":30,"context_line":"configuring the whitelist."}],"source_content_type":"text/x-rst","patch_set":11,"id":"06ff50f4_95455654","line":27,"range":{"start_line":27,"start_character":29,"end_line":27,"end_character":68},"updated":"2022-08-02 17:14:51.000000000","message":"nit: PCI address or vendor ID and product ID","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d1299265f8e8d35670d679e5e84d542ba72a8100","unresolved":false,"context_lines":[{"line_number":24,"context_line":"is an SR-IOV Virtual Function (VF). As a result software only vDPA device such"},{"line_number":25,"context_line":"as those created by the kernel ``vdpa-sim`` sample module are not supported."},{"line_number":26,"context_line":"To make vDPA device available to be scheduled to guests the operator should"},{"line_number":27,"context_line":"include the device using the pci address or vendor_id and product_id of the"},{"line_number":28,"context_line":"parent VF in the pci passthrough whitelist."},{"line_number":29,"context_line":"see: :nova-doc:`pci-passthrough \u003cadmin/pci-passthrough\u003e` for details on"},{"line_number":30,"context_line":"configuring the whitelist."}],"source_content_type":"text/x-rst","patch_set":11,"id":"6b1b6789_697c27f4","line":27,"range":{"start_line":27,"start_character":29,"end_line":27,"end_character":68},"in_reply_to":"06ff50f4_95455654","updated":"2022-08-16 13:05:58.000000000","message":"Done","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d1299265f8e8d35670d679e5e84d542ba72a8100","unresolved":true,"context_lines":[{"line_number":25,"context_line":"as those created by the kernel ``vdpa-sim`` sample module are not supported."},{"line_number":26,"context_line":"To make vDPA device available to be scheduled to guests the operator should"},{"line_number":27,"context_line":"include the device using the pci address or vendor_id and product_id of the"},{"line_number":28,"context_line":"parent VF in the pci passthrough whitelist."},{"line_number":29,"context_line":"see: :nova-doc:`pci-passthrough \u003cadmin/pci-passthrough\u003e` for details on"},{"line_number":30,"context_line":"configuring the whitelist."},{"line_number":31,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"bcce2389_84ac5649","line":28,"range":{"start_line":28,"start_character":33,"end_line":28,"end_character":42},"updated":"2022-08-16 13:05:58.000000000","message":"im going to replace whitelist with device_spec since we have merged that now on master but this will need ot be reverted when i backport this.\nto keep it consitnet with the name used on the older branches.","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"0e34ad4b75a409689a23b3f09c3d4650c14f382d","unresolved":true,"context_lines":[{"line_number":25,"context_line":"as those created by the kernel ``vdpa-sim`` sample module are not supported."},{"line_number":26,"context_line":"To make vDPA device available to be scheduled to guests the operator should"},{"line_number":27,"context_line":"include the device using the pci address or vendor_id and product_id of the"},{"line_number":28,"context_line":"parent VF in the pci passthrough whitelist."},{"line_number":29,"context_line":"see: :nova-doc:`pci-passthrough \u003cadmin/pci-passthrough\u003e` for details on"},{"line_number":30,"context_line":"configuring the whitelist."},{"line_number":31,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"91502c84_87d2301a","line":28,"range":{"start_line":28,"start_character":17,"end_line":28,"end_character":20},"updated":"2022-08-02 17:14:51.000000000","message":"nit: PCI","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d1299265f8e8d35670d679e5e84d542ba72a8100","unresolved":false,"context_lines":[{"line_number":25,"context_line":"as those created by the kernel ``vdpa-sim`` sample module are not supported."},{"line_number":26,"context_line":"To make vDPA device available to be scheduled to guests the operator should"},{"line_number":27,"context_line":"include the device using the pci address or vendor_id and product_id of the"},{"line_number":28,"context_line":"parent VF in the pci passthrough whitelist."},{"line_number":29,"context_line":"see: :nova-doc:`pci-passthrough \u003cadmin/pci-passthrough\u003e` for details on"},{"line_number":30,"context_line":"configuring the whitelist."},{"line_number":31,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"2b232590_4b373e8f","line":28,"range":{"start_line":28,"start_character":17,"end_line":28,"end_character":20},"in_reply_to":"91502c84_87d2301a","updated":"2022-08-16 13:05:58.000000000","message":"Done","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"58b588acb1a50a13a22e031701cca3966d0e4b59","unresolved":false,"context_lines":[{"line_number":25,"context_line":"as those created by the kernel ``vdpa-sim`` sample module are not supported."},{"line_number":26,"context_line":"To make vDPA device available to be scheduled to guests the operator should"},{"line_number":27,"context_line":"include the device using the pci address or vendor_id and product_id of the"},{"line_number":28,"context_line":"parent VF in the pci passthrough whitelist."},{"line_number":29,"context_line":"see: :nova-doc:`pci-passthrough \u003cadmin/pci-passthrough\u003e` for details on"},{"line_number":30,"context_line":"configuring the whitelist."},{"line_number":31,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"879f43a1_87e520fb","line":28,"range":{"start_line":28,"start_character":33,"end_line":28,"end_character":42},"in_reply_to":"bcce2389_84ac5649","updated":"2022-08-16 17:34:20.000000000","message":"Ack","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"0e34ad4b75a409689a23b3f09c3d4650c14f382d","unresolved":true,"context_lines":[{"line_number":26,"context_line":"To make vDPA device available to be scheduled to guests the operator should"},{"line_number":27,"context_line":"include the device using the pci address or vendor_id and product_id of the"},{"line_number":28,"context_line":"parent VF in the pci passthrough whitelist."},{"line_number":29,"context_line":"see: :nova-doc:`pci-passthrough \u003cadmin/pci-passthrough\u003e` for details on"},{"line_number":30,"context_line":"configuring the whitelist."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Nova will not create the VFs or vDPA devices automatically, it is expected"}],"source_content_type":"text/x-rst","patch_set":11,"id":"fe585fcf_df3923d2","line":29,"range":{"start_line":29,"start_character":0,"end_line":29,"end_character":3},"updated":"2022-08-02 17:14:51.000000000","message":"nit: See","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d1299265f8e8d35670d679e5e84d542ba72a8100","unresolved":false,"context_lines":[{"line_number":26,"context_line":"To make vDPA device available to be scheduled to guests the operator should"},{"line_number":27,"context_line":"include the device using the pci address or vendor_id and product_id of the"},{"line_number":28,"context_line":"parent VF in the pci passthrough whitelist."},{"line_number":29,"context_line":"see: :nova-doc:`pci-passthrough \u003cadmin/pci-passthrough\u003e` for details on"},{"line_number":30,"context_line":"configuring the whitelist."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Nova will not create the VFs or vDPA devices automatically, it is expected"}],"source_content_type":"text/x-rst","patch_set":11,"id":"8d8be794_54ae52c2","line":29,"range":{"start_line":29,"start_character":0,"end_line":29,"end_character":3},"in_reply_to":"fe585fcf_df3923d2","updated":"2022-08-16 13:05:58.000000000","message":"Done","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"0e34ad4b75a409689a23b3f09c3d4650c14f382d","unresolved":true,"context_lines":[{"line_number":29,"context_line":"see: :nova-doc:`pci-passthrough \u003cadmin/pci-passthrough\u003e` for details on"},{"line_number":30,"context_line":"configuring the whitelist."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Nova will not create the VFs or vDPA devices automatically, it is expected"},{"line_number":33,"context_line":"that the operator will allocate them before starting the nova-compute agent."},{"line_number":34,"context_line":"While no specific mechanisms is prescribed to do this udev rules or systemd"},{"line_number":35,"context_line":"service files are generally the recommended approach to ensure the devices"}],"source_content_type":"text/x-rst","patch_set":11,"id":"e48fff68_4c0172f4","line":32,"range":{"start_line":32,"start_character":58,"end_line":32,"end_character":62},"updated":"2022-08-02 17:14:51.000000000","message":"nit:\n\n automatically. It","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d1299265f8e8d35670d679e5e84d542ba72a8100","unresolved":false,"context_lines":[{"line_number":29,"context_line":"see: :nova-doc:`pci-passthrough \u003cadmin/pci-passthrough\u003e` for details on"},{"line_number":30,"context_line":"configuring the whitelist."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Nova will not create the VFs or vDPA devices automatically, it is expected"},{"line_number":33,"context_line":"that the operator will allocate them before starting the nova-compute agent."},{"line_number":34,"context_line":"While no specific mechanisms is prescribed to do this udev rules or systemd"},{"line_number":35,"context_line":"service files are generally the recommended approach to ensure the devices"}],"source_content_type":"text/x-rst","patch_set":11,"id":"f05a70e8_1288b558","line":32,"range":{"start_line":32,"start_character":58,"end_line":32,"end_character":62},"in_reply_to":"e48fff68_4c0172f4","updated":"2022-08-16 13:05:58.000000000","message":"Done","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"0e34ad4b75a409689a23b3f09c3d4650c14f382d","unresolved":true,"context_lines":[{"line_number":36,"context_line":"are created consistently across reboots."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":".. note::"},{"line_number":39,"context_line":"   As vDPA is an offload only for the data-plane and not the control plane a"},{"line_number":40,"context_line":"   vDPA control plane is required to properly support vDPA device passthrough."},{"line_number":41,"context_line":"   At the time of writing only hardware offloaded OVS is supported when using"},{"line_number":42,"context_line":"   vDPA with nova. because of this vDPA devices cannot be requested using the"}],"source_content_type":"text/x-rst","patch_set":11,"id":"4e18e840_220989a2","line":39,"range":{"start_line":39,"start_character":38,"end_line":39,"end_character":48},"updated":"2022-08-02 17:14:51.000000000","message":"nit: data plane","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d1299265f8e8d35670d679e5e84d542ba72a8100","unresolved":false,"context_lines":[{"line_number":36,"context_line":"are created consistently across reboots."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":".. note::"},{"line_number":39,"context_line":"   As vDPA is an offload only for the data-plane and not the control plane a"},{"line_number":40,"context_line":"   vDPA control plane is required to properly support vDPA device passthrough."},{"line_number":41,"context_line":"   At the time of writing only hardware offloaded OVS is supported when using"},{"line_number":42,"context_line":"   vDPA with nova. because of this vDPA devices cannot be requested using the"}],"source_content_type":"text/x-rst","patch_set":11,"id":"6dc034ff_ef2c1dc4","line":39,"range":{"start_line":39,"start_character":38,"end_line":39,"end_character":48},"in_reply_to":"4e18e840_220989a2","updated":"2022-08-16 13:05:58.000000000","message":"Done","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"0e34ad4b75a409689a23b3f09c3d4650c14f382d","unresolved":true,"context_lines":[{"line_number":39,"context_line":"   As vDPA is an offload only for the data-plane and not the control plane a"},{"line_number":40,"context_line":"   vDPA control plane is required to properly support vDPA device passthrough."},{"line_number":41,"context_line":"   At the time of writing only hardware offloaded OVS is supported when using"},{"line_number":42,"context_line":"   vDPA with nova. because of this vDPA devices cannot be requested using the"},{"line_number":43,"context_line":"   PCI alias. While nova could allow vDPA devices to be requested by the"},{"line_number":44,"context_line":"   flavor using a PCI alias we would not be able to correct configure the"},{"line_number":45,"context_line":"   device as there would be no suitable control plane. For this reason vDPA"}],"source_content_type":"text/x-rst","patch_set":11,"id":"dd5eec00_5be4e288","line":42,"updated":"2022-08-02 17:14:51.000000000","message":"nit: Because","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d1299265f8e8d35670d679e5e84d542ba72a8100","unresolved":false,"context_lines":[{"line_number":39,"context_line":"   As vDPA is an offload only for the data-plane and not the control plane a"},{"line_number":40,"context_line":"   vDPA control plane is required to properly support vDPA device passthrough."},{"line_number":41,"context_line":"   At the time of writing only hardware offloaded OVS is supported when using"},{"line_number":42,"context_line":"   vDPA with nova. because of this vDPA devices cannot be requested using the"},{"line_number":43,"context_line":"   PCI alias. While nova could allow vDPA devices to be requested by the"},{"line_number":44,"context_line":"   flavor using a PCI alias we would not be able to correct configure the"},{"line_number":45,"context_line":"   device as there would be no suitable control plane. For this reason vDPA"}],"source_content_type":"text/x-rst","patch_set":11,"id":"60ddd62c_163b1c72","line":42,"in_reply_to":"dd5eec00_5be4e288","updated":"2022-08-16 13:05:58.000000000","message":"Done","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d1299265f8e8d35670d679e5e84d542ba72a8100","unresolved":true,"context_lines":[{"line_number":41,"context_line":"   At the time of writing only hardware offloaded OVS is supported when using"},{"line_number":42,"context_line":"   vDPA with nova. because of this vDPA devices cannot be requested using the"},{"line_number":43,"context_line":"   PCI alias. While nova could allow vDPA devices to be requested by the"},{"line_number":44,"context_line":"   flavor using a PCI alias we would not be able to correct configure the"},{"line_number":45,"context_line":"   device as there would be no suitable control plane. For this reason vDPA"},{"line_number":46,"context_line":"   devices are currently only consumable via neutron ports."},{"line_number":47,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"e1b94ee7_68eaf58e","line":44,"range":{"start_line":44,"start_character":52,"end_line":44,"end_character":59},"updated":"2022-08-16 13:05:58.000000000","message":"correctly","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"58b588acb1a50a13a22e031701cca3966d0e4b59","unresolved":false,"context_lines":[{"line_number":41,"context_line":"   At the time of writing only hardware offloaded OVS is supported when using"},{"line_number":42,"context_line":"   vDPA with nova. because of this vDPA devices cannot be requested using the"},{"line_number":43,"context_line":"   PCI alias. While nova could allow vDPA devices to be requested by the"},{"line_number":44,"context_line":"   flavor using a PCI alias we would not be able to correct configure the"},{"line_number":45,"context_line":"   device as there would be no suitable control plane. For this reason vDPA"},{"line_number":46,"context_line":"   devices are currently only consumable via neutron ports."},{"line_number":47,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"bdda23a7_d1ddd457","line":44,"range":{"start_line":44,"start_character":52,"end_line":44,"end_character":59},"in_reply_to":"e1b94ee7_68eaf58e","updated":"2022-08-16 17:34:20.000000000","message":"Ack","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"0e34ad4b75a409689a23b3f09c3d4650c14f382d","unresolved":true,"context_lines":[{"line_number":57,"context_line":"vDPA lifecycle operations"},{"line_number":58,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"At this time vDPA ports can only be added to a vm when it is first created."},{"line_number":61,"context_line":"To do this the normal sriov workflow is used where by the port is first created"},{"line_number":62,"context_line":"in neutron and passed into nova as part of the server create request."},{"line_number":63,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"804ce7ee_4fcc9d14","line":60,"range":{"start_line":60,"start_character":47,"end_line":60,"end_character":49},"updated":"2022-08-02 17:14:51.000000000","message":"nit: instance","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"58b588acb1a50a13a22e031701cca3966d0e4b59","unresolved":false,"context_lines":[{"line_number":57,"context_line":"vDPA lifecycle operations"},{"line_number":58,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"At this time vDPA ports can only be added to a vm when it is first created."},{"line_number":61,"context_line":"To do this the normal sriov workflow is used where by the port is first created"},{"line_number":62,"context_line":"in neutron and passed into nova as part of the server create request."},{"line_number":63,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"918131e7_5943a620","line":60,"range":{"start_line":60,"start_character":47,"end_line":60,"end_character":49},"in_reply_to":"804ce7ee_4fcc9d14","updated":"2022-08-16 17:34:20.000000000","message":"Done","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"0e34ad4b75a409689a23b3f09c3d4650c14f382d","unresolved":true,"context_lines":[{"line_number":58,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"At this time vDPA ports can only be added to a vm when it is first created."},{"line_number":61,"context_line":"To do this the normal sriov workflow is used where by the port is first created"},{"line_number":62,"context_line":"in neutron and passed into nova as part of the server create request."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":".. code-block:: bash"}],"source_content_type":"text/x-rst","patch_set":11,"id":"3202e4f6_a6d2aba2","line":61,"range":{"start_line":61,"start_character":22,"end_line":61,"end_character":27},"updated":"2022-08-02 17:14:51.000000000","message":"nit: SR-IOV","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"58b588acb1a50a13a22e031701cca3966d0e4b59","unresolved":false,"context_lines":[{"line_number":58,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"At this time vDPA ports can only be added to a vm when it is first created."},{"line_number":61,"context_line":"To do this the normal sriov workflow is used where by the port is first created"},{"line_number":62,"context_line":"in neutron and passed into nova as part of the server create request."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":".. code-block:: bash"}],"source_content_type":"text/x-rst","patch_set":11,"id":"f48d27b8_e1e60261","line":61,"range":{"start_line":61,"start_character":22,"end_line":61,"end_character":27},"in_reply_to":"3202e4f6_a6d2aba2","updated":"2022-08-16 17:34:20.000000000","message":"Done","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"0e34ad4b75a409689a23b3f09c3d4650c14f382d","unresolved":true,"context_lines":[{"line_number":78,"context_line":"24.x.y: (planned) api block removal backported to stable/Xena"},{"line_number":79,"context_line":"23.x.y: (planned) api block removal backported to stable/wallaby"},{"line_number":80,"context_line":"26.0.0: (in progress) interface attach/detach, suspend/resume and hot plug live migration"},{"line_number":81,"context_line":"are implemented to fully support all lifecycle operations on instances with vDPA ports."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":".. note::"},{"line_number":84,"context_line":"   The ``(planned)`` and ``(in progress)`` qualifiers will be removed when those items are"}],"source_content_type":"text/x-rst","patch_set":11,"id":"77d6f66c_e105fea1","line":81,"updated":"2022-08-02 17:14:51.000000000","message":"Are we actually planning to backport this upstream? I wonder if this would make more sense as \u0027versionadded\u0027 directives above albeit with actual release numbers as we merge the backports, e.g. 25.0.2 ?","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"58b588acb1a50a13a22e031701cca3966d0e4b59","unresolved":false,"context_lines":[{"line_number":78,"context_line":"24.x.y: (planned) api block removal backported to stable/Xena"},{"line_number":79,"context_line":"23.x.y: (planned) api block removal backported to stable/wallaby"},{"line_number":80,"context_line":"26.0.0: (in progress) interface attach/detach, suspend/resume and hot plug live migration"},{"line_number":81,"context_line":"are implemented to fully support all lifecycle operations on instances with vDPA ports."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":".. note::"},{"line_number":84,"context_line":"   The ``(planned)`` and ``(in progress)`` qualifiers will be removed when those items are"}],"source_content_type":"text/x-rst","patch_set":11,"id":"b5ce42d9_bcfd741f","line":81,"in_reply_to":"05ce8229_23d9d486","updated":"2022-08-16 17:34:20.000000000","message":"Ack","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4b6ef5876be73310026d492cc4d596a130e4f0e1","unresolved":true,"context_lines":[{"line_number":78,"context_line":"24.x.y: (planned) api block removal backported to stable/Xena"},{"line_number":79,"context_line":"23.x.y: (planned) api block removal backported to stable/wallaby"},{"line_number":80,"context_line":"26.0.0: (in progress) interface attach/detach, suspend/resume and hot plug live migration"},{"line_number":81,"context_line":"are implemented to fully support all lifecycle operations on instances with vDPA ports."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":".. note::"},{"line_number":84,"context_line":"   The ``(planned)`` and ``(in progress)`` qualifiers will be removed when those items are"}],"source_content_type":"text/x-rst","patch_set":11,"id":"05ce8229_23d9d486","line":81,"in_reply_to":"77d6f66c_e105fea1","updated":"2022-08-02 22:07:58.000000000","message":"we are planning to backport this patch upstream but not any of the rest of the series. I was planning to update this in the back ports.\n\nill dress the rest of the comments in the mean time and you can let me know what to do with this","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"}],"nova/compute/api.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"0e34ad4b75a409689a23b3f09c3d4650c14f382d","unresolved":true,"context_lines":[{"line_number":4101,"context_line":"    @block_extended_resource_request"},{"line_number":4102,"context_line":"    @block_port_accelerators()"},{"line_number":4103,"context_line":"    # FIXME(sean-k-mooney): Cold migrate and resize to different hosts"},{"line_number":4104,"context_line":"    # probably works but they have not been tested so block them for now"},{"line_number":4105,"context_line":"    @block_accelerators()"},{"line_number":4106,"context_line":"    @check_instance_lock"},{"line_number":4107,"context_line":"    @check_instance_state(vm_state\u003d[vm_states.ACTIVE, vm_states.STOPPED])"}],"source_content_type":"text/x-python","patch_set":11,"id":"8fb6eaa5_c9140384","line":4104,"updated":"2022-08-02 17:14:51.000000000","message":"This FIXME is no longer relevant, right?","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d1299265f8e8d35670d679e5e84d542ba72a8100","unresolved":false,"context_lines":[{"line_number":4101,"context_line":"    @block_extended_resource_request"},{"line_number":4102,"context_line":"    @block_port_accelerators()"},{"line_number":4103,"context_line":"    # FIXME(sean-k-mooney): Cold migrate and resize to different hosts"},{"line_number":4104,"context_line":"    # probably works but they have not been tested so block them for now"},{"line_number":4105,"context_line":"    @block_accelerators()"},{"line_number":4106,"context_line":"    @check_instance_lock"},{"line_number":4107,"context_line":"    @check_instance_state(vm_state\u003d[vm_states.ACTIVE, vm_states.STOPPED])"}],"source_content_type":"text/x-python","patch_set":11,"id":"73fda165_6ccaa520","line":4104,"in_reply_to":"1a284eff_de924910","updated":"2022-08-16 13:05:58.000000000","message":"Done","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4b6ef5876be73310026d492cc4d596a130e4f0e1","unresolved":true,"context_lines":[{"line_number":4101,"context_line":"    @block_extended_resource_request"},{"line_number":4102,"context_line":"    @block_port_accelerators()"},{"line_number":4103,"context_line":"    # FIXME(sean-k-mooney): Cold migrate and resize to different hosts"},{"line_number":4104,"context_line":"    # probably works but they have not been tested so block them for now"},{"line_number":4105,"context_line":"    @block_accelerators()"},{"line_number":4106,"context_line":"    @check_instance_lock"},{"line_number":4107,"context_line":"    @check_instance_state(vm_state\u003d[vm_states.ACTIVE, vm_states.STOPPED])"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a284eff_de924910","line":4104,"in_reply_to":"8fb6eaa5_c9140384","updated":"2022-08-02 22:07:58.000000000","message":"correct good catch.","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"}],"nova/tests/functional/libvirt/test_pci_sriov_servers.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ca557032d298a3ed54fdfa2ed290957c4793d878","unresolved":true,"context_lines":[{"line_number":1256,"context_line":"        self.start_compute()"},{"line_number":1257,"context_line":""},{"line_number":1258,"context_line":"        server \u003d self._create_server(networks\u003d\u0027none\u0027)"},{"line_number":1259,"context_line":"        vdpa_port \u003d self.create_vdpa_port()"},{"line_number":1260,"context_line":"        # attempt to attach the port to the server"},{"line_number":1261,"context_line":"        ex \u003d self.assertRaises("},{"line_number":1262,"context_line":"            client.OpenStackApiException,"}],"source_content_type":"text/x-python","patch_set":11,"id":"d2fcf3cd_c8e0da5f","line":1259,"updated":"2022-08-02 17:16:51.000000000","message":"Why change this? The comment was useful, no?","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d1299265f8e8d35670d679e5e84d542ba72a8100","unresolved":false,"context_lines":[{"line_number":1256,"context_line":"        self.start_compute()"},{"line_number":1257,"context_line":""},{"line_number":1258,"context_line":"        server \u003d self._create_server(networks\u003d\u0027none\u0027)"},{"line_number":1259,"context_line":"        vdpa_port \u003d self.create_vdpa_port()"},{"line_number":1260,"context_line":"        # attempt to attach the port to the server"},{"line_number":1261,"context_line":"        ex \u003d self.assertRaises("},{"line_number":1262,"context_line":"            client.OpenStackApiException,"}],"source_content_type":"text/x-python","patch_set":11,"id":"4ba47959_8c8cb0d9","line":1259,"in_reply_to":"a7d811b3_f6ec6017","updated":"2022-08-16 13:05:58.000000000","message":"Done","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4b6ef5876be73310026d492cc4d596a130e4f0e1","unresolved":true,"context_lines":[{"line_number":1256,"context_line":"        self.start_compute()"},{"line_number":1257,"context_line":""},{"line_number":1258,"context_line":"        server \u003d self._create_server(networks\u003d\u0027none\u0027)"},{"line_number":1259,"context_line":"        vdpa_port \u003d self.create_vdpa_port()"},{"line_number":1260,"context_line":"        # attempt to attach the port to the server"},{"line_number":1261,"context_line":"        ex \u003d self.assertRaises("},{"line_number":1262,"context_line":"            client.OpenStackApiException,"}],"source_content_type":"text/x-python","patch_set":11,"id":"a7d811b3_f6ec6017","line":1259,"in_reply_to":"d2fcf3cd_c8e0da5f","updated":"2022-08-02 22:07:58.000000000","message":"this was probably dropped when I did a partial revert to move the interface attach logic into a later patch. ill revert this","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"8249d0d510bd8c64cd4aa2981a51c64ed8015b0f","unresolved":true,"context_lines":[{"line_number":1278,"context_line":"        num_pci \u003d self.NUM_PFS + self.NUM_VFS"},{"line_number":1279,"context_line":"        # -2 we claim the vdpa device which make the parent PF unavailable"},{"line_number":1280,"context_line":"        self.assertPCIDeviceCounts(hostname, total\u003dnum_pci, free\u003dnum_pci - 2)"},{"line_number":1281,"context_line":"        server \u003d self._shelve_server(server)"},{"line_number":1282,"context_line":"        # now that the vm is shelved it should not be bound to any host"},{"line_number":1283,"context_line":"        # but should still be owned by the vm"},{"line_number":1284,"context_line":"        port \u003d self.neutron.show_port(vdpa_port[\u0027id\u0027])[\u0027port\u0027]"}],"source_content_type":"text/x-python","patch_set":11,"id":"4720c858_4b4b43f6","line":1281,"updated":"2022-08-03 07:46:53.000000000","message":"I think this is actually a shelve offload. Do we need a separate test where we first just shelve, assert that the allocation is still on the host, then offload and see that the allocation is removed?","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"56ccffed0cf4339026628ddd3c9f65d8d48b34e8","unresolved":true,"context_lines":[{"line_number":1278,"context_line":"        num_pci \u003d self.NUM_PFS + self.NUM_VFS"},{"line_number":1279,"context_line":"        # -2 we claim the vdpa device which make the parent PF unavailable"},{"line_number":1280,"context_line":"        self.assertPCIDeviceCounts(hostname, total\u003dnum_pci, free\u003dnum_pci - 2)"},{"line_number":1281,"context_line":"        server \u003d self._shelve_server(server)"},{"line_number":1282,"context_line":"        # now that the vm is shelved it should not be bound to any host"},{"line_number":1283,"context_line":"        # but should still be owned by the vm"},{"line_number":1284,"context_line":"        port \u003d self.neutron.show_port(vdpa_port[\u0027id\u0027])[\u0027port\u0027]"}],"source_content_type":"text/x-python","patch_set":11,"id":"53fb21df_3355ef18","line":1281,"in_reply_to":"4720c858_4b4b43f6","updated":"2022-08-03 11:22:01.000000000","message":"I don\u0027t think so. we are not tracking vdpa in placement.\nim not sure its worth splitting this out to look at the pic claim in this case.\n\nI think this accept an expected state by the way but without changing the default offload time from 0 the api behaviour most will expect is to directly go to shelve offloaded so I think this is sufficient coverage.\n\nthat is the translation I really care about in this case.","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d1299265f8e8d35670d679e5e84d542ba72a8100","unresolved":false,"context_lines":[{"line_number":1278,"context_line":"        num_pci \u003d self.NUM_PFS + self.NUM_VFS"},{"line_number":1279,"context_line":"        # -2 we claim the vdpa device which make the parent PF unavailable"},{"line_number":1280,"context_line":"        self.assertPCIDeviceCounts(hostname, total\u003dnum_pci, free\u003dnum_pci - 2)"},{"line_number":1281,"context_line":"        server \u003d self._shelve_server(server)"},{"line_number":1282,"context_line":"        # now that the vm is shelved it should not be bound to any host"},{"line_number":1283,"context_line":"        # but should still be owned by the vm"},{"line_number":1284,"context_line":"        port \u003d self.neutron.show_port(vdpa_port[\u0027id\u0027])[\u0027port\u0027]"}],"source_content_type":"text/x-python","patch_set":11,"id":"9df9953e_0b1a7a8a","line":1281,"in_reply_to":"53fb21df_3355ef18","updated":"2022-08-16 13:05:58.000000000","message":"renamed this to test_shelve_offload just to call this out","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"2658ee85cfce80eae87584804d64624d3f39404e","unresolved":false,"context_lines":[{"line_number":1278,"context_line":"        num_pci \u003d self.NUM_PFS + self.NUM_VFS"},{"line_number":1279,"context_line":"        # -2 we claim the vdpa device which make the parent PF unavailable"},{"line_number":1280,"context_line":"        self.assertPCIDeviceCounts(hostname, total\u003dnum_pci, free\u003dnum_pci - 2)"},{"line_number":1281,"context_line":"        server \u003d self._shelve_server(server)"},{"line_number":1282,"context_line":"        # now that the vm is shelved it should not be bound to any host"},{"line_number":1283,"context_line":"        # but should still be owned by the vm"},{"line_number":1284,"context_line":"        port \u003d self.neutron.show_port(vdpa_port[\u0027id\u0027])[\u0027port\u0027]"}],"source_content_type":"text/x-python","patch_set":11,"id":"1399c165_b078f6e3","line":1281,"in_reply_to":"9df9953e_0b1a7a8a","updated":"2022-08-17 09:42:46.000000000","message":"OK. thanks.","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ca557032d298a3ed54fdfa2ed290957c4793d878","unresolved":true,"context_lines":[{"line_number":1290,"context_line":"        self.assertIn(\u0027binding:profile\u0027, port)"},{"line_number":1291,"context_line":"        self.assertIsNone(server[\u0027OS-EXT-SRV-ATTR:hypervisor_hostname\u0027])"},{"line_number":1292,"context_line":"        self.assertIsNone(server[\u0027OS-EXT-SRV-ATTR:host\u0027])"},{"line_number":1293,"context_line":"        # self._run_periodics()"},{"line_number":1294,"context_line":"        self.assertPCIDeviceCounts(hostname, total\u003dnum_pci, free\u003dnum_pci)"},{"line_number":1295,"context_line":""},{"line_number":1296,"context_line":"    def test_unshelve_to_same_host(self):"}],"source_content_type":"text/x-python","patch_set":11,"id":"e4d5e661_6db85411","line":1293,"updated":"2022-08-02 17:16:51.000000000","message":"why?","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d1299265f8e8d35670d679e5e84d542ba72a8100","unresolved":false,"context_lines":[{"line_number":1290,"context_line":"        self.assertIn(\u0027binding:profile\u0027, port)"},{"line_number":1291,"context_line":"        self.assertIsNone(server[\u0027OS-EXT-SRV-ATTR:hypervisor_hostname\u0027])"},{"line_number":1292,"context_line":"        self.assertIsNone(server[\u0027OS-EXT-SRV-ATTR:host\u0027])"},{"line_number":1293,"context_line":"        # self._run_periodics()"},{"line_number":1294,"context_line":"        self.assertPCIDeviceCounts(hostname, total\u003dnum_pci, free\u003dnum_pci)"},{"line_number":1295,"context_line":""},{"line_number":1296,"context_line":"    def test_unshelve_to_same_host(self):"}],"source_content_type":"text/x-python","patch_set":11,"id":"2fe0f58d_c0bedb51","line":1293,"in_reply_to":"71396321_b8cbab0d","updated":"2022-08-16 13:05:58.000000000","message":"Done","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4b6ef5876be73310026d492cc4d596a130e4f0e1","unresolved":true,"context_lines":[{"line_number":1290,"context_line":"        self.assertIn(\u0027binding:profile\u0027, port)"},{"line_number":1291,"context_line":"        self.assertIsNone(server[\u0027OS-EXT-SRV-ATTR:hypervisor_hostname\u0027])"},{"line_number":1292,"context_line":"        self.assertIsNone(server[\u0027OS-EXT-SRV-ATTR:host\u0027])"},{"line_number":1293,"context_line":"        # self._run_periodics()"},{"line_number":1294,"context_line":"        self.assertPCIDeviceCounts(hostname, total\u003dnum_pci, free\u003dnum_pci)"},{"line_number":1295,"context_line":""},{"line_number":1296,"context_line":"    def test_unshelve_to_same_host(self):"}],"source_content_type":"text/x-python","patch_set":11,"id":"71396321_b8cbab0d","line":1293,"in_reply_to":"e4d5e661_6db85411","updated":"2022-08-02 22:07:58.000000000","message":"oh this was part of debugging why the ports were not being unbound.\nI was seeing if the periodic would result in the ports being unbound.\nit won\u0027t so I should remove this.","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"8249d0d510bd8c64cd4aa2981a51c64ed8015b0f","unresolved":true,"context_lines":[{"line_number":1309,"context_line":"        self.assertPCIDeviceCounts(hostname, total\u003dnum_pci, free\u003dnum_pci)"},{"line_number":1310,"context_line":"        self.assertIsNone(server[\u0027OS-EXT-SRV-ATTR:hypervisor_hostname\u0027])"},{"line_number":1311,"context_line":"        port \u003d self.neutron.show_port(vdpa_port[\u0027id\u0027])[\u0027port\u0027]"},{"line_number":1312,"context_line":"        # FIXME(sean-k-mooney): shelve should unbind the port"},{"line_number":1313,"context_line":"        # self.assertEqual(\u0027\u0027, port[\u0027binding:host_id\u0027])"},{"line_number":1314,"context_line":"        self.assertEqual(hostname, port[\u0027binding:host_id\u0027])"},{"line_number":1315,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"32fea4c8_8d9f3e9e","line":1312,"range":{"start_line":1312,"start_character":32,"end_line":1312,"end_character":38},"updated":"2022-08-03 07:46:53.000000000","message":"shelve offload","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"56ccffed0cf4339026628ddd3c9f65d8d48b34e8","unresolved":true,"context_lines":[{"line_number":1309,"context_line":"        self.assertPCIDeviceCounts(hostname, total\u003dnum_pci, free\u003dnum_pci)"},{"line_number":1310,"context_line":"        self.assertIsNone(server[\u0027OS-EXT-SRV-ATTR:hypervisor_hostname\u0027])"},{"line_number":1311,"context_line":"        port \u003d self.neutron.show_port(vdpa_port[\u0027id\u0027])[\u0027port\u0027]"},{"line_number":1312,"context_line":"        # FIXME(sean-k-mooney): shelve should unbind the port"},{"line_number":1313,"context_line":"        # self.assertEqual(\u0027\u0027, port[\u0027binding:host_id\u0027])"},{"line_number":1314,"context_line":"        self.assertEqual(hostname, port[\u0027binding:host_id\u0027])"},{"line_number":1315,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"fcd5ff94_b98b314a","line":1312,"range":{"start_line":1312,"start_character":32,"end_line":1312,"end_character":38},"in_reply_to":"32fea4c8_8d9f3e9e","updated":"2022-08-03 11:22:01.000000000","message":"yes this should be shelve offload explicitly good catch","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"2658ee85cfce80eae87584804d64624d3f39404e","unresolved":false,"context_lines":[{"line_number":1309,"context_line":"        self.assertPCIDeviceCounts(hostname, total\u003dnum_pci, free\u003dnum_pci)"},{"line_number":1310,"context_line":"        self.assertIsNone(server[\u0027OS-EXT-SRV-ATTR:hypervisor_hostname\u0027])"},{"line_number":1311,"context_line":"        port \u003d self.neutron.show_port(vdpa_port[\u0027id\u0027])[\u0027port\u0027]"},{"line_number":1312,"context_line":"        # FIXME(sean-k-mooney): shelve should unbind the port"},{"line_number":1313,"context_line":"        # self.assertEqual(\u0027\u0027, port[\u0027binding:host_id\u0027])"},{"line_number":1314,"context_line":"        self.assertEqual(hostname, port[\u0027binding:host_id\u0027])"},{"line_number":1315,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"573519be_b6760943","line":1312,"range":{"start_line":1312,"start_character":32,"end_line":1312,"end_character":38},"in_reply_to":"fcd5ff94_b98b314a","updated":"2022-08-17 09:42:46.000000000","message":"Ack","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"8249d0d510bd8c64cd4aa2981a51c64ed8015b0f","unresolved":true,"context_lines":[{"line_number":1342,"context_line":"        self.assertPCIDeviceCounts(source, total\u003dnum_pci, free\u003dnum_pci)"},{"line_number":1343,"context_line":"        self.assertIsNone(server[\u0027OS-EXT-SRV-ATTR:hypervisor_hostname\u0027])"},{"line_number":1344,"context_line":"        port \u003d self.neutron.show_port(vdpa_port[\u0027id\u0027])[\u0027port\u0027]"},{"line_number":1345,"context_line":"        # FIXME(sean-k-mooney): shelve should unbind the port"},{"line_number":1346,"context_line":"        # self.assertEqual(\u0027\u0027, port[\u0027binding:host_id\u0027])"},{"line_number":1347,"context_line":"        self.assertEqual(source, port[\u0027binding:host_id\u0027])"},{"line_number":1348,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"51173ceb_122a40b9","line":1345,"range":{"start_line":1345,"start_character":32,"end_line":1345,"end_character":38},"updated":"2022-08-03 07:46:53.000000000","message":"shelve offload","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"56ccffed0cf4339026628ddd3c9f65d8d48b34e8","unresolved":false,"context_lines":[{"line_number":1342,"context_line":"        self.assertPCIDeviceCounts(source, total\u003dnum_pci, free\u003dnum_pci)"},{"line_number":1343,"context_line":"        self.assertIsNone(server[\u0027OS-EXT-SRV-ATTR:hypervisor_hostname\u0027])"},{"line_number":1344,"context_line":"        port \u003d self.neutron.show_port(vdpa_port[\u0027id\u0027])[\u0027port\u0027]"},{"line_number":1345,"context_line":"        # FIXME(sean-k-mooney): shelve should unbind the port"},{"line_number":1346,"context_line":"        # self.assertEqual(\u0027\u0027, port[\u0027binding:host_id\u0027])"},{"line_number":1347,"context_line":"        self.assertEqual(source, port[\u0027binding:host_id\u0027])"},{"line_number":1348,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"7b6e253e_2b8cd115","line":1345,"range":{"start_line":1345,"start_character":32,"end_line":1345,"end_character":38},"in_reply_to":"51173ceb_122a40b9","updated":"2022-08-03 11:22:01.000000000","message":"Ack","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"8249d0d510bd8c64cd4aa2981a51c64ed8015b0f","unresolved":true,"context_lines":[{"line_number":1353,"context_line":"            self.computes[\u0027dest\u0027].service_ref.uuid, {\u0027status\u0027: \u0027enabled\u0027})"},{"line_number":1354,"context_line":"        self.assertPCIDeviceCounts(dest, total\u003dnum_pci, free\u003dnum_pci)"},{"line_number":1355,"context_line":"        server \u003d self._unshelve_server(server)"},{"line_number":1356,"context_line":"        self.assertPCIDeviceCounts(dest, total\u003dnum_pci, free\u003dnum_pci - 2)"},{"line_number":1357,"context_line":"        self.assertEqual("},{"line_number":1358,"context_line":"            dest, server[\u0027OS-EXT-SRV-ATTR:hypervisor_hostname\u0027])"},{"line_number":1359,"context_line":"        port \u003d self.neutron.show_port(vdpa_port[\u0027id\u0027])[\u0027port\u0027]"}],"source_content_type":"text/x-python","patch_set":11,"id":"f6610a95_0b66fe4e","line":1356,"updated":"2022-08-03 07:46:53.000000000","message":"I would assert that the source has pci devices are all free, still","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d1299265f8e8d35670d679e5e84d542ba72a8100","unresolved":false,"context_lines":[{"line_number":1353,"context_line":"            self.computes[\u0027dest\u0027].service_ref.uuid, {\u0027status\u0027: \u0027enabled\u0027})"},{"line_number":1354,"context_line":"        self.assertPCIDeviceCounts(dest, total\u003dnum_pci, free\u003dnum_pci)"},{"line_number":1355,"context_line":"        server \u003d self._unshelve_server(server)"},{"line_number":1356,"context_line":"        self.assertPCIDeviceCounts(dest, total\u003dnum_pci, free\u003dnum_pci - 2)"},{"line_number":1357,"context_line":"        self.assertEqual("},{"line_number":1358,"context_line":"            dest, server[\u0027OS-EXT-SRV-ATTR:hypervisor_hostname\u0027])"},{"line_number":1359,"context_line":"        port \u003d self.neutron.show_port(vdpa_port[\u0027id\u0027])[\u0027port\u0027]"}],"source_content_type":"text/x-python","patch_set":11,"id":"1974e5c2_128276b6","line":1356,"in_reply_to":"c49d95eb_a120b269","updated":"2022-08-16 13:05:58.000000000","message":"Done","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"56ccffed0cf4339026628ddd3c9f65d8d48b34e8","unresolved":true,"context_lines":[{"line_number":1353,"context_line":"            self.computes[\u0027dest\u0027].service_ref.uuid, {\u0027status\u0027: \u0027enabled\u0027})"},{"line_number":1354,"context_line":"        self.assertPCIDeviceCounts(dest, total\u003dnum_pci, free\u003dnum_pci)"},{"line_number":1355,"context_line":"        server \u003d self._unshelve_server(server)"},{"line_number":1356,"context_line":"        self.assertPCIDeviceCounts(dest, total\u003dnum_pci, free\u003dnum_pci - 2)"},{"line_number":1357,"context_line":"        self.assertEqual("},{"line_number":1358,"context_line":"            dest, server[\u0027OS-EXT-SRV-ATTR:hypervisor_hostname\u0027])"},{"line_number":1359,"context_line":"        port \u003d self.neutron.show_port(vdpa_port[\u0027id\u0027])[\u0027port\u0027]"}],"source_content_type":"text/x-python","patch_set":11,"id":"c49d95eb_a120b269","line":1356,"in_reply_to":"f6610a95_0b66fe4e","updated":"2022-08-03 11:22:01.000000000","message":"ok I can do that with the count pretty simply doing ti directly looking at the table is a bit of a pain and I was trying to avoid that but ill add an assert for the srouce based on count if that is ok with you.","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"8249d0d510bd8c64cd4aa2981a51c64ed8015b0f","unresolved":true,"context_lines":[{"line_number":1378,"context_line":"        self.assertEqual(source, port[\u0027binding:host_id\u0027])"},{"line_number":1379,"context_line":""},{"line_number":1380,"context_line":"        # disable and stop the source compute and enable the dest"},{"line_number":1381,"context_line":"        self.api.put_service("},{"line_number":1382,"context_line":"            self.computes[\u0027source\u0027].service_ref.uuid, {\u0027status\u0027: \u0027disabled\u0027})"},{"line_number":1383,"context_line":"        self.api.put_service("},{"line_number":1384,"context_line":"            self.computes[\u0027dest\u0027].service_ref.uuid, {\u0027status\u0027: \u0027enabled\u0027})"},{"line_number":1385,"context_line":"        self.computes[\u0027source\u0027].stop()"}],"source_content_type":"text/x-python","patch_set":11,"id":"dc350ac7_c58948a2","line":1382,"range":{"start_line":1381,"start_character":0,"end_line":1382,"end_character":77},"updated":"2022-08-03 07:46:53.000000000","message":"this does not matter for evacuate","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d1299265f8e8d35670d679e5e84d542ba72a8100","unresolved":false,"context_lines":[{"line_number":1378,"context_line":"        self.assertEqual(source, port[\u0027binding:host_id\u0027])"},{"line_number":1379,"context_line":""},{"line_number":1380,"context_line":"        # disable and stop the source compute and enable the dest"},{"line_number":1381,"context_line":"        self.api.put_service("},{"line_number":1382,"context_line":"            self.computes[\u0027source\u0027].service_ref.uuid, {\u0027status\u0027: \u0027disabled\u0027})"},{"line_number":1383,"context_line":"        self.api.put_service("},{"line_number":1384,"context_line":"            self.computes[\u0027dest\u0027].service_ref.uuid, {\u0027status\u0027: \u0027enabled\u0027})"},{"line_number":1385,"context_line":"        self.computes[\u0027source\u0027].stop()"}],"source_content_type":"text/x-python","patch_set":11,"id":"ddd2408e_6385dde1","line":1382,"range":{"start_line":1381,"start_character":0,"end_line":1382,"end_character":77},"in_reply_to":"00f5997b_9246b48f","updated":"2022-08-16 13:05:58.000000000","message":"Done","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"56ccffed0cf4339026628ddd3c9f65d8d48b34e8","unresolved":true,"context_lines":[{"line_number":1378,"context_line":"        self.assertEqual(source, port[\u0027binding:host_id\u0027])"},{"line_number":1379,"context_line":""},{"line_number":1380,"context_line":"        # disable and stop the source compute and enable the dest"},{"line_number":1381,"context_line":"        self.api.put_service("},{"line_number":1382,"context_line":"            self.computes[\u0027source\u0027].service_ref.uuid, {\u0027status\u0027: \u0027disabled\u0027})"},{"line_number":1383,"context_line":"        self.api.put_service("},{"line_number":1384,"context_line":"            self.computes[\u0027dest\u0027].service_ref.uuid, {\u0027status\u0027: \u0027enabled\u0027})"},{"line_number":1385,"context_line":"        self.computes[\u0027source\u0027].stop()"}],"source_content_type":"text/x-python","patch_set":11,"id":"00f5997b_9246b48f","line":1382,"range":{"start_line":1381,"start_character":0,"end_line":1382,"end_character":77},"in_reply_to":"dc350ac7_c58948a2","updated":"2022-08-03 11:22:01.000000000","message":"technically yes I was ortingaly doing it to avoid scheduling to it, the compute status filter should check and see its down and avoid it too but I was just being extra safe.","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"8249d0d510bd8c64cd4aa2981a51c64ed8015b0f","unresolved":true,"context_lines":[{"line_number":1393,"context_line":"        self.assertEqual("},{"line_number":1394,"context_line":"            dest, server[\u0027OS-EXT-SRV-ATTR:hypervisor_hostname\u0027])"},{"line_number":1395,"context_line":"        port \u003d self.neutron.show_port(vdpa_port[\u0027id\u0027])[\u0027port\u0027]"},{"line_number":1396,"context_line":"        self.assertEqual(dest, port[\u0027binding:host_id\u0027])"},{"line_number":1397,"context_line":""},{"line_number":1398,"context_line":"    def test_resize_same_host(self):"},{"line_number":1399,"context_line":"        self.flags(allow_resize_to_same_host\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":11,"id":"d7956671_56cf8c2c","line":1396,"updated":"2022-08-03 07:46:53.000000000","message":"I suggest to extend this test with:\n1) asserting that the VM still has allocation on the source host\n2) re-enable the source host\n3) assert that the allocation is freed on the source host","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"2658ee85cfce80eae87584804d64624d3f39404e","unresolved":false,"context_lines":[{"line_number":1393,"context_line":"        self.assertEqual("},{"line_number":1394,"context_line":"            dest, server[\u0027OS-EXT-SRV-ATTR:hypervisor_hostname\u0027])"},{"line_number":1395,"context_line":"        port \u003d self.neutron.show_port(vdpa_port[\u0027id\u0027])[\u0027port\u0027]"},{"line_number":1396,"context_line":"        self.assertEqual(dest, port[\u0027binding:host_id\u0027])"},{"line_number":1397,"context_line":""},{"line_number":1398,"context_line":"    def test_resize_same_host(self):"},{"line_number":1399,"context_line":"        self.flags(allow_resize_to_same_host\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":11,"id":"4bba4d41_47ead427","line":1396,"in_reply_to":"1aed26b0_ebdde561","updated":"2022-08-17 09:42:46.000000000","message":"Ack","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"56ccffed0cf4339026628ddd3c9f65d8d48b34e8","unresolved":true,"context_lines":[{"line_number":1393,"context_line":"        self.assertEqual("},{"line_number":1394,"context_line":"            dest, server[\u0027OS-EXT-SRV-ATTR:hypervisor_hostname\u0027])"},{"line_number":1395,"context_line":"        port \u003d self.neutron.show_port(vdpa_port[\u0027id\u0027])[\u0027port\u0027]"},{"line_number":1396,"context_line":"        self.assertEqual(dest, port[\u0027binding:host_id\u0027])"},{"line_number":1397,"context_line":""},{"line_number":1398,"context_line":"    def test_resize_same_host(self):"},{"line_number":1399,"context_line":"        self.flags(allow_resize_to_same_host\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":11,"id":"1aed26b0_ebdde561","line":1396,"in_reply_to":"d7956671_56cf8c2c","updated":"2022-08-03 11:22:01.000000000","message":"now that we have your helper method to restart the compute I guess I can add that.\nrestarting the compute was a bit of a pain without it.","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"8249d0d510bd8c64cd4aa2981a51c64ed8015b0f","unresolved":true,"context_lines":[{"line_number":1407,"context_line":"        ):"},{"line_number":1408,"context_line":"            resized_server \u003d self._resize_server(server, flavor_id)"},{"line_number":1409,"context_line":"            self.assertEqual("},{"line_number":1410,"context_line":"                resized_server[\u0027flavor\u0027][\u0027original_name\u0027], \u0027new-flavor\u0027)"},{"line_number":1411,"context_line":""},{"line_number":1412,"context_line":"    def test_resize_different_host(self):"},{"line_number":1413,"context_line":"        self.flags(allow_resize_to_same_host\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":11,"id":"ea089a41_67c31e15","line":1410,"updated":"2022-08-03 07:46:53.000000000","message":"I would assert that the pci usage on the host did not changed by the resize.","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"56ccffed0cf4339026628ddd3c9f65d8d48b34e8","unresolved":false,"context_lines":[{"line_number":1407,"context_line":"        ):"},{"line_number":1408,"context_line":"            resized_server \u003d self._resize_server(server, flavor_id)"},{"line_number":1409,"context_line":"            self.assertEqual("},{"line_number":1410,"context_line":"                resized_server[\u0027flavor\u0027][\u0027original_name\u0027], \u0027new-flavor\u0027)"},{"line_number":1411,"context_line":""},{"line_number":1412,"context_line":"    def test_resize_different_host(self):"},{"line_number":1413,"context_line":"        self.flags(allow_resize_to_same_host\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":11,"id":"6be0fb81_6102f288","line":1410,"in_reply_to":"ea089a41_67c31e15","updated":"2022-08-03 11:22:01.000000000","message":"Ack","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"8249d0d510bd8c64cd4aa2981a51c64ed8015b0f","unresolved":true,"context_lines":[{"line_number":1425,"context_line":"        self.assertPCIDeviceCounts(source, total\u003dnum_pci, free\u003dnum_pci - 2)"},{"line_number":1426,"context_line":"        flavor_id \u003d self._create_flavor(name\u003d\u0027new-flavor\u0027)"},{"line_number":1427,"context_line":"        self.assertNotEqual(server[\u0027flavor\u0027][\u0027original_name\u0027], \u0027new-flavor\u0027)"},{"line_number":1428,"context_line":"        # disable and stop the source compute and enable the dest"},{"line_number":1429,"context_line":"        self.api.put_service("},{"line_number":1430,"context_line":"            self.computes[\u0027source\u0027].service_ref.uuid, {\u0027status\u0027: \u0027disabled\u0027})"},{"line_number":1431,"context_line":"        self.api.put_service("}],"source_content_type":"text/x-python","patch_set":11,"id":"84cd0d3e_5c8feb2f","line":1428,"range":{"start_line":1428,"start_character":8,"end_line":1428,"end_character":26},"updated":"2022-08-03 07:46:53.000000000","message":"disable is enough no need to stop","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d1299265f8e8d35670d679e5e84d542ba72a8100","unresolved":false,"context_lines":[{"line_number":1425,"context_line":"        self.assertPCIDeviceCounts(source, total\u003dnum_pci, free\u003dnum_pci - 2)"},{"line_number":1426,"context_line":"        flavor_id \u003d self._create_flavor(name\u003d\u0027new-flavor\u0027)"},{"line_number":1427,"context_line":"        self.assertNotEqual(server[\u0027flavor\u0027][\u0027original_name\u0027], \u0027new-flavor\u0027)"},{"line_number":1428,"context_line":"        # disable and stop the source compute and enable the dest"},{"line_number":1429,"context_line":"        self.api.put_service("},{"line_number":1430,"context_line":"            self.computes[\u0027source\u0027].service_ref.uuid, {\u0027status\u0027: \u0027disabled\u0027})"},{"line_number":1431,"context_line":"        self.api.put_service("}],"source_content_type":"text/x-python","patch_set":11,"id":"4a1b9102_d80e8207","line":1428,"range":{"start_line":1428,"start_character":8,"end_line":1428,"end_character":26},"in_reply_to":"0e8a1ca5_1a88ce5c","updated":"2022-08-16 13:05:58.000000000","message":"Done","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"56ccffed0cf4339026628ddd3c9f65d8d48b34e8","unresolved":true,"context_lines":[{"line_number":1425,"context_line":"        self.assertPCIDeviceCounts(source, total\u003dnum_pci, free\u003dnum_pci - 2)"},{"line_number":1426,"context_line":"        flavor_id \u003d self._create_flavor(name\u003d\u0027new-flavor\u0027)"},{"line_number":1427,"context_line":"        self.assertNotEqual(server[\u0027flavor\u0027][\u0027original_name\u0027], \u0027new-flavor\u0027)"},{"line_number":1428,"context_line":"        # disable and stop the source compute and enable the dest"},{"line_number":1429,"context_line":"        self.api.put_service("},{"line_number":1430,"context_line":"            self.computes[\u0027source\u0027].service_ref.uuid, {\u0027status\u0027: \u0027disabled\u0027})"},{"line_number":1431,"context_line":"        self.api.put_service("}],"source_content_type":"text/x-python","patch_set":11,"id":"0e8a1ca5_1a88ce5c","line":1428,"range":{"start_line":1428,"start_character":8,"end_line":1428,"end_character":26},"in_reply_to":"84cd0d3e_5c8feb2f","updated":"2022-08-03 11:22:01.000000000","message":"right I copied this form evacuate.\nalthough im not actually stopping the compute node I just need to fix the comment.","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"8249d0d510bd8c64cd4aa2981a51c64ed8015b0f","unresolved":true,"context_lines":[{"line_number":1443,"context_line":"            self.assertPCIDeviceCounts(source, total\u003dnum_pci, free\u003dnum_pci)"},{"line_number":1444,"context_line":"            self.assertPCIDeviceCounts(dest, total\u003dnum_pci, free\u003dnum_pci - 2)"},{"line_number":1445,"context_line":"            self.assertEqual("},{"line_number":1446,"context_line":"                dest, server[\u0027OS-EXT-SRV-ATTR:hypervisor_hostname\u0027])"},{"line_number":1447,"context_line":""},{"line_number":1448,"context_line":"    def test_cold_migrate(self):"},{"line_number":1449,"context_line":"        source \u003d self.start_compute(hostname\u003d\u0027source\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"42d91043_880a5259","line":1446,"updated":"2022-08-03 07:46:53.000000000","message":"I would like to have a resize revert test case","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d1299265f8e8d35670d679e5e84d542ba72a8100","unresolved":false,"context_lines":[{"line_number":1443,"context_line":"            self.assertPCIDeviceCounts(source, total\u003dnum_pci, free\u003dnum_pci)"},{"line_number":1444,"context_line":"            self.assertPCIDeviceCounts(dest, total\u003dnum_pci, free\u003dnum_pci - 2)"},{"line_number":1445,"context_line":"            self.assertEqual("},{"line_number":1446,"context_line":"                dest, server[\u0027OS-EXT-SRV-ATTR:hypervisor_hostname\u0027])"},{"line_number":1447,"context_line":""},{"line_number":1448,"context_line":"    def test_cold_migrate(self):"},{"line_number":1449,"context_line":"        source \u003d self.start_compute(hostname\u003d\u0027source\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"50861532_4f4d8ec1","line":1446,"in_reply_to":"0b1bb91e_d13eacc7","updated":"2022-08-16 13:05:58.000000000","message":"Done","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"56ccffed0cf4339026628ddd3c9f65d8d48b34e8","unresolved":true,"context_lines":[{"line_number":1443,"context_line":"            self.assertPCIDeviceCounts(source, total\u003dnum_pci, free\u003dnum_pci)"},{"line_number":1444,"context_line":"            self.assertPCIDeviceCounts(dest, total\u003dnum_pci, free\u003dnum_pci - 2)"},{"line_number":1445,"context_line":"            self.assertEqual("},{"line_number":1446,"context_line":"                dest, server[\u0027OS-EXT-SRV-ATTR:hypervisor_hostname\u0027])"},{"line_number":1447,"context_line":""},{"line_number":1448,"context_line":"    def test_cold_migrate(self):"},{"line_number":1449,"context_line":"        source \u003d self.start_compute(hostname\u003d\u0027source\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"0b1bb91e_d13eacc7","line":1446,"in_reply_to":"42d91043_880a5259","updated":"2022-08-03 11:22:01.000000000","message":"ok I can probably add one.\nI need to remember if there is a reason I did not add one but I cant think of any off the top of my head.","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"}],"releasenotes/notes/vdpa-move-ops-a7b3799807807a92.yaml":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"afb5c16847a92e337e505563e035114405594bff","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    When VDPA was first introduced move operations were implemented in the code but untested"},{"line_number":5,"context_line":"    either in a real environment or in functional tests. Due to this gap nova elected to"},{"line_number":6,"context_line":"    block move operations for instance with vdpa devices. The move operations excluding"},{"line_number":7,"context_line":"    live migration have now been tested and found to indeed work so the api blocks have"},{"line_number":8,"context_line":"    now been removed and functional tests introduced. Other operations such as suspend"},{"line_number":9,"context_line":"    and live migration which require code changes to support will be enabled as a feature"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"d1704c73_57302734","line":6,"range":{"start_line":6,"start_character":58,"end_line":6,"end_character":87},"updated":"2022-07-08 10:32:16.000000000","message":"All move operations except for live migration","commit_id":"7fcd1a919c2635ae435593222956c8b81fedfc54"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"afb5c16847a92e337e505563e035114405594bff","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    When VDPA was first introduced move operations were implemented in the code but untested"},{"line_number":5,"context_line":"    either in a real environment or in functional tests. Due to this gap nova elected to"},{"line_number":6,"context_line":"    block move operations for instance with vdpa devices. The move operations excluding"},{"line_number":7,"context_line":"    live migration have now been tested and found to indeed work so the api blocks have"},{"line_number":8,"context_line":"    now been removed and functional tests introduced. Other operations such as suspend"},{"line_number":9,"context_line":"    and live migration which require code changes to support will be enabled as a feature"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"bc465977_8f81ccba","line":6,"range":{"start_line":6,"start_character":44,"end_line":6,"end_character":48},"updated":"2022-07-08 10:32:16.000000000","message":"vDPA","commit_id":"7fcd1a919c2635ae435593222956c8b81fedfc54"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"02d2dab967ae616a8e4baf491a304981e513c7d1","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    When VDPA was first introduced move operations were implemented in the code but untested"},{"line_number":5,"context_line":"    either in a real environment or in functional tests. Due to this gap nova elected to"},{"line_number":6,"context_line":"    block move operations for instance with vdpa devices. The move operations excluding"},{"line_number":7,"context_line":"    live migration have now been tested and found to indeed work so the api blocks have"},{"line_number":8,"context_line":"    now been removed and functional tests introduced. Other operations such as suspend"},{"line_number":9,"context_line":"    and live migration which require code changes to support will be enabled as a feature"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"05b5d5ea_44806473","line":6,"range":{"start_line":6,"start_character":44,"end_line":6,"end_character":48},"in_reply_to":"bc465977_8f81ccba","updated":"2022-08-02 11:23:25.000000000","message":"Done","commit_id":"7fcd1a919c2635ae435593222956c8b81fedfc54"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"02d2dab967ae616a8e4baf491a304981e513c7d1","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    When VDPA was first introduced move operations were implemented in the code but untested"},{"line_number":5,"context_line":"    either in a real environment or in functional tests. Due to this gap nova elected to"},{"line_number":6,"context_line":"    block move operations for instance with vdpa devices. The move operations excluding"},{"line_number":7,"context_line":"    live migration have now been tested and found to indeed work so the api blocks have"},{"line_number":8,"context_line":"    now been removed and functional tests introduced. Other operations such as suspend"},{"line_number":9,"context_line":"    and live migration which require code changes to support will be enabled as a feature"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"f8c895c8_0f710543","line":6,"range":{"start_line":6,"start_character":58,"end_line":6,"end_character":87},"in_reply_to":"d1704c73_57302734","updated":"2022-08-02 11:23:25.000000000","message":"Done","commit_id":"7fcd1a919c2635ae435593222956c8b81fedfc54"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"afb5c16847a92e337e505563e035114405594bff","unresolved":true,"context_lines":[{"line_number":6,"context_line":"    block move operations for instance with vdpa devices. The move operations excluding"},{"line_number":7,"context_line":"    live migration have now been tested and found to indeed work so the api blocks have"},{"line_number":8,"context_line":"    now been removed and functional tests introduced. Other operations such as suspend"},{"line_number":9,"context_line":"    and live migration which require code changes to support will be enabled as a feature"},{"line_number":10,"context_line":"    in the future."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"c5f7a917_1c8960ec","line":9,"updated":"2022-07-08 10:32:16.000000000","message":"enabled as new features","commit_id":"7fcd1a919c2635ae435593222956c8b81fedfc54"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"02d2dab967ae616a8e4baf491a304981e513c7d1","unresolved":false,"context_lines":[{"line_number":6,"context_line":"    block move operations for instance with vdpa devices. The move operations excluding"},{"line_number":7,"context_line":"    live migration have now been tested and found to indeed work so the api blocks have"},{"line_number":8,"context_line":"    now been removed and functional tests introduced. Other operations such as suspend"},{"line_number":9,"context_line":"    and live migration which require code changes to support will be enabled as a feature"},{"line_number":10,"context_line":"    in the future."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"f09c64c2_70b268a0","line":9,"in_reply_to":"c5f7a917_1c8960ec","updated":"2022-08-02 11:23:25.000000000","message":"Done","commit_id":"7fcd1a919c2635ae435593222956c8b81fedfc54"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"afb5c16847a92e337e505563e035114405594bff","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":8,"id":"9edc7717_711950e4","line":11,"updated":"2022-07-08 10:32:16.000000000","message":"nit: can you wrap this at \u003c\u003d 79 characters?","commit_id":"7fcd1a919c2635ae435593222956c8b81fedfc54"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"02d2dab967ae616a8e4baf491a304981e513c7d1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"4f1800a8_5660ca37","line":11,"in_reply_to":"9edc7717_711950e4","updated":"2022-08-02 11:23:25.000000000","message":"Done","commit_id":"7fcd1a919c2635ae435593222956c8b81fedfc54"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"0e34ad4b75a409689a23b3f09c3d4650c14f382d","unresolved":true,"context_lines":[{"line_number":5,"context_line":"    but untested either in a real environment or in functional tests. Due to"},{"line_number":6,"context_line":"    this gap nova elected to block move operations for instance with vDPA"},{"line_number":7,"context_line":"    devices. All move operations except for live migration have now been tested"},{"line_number":8,"context_line":"    and found to indeed work so the api blocks have now been removed and"},{"line_number":9,"context_line":"    functional tests introduced. Other operations such as suspend and"},{"line_number":10,"context_line":"    live migration require code changes to support and will be enabled as new"},{"line_number":11,"context_line":"    features in the future."}],"source_content_type":"text/x-yaml","patch_set":11,"id":"f4a2353d_00352725","line":8,"range":{"start_line":8,"start_character":36,"end_line":8,"end_character":39},"updated":"2022-08-02 17:14:51.000000000","message":"API","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d1299265f8e8d35670d679e5e84d542ba72a8100","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    but untested either in a real environment or in functional tests. Due to"},{"line_number":6,"context_line":"    this gap nova elected to block move operations for instance with vDPA"},{"line_number":7,"context_line":"    devices. All move operations except for live migration have now been tested"},{"line_number":8,"context_line":"    and found to indeed work so the api blocks have now been removed and"},{"line_number":9,"context_line":"    functional tests introduced. Other operations such as suspend and"},{"line_number":10,"context_line":"    live migration require code changes to support and will be enabled as new"},{"line_number":11,"context_line":"    features in the future."}],"source_content_type":"text/x-yaml","patch_set":11,"id":"39403950_b7c4867c","line":8,"range":{"start_line":8,"start_character":36,"end_line":8,"end_character":39},"in_reply_to":"f4a2353d_00352725","updated":"2022-08-16 13:05:58.000000000","message":"Done","commit_id":"ca2e8f4ee957c140ba424a043332220dc180b28e"}]}
