)]}'
{"id":"openstack%2Fnova~952454","triplet_id":"openstack%2Fnova~stable%2F2025.1~I9dd78b1498f870a4e4c3f26c23d42d105aec0350","project":"openstack/nova","branch":"stable/2025.1","topic":"bug/2102038","attention_set":{},"removed_from_attention_set":{"9708":{"account":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"last_update":"2026-05-06 20:32:45.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I9dd78b1498f870a4e4c3f26c23d42d105aec0350","subject":"Multiple spec per PCI alias limitation","status":"MERGED","created":"2025-06-12 13:25:56.000000000","updated":"2026-05-06 20:35:08.000000000","submitted":"2026-05-06 20:32:45.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":3,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"952454-bug/2102038","meta_rev_id":"52b927a2e3a75a68abb294e37d68aad114324da1","_number":952454,"virtual_id_number":952454,"owner":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},{"value":0,"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-05-06 20:32:45.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"all":[{"value":2,"date":"2026-05-06 18:08:50.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},{"value":2,"date":"2025-06-17 11:47:38.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":1,"date":"2025-06-16 05:50:12.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"}],"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":{"approved":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"all":[{"value":1,"date":"2026-05-06 18:08:50.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},{"value":0,"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},{"value":0,"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"}],"values":{" 0":"Default Priority","+1":"Contributor Review Promise","+2":"Core Review Promise"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"CC":[{"_account_id":36571,"name":"vmwareapi CI run by SAP","display_name":"vmwareapi CI run by SAP","email":"openstack-ci@sap.com","username":"sap-openstack-ci","status":"CI account for integration tests of the Nova vmwareapi driver","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2025-06-12 13:51:22.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":"2025-06-14 19:09:14.000000000","updated_by":{"_account_id":36571,"name":"vmwareapi CI run by SAP","display_name":"vmwareapi CI run by SAP","email":"openstack-ci@sap.com","username":"sap-openstack-ci","status":"CI account for integration tests of the Nova vmwareapi driver","tags":["SERVICE_USER"]},"reviewer":{"_account_id":36571,"name":"vmwareapi CI run by SAP","display_name":"vmwareapi CI run by SAP","email":"openstack-ci@sap.com","username":"sap-openstack-ci","status":"CI account for integration tests of the Nova vmwareapi driver","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2025-06-16 05:50:12.000000000","updated_by":{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},"reviewer":{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},"state":"REVIEWER"},{"updated":"2025-06-17 11:47:38.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":"REVIEWER"},{"updated":"2026-05-06 18:08:50.000000000","updated_by":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"reviewer":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"state":"REVIEWER"}],"messages":[{"id":"21d6a4835d3a0c6d25e38c974284e81b163028c3","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2025-06-12 13:25:56.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"54c6dd03977bce9c6c5fb61febe37df351f5df08","tag":"autogenerated:gerrit:setTopic","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2025-06-12 13:28:10.000000000","message":"Topic bug/2111440 removed","accounts_in_message":[],"_revision_number":1},{"id":"e02424ec7ffd2ebfdf8abf104b260e78ac3158fb","tag":"autogenerated:gerrit:setTopic","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2025-06-12 13:28:15.000000000","message":"Topic set to bug/2102038","accounts_in_message":[],"_revision_number":1},{"id":"a1f0dfbc99b7b9aa80ec7d181079b72792cf8375","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-06-12 13:51:22.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/111f7aaf8b6243cdb625f2617feb8da8\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/520a1c64324541739c5cad5433518407 : SUCCESS in 3m 58s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/7cfa29df47fb41d7baac49b17db6d17d : SUCCESS in 18m 44s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/2334a2a0065f4ff79097c9b021f0c196 : SUCCESS in 2m 35s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"818eb0875f5ad504b84ccc91411efc820245c201","tag":"autogenerated:sap-openstack-ci~result","author":{"_account_id":36571,"name":"vmwareapi CI run by SAP","display_name":"vmwareapi CI run by SAP","email":"openstack-ci@sap.com","username":"sap-openstack-ci","status":"CI account for integration tests of the Nova vmwareapi driver","tags":["SERVICE_USER"]},"date":"2025-06-14 19:09:14.000000000","message":"Patch Set 1:\n\nIgnore for now: Test failed. Logs on \u003chttp://openstack-ci-logs.global.cloud.sap/openstack-nova-952454-rhbt8/index.html\u003e","accounts_in_message":[],"_revision_number":1},{"id":"d3d2c3cfb81126c76688d2163d41a4be656367cd","author":{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},"date":"2025-06-16 05:50:12.000000000","message":"Patch Set 1: Code-Review+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"1ba7486e660d7c3330f480e1ec240d3462d6f320","author":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"date":"2025-06-17 11:47:38.000000000","message":"Patch Set 1: Code-Review+2\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"3f3ec98d7775c7448187e72028ed5c14429dd4e8","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2026-05-06 18:08:50.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"f38f0253348f588b0097c22f4d9a778b051ecb27","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-06 18:11:48.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"2a85699b7bb9315a17fefce1017c04464377328f","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-06 20:32:45.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/069334dd7ffa4f0da9cb4f7daf467517\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/21c2c70157094241b9fbbb271287f25e : SUCCESS in 4m 55s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/3bde9d1bb3aa49b8b06bdd98c6e2fd76 : SUCCESS in 11m 45s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/891948dc7e004a21a072b0a4da980d19 : SUCCESS in 5m 27s","accounts_in_message":[],"_revision_number":1},{"id":"1df824da2a593b79c774a38a3c0ac0d8018add5f","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-06 20:32:45.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":1},{"id":"52b927a2e3a75a68abb294e37d68aad114324da1","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-06 20:35:08.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/0052a1cb9f5148ea8f8a9228c63baf75\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/71f75b59f2464fa8aef88b4cc042b9a1 : SUCCESS in 56s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"265f4926c8fca7d7d2da7349e5bf52630498b4fd","revisions":{"265f4926c8fca7d7d2da7349e5bf52630498b4fd":{"kind":"REWORK","_number":1,"created":"2025-06-12 13:25:56.000000000","uploader":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"ref":"refs/changes/54/952454/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/54/952454/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/54/952454/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/54/952454/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/54/952454/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/54/952454/1"}}},"commit":{"parents":[{"commit":"f0a1ee5a8835bad56d9736131406eb20a64fd8c2","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/f0a1ee5a8835bad56d9736131406eb20a64fd8c2"}]}],"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:13:14.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","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/265f4926c8fca7d7d2da7349e5bf52630498b4fd"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/265f4926c8fca7d7d2da7349e5bf52630498b4fd"}]},"branch":"refs/heads/stable/2025.1"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"CLOSED","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY","applied_by":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"}},{"label":"Review-Priority","status":"MAY"}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX"],"failing_atoms":["label:Verified\u003dMIN"],"atom_explanations":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dMAX"],"failing_atoms":["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":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dMAX"],"failing_atoms":["label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
