)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"827d1bbb7838072ddc2bab5a339162d95ffc6224","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Reject mixed VF rc and trait config"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"If two VFs from the same PF is configured by two separate"},{"line_number":10,"context_line":"[pci]device_spec entries then it is possible to define contradicting"},{"line_number":11,"context_line":"resource classes or traits. This patch detects and rejects such"},{"line_number":12,"context_line":"configuration."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"c3e9310d_4d44a7e4","line":9,"range":{"start_line":9,"start_character":28,"end_line":9,"end_character":30},"updated":"2022-07-12 06:33:03.000000000","message":"nit: are","commit_id":"558c4e24ac6ec21734b7520f2930583fae9c4781"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"89ad4f476008362c0964be90e3bca6e4287528fe","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Reject mixed VF rc and trait config"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"If two VFs from the same PF is configured by two separate"},{"line_number":10,"context_line":"[pci]device_spec entries then it is possible to define contradicting"},{"line_number":11,"context_line":"resource classes or traits. This patch detects and rejects such"},{"line_number":12,"context_line":"configuration."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"cea6ff39_854bedb2","line":9,"range":{"start_line":9,"start_character":28,"end_line":9,"end_character":30},"in_reply_to":"c3e9310d_4d44a7e4","updated":"2022-07-19 18:46:26.000000000","message":"Done","commit_id":"558c4e24ac6ec21734b7520f2930583fae9c4781"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"302a646cbbf766988a963caf82ac844d0422e507","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"08132778_aca1f87e","updated":"2022-08-19 12:15:27.000000000","message":"Nothing too complicated here","commit_id":"57ae49ffdd75de5c81a33d2644f66a3411c45c6b"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"7a75991d7f710676fee159aca03d2c2ab01ca9ea","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"5c817b83_b51bf145","updated":"2022-08-23 17:57:08.000000000","message":"recheck post error","commit_id":"d390bf2a6d30688dbab0786b2ced6484f914f1e1"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"a3c4091a1c1607d263ebdacf893dd6a35f403eac","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":20,"id":"17c70062_634d4fdc","updated":"2022-08-26 01:13:41.000000000","message":"recheck","commit_id":"07f2bf8035927fc469cd10171cc3dd6f23f1ccf4"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d37c91764dee1c9f611910305e624041cf82068d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":20,"id":"554069c6_ba6053c3","updated":"2022-08-25 19:08:38.000000000","message":"recheck parent landed","commit_id":"07f2bf8035927fc469cd10171cc3dd6f23f1ccf4"}],"nova/compute/pci_placement_translator.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"827d1bbb7838072ddc2bab5a339162d95ffc6224","unresolved":true,"context_lines":[{"line_number":109,"context_line":"    return rc"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"class PciResourceProvider:"},{"line_number":113,"context_line":"    \"\"\"A PCI Resource Provider\"\"\""},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    def __init__(self, name: str) -\u003e None:"}],"source_content_type":"text/x-python","patch_set":9,"id":"08e19125_13d91da7","line":112,"range":{"start_line":112,"start_character":6,"end_line":112,"end_character":25},"updated":"2022-07-12 06:33:03.000000000","message":"it just occurred to me that this is modelling both the resource provider and the inventory","commit_id":"558c4e24ac6ec21734b7520f2930583fae9c4781"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"89ad4f476008362c0964be90e3bca6e4287528fe","unresolved":false,"context_lines":[{"line_number":109,"context_line":"    return rc"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"class PciResourceProvider:"},{"line_number":113,"context_line":"    \"\"\"A PCI Resource Provider\"\"\""},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    def __init__(self, name: str) -\u003e None:"}],"source_content_type":"text/x-python","patch_set":9,"id":"aceaf338_2fb0db13","line":112,"range":{"start_line":112,"start_character":6,"end_line":112,"end_character":25},"in_reply_to":"08e19125_13d91da7","updated":"2022-07-19 18:46:26.000000000","message":"Yes, anything that can be updated back to placement via the provider_tree interface","commit_id":"558c4e24ac6ec21734b7520f2930583fae9c4781"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"827d1bbb7838072ddc2bab5a339162d95ffc6224","unresolved":true,"context_lines":[{"line_number":136,"context_line":"            raise exception.PlacementPciException(error\u003dmsg1)"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"        rc \u003d _get_rc_for_dev(dev, dev_spec_tags)"},{"line_number":139,"context_line":"        if self.resource_class and rc !\u003d self.resource_class:"},{"line_number":140,"context_line":"            msg \u003d _("},{"line_number":141,"context_line":"                \"VFs from the same PF cannot be configured with different \""},{"line_number":142,"context_line":"                \"\u0027resource_class\u0027 values in [pci]device_spec. We got %(rc)s \""}],"source_content_type":"text/x-python","patch_set":9,"id":"e6b632eb_47e487c8","line":139,"range":{"start_line":139,"start_character":8,"end_line":139,"end_character":61},"updated":"2022-07-12 06:33:03.000000000","message":"we may want to relax this in the future to allow some VFs to be consumed as VFs and some as VDPA devices. but since that needs VF/vdpa devices to be supported in a neutron context its out of scope for this spec.\n\neventually we might need to consider allowing that and if we do we may need to break out groups of VFs into Child RPs so they can have different traits too.\n\nI know intel QAT device have at least 3 different offload engine that can be consumed seleperatly but you consume them via a single type of VF that has access to all the offload types. so I don\u0027t currently know of any hadware that really supports multiple types of VF from the same pf right now.","commit_id":"558c4e24ac6ec21734b7520f2930583fae9c4781"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"89ad4f476008362c0964be90e3bca6e4287528fe","unresolved":false,"context_lines":[{"line_number":136,"context_line":"            raise exception.PlacementPciException(error\u003dmsg1)"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"        rc \u003d _get_rc_for_dev(dev, dev_spec_tags)"},{"line_number":139,"context_line":"        if self.resource_class and rc !\u003d self.resource_class:"},{"line_number":140,"context_line":"            msg \u003d _("},{"line_number":141,"context_line":"                \"VFs from the same PF cannot be configured with different \""},{"line_number":142,"context_line":"                \"\u0027resource_class\u0027 values in [pci]device_spec. We got %(rc)s \""}],"source_content_type":"text/x-python","patch_set":9,"id":"e13851d1_9afae208","line":139,"range":{"start_line":139,"start_character":8,"end_line":139,"end_character":61},"in_reply_to":"e6b632eb_47e487c8","updated":"2022-07-19 18:46:26.000000000","message":"I agree that if we need mixed VF config within the same PF then we need to model the VFs as RPs under the PF.","commit_id":"558c4e24ac6ec21734b7520f2930583fae9c4781"}],"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":"827d1bbb7838072ddc2bab5a339162d95ffc6224","unresolved":true,"context_lines":[{"line_number":207,"context_line":"            ["},{"line_number":208,"context_line":"                {"},{"line_number":209,"context_line":"                    \"address\": \"0000:81:00.1\","},{"line_number":210,"context_line":"                    \"resource_class\": \"vf1\""},{"line_number":211,"context_line":"                },"},{"line_number":212,"context_line":"                {"},{"line_number":213,"context_line":"                    \"address\": \"0000:81:00.2\","}],"source_content_type":"text/x-python","patch_set":9,"id":"c5b2126f_e4ef617b","line":210,"range":{"start_line":210,"start_character":18,"end_line":210,"end_character":43},"updated":"2022-07-12 06:33:03.000000000","message":"I\u0027m surprised this did not catch the capitalisation bug by the way.\n\ndoes it only happen if it starts with CUSTOM_\n\ncan you perhaps make one of these the explicit RC and the other the short hand version to test both CUSTOM_VF1-\u003e CUSTOM_VF1 and vf2 -\u003e CUSTOM_VF2","commit_id":"558c4e24ac6ec21734b7520f2930583fae9c4781"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"89ad4f476008362c0964be90e3bca6e4287528fe","unresolved":false,"context_lines":[{"line_number":207,"context_line":"            ["},{"line_number":208,"context_line":"                {"},{"line_number":209,"context_line":"                    \"address\": \"0000:81:00.1\","},{"line_number":210,"context_line":"                    \"resource_class\": \"vf1\""},{"line_number":211,"context_line":"                },"},{"line_number":212,"context_line":"                {"},{"line_number":213,"context_line":"                    \"address\": \"0000:81:00.2\","}],"source_content_type":"text/x-python","patch_set":9,"id":"c417f0c6_23369b1c","line":210,"range":{"start_line":210,"start_character":18,"end_line":210,"end_character":43},"in_reply_to":"c5b2126f_e4ef617b","updated":"2022-07-19 18:46:26.000000000","message":"I think the capitalization bug was on the code path were we generate the RC from the vendor/product and that has letters in them. Our libvirt fixture uses vendor/product purely with numbers so I did not caught that. I fixed that in the appropriate patch earlier in this series.","commit_id":"558c4e24ac6ec21734b7520f2930583fae9c4781"}]}
