)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3f4a478357f64a36af5d022b446da3fd9df12a41","unresolved":true,"context_lines":[{"line_number":13,"context_line":"The implementation rely on an extra trait"},{"line_number":14,"context_line":"COMPUTE_MANAGED_PCI_DEVICE that is added to every PCI RP"},{"line_number":15,"context_line":"automatically. Note that we cannot use the existing OWNER_NOVA standard"},{"line_number":16,"context_line":"trait as that will be exists on other RPs in RP three. Also we cannot"},{"line_number":17,"context_line":"use the naming scheme of the PCI RPs as cyborg is free to use the same"},{"line_number":18,"context_line":"scheme and also nova might want to use that for VGPUs / MDEVs in the future."},{"line_number":19,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"2f93f3a7_c1e4320e","line":16,"range":{"start_line":16,"start_character":48,"end_line":16,"end_character":53},"updated":"2022-08-19 12:22:48.000000000","message":"tree?","commit_id":"e454b1ef9fc43196d5e1540058f4264362f40592"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"3d191bbbd3ea84f9686ea97bdacdc662d627f26f","unresolved":false,"context_lines":[{"line_number":13,"context_line":"The implementation rely on an extra trait"},{"line_number":14,"context_line":"COMPUTE_MANAGED_PCI_DEVICE that is added to every PCI RP"},{"line_number":15,"context_line":"automatically. Note that we cannot use the existing OWNER_NOVA standard"},{"line_number":16,"context_line":"trait as that will be exists on other RPs in RP three. Also we cannot"},{"line_number":17,"context_line":"use the naming scheme of the PCI RPs as cyborg is free to use the same"},{"line_number":18,"context_line":"scheme and also nova might want to use that for VGPUs / MDEVs in the future."},{"line_number":19,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"f8b965d0_b8f0ec72","line":16,"range":{"start_line":16,"start_character":48,"end_line":16,"end_character":53},"in_reply_to":"2f93f3a7_c1e4320e","updated":"2022-08-30 11:20:39.000000000","message":"yes :)","commit_id":"e454b1ef9fc43196d5e1540058f4264362f40592"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3f4a478357f64a36af5d022b446da3fd9df12a41","unresolved":false,"context_lines":[{"line_number":17,"context_line":"use the naming scheme of the PCI RPs as cyborg is free to use the same"},{"line_number":18,"context_line":"scheme and also nova might want to use that for VGPUs / MDEVs in the future."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Depends-On: https://review.opendev.org/c/openstack/os-traits/+/850538"},{"line_number":21,"context_line":"blueprint: pci-device-tracking-in-placement"},{"line_number":22,"context_line":"Change-Id: I6e68d7754cee51525894c14a74a554d82a648d8d"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"dde752cf_fac2890b","line":20,"range":{"start_line":20,"start_character":12,"end_line":20,"end_character":69},"updated":"2022-08-19 12:22:48.000000000","message":"This is merged 👌","commit_id":"e454b1ef9fc43196d5e1540058f4264362f40592"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"897593c1aacbba102b998032053418a01012ce4a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"64acb4d9_53b2d42b","updated":"2022-07-12 07:08:36.000000000","message":"lets use https://github.com/openstack/os-traits/blob/master/os_traits/owner/__init__.py#L19 instead of the custom trait","commit_id":"e73fb96c44a188aca1357325c5d965b4ede5f85a"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"040278f77382de58bc0cb8af48783639e1573bc5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"794d8558_968d7e25","updated":"2022-06-22 09:12:12.000000000","message":"probably worth splitting this into two patches:\n* detect and reject enabled then disabled\n* introduce [pci]report_in_placement config option (this patch might need to move further into the future when I add allocation healing)","commit_id":"e73fb96c44a188aca1357325c5d965b4ede5f85a"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"59aee48b0163bea3c2de3911d872a017ceb236c0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"698f2eb5_16e33ca5","updated":"2022-07-19 18:47:13.000000000","message":"I still need to split this","commit_id":"2713954bfbb591a66d326428b4788fe3250a87b7"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"10097aec43eae057c8d2e9721dcd9f96cbbc1c63","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"88fd5fb0_8b9846f0","in_reply_to":"698f2eb5_16e33ca5","updated":"2022-07-20 09:44:59.000000000","message":"I split out the report_in_placement config option part so that can be moved further into the future (we need the allocation healing before we can land the config)","commit_id":"2713954bfbb591a66d326428b4788fe3250a87b7"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1a9450554269b1fa6813500c53157c2902d4ae11","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"d6896867_b1c0ad6f","updated":"2022-08-24 04:12:58.000000000","message":"yep this looks good.\nthanks for capturing why the new trait is required","commit_id":"fbdb9ba4a73d44511c1768787593682b512c18ed"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"608ae41542a7075d1cd3baa61b6ffb869cc4b453","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"34875000_9663c081","updated":"2022-08-25 21:30:03.000000000","message":"recheck multicell\n\n[    2.122165] ---[ end Kernel panic - not syncing: IO-APIC + timer doesn\u0027t work!  Boot with apic\u003ddebug and send a report.  Then try booting with the \u0027noapic\u0027 option. ]---","commit_id":"3e68e19d6ebaf12cb88c7dcd9f61c342d2c8d12d"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"32ed259123035c7ae7e0ec53276050f2b062ed90","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"6ac2244a_0f65f486","updated":"2022-08-25 19:09:04.000000000","message":"recheck parent landed","commit_id":"3e68e19d6ebaf12cb88c7dcd9f61c342d2c8d12d"}],"nova/compute/pci_placement_translator.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"897593c1aacbba102b998032053418a01012ce4a","unresolved":true,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"# Used as a marker on each PCI device RP we report so that later we can"},{"line_number":43,"context_line":"# detect if there are already PCI device RPs but the tracking is now disabled"},{"line_number":44,"context_line":"NOVA_MANAGED_PCI \u003d \"CUSTOM_NOVA_MANAGED_PCI_DEVICE\""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"def _is_placement_tracking_enabled() -\u003e bool:"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff2cba64_ca49da3a","line":44,"range":{"start_line":44,"start_character":0,"end_line":44,"end_character":51},"updated":"2022-07-12 07:08:36.000000000","message":"we should not need this.\nwe agree to add owner traits so if we did need a trait to tack this this we could use that no? \n\nI would prefer to use a standard trait if we were to have one other then the owner trait to track this on the compute node recored instead of the pci rp.","commit_id":"e73fb96c44a188aca1357325c5d965b4ede5f85a"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"ddd64616864aa69179267b2cfa2804e029304fca","unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"# Used as a marker on each PCI device RP we report so that later we can"},{"line_number":43,"context_line":"# detect if there are already PCI device RPs but the tracking is now disabled"},{"line_number":44,"context_line":"NOVA_MANAGED_PCI \u003d \"CUSTOM_NOVA_MANAGED_PCI_DEVICE\""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"def _is_placement_tracking_enabled() -\u003e bool:"}],"source_content_type":"text/x-python","patch_set":2,"id":"97e70220_8af18e66","line":44,"range":{"start_line":44,"start_character":0,"end_line":44,"end_character":51},"in_reply_to":"1dd6f754_f76f8099","updated":"2022-07-20 16:52:55.000000000","message":"I proposed the standard COMPUTE_MANAGED_PCI_DEVICE in https://review.opendev.org/c/openstack/os-traits/+/850538","commit_id":"e73fb96c44a188aca1357325c5d965b4ede5f85a"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"6bbaf1100cc2d162f653a039bd60ebbd831af88f","unresolved":true,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"# Used as a marker on each PCI device RP we report so that later we can"},{"line_number":43,"context_line":"# detect if there are already PCI device RPs but the tracking is now disabled"},{"line_number":44,"context_line":"NOVA_MANAGED_PCI \u003d \"CUSTOM_NOVA_MANAGED_PCI_DEVICE\""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"def _is_placement_tracking_enabled() -\u003e bool:"}],"source_content_type":"text/x-python","patch_set":2,"id":"1dd6f754_f76f8099","line":44,"range":{"start_line":44,"start_character":0,"end_line":44,"end_character":51},"in_reply_to":"84c9a777_e6287733","updated":"2022-07-20 11:21:20.000000000","message":"thansk that makes sense.\nshoudl we just make this a standard trait instead.\n\nhttps://github.com/openstack/os-traits/blob/master/os_traits/compute/__init__.py\n\nthis feels like a compute capablity trait to me\nso COMPUTE_MANAGED_PCI_DEVICE\n\nits very like the COMPUTE_SOCKET_PCI_NUMA_AFFINITY and COMPUTE_REMOTE_MANAGED_PORTS \ntraits\nhttps://github.com/openstack/os-traits/blob/master/os_traits/compute/__init__.py#L37-L40\u003d","commit_id":"e73fb96c44a188aca1357325c5d965b4ede5f85a"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"59aee48b0163bea3c2de3911d872a017ceb236c0","unresolved":true,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"# Used as a marker on each PCI device RP we report so that later we can"},{"line_number":43,"context_line":"# detect if there are already PCI device RPs but the tracking is now disabled"},{"line_number":44,"context_line":"NOVA_MANAGED_PCI \u003d \"CUSTOM_NOVA_MANAGED_PCI_DEVICE\""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"def _is_placement_tracking_enabled() -\u003e bool:"}],"source_content_type":"text/x-python","patch_set":2,"id":"84c9a777_e6287733","line":44,"range":{"start_line":44,"start_character":0,"end_line":44,"end_character":51},"in_reply_to":"ff2cba64_ca49da3a","updated":"2022-07-19 18:47:13.000000000","message":"I would prefer to use the standard owner trait too. But unfortunately it is not enough. \n\nWhat this patch needs is a way to detect if any RP in the tree is\n1) owned by nova\nand\n2) represents PCI device(s)\n\nThe #1) can be indicated with the standard owner trait but #2) cannot. There will be RPs in the tree with the standard owner trait that are not PCI devs, i.e. the root RP, and the MDEV RPs. The code cannot rely on the RC as RC can be anything coming form the user and can change via reboot. So nova doesn\u0027t have a list of RCs that _was_ representing a PCI devices before the current compute service reboot and therefore potential RC change in the config.\n\nSo I had to invent something. As traits are pretty free to add I went with that. \n\nOne can argue that this code try to rely on the naming of the RPs but right now nothing prevents a project (i.e. cyborg) to start adding similar name pattern than us. Also in the future we might want to use the same name pattern for MDEV devices as well.","commit_id":"e73fb96c44a188aca1357325c5d965b4ede5f85a"}],"nova/tests/functional/libvirt/test_pci_in_placement.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"897593c1aacbba102b998032053418a01012ce4a","unresolved":true,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def setUp(self):"},{"line_number":39,"context_line":"        super().setUp()"},{"line_number":40,"context_line":"        self.flags(group\u003d\"pci\", report_in_placement\u003dTrue)"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    @staticmethod"},{"line_number":43,"context_line":"    def _to_device_spec_conf(spec_list):"}],"source_content_type":"text/x-python","patch_set":2,"id":"45eca360_77805c33","line":40,"updated":"2022-07-12 07:08:36.000000000","message":"+1\nI commented on a previous patch that I was not a fan of the patcher.","commit_id":"e73fb96c44a188aca1357325c5d965b4ede5f85a"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"59aee48b0163bea3c2de3911d872a017ceb236c0","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def setUp(self):"},{"line_number":39,"context_line":"        super().setUp()"},{"line_number":40,"context_line":"        self.flags(group\u003d\"pci\", report_in_placement\u003dTrue)"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    @staticmethod"},{"line_number":43,"context_line":"    def _to_device_spec_conf(spec_list):"}],"source_content_type":"text/x-python","patch_set":2,"id":"0d526f11_b4910000","line":40,"in_reply_to":"45eca360_77805c33","updated":"2022-07-19 18:47:13.000000000","message":"Ack","commit_id":"e73fb96c44a188aca1357325c5d965b4ede5f85a"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"897593c1aacbba102b998032053418a01012ce4a","unresolved":true,"context_lines":[{"line_number":252,"context_line":"        self.assertIn("},{"line_number":253,"context_line":"            \" VFs from the same PF cannot be configured with different set of \""},{"line_number":254,"context_line":"            \"\u0027traits\u0027 in [pci]device_spec. We got \""},{"line_number":255,"context_line":"            \"CUSTOM_BAR,CUSTOM_NOVA_MANAGED_PCI_DEVICE for 0000:81:00.2 \""},{"line_number":256,"context_line":"            \"and CUSTOM_FOO,CUSTOM_NOVA_MANAGED_PCI_DEVICE for 0000:81:00.1.\","},{"line_number":257,"context_line":"            str(ex)"},{"line_number":258,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":2,"id":"3c7b968f_16a6482e","line":255,"range":{"start_line":255,"start_character":24,"end_line":255,"end_character":54},"updated":"2022-07-12 07:08:36.000000000","message":"as I noted elsewhere I\u0027m pretty sure we can just use the nova owner trait","commit_id":"e73fb96c44a188aca1357325c5d965b4ede5f85a"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"59aee48b0163bea3c2de3911d872a017ceb236c0","unresolved":false,"context_lines":[{"line_number":252,"context_line":"        self.assertIn("},{"line_number":253,"context_line":"            \" VFs from the same PF cannot be configured with different set of \""},{"line_number":254,"context_line":"            \"\u0027traits\u0027 in [pci]device_spec. We got \""},{"line_number":255,"context_line":"            \"CUSTOM_BAR,CUSTOM_NOVA_MANAGED_PCI_DEVICE for 0000:81:00.2 \""},{"line_number":256,"context_line":"            \"and CUSTOM_FOO,CUSTOM_NOVA_MANAGED_PCI_DEVICE for 0000:81:00.1.\","},{"line_number":257,"context_line":"            str(ex)"},{"line_number":258,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":2,"id":"26f1a0d1_02595d91","line":255,"range":{"start_line":255,"start_character":24,"end_line":255,"end_character":54},"in_reply_to":"3c7b968f_16a6482e","updated":"2022-07-19 18:47:13.000000000","message":"unfortunately not. see above.","commit_id":"e73fb96c44a188aca1357325c5d965b4ede5f85a"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"897593c1aacbba102b998032053418a01012ce4a","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"ac947a72_f4e67e49","line":676,"updated":"2022-07-12 07:08:36.000000000","message":"+1","commit_id":"e73fb96c44a188aca1357325c5d965b4ede5f85a"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"59aee48b0163bea3c2de3911d872a017ceb236c0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"ea8a7f62_28e80a5e","line":676,"in_reply_to":"ac947a72_f4e67e49","updated":"2022-07-19 18:47:13.000000000","message":"Ack","commit_id":"e73fb96c44a188aca1357325c5d965b4ede5f85a"}]}
