)]}'
{"id":"openstack%2Fnova~952480","triplet_id":"openstack%2Fnova~stable%2F2024.2~I9dd78b1498f870a4e4c3f26c23d42d105aec0350","project":"openstack/nova","branch":"stable/2024.2","topic":"bug/2102038","hashtags":[],"change_id":"I9dd78b1498f870a4e4c3f26c23d42d105aec0350","subject":"Multiple spec per PCI alias limitation","status":"ABANDONED","created":"2025-06-12 16:45:27.000000000","updated":"2026-04-30 09:18:04.000000000","total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"e86310f2d6baaa4aa212f016f64de65899981177","_number":952480,"virtual_id_number":952480,"owner":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:check","value":1,"date":"2025-06-12 16:56:45.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","value":1,"default_value":0,"optional":true},"Code-Review":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"all":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{" 0":"Default Priority","+1":"Contributor Review Promise","+2":"Core Review Promise"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"CC":[{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"}],"REVIEWER":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2025-06-12 16:56:45.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2026-04-30 09:18:04.000000000","updated_by":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"reviewer":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"state":"CC"}],"messages":[{"id":"62969b42314928177e07a7263837033b2f371c50","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2025-06-12 16:45:27.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"4b0e69f572a61b146e83e6d0e6fc1f1fc4415ac0","tag":"autogenerated:gerrit:setTopic","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2025-06-12 16:46:26.000000000","message":"Topic bug/2111440 removed","accounts_in_message":[],"_revision_number":1},{"id":"502b9e7f9382cab53837a20ca73945f1422deb01","tag":"autogenerated:gerrit:setTopic","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2025-06-12 16:46:32.000000000","message":"Topic set to bug/2102038","accounts_in_message":[],"_revision_number":1},{"id":"3257440262f7eb0aa0e141614c334c03f86a87b0","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-06-12 16:56:45.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/b49c38176dba4d439d21a0fe8be980d8\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/25847be55fc64636ab532826e2aa75ae : SUCCESS in 7m 15s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/21568eb2f4ea47c9b76a11924cde467c : SUCCESS in 10m 26s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/687d9c2e3bc349b3a95a274d37f2c7ac : FAILURE in 5m 02s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"e86310f2d6baaa4aa212f016f64de65899981177","tag":"autogenerated:gerrit:abandon","author":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"date":"2026-04-30 09:18:04.000000000","message":"Abandoned\n\nstable/2024.2 branch of openstack/nova transitioned to End of Life and is about to be deleted. To be able to do that, all open patches need to be abandoned.","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"bd36e871298c504ba2a4315832bf2984a53ba524","revisions":{"bd36e871298c504ba2a4315832bf2984a53ba524":{"kind":"REWORK","_number":1,"created":"2025-06-12 16:45:27.000000000","uploader":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"ref":"refs/changes/80/952480/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/80/952480/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/80/952480/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/80/952480/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/80/952480/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/80/952480/1"}}},"commit":{"parents":[{"commit":"da7b72a42b72149908ec9719f3fcf2c3871e85f9","subject":"Return HTTP400 for multi spec pci alias if PCI in Placement","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/da7b72a42b72149908ec9719f3fcf2c3871e85f9"}]}],"author":{"name":"Balazs Gibizer","email":"gibi@redhat.com","date":"2025-03-11 16:14:27.000000000","tz":60},"committer":{"name":"Balazs Gibizer","email":"gibi@redhat.com","date":"2025-06-12 13:31:43.000000000","tz":120},"subject":"Multiple spec per PCI alias limitation","message":"Multiple spec per PCI alias limitation\n\nDocument and the limitation of the PCI in Placement feature that it\ndoes not support [pci]alias configuration where the name of the alias is\nrepeated. E.g.\n\n[pci]\nalias \u003d { \"name\": \"vf1\", \"product_id\":\"10ca\", \"vendor_id\":\"8086\", \"device_type\":\"type-VF\"}\nalias \u003d { \"name\": \"vf1\", \"product_id\":\"f000\", \"vendor_id\":\"8086\", \"device_type\":\"type-VF\"}\n\nThis would mean the alias vf1 can be fulfilled from devices with product\nid 10ca OR f000. However this OR relationship cannot be encoded to a\nsingle Placement allocation query as Placement does not support\nrequesting alternative resource classes for a request[2].\n\nThis limitation was encoded in the original PCI in Placement\nimplementation[1] but we missed to mention it in the doc.\nThis is now fixed.\n\n[1]https://github.com/openstack/nova/blob/0d484ce37d86e989c8abdf57aec5e334f68206ef/nova/objects/request_spec.py#L504-L528\n[2]https://docs.openstack.org/api-ref/placement/#list-allocation-candidates\n\nRelated-Bug: #2102038\nChange-Id: I9dd78b1498f870a4e4c3f26c23d42d105aec0350\n(cherry picked from commit c3f392dd8e895c457abd55d82d58f1bb400ccff6)\n(cherry picked from commit 265f4926c8fca7d7d2da7349e5bf52630498b4fd)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/bd36e871298c504ba2a4315832bf2984a53ba524"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/bd36e871298c504ba2a4315832bf2984a53ba524"}]},"branch":"refs/heads/stable/2024.2"}},"requirements":[],"submit_records":[],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Verified\u003dMAX","label:Verified\u003dMIN"],"atom_explanations":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Code-Review\u003dMAX","label:Code-Review\u003dMIN"],"atom_explanations":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"name":"Review-Priority","description":"Review Priority","status":"NOT_APPLICABLE","is_legacy":false,"applicability_expression_result":{"fulfilled":false,"status":"FAIL"},"submittability_expression_result":{"expression":"is:true","fulfilled":true,"status":"NOT_EVALUATED","passing_atoms":[],"failing_atoms":[],"atom_explanations":{}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Workflow\u003dMAX","label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
