)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"caf1a65ecce85765bd8559f80a05bc73ff7bf165","unresolved":true,"context_lines":[{"line_number":11,"context_line":"pool can fulfill the requests. It is used both during scheduling and also"},{"line_number":12,"context_line":"during the PCI claim code."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"PCI devices now modelled in placement and the allocation_candidate query"},{"line_number":15,"context_line":"now requests PCI resources therefore each allocation candidate returned"},{"line_number":16,"context_line":"from placement already restricts which PCI devices can be used during"},{"line_number":17,"context_line":"the PciPassthroughFilter, the NumaTopologyFilter, and PCI claim code"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":14,"id":"b7803fc5_c1691921","line":14,"updated":"2022-11-03 12:45:11.000000000","message":"PCI devices are now …","commit_id":"f1d82c0d0a0ef5932bb1e25120015c1099f03d18"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7a937cf22162b256b811d30ec61977c10a1b7e93","unresolved":false,"context_lines":[{"line_number":11,"context_line":"pool can fulfill the requests. It is used both during scheduling and also"},{"line_number":12,"context_line":"during the PCI claim code."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"PCI devices now modelled in placement and the allocation_candidate query"},{"line_number":15,"context_line":"now requests PCI resources therefore each allocation candidate returned"},{"line_number":16,"context_line":"from placement already restricts which PCI devices can be used during"},{"line_number":17,"context_line":"the PciPassthroughFilter, the NumaTopologyFilter, and PCI claim code"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":14,"id":"7de1922f_9d60c3a1","line":14,"in_reply_to":"b7803fc5_c1691921","updated":"2022-11-05 15:09:57.000000000","message":"Ack","commit_id":"f1d82c0d0a0ef5932bb1e25120015c1099f03d18"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"fea967193b0346df12eba09c643a4c90f83d7e27","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"64c4d1e6_4d1d1362","updated":"2022-08-28 17:30:55.000000000","message":"needs unit test coverage","commit_id":"be2cec9f10bb8636bc910bba5b3936205497760c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b69731a1c8526e6c934f0007433a092d876d49b5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"f0875e71_08643598","updated":"2022-12-20 16:54:44.000000000","message":"Took me a while but this looks mostly sane. Will review the follow-up once I hit it.","commit_id":"f1d82c0d0a0ef5932bb1e25120015c1099f03d18"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"c1077dd270c7fa0b383f77a26cfffd1dd3793528","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"b6113291_ae61d22f","updated":"2022-10-17 12:03:10.000000000","message":"bug fixed in a follow up","commit_id":"f1d82c0d0a0ef5932bb1e25120015c1099f03d18"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"6354c7624fed6b5ed7ee31099c26254d17913eeb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"cd402fa2_38bd8f38","updated":"2022-11-07 15:07:27.000000000","message":"you submitted a followup for the warning i questioned so upgrading to +2","commit_id":"f1d82c0d0a0ef5932bb1e25120015c1099f03d18"}],"nova/pci/stats.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"6a3b6ebcad3e9c323bc39313f8072019aa7c245c","unresolved":true,"context_lines":[{"line_number":272,"context_line":"                    self.add_device(alloc_devices.pop())"},{"line_number":273,"context_line":"                raise exception.PciDeviceRequestFailed(requests\u003dpci_requests)"},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"            for pool in pools:"},{"line_number":276,"context_line":"                if pool[\u0027count\u0027] \u003e\u003d count:"},{"line_number":277,"context_line":"                    num_alloc \u003d count"},{"line_number":278,"context_line":"                else:"}],"source_content_type":"text/x-python","patch_set":12,"id":"2fa54535_13a541a2","line":275,"updated":"2022-08-30 23:48:04.000000000","message":"ditto as below. we need to consider counts per RP mapped to pool","commit_id":"2b84ec16bd7ff2cd33264cfba7f9fc87f1cf124c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"e29ba0c23d894f958f672abbb2ae663bcf235def","unresolved":false,"context_lines":[{"line_number":272,"context_line":"                    self.add_device(alloc_devices.pop())"},{"line_number":273,"context_line":"                raise exception.PciDeviceRequestFailed(requests\u003dpci_requests)"},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"            for pool in pools:"},{"line_number":276,"context_line":"                if pool[\u0027count\u0027] \u003e\u003d count:"},{"line_number":277,"context_line":"                    num_alloc \u003d count"},{"line_number":278,"context_line":"                else:"}],"source_content_type":"text/x-python","patch_set":12,"id":"d4602c75_e9dddd0e","line":275,"in_reply_to":"2fa54535_13a541a2","updated":"2022-09-02 13:14:38.000000000","message":"Done in a follow up","commit_id":"2b84ec16bd7ff2cd33264cfba7f9fc87f1cf124c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"6a3b6ebcad3e9c323bc39313f8072019aa7c245c","unresolved":true,"context_lines":[{"line_number":570,"context_line":"                    \"This pool is ignored now.\", pool)"},{"line_number":571,"context_line":"                continue"},{"line_number":572,"context_line":""},{"line_number":573,"context_line":"            if rp_uuid in rp_uuids:"},{"line_number":574,"context_line":"                matching_pools.append(pool)"},{"line_number":575,"context_line":""},{"line_number":576,"context_line":"        return matching_pools"}],"source_content_type":"text/x-python","patch_set":12,"id":"17f8532a_fb88d7b3","line":573,"updated":"2022-08-30 23:48:04.000000000","message":"I could not sleep and realized that this is broken for the case when a request has count\u003d3 and placement returns a candidate that allocates 2 devs from RP1 an one from RP2. At this place we dont check that poolA that maps to RP1 actually has two devs.","commit_id":"2b84ec16bd7ff2cd33264cfba7f9fc87f1cf124c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"e29ba0c23d894f958f672abbb2ae663bcf235def","unresolved":false,"context_lines":[{"line_number":570,"context_line":"                    \"This pool is ignored now.\", pool)"},{"line_number":571,"context_line":"                continue"},{"line_number":572,"context_line":""},{"line_number":573,"context_line":"            if rp_uuid in rp_uuids:"},{"line_number":574,"context_line":"                matching_pools.append(pool)"},{"line_number":575,"context_line":""},{"line_number":576,"context_line":"        return matching_pools"}],"source_content_type":"text/x-python","patch_set":12,"id":"0610be01_e0e4da5a","line":573,"in_reply_to":"17f8532a_fb88d7b3","updated":"2022-09-02 13:14:38.000000000","message":"Done in a follow up","commit_id":"2b84ec16bd7ff2cd33264cfba7f9fc87f1cf124c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"6a3b6ebcad3e9c323bc39313f8072019aa7c245c","unresolved":true,"context_lines":[{"line_number":782,"context_line":""},{"line_number":783,"context_line":"        count \u003d request.count"},{"line_number":784,"context_line":"        for pool in filtered_pools:"},{"line_number":785,"context_line":"            count \u003d self._decrease_pool_count(pools, pool, count)"},{"line_number":786,"context_line":"            if not count:"},{"line_number":787,"context_line":"                break"},{"line_number":788,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"fd41c45b_5c859142","line":785,"updated":"2022-08-30 23:48:04.000000000","message":"similarly as above this might not consume the right amount of devs from the right pool. We have to consider the amount of dev requsted per RP that is mapped to pool and consume that","commit_id":"2b84ec16bd7ff2cd33264cfba7f9fc87f1cf124c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"e29ba0c23d894f958f672abbb2ae663bcf235def","unresolved":false,"context_lines":[{"line_number":782,"context_line":""},{"line_number":783,"context_line":"        count \u003d request.count"},{"line_number":784,"context_line":"        for pool in filtered_pools:"},{"line_number":785,"context_line":"            count \u003d self._decrease_pool_count(pools, pool, count)"},{"line_number":786,"context_line":"            if not count:"},{"line_number":787,"context_line":"                break"},{"line_number":788,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"7daeb463_885bf09e","line":785,"in_reply_to":"fd41c45b_5c859142","updated":"2022-09-02 13:14:38.000000000","message":"Done in a follow up","commit_id":"2b84ec16bd7ff2cd33264cfba7f9fc87f1cf124c"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"caf1a65ecce85765bd8559f80a05bc73ff7bf165","unresolved":true,"context_lines":[{"line_number":567,"context_line":"                    \"placement. This should not happen. Please enable \""},{"line_number":568,"context_line":"                    \"[pci]report_in_placement on all compute hosts before \""},{"line_number":569,"context_line":"                    \"enabling [scheduler]pci_in_placement in the scheduler. \""},{"line_number":570,"context_line":"                    \"This pool is ignored now.\", pool)"},{"line_number":571,"context_line":"                continue"},{"line_number":572,"context_line":""},{"line_number":573,"context_line":"            if rp_uuid in rp_uuids:"}],"source_content_type":"text/x-python","patch_set":14,"id":"1fa2ad49_7bdfd344","line":570,"updated":"2022-11-03 12:45:11.000000000","message":"this would also happen for pools created by device specs with physical_network set?\n+1 for this otherwise i think im +2","commit_id":"f1d82c0d0a0ef5932bb1e25120015c1099f03d18"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7a937cf22162b256b811d30ec61977c10a1b7e93","unresolved":false,"context_lines":[{"line_number":567,"context_line":"                    \"placement. This should not happen. Please enable \""},{"line_number":568,"context_line":"                    \"[pci]report_in_placement on all compute hosts before \""},{"line_number":569,"context_line":"                    \"enabling [scheduler]pci_in_placement in the scheduler. \""},{"line_number":570,"context_line":"                    \"This pool is ignored now.\", pool)"},{"line_number":571,"context_line":"                continue"},{"line_number":572,"context_line":""},{"line_number":573,"context_line":"            if rp_uuid in rp_uuids:"}],"source_content_type":"text/x-python","patch_set":14,"id":"cd16b498_b0da3b12","line":570,"in_reply_to":"1fa2ad49_7bdfd344","updated":"2022-11-05 15:09:57.000000000","message":"Good catch. \n\nDevices with physical_network are not mapped to RPs today. If a host has these devices but also the same host has some PCI devices without physical_network so that the scheduler can select this host for a VM with flavor based PCI alias, then this Warning will appear for the host even if the host is actually well configured.\n\nActually this warning is totally wrong. The case where we have rp_uuids from the scheduler can only happen if the compute host reported PCI inventory otherwise placement won\u0027t return candidate for this host. So the only case when this warning actually logged when the host has [pci]report_in_placement enabled but has both type of PCI devices. Therefore pools without RP mapping can be freely ignored without logging anything. So I\u0027m dropping this log and adding some code comments instead in the FUP https://review.opendev.org/c/openstack/nova/+/862876","commit_id":"f1d82c0d0a0ef5932bb1e25120015c1099f03d18"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"caf1a65ecce85765bd8559f80a05bc73ff7bf165","unresolved":true,"context_lines":[{"line_number":694,"context_line":"                \u0027allocation\u0027,"},{"line_number":695,"context_line":"                before_count - after_count"},{"line_number":696,"context_line":"            )"},{"line_number":697,"context_line":""},{"line_number":698,"context_line":"        if after_count \u003c request.count:"},{"line_number":699,"context_line":"            LOG.debug(\u0027Not enough PCI devices left to satisfy request\u0027)"},{"line_number":700,"context_line":"            return None"}],"source_content_type":"text/x-python","patch_set":14,"id":"b769e3e0_6cefac61","line":697,"updated":"2022-11-03 12:45:11.000000000","message":"+1","commit_id":"f1d82c0d0a0ef5932bb1e25120015c1099f03d18"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7a937cf22162b256b811d30ec61977c10a1b7e93","unresolved":false,"context_lines":[{"line_number":694,"context_line":"                \u0027allocation\u0027,"},{"line_number":695,"context_line":"                before_count - after_count"},{"line_number":696,"context_line":"            )"},{"line_number":697,"context_line":""},{"line_number":698,"context_line":"        if after_count \u003c request.count:"},{"line_number":699,"context_line":"            LOG.debug(\u0027Not enough PCI devices left to satisfy request\u0027)"},{"line_number":700,"context_line":"            return None"}],"source_content_type":"text/x-python","patch_set":14,"id":"a77aa739_9b138147","line":697,"in_reply_to":"b769e3e0_6cefac61","updated":"2022-11-05 15:09:57.000000000","message":"Ack","commit_id":"f1d82c0d0a0ef5932bb1e25120015c1099f03d18"}],"nova/scheduler/filters/numa_topology_filter.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"caf1a65ecce85765bd8559f80a05bc73ff7bf165","unresolved":true,"context_lines":[{"line_number":103,"context_line":"                    \u0027NUMATopologyFilter tries allocation candidate: %s, %s\u0027,"},{"line_number":104,"context_line":"                    candidate, requested_topology"},{"line_number":105,"context_line":"                )"},{"line_number":106,"context_line":"                instance_topology \u003d (hardware.numa_fit_instance_to_host("},{"line_number":107,"context_line":"                    host_topology, requested_topology,"},{"line_number":108,"context_line":"                    limits\u003dlimits,"},{"line_number":109,"context_line":"                    pci_requests\u003dpci_requests,"}],"source_content_type":"text/x-python","patch_set":14,"id":"f74b6416_1f1fe2f7","line":106,"updated":"2022-11-03 12:45:11.000000000","message":"you know the added overhead of checking multiple allocation candiates likely would not have been tenible if it was not for the memorisation that you added to optimize  the numa fitting algorithim.\n\nthat siad i hope that this work in general is still a performance improvment in general","commit_id":"f1d82c0d0a0ef5932bb1e25120015c1099f03d18"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"6354c7624fed6b5ed7ee31099c26254d17913eeb","unresolved":false,"context_lines":[{"line_number":103,"context_line":"                    \u0027NUMATopologyFilter tries allocation candidate: %s, %s\u0027,"},{"line_number":104,"context_line":"                    candidate, requested_topology"},{"line_number":105,"context_line":"                )"},{"line_number":106,"context_line":"                instance_topology \u003d (hardware.numa_fit_instance_to_host("},{"line_number":107,"context_line":"                    host_topology, requested_topology,"},{"line_number":108,"context_line":"                    limits\u003dlimits,"},{"line_number":109,"context_line":"                    pci_requests\u003dpci_requests,"}],"source_content_type":"text/x-python","patch_set":14,"id":"6328fcdc_3d246ef1","line":106,"in_reply_to":"31c86d1a_bcd9f7b4","updated":"2022-11-07 15:07:27.000000000","message":"ya so the one nice thing is the performacne impact is limited only to vms that need numa affinity.\n\nso it wont impact normal vms and numa vms are already slower to schdule\nso hopefully it will in general be an imporvement.\nand yes its is another facet of candidate explosion. \n\nthis is currently at least limited by the gloabal request limit on allcoation candiates so its at most 1000 invocations of this fuction by default per instance regardless of how many host there might be our how many combindation there might be.\n\nwhere as the placment side is currently unbounded so nova will be less impacted.\n\nseperate tought for later but it might make sense to make thsi a genertor.\n\ne.g. when we see there is at least one valid candate yeild nad only check the other valid candiates on a host if required. im not sure that woudl actully work but just somethign i tought of now so i tought i would mention it.\n\nill mark this as resolved since there is no change im asking you to make here.","commit_id":"f1d82c0d0a0ef5932bb1e25120015c1099f03d18"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7a937cf22162b256b811d30ec61977c10a1b7e93","unresolved":true,"context_lines":[{"line_number":103,"context_line":"                    \u0027NUMATopologyFilter tries allocation candidate: %s, %s\u0027,"},{"line_number":104,"context_line":"                    candidate, requested_topology"},{"line_number":105,"context_line":"                )"},{"line_number":106,"context_line":"                instance_topology \u003d (hardware.numa_fit_instance_to_host("},{"line_number":107,"context_line":"                    host_topology, requested_topology,"},{"line_number":108,"context_line":"                    limits\u003dlimits,"},{"line_number":109,"context_line":"                    pci_requests\u003dpci_requests,"}],"source_content_type":"text/x-python","patch_set":14,"id":"31c86d1a_bcd9f7b4","line":106,"in_reply_to":"f74b6416_1f1fe2f7","updated":"2022-11-05 15:09:57.000000000","message":"I\u0027m not sure what will be the general performance outcome of these two changes together in the average case. I\u0027m sure I can craft an example where too many logically equivalent candidates needs to be filtered here ruining the scheduler\u0027s performance. This is another facet of the candidate explosion problem we need to handle by limiting the number of candidates per host.","commit_id":"f1d82c0d0a0ef5932bb1e25120015c1099f03d18"}],"nova/tests/unit/scheduler/filters/test_pci_passthrough_filters.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"caf1a65ecce85765bd8559f80a05bc73ff7bf165","unresolved":true,"context_lines":[{"line_number":94,"context_line":"        host \u003d fakes.FakeHostState(\u0027host1\u0027, \u0027node1\u0027,"},{"line_number":95,"context_line":"            attribute_dict\u003d{\u0027pci_stats\u0027: None})"},{"line_number":96,"context_line":"        self.assertFalse(self.filt_cls.host_passes(host, spec_obj))"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    def test_filters_candidates(self):"},{"line_number":99,"context_line":"        pci_stats_mock \u003d mock.MagicMock()"},{"line_number":100,"context_line":"        # simulate that only the second allocation candidate fits"}],"source_content_type":"text/x-python","patch_set":14,"id":"8ef7516b_4af0eebd","line":97,"updated":"2022-11-03 12:45:11.000000000","message":"there really isnt anythign diffenret betwen the next two tests and the numa toplogy filter version.","commit_id":"f1d82c0d0a0ef5932bb1e25120015c1099f03d18"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7a937cf22162b256b811d30ec61977c10a1b7e93","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        host \u003d fakes.FakeHostState(\u0027host1\u0027, \u0027node1\u0027,"},{"line_number":95,"context_line":"            attribute_dict\u003d{\u0027pci_stats\u0027: None})"},{"line_number":96,"context_line":"        self.assertFalse(self.filt_cls.host_passes(host, spec_obj))"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    def test_filters_candidates(self):"},{"line_number":99,"context_line":"        pci_stats_mock \u003d mock.MagicMock()"},{"line_number":100,"context_line":"        # simulate that only the second allocation candidate fits"}],"source_content_type":"text/x-python","patch_set":14,"id":"b0c4b1d4_9eb852b0","line":97,"in_reply_to":"8ef7516b_4af0eebd","updated":"2022-11-05 15:09:57.000000000","message":"Ack","commit_id":"f1d82c0d0a0ef5932bb1e25120015c1099f03d18"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"caf1a65ecce85765bd8559f80a05bc73ff7bf165","unresolved":true,"context_lines":[{"line_number":106,"context_line":"        )"},{"line_number":107,"context_line":"        requests \u003d objects.InstancePCIRequests(requests\u003d[request])"},{"line_number":108,"context_line":"        spec_obj \u003d objects.RequestSpec(pci_requests\u003drequests)"},{"line_number":109,"context_line":"        host \u003d fakes.FakeHostState("},{"line_number":110,"context_line":"            \"host1\","},{"line_number":111,"context_line":"            \"node1\","},{"line_number":112,"context_line":"            attribute_dict\u003d{"}],"source_content_type":"text/x-python","patch_set":14,"id":"c525fdec_10721bea","line":109,"updated":"2022-11-03 12:45:11.000000000","message":"the main delta is the setup of the pci requests vs the numa toplogy","commit_id":"f1d82c0d0a0ef5932bb1e25120015c1099f03d18"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7a937cf22162b256b811d30ec61977c10a1b7e93","unresolved":false,"context_lines":[{"line_number":106,"context_line":"        )"},{"line_number":107,"context_line":"        requests \u003d objects.InstancePCIRequests(requests\u003d[request])"},{"line_number":108,"context_line":"        spec_obj \u003d objects.RequestSpec(pci_requests\u003drequests)"},{"line_number":109,"context_line":"        host \u003d fakes.FakeHostState("},{"line_number":110,"context_line":"            \"host1\","},{"line_number":111,"context_line":"            \"node1\","},{"line_number":112,"context_line":"            attribute_dict\u003d{"}],"source_content_type":"text/x-python","patch_set":14,"id":"a99f3dc1_a1def9c7","line":109,"in_reply_to":"c525fdec_10721bea","updated":"2022-11-05 15:09:57.000000000","message":"Ack","commit_id":"f1d82c0d0a0ef5932bb1e25120015c1099f03d18"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"caf1a65ecce85765bd8559f80a05bc73ff7bf165","unresolved":true,"context_lines":[{"line_number":182,"context_line":"            provider_mapping\u003d{f\"{uuids.req1}-0\": [\"candidate_rp_1\"]},"},{"line_number":183,"context_line":"        )"},{"line_number":184,"context_line":"        # and also it made the candidates list empty in the host state"},{"line_number":185,"context_line":"        self.assertEqual(0, len(host.allocation_candidates))"}],"source_content_type":"text/x-python","patch_set":14,"id":"95e7b88d_c96bb410","line":185,"updated":"2022-11-03 12:45:11.000000000","message":"so i guess it makes sense to have both versions since they are not identical but the have a lot in common","commit_id":"f1d82c0d0a0ef5932bb1e25120015c1099f03d18"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7a937cf22162b256b811d30ec61977c10a1b7e93","unresolved":false,"context_lines":[{"line_number":182,"context_line":"            provider_mapping\u003d{f\"{uuids.req1}-0\": [\"candidate_rp_1\"]},"},{"line_number":183,"context_line":"        )"},{"line_number":184,"context_line":"        # and also it made the candidates list empty in the host state"},{"line_number":185,"context_line":"        self.assertEqual(0, len(host.allocation_candidates))"}],"source_content_type":"text/x-python","patch_set":14,"id":"1b593050_0f1f7205","line":185,"in_reply_to":"95e7b88d_c96bb410","updated":"2022-11-05 15:09:57.000000000","message":"I\u0027d like to keep them to have test that signals if we ever start diverging the filtering logic between PciPassthroughFilter and NumaTopologyFilter. You are right thought that today we have the same logic applied from both filter.","commit_id":"f1d82c0d0a0ef5932bb1e25120015c1099f03d18"}],"nova/tests/unit/scheduler/test_host_manager.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"caf1a65ecce85765bd8559f80a05bc73ff7bf165","unresolved":true,"context_lines":[{"line_number":1562,"context_line":""},{"line_number":1563,"context_line":"        self.assertIsNone(host.updated)"},{"line_number":1564,"context_line":"        host.consume_from_request(spec_obj)"},{"line_number":1565,"context_line":"        numa_fit_mock.assert_called_once_with(fake_host_numa_topology,"},{"line_number":1566,"context_line":"                                              fake_numa_topology,"},{"line_number":1567,"context_line":"                                              limits\u003dNone, pci_requests\u003dNone,"},{"line_number":1568,"context_line":"                                              pci_stats\u003dNone,"}],"source_content_type":"text/x-python","patch_set":14,"id":"a30edd5f_f3302b50","line":1565,"updated":"2022-11-03 12:45:11.000000000","message":"nit: it would have been nice to reflow this","commit_id":"f1d82c0d0a0ef5932bb1e25120015c1099f03d18"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7a937cf22162b256b811d30ec61977c10a1b7e93","unresolved":false,"context_lines":[{"line_number":1562,"context_line":""},{"line_number":1563,"context_line":"        self.assertIsNone(host.updated)"},{"line_number":1564,"context_line":"        host.consume_from_request(spec_obj)"},{"line_number":1565,"context_line":"        numa_fit_mock.assert_called_once_with(fake_host_numa_topology,"},{"line_number":1566,"context_line":"                                              fake_numa_topology,"},{"line_number":1567,"context_line":"                                              limits\u003dNone, pci_requests\u003dNone,"},{"line_number":1568,"context_line":"                                              pci_stats\u003dNone,"}],"source_content_type":"text/x-python","patch_set":14,"id":"c0c4b6d0_658a3c68","line":1565,"in_reply_to":"a30edd5f_f3302b50","updated":"2022-11-05 15:09:57.000000000","message":"Done in the FUP https://review.opendev.org/c/openstack/nova/+/862876","commit_id":"f1d82c0d0a0ef5932bb1e25120015c1099f03d18"}]}
