)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"874f2594ef3aa1e83429eaa1f35fddfcf0d41330","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"e2627f1b_4a1c53e5","updated":"2022-02-01 12:05:30.000000000","message":"I have couple of suggestions\n","commit_id":"50ec6e637f0b78e73e10e8bcbe415f33f924b083"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d1d65cd903bb0132ae3187841654ba5ca9dadb0a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"e7c8b7de_ce152630","updated":"2022-11-17 12:52:26.000000000","message":"I have open suggestion from PS5","commit_id":"c85141a4809e14b54c73c6c3c4810e88512da14a"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"21b4a9c570fb8f777cf47341a2f094becb2a34d2","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":6,"id":"6f5333e8_5671df82","in_reply_to":"e7c8b7de_ce152630","updated":"2022-11-17 14:34:47.000000000","message":"I thought I covered them, although I haven\u0027t attempt to simplify this outside the port base class stuff, I wasn\u0027t really sure where to start with that.","commit_id":"c85141a4809e14b54c73c6c3c4810e88512da14a"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"67973d1eb56c58d111fdc339cef5bfd983e6500f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"a25341de_87504605","updated":"2023-05-18 15:00:58.000000000","message":"Nice job Mark, this looks loads better.","commit_id":"62e5c0681dba34383e3f407f3ba415a847fc01e3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8cb62524dcac4733552f34218a5b87d144e9fff8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"3f4073cb_3d43e3c3","updated":"2024-06-05 11:17:41.000000000","message":"rebased for new results but assuming it still passes i would like to get this landed its been open for far to long","commit_id":"74ee00d19fdaec346b044938e8bfd4a4760e1835"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"39767993eca4d49d7f839758113da3544364bcac","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"4ff031c6_28cfbd8e","updated":"2024-08-13 16:40:54.000000000","message":"Looks good. Thanks for cleaning this up.","commit_id":"a2d77845ab247f1b09e2ae4f32f9421c3f50b98d"}],"nova/tests/fixtures/neutron.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"254cad5ef24caffbb7c0df8b74d1218232438ca4","unresolved":true,"context_lines":[{"line_number":917,"context_line":"            # if the host_id is explicitly set to None, delete the binding"},{"line_number":918,"context_line":"            host, _ \u003d self._get_active_binding(port_id)"},{"line_number":919,"context_line":"            if host in self._port_bindings[port_id]:"},{"line_number":920,"context_line":"                del self._port_bindings[port_id][host]"},{"line_number":921,"context_line":"        else:"},{"line_number":922,"context_line":"            # else it\u0027s an update"},{"line_number":923,"context_line":"            if \u0027binding:host_id\u0027 in body[\u0027port\u0027]:"}],"source_content_type":"text/x-python","patch_set":6,"id":"eb4be6c2_dc9ce7ab","line":920,"updated":"2022-11-17 10:48:30.000000000","message":"I was getting a key error as I failed before the port binding was done, I think?","commit_id":"c85141a4809e14b54c73c6c3c4810e88512da14a"}],"nova/tests/functional/libvirt/test_pci_sriov_servers.py":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"70df59b546dc3901de1094e288aecbe98f0f53f3","unresolved":false,"context_lines":[{"line_number":2943,"context_line":"        self.assert_no_pci_healing(\"test_compute0\")"},{"line_number":2944,"context_line":"        self.assert_no_pci_healing(\"test_compute1\")"},{"line_number":2945,"context_line":""},{"line_number":2946,"context_line":"    def test_reschedule_group_policy(self):"},{"line_number":2947,"context_line":"        # Regression test for https://launchpad.net/bugs/1860555."},{"line_number":2948,"context_line":"        ("},{"line_number":2949,"context_line":"            test_compute0_placement_pci_view,"}],"source_content_type":"text/x-python","patch_set":8,"id":"6cd915b8_dbc12345","line":2946,"updated":"2023-05-18 11:46:49.000000000","message":"This essentially splices the first half of test_reschedule (above) with the second half of test_boot_reschedule_with_proper_pci_device_count from PS7.","commit_id":"62e5c0681dba34383e3f407f3ba415a847fc01e3"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"c007ba939b4f6847fb9cde04f88880c068b1981c","unresolved":true,"context_lines":[{"line_number":2949,"context_line":"            test_compute0_placement_pci_view,"},{"line_number":2950,"context_line":"            test_compute1_placement_pci_view,"},{"line_number":2951,"context_line":"        ) \u003d self._create_two_computes()"},{"line_number":2952,"context_line":""},{"line_number":2953,"context_line":"        # try to boot a VM with a single device but inject a group policy"},{"line_number":2954,"context_line":"        # validation failure on the first attempt VM is re-scheduled to the"},{"line_number":2955,"context_line":"        # other compute"}],"source_content_type":"text/x-python","patch_set":8,"id":"0237999d_4add9100","line":2952,"updated":"2023-09-15 12:53:53.000000000","message":"there are 2 computes each having 1 PCI device.\nwhy 2 nodes ?\nbecause it may fail in resize or live migration too.\n\nbut its not demonstrated in this test.","commit_id":"62e5c0681dba34383e3f407f3ba415a847fc01e3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"7947b9ace146bba64abc9441a252a25f34fa13d3","unresolved":false,"context_lines":[{"line_number":2969,"context_line":"            if validate_group_policy_called:"},{"line_number":2970,"context_line":"                # NOTE(johngarbutt): this is the bug,"},{"line_number":2971,"context_line":"                # it should really be 1"},{"line_number":2972,"context_line":"                self.assertEqual(2, len(instance.pci_devices))"},{"line_number":2973,"context_line":"                pci_device_ids_to_check \u003d ["},{"line_number":2974,"context_line":"                        dev.id for dev in instance.pci_devices]"},{"line_number":2975,"context_line":"                # reload from the DB"}],"source_content_type":"text/x-python","patch_set":8,"id":"69b1356c_f787e55e","line":2972,"updated":"2023-06-23 11:53:27.000000000","message":"ack so this is the bug +1","commit_id":"62e5c0681dba34383e3f407f3ba415a847fc01e3"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"c007ba939b4f6847fb9cde04f88880c068b1981c","unresolved":true,"context_lines":[{"line_number":2969,"context_line":"            if validate_group_policy_called:"},{"line_number":2970,"context_line":"                # NOTE(johngarbutt): this is the bug,"},{"line_number":2971,"context_line":"                # it should really be 1"},{"line_number":2972,"context_line":"                self.assertEqual(2, len(instance.pci_devices))"},{"line_number":2973,"context_line":"                pci_device_ids_to_check \u003d ["},{"line_number":2974,"context_line":"                        dev.id for dev in instance.pci_devices]"},{"line_number":2975,"context_line":"                # reload from the DB"}],"source_content_type":"text/x-python","patch_set":8,"id":"33907950_49f5bf8d","line":2972,"updated":"2023-09-15 12:53:53.000000000","message":"is it possible its 2 because there are 2 compute nodes with each PCI device having same properties/address ? Will it be possible in real scenario or prod env ?\n\n`PciDeviceList(objects\u003d[\n\u0027PciDevice(address\u003d0000:81:00.0, compute_node_id\u003d2)\u0027, \n\u0027PciDevice(address\u003d0000:81:00.0, compute_node_id\u003d1)\u0027])`\n\nin general having same mac addr is a network/communication issue.","commit_id":"62e5c0681dba34383e3f407f3ba415a847fc01e3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"016ee0cec040fae936bb637ec114e88022fa2a6c","unresolved":true,"context_lines":[{"line_number":3009,"context_line":"class PCIResourceRequestReschedulingTest(_PCIServersTestBase):"},{"line_number":3010,"context_line":""},{"line_number":3011,"context_line":"    # Needed for networks\u003dnone"},{"line_number":3012,"context_line":"    microversion \u003d \u00272.37\u0027"},{"line_number":3013,"context_line":""},{"line_number":3014,"context_line":"    PFS_ALIAS_NAME \u003d \u0027pfs\u0027"},{"line_number":3015,"context_line":"    PCI_DEVICE_SPEC \u003d [jsonutils.dumps(x) for x in ("}],"source_content_type":"text/x-python","patch_set":11,"id":"3f93873d_e906de61","line":3012,"updated":"2024-08-13 12:44:02.000000000","message":"+1 for documenting why\nbut ya that makes sense.\n\nwe could boot with a normal network prot if we wanted too but its not relevent to the test so creating a vm without any networking just make it simpler to reason about.","commit_id":"a2d77845ab247f1b09e2ae4f32f9421c3f50b98d"}],"nova/tests/functional/test_servers.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a1d2810ed618be261e1b8761966186f2d3f46355","unresolved":false,"context_lines":[{"line_number":7836,"context_line":"        pci_devices \u003d objects.PciDeviceList.get_by_instance_uuid("},{"line_number":7837,"context_line":"            ctxt, server[\u0027id\u0027])"},{"line_number":7838,"context_line":"        self.assertEqual(1, len(pci_devices))"},{"line_number":7839,"context_line":"        self._delete_and_check_allocations(server)"},{"line_number":7840,"context_line":""},{"line_number":7841,"context_line":""},{"line_number":7842,"context_line":"class AcceleratorServerBase(integrated_helpers.ProviderUsageBaseTestCase):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f621f24_1c051e78","line":7839,"updated":"2020-11-02 11:50:10.000000000","message":"could we get some context comments inline describing the flow of this as it goes? Seems your trying to ensure we end up with only one PCI device at the end, but it would be nice to state that explicitly","commit_id":"0daa871268204480bd95deaab844c38205fe5929"}],"nova/tests/functional/test_servers_resource_request.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"874f2594ef3aa1e83429eaa1f35fddfcf0d41330","unresolved":true,"context_lines":[{"line_number":2754,"context_line":"    alternative compute."},{"line_number":2755,"context_line":"    \"\"\""},{"line_number":2756,"context_line":""},{"line_number":2757,"context_line":"    compute_driver \u003d \u0027fake.FakeRescheduleDriver\u0027"},{"line_number":2758,"context_line":""},{"line_number":2759,"context_line":"    def setUp(self):"},{"line_number":2760,"context_line":"        super(PortResourceRequestReSchedulingTest, self).setUp()"}],"source_content_type":"text/x-python","patch_set":5,"id":"96815a71_e7821cf1","side":"PARENT","line":2757,"updated":"2022-02-01 12:05:30.000000000","message":"Please don\u0027t do this. By removing this driver you invalidate the test test_boot_reschedule_success() as there won\u0027t be any reschedule happening during that test","commit_id":"249ca3bc7903a79ef8d98f2e360cc71aab1916e1"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"70df59b546dc3901de1094e288aecbe98f0f53f3","unresolved":false,"context_lines":[{"line_number":2754,"context_line":"    alternative compute."},{"line_number":2755,"context_line":"    \"\"\""},{"line_number":2756,"context_line":""},{"line_number":2757,"context_line":"    compute_driver \u003d \u0027fake.FakeRescheduleDriver\u0027"},{"line_number":2758,"context_line":""},{"line_number":2759,"context_line":"    def setUp(self):"},{"line_number":2760,"context_line":"        super(PortResourceRequestReSchedulingTest, self).setUp()"}],"source_content_type":"text/x-python","patch_set":5,"id":"332abdd4_a0a84447","side":"PARENT","line":2757,"in_reply_to":"96815a71_e7821cf1","updated":"2023-05-18 11:46:49.000000000","message":"Done","commit_id":"249ca3bc7903a79ef8d98f2e360cc71aab1916e1"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"874f2594ef3aa1e83429eaa1f35fddfcf0d41330","unresolved":true,"context_lines":[{"line_number":2853,"context_line":"        binding_profile \u003d neutronapi.get_binding_profile(updated_port)"},{"line_number":2854,"context_line":"        self.assertNotIn(\u0027allocation\u0027, binding_profile)"},{"line_number":2855,"context_line":""},{"line_number":2856,"context_line":"    def test_boot_reschedule_with_proper_pci_device_count(self):"},{"line_number":2857,"context_line":"        \"\"\"Verify that in case of rescheduling instance with PCI device request"},{"line_number":2858,"context_line":"        instance has proper count of pci devices."},{"line_number":2859,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"60bb1d79_7ceef2b3","line":2856,"updated":"2022-02-01 12:05:30.000000000","message":"I suggest to move this test outside of PortResourceRequestReSchedulingTest test suit as this suite is testing port resource request related logic. You don\u0027t need all the prerequisites (placement config, QoS ports etc) this test suit makes to test your case.","commit_id":"50ec6e637f0b78e73e10e8bcbe415f33f924b083"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"70df59b546dc3901de1094e288aecbe98f0f53f3","unresolved":false,"context_lines":[{"line_number":2853,"context_line":"        binding_profile \u003d neutronapi.get_binding_profile(updated_port)"},{"line_number":2854,"context_line":"        self.assertNotIn(\u0027allocation\u0027, binding_profile)"},{"line_number":2855,"context_line":""},{"line_number":2856,"context_line":"    def test_boot_reschedule_with_proper_pci_device_count(self):"},{"line_number":2857,"context_line":"        \"\"\"Verify that in case of rescheduling instance with PCI device request"},{"line_number":2858,"context_line":"        instance has proper count of pci devices."},{"line_number":2859,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"516e675c_e8e48afa","line":2856,"in_reply_to":"60bb1d79_7ceef2b3","updated":"2023-05-18 11:46:49.000000000","message":"Done","commit_id":"50ec6e637f0b78e73e10e8bcbe415f33f924b083"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"874f2594ef3aa1e83429eaa1f35fddfcf0d41330","unresolved":false,"context_lines":[{"line_number":2875,"context_line":"            nonlocal validate_group_policy_called"},{"line_number":2876,"context_line":"            # on each compute, instance must have exactly one pci device"},{"line_number":2877,"context_line":"            # as requested by sriov port"},{"line_number":2878,"context_line":"            self.assertEqual(1, len(instance.pci_devices))"},{"line_number":2879,"context_line":"            if not validate_group_policy_called:"},{"line_number":2880,"context_line":"                validate_group_policy_called \u003d True"},{"line_number":2881,"context_line":"                raise exception.RescheduledException("}],"source_content_type":"text/x-python","patch_set":5,"id":"7ca27f6e_379adae1","line":2878,"updated":"2022-02-01 12:05:30.000000000","message":"I\u0027ve checked and this test properly fails on master without the fix.","commit_id":"50ec6e637f0b78e73e10e8bcbe415f33f924b083"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"874f2594ef3aa1e83429eaa1f35fddfcf0d41330","unresolved":true,"context_lines":[{"line_number":2880,"context_line":"                validate_group_policy_called \u003d True"},{"line_number":2881,"context_line":"                raise exception.RescheduledException("},{"line_number":2882,"context_line":"                    instance_uuid\u003d\u0027fake-uuid\u0027,"},{"line_number":2883,"context_line":"                    reason\u003d\u0027Tests: afinity validation has to fail once\u0027)"},{"line_number":2884,"context_line":""},{"line_number":2885,"context_line":"        with mock.patch("},{"line_number":2886,"context_line":"                (\u0027nova.compute.manager.ComputeManager.\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"fb02b1b2_930997a1","line":2883,"range":{"start_line":2883,"start_character":35,"end_line":2883,"end_character":42},"updated":"2022-02-01 12:05:30.000000000","message":"nit: affinity","commit_id":"50ec6e637f0b78e73e10e8bcbe415f33f924b083"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"70df59b546dc3901de1094e288aecbe98f0f53f3","unresolved":false,"context_lines":[{"line_number":2880,"context_line":"                validate_group_policy_called \u003d True"},{"line_number":2881,"context_line":"                raise exception.RescheduledException("},{"line_number":2882,"context_line":"                    instance_uuid\u003d\u0027fake-uuid\u0027,"},{"line_number":2883,"context_line":"                    reason\u003d\u0027Tests: afinity validation has to fail once\u0027)"},{"line_number":2884,"context_line":""},{"line_number":2885,"context_line":"        with mock.patch("},{"line_number":2886,"context_line":"                (\u0027nova.compute.manager.ComputeManager.\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"4719e939_0c41b72e","line":2883,"range":{"start_line":2883,"start_character":35,"end_line":2883,"end_character":42},"in_reply_to":"fb02b1b2_930997a1","updated":"2023-05-18 11:46:49.000000000","message":"Done","commit_id":"50ec6e637f0b78e73e10e8bcbe415f33f924b083"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"467c50bbbe1f931afb40f0659656e5f6cbe2f99c","unresolved":true,"context_lines":[{"line_number":2858,"context_line":""},{"line_number":2859,"context_line":""},{"line_number":2860,"context_line":"class PCIResourceRequestReSchedulingTest("},{"line_number":2861,"context_line":"        PortResourceRequestBasedSchedulingTestBase):"},{"line_number":2862,"context_line":"    \"\"\"Similar to PortResourceRequestBasedSchedulingTest"},{"line_number":2863,"context_line":"    except this test uses FakeRescheduleDriver which will test reschedules"},{"line_number":2864,"context_line":"    during server create work as expected, i.e. that the resource request"}],"source_content_type":"text/x-python","patch_set":7,"id":"ada0fc73_d5c7be04","line":2861,"updated":"2022-11-18 10:41:41.000000000","message":"So I know this base class has too much in it, but have folks got ideas on a better starting place to get placement and PCI devices sorted please? This does seem to do job rather nicely right now.","commit_id":"5106c5c63481c07565c32cf73a03c585a7238ebc"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d534df8581a058143462ec3817ff1c54de7a032a","unresolved":true,"context_lines":[{"line_number":2858,"context_line":""},{"line_number":2859,"context_line":""},{"line_number":2860,"context_line":"class PCIResourceRequestReSchedulingTest("},{"line_number":2861,"context_line":"        PortResourceRequestBasedSchedulingTestBase):"},{"line_number":2862,"context_line":"    \"\"\"Similar to PortResourceRequestBasedSchedulingTest"},{"line_number":2863,"context_line":"    except this test uses FakeRescheduleDriver which will test reschedules"},{"line_number":2864,"context_line":"    during server create work as expected, i.e. that the resource request"}],"source_content_type":"text/x-python","patch_set":7,"id":"76e469f2_48e702fa","line":2861,"in_reply_to":"3e87661f_f8478707","updated":"2024-06-11 16:52:09.000000000","message":"ya thats a fair point. thre is no neutorn depency in this bug.\n\nthe only conser i have is who will do this change given no one is activly working on this.\n\ni did the rebase quickly but im not currently workin on this patch so we may need to reach out internally and see if we can get someone to take this over.","commit_id":"5106c5c63481c07565c32cf73a03c585a7238ebc"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"e5c37e6eb1d6d5392c0ae6fbe717516f6a2b316a","unresolved":true,"context_lines":[{"line_number":2858,"context_line":""},{"line_number":2859,"context_line":""},{"line_number":2860,"context_line":"class PCIResourceRequestReSchedulingTest("},{"line_number":2861,"context_line":"        PortResourceRequestBasedSchedulingTestBase):"},{"line_number":2862,"context_line":"    \"\"\"Similar to PortResourceRequestBasedSchedulingTest"},{"line_number":2863,"context_line":"    except this test uses FakeRescheduleDriver which will test reschedules"},{"line_number":2864,"context_line":"    during server create work as expected, i.e. that the resource request"}],"source_content_type":"text/x-python","patch_set":7,"id":"3e87661f_f8478707","line":2861,"in_reply_to":"6dc3a108_6378e4cd","updated":"2024-06-11 15:49:35.000000000","message":"Sorry I still don\u0027t like this. As Sean pointed out this test could use a simpler base class. It does not need any neutron port resource request logic this base class creates. So this test case is still in the wrong file and using a base class that is for something else. If the base classes used in test_pci_sriov_servers.py is lacking some fixtures that you need then please enhance the base class there instead of reusing PortResourceRequestBasedSchedulingTestBase. If it turns out that what you need is exactly the same setup as the PortResourceRequestBasedSchedulingTestBase then please move and rename PortResourceRequestBasedSchedulingTestBase to be more generic (i.e. not be specific for neutron port resource request testing)","commit_id":"5106c5c63481c07565c32cf73a03c585a7238ebc"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"3601130483751e8b9ca9c9166d12df5146419f79","unresolved":true,"context_lines":[{"line_number":2858,"context_line":""},{"line_number":2859,"context_line":""},{"line_number":2860,"context_line":"class PCIResourceRequestReSchedulingTest("},{"line_number":2861,"context_line":"        PortResourceRequestBasedSchedulingTestBase):"},{"line_number":2862,"context_line":"    \"\"\"Similar to PortResourceRequestBasedSchedulingTest"},{"line_number":2863,"context_line":"    except this test uses FakeRescheduleDriver which will test reschedules"},{"line_number":2864,"context_line":"    during server create work as expected, i.e. that the resource request"}],"source_content_type":"text/x-python","patch_set":7,"id":"a36714a0_87d1c89a","line":2861,"in_reply_to":"76e469f2_48e702fa","updated":"2024-08-10 13:55:12.000000000","message":"I was able to dramatically simplify this and move it to libvirt/test_pci_sriov_servers.py","commit_id":"5106c5c63481c07565c32cf73a03c585a7238ebc"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"205a380adeff12f307d7358666081d421f05efc9","unresolved":true,"context_lines":[{"line_number":2858,"context_line":""},{"line_number":2859,"context_line":""},{"line_number":2860,"context_line":"class PCIResourceRequestReSchedulingTest("},{"line_number":2861,"context_line":"        PortResourceRequestBasedSchedulingTestBase):"},{"line_number":2862,"context_line":"    \"\"\"Similar to PortResourceRequestBasedSchedulingTest"},{"line_number":2863,"context_line":"    except this test uses FakeRescheduleDriver which will test reschedules"},{"line_number":2864,"context_line":"    during server create work as expected, i.e. that the resource request"}],"source_content_type":"text/x-python","patch_set":7,"id":"aec66808_aba3eabe","line":2861,"in_reply_to":"ada0fc73_d5c7be04","updated":"2022-11-18 13:03:13.000000000","message":"in general if you want to test pci device my go do is \n\nhttps://github.com/openstack/nova/blob/master/nova/tests/functional/libvirt/test_pci_sriov_servers.py#L45\n\ni am pretty sure we have the palcment fixture sin place there too.","commit_id":"5106c5c63481c07565c32cf73a03c585a7238ebc"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"3efebc411217d41dadb319f1c5bc7546e144368a","unresolved":true,"context_lines":[{"line_number":2858,"context_line":""},{"line_number":2859,"context_line":""},{"line_number":2860,"context_line":"class PCIResourceRequestReSchedulingTest("},{"line_number":2861,"context_line":"        PortResourceRequestBasedSchedulingTestBase):"},{"line_number":2862,"context_line":"    \"\"\"Similar to PortResourceRequestBasedSchedulingTest"},{"line_number":2863,"context_line":"    except this test uses FakeRescheduleDriver which will test reschedules"},{"line_number":2864,"context_line":"    during server create work as expected, i.e. that the resource request"}],"source_content_type":"text/x-python","patch_set":7,"id":"f5d37af1_f5abd45a","line":2861,"in_reply_to":"aec66808_aba3eabe","updated":"2022-11-18 13:06:38.000000000","message":"https://github.com/openstack/nova/blob/master/nova/tests/functional/libvirt/test_pci_sriov_servers.py#L174\n\nadds support for live migration but i think cold migration might work without that\n\nyou cant really test this properly without using the libvirt virt driver and libvirt fixutres which i dont think are in use here.\n\nthe pci code is for the most part virt dirver independent but the fixtures for simulating pci devices on compute nodes and reportign them are only  avaiable in the libvirt tests.\n\nthe fake dirver does not supprot pic/sriov","commit_id":"5106c5c63481c07565c32cf73a03c585a7238ebc"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"70df59b546dc3901de1094e288aecbe98f0f53f3","unresolved":true,"context_lines":[{"line_number":2858,"context_line":""},{"line_number":2859,"context_line":""},{"line_number":2860,"context_line":"class PCIResourceRequestReSchedulingTest("},{"line_number":2861,"context_line":"        PortResourceRequestBasedSchedulingTestBase):"},{"line_number":2862,"context_line":"    \"\"\"Similar to PortResourceRequestBasedSchedulingTest"},{"line_number":2863,"context_line":"    except this test uses FakeRescheduleDriver which will test reschedules"},{"line_number":2864,"context_line":"    during server create work as expected, i.e. that the resource request"}],"source_content_type":"text/x-python","patch_set":7,"id":"6dc3a108_6378e4cd","line":2861,"in_reply_to":"f5d37af1_f5abd45a","updated":"2023-05-18 11:46:49.000000000","message":"I\u0027ve moved the test to the file suggested and reworked a little to fit in.","commit_id":"5106c5c63481c07565c32cf73a03c585a7238ebc"}]}
