)]}'
{"id":"openstack%2Fnova~966205","triplet_id":"openstack%2Fnova~master~I906521979966fd224ed14df118cc81221d793f66","project":"openstack/nova","branch":"master","attention_set":{"9542":{"account":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"last_update":"2025-11-05 19:55:49.000000000","reason":"A robot voted negatively on a label"}},"removed_from_attention_set":{},"hashtags":[],"change_id":"I906521979966fd224ed14df118cc81221d793f66","subject":"Implement placement:same_subtree flavor extra spec","status":"NEW","created":"2025-11-05 17:19:29.000000000","updated":"2025-11-12 14:43:59.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":false,"submittable":false,"total_comment_count":4,"unresolved_comment_count":1,"has_review_started":true,"meta_rev_id":"2e005b995999e6d062abd7eca70ca2d0b5983f55","_number":966205,"virtual_id_number":966205,"owner":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"actions":{},"labels":{"Verified":{"disliked":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"tag":"autogenerated:zuul:check","value":-1,"date":"2025-11-05 19:55:49.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":{"disliked":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"all":[{"value":-1,"date":"2025-11-05 17:46:48.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"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":"","value":-1,"default_value":0,"optional":true},"Workflow":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"_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":2},"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"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":{"REVIEWER":[{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"_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-11-05 17:46:48.000000000","updated_by":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"reviewer":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"state":"REVIEWER"},{"updated":"2025-11-05 19:55:49.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-11-12 14:43:59.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"}],"messages":[{"id":"2d7e6f7458b8a79f3717996f24fd3bf6953e47d8","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"date":"2025-11-05 17:19:29.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"1543539fe1fb4908184e36ad796f6be45a61f28c","author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"date":"2025-11-05 17:21:40.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"1d15123070385f66be2dc6aabef5e68422329d85","author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"date":"2025-11-05 17:36:00.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"ed9a24c2e9ef22fb50f88b9bc29b841fb547630c","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2025-11-05 17:46:48.000000000","message":"Patch Set 1: Code-Review-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"279273ff0a58aec8d11f56072603fb36355cd28e","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2025-11-05 17:48:06.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"4eb289388245c66bed5bd3edf7789d824ba1044c","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-05 19:55:49.000000000","message":"Patch Set 1: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/3550a4a3619b427bb570e3028ca73b12\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/d55f126fe22744889490ff517436c006 : SUCCESS in 2m 39s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/a46fd5eb80d84bd4ad345836a348fddb : SUCCESS in 1h 09m 39s\n- tempest-integrated-compute https://zuul.opendev.org/t/openstack/build/9edf9d41b8264a0cb8aa8a36906111cb : SUCCESS in 1h 10m 02s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/c4c3b2a63ac440448b475b23b587bccb : SUCCESS in 1h 06m 40s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/457128a9505e44718f8f51f02f6070e6 : SUCCESS in 27m 00s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/459950888677433186afa75d41f8262b : SUCCESS in 9m 56s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/6b74c121d8524be29eec8bc0db2d8f27 : SUCCESS in 16m 40s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/e476fc1f0b5f48b7a9f44df2fd598e19 : SUCCESS in 15m 09s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/9fbcb464484f4e97b6c45f1804eb3c22 : SUCCESS in 17m 17s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/b2b55a1b836442389d9f8cd36db632c2 : SUCCESS in 8m 28s\n- ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa https://zuul.opendev.org/t/openstack/build/7873d7c0ec8a4db4a95c66af07463870 : SUCCESS in 47m 36s (non-voting)\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/24481a06e3664b9d9faf1d1ddb7389ee : SUCCESS in 1h 40m 52s\n- nova-live-migration https://zuul.opendev.org/t/openstack/build/d3dafdc78c4e464a9d31999101ad5756 : SUCCESS in 44m 42s\n- nova-live-migration-ceph https://zuul.opendev.org/t/openstack/build/4698efb4c1ce47deb33644e8d802b30b : SUCCESS in 53m 08s\n- nova-multi-cell https://zuul.opendev.org/t/openstack/build/b24731d89a284c399b75f870c194421b : FAILURE in 1h 27m 09s\n- nova-next https://zuul.opendev.org/t/openstack/build/dd757b18e1934baab9a65123129a26d8 : SUCCESS in 2h 27m 12s\n- nova-ovs-hybrid-plug https://zuul.opendev.org/t/openstack/build/20e774e1d5ef41d2b8f4edb7878914b4 : SUCCESS in 48m 31s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/99b890c2db6c4fc4974b6255afe47bce : SUCCESS in 5m 29s (non-voting)\n- nova-tox-functional-py310 https://zuul.opendev.org/t/openstack/build/bdc97bcbb4f747959a21e197ca6abd49 : SUCCESS in 30m 39s\n- nova-tox-functional-py312 https://zuul.opendev.org/t/openstack/build/a1e002d6e4a44ff1afe961960f53677a : SUCCESS in 31m 17s\n- nova-grenade-multinode https://zuul.opendev.org/t/openstack/build/b99b02c4300e43c9be722b3218ba5213 : SUCCESS in 1h 23m 08s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/8723159e8a1f4edd9288a38c6edea707 : SUCCESS in 56m 56s\n- cyborg-tempest https://zuul.opendev.org/t/openstack/build/c55407d4529e452d9dd83822c077790d : SUCCESS in 26m 51s (non-voting)\n- barbican-tempest-plugin-simple-crypto https://zuul.opendev.org/t/openstack/build/3f33e4e5b8b143708748ac69a548b48d : SUCCESS in 19m 43s (non-voting)\n- nova-tox-py312-threading https://zuul.opendev.org/t/openstack/build/c15dcccae8b448e4a983d02137dccd19 : SUCCESS in 15m 42s","accounts_in_message":[],"_revision_number":1},{"id":"78cb62e8f4025691f3e9a9c6802297b36bf07b87","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-05 21:10:35.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/bbfa995785224671929886225592db75\n\n- openstack-tox-py310-arm64 https://zuul.opendev.org/t/openstack/build/51de201ec6964d7f82e13d76e2052587 : SUCCESS in 26m 47s (non-voting)\n- openstack-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/9a5e9b699acf46849ab3efa85a9d3243 : SUCCESS in 35m 41s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/53d123392a814b978929e470bada8b5c : SUCCESS in 20m 37s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"2e005b995999e6d062abd7eca70ca2d0b5983f55","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-11-12 14:43:59.000000000","message":"Patch Set 1:\n\nIgnore for now: Test failed. Logs on \u003chttp://openstack-ci-logs.global.cloud.sap/openstack-nova-966205-fvldt/index.html\u003e","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"678c384c71340ac87e016fc8064aec5df52015c1","revisions":{"678c384c71340ac87e016fc8064aec5df52015c1":{"kind":"REWORK","_number":1,"created":"2025-11-05 17:19:29.000000000","uploader":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"ref":"refs/changes/05/966205/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/05/966205/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/05/966205/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/05/966205/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/05/966205/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/05/966205/1"}}},"commit":{"parents":[{"commit":"9e5ad07aeeb9f14eba37e2cdea9377e7af48ef88","subject":"Merge \"setup: Remove pbr\u0027s wsgi_scripts\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/9e5ad07aeeb9f14eba37e2cdea9377e7af48ef88"}]}],"author":{"name":"Pavlo Shchelokovskyy","email":"shchelokovskyy@gmail.com","date":"2025-10-20 13:22:30.000000000","tz":0},"committer":{"name":"Pavlo Shchelokovskyy","email":"shchelokovskyy@gmail.com","date":"2025-11-05 17:19:06.000000000","tz":0},"subject":"Implement placement:same_subtree flavor extra spec","message":"Implement placement:same_subtree flavor extra spec\n\nThis extra spec will w/o changes be passed to placement api\nwhen choosing allocation candidates.\n\nIn order for this query to work with pci passthrough devices,\nthe format of `pci_passthrough:alias` spec is extended to have\nan optional `:\u003cgroup_prefix\u003e` component.\nThis is done so that the group names for pci devices are not\nauto-generated from request id, but instead can be stable enough\nto be possible to specify as part of `same_subtree` spec.\n\nAs an example, assuming `gpu` pci alias translates to `CUSTOM_GPU`\nresource class, the following extra spec\n```\npci_passthrough:alias\u003dgpu:2:_gpu placement:same_subtree\u003d\"_gpu-0,_gpu-1\"\n```\nwill translate to the following placement query\n```\nGET /allocation_candidates\n?resources_gpu-0\u003dCUSTOM_GPU:1\n\u0026resouces_gpu-1\u003dCUSTOM_GPU:1\n\u0026same_subtree\u003d_gpu-0,_gpu-1\n```\n\nA new config option is added (with default ``False``):\n``[filter_scheduler] allow_pci_traits_in_flavor``\nSetting it to ``True`` would allow to use resource groups defined in\npci_passthrough:alias to add extra required or forbidden traits for\nthose groups in the flavor extra spec, like:\n\n```\npci_passthrough:alias\u003dgpu:2:_gpu trait_gpu-0:CUSTOM_TRAIT\u003drequired\n```\n\nIn order for things to work with aggregate extra spec filter,\n``group_policy`` extra spec is now deprecated and replaced with\n``placement:group_policy`` extra spec.\n\nAs a result, one can build more complex resource provider trees\ninstead of simple plain ones currently created by nova\u0027s pci resource\ntracker, able to express more complex relations between pci devices\n(like for example, pairs or quartets of Nvidia GPUs\nthat do have NVLink connection between them).\n\nChange-Id: I906521979966fd224ed14df118cc81221d793f66\nSigned-off-by: Pavlo Shchelokovskyy \u003cshchelokovskyy@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/678c384c71340ac87e016fc8064aec5df52015c1"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/678c384c71340ac87e016fc8064aec5df52015c1"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"OK","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":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"}},{"label":"Workflow","status":"MAY"},{"label":"Review-Priority","status":"MAY"}]}],"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":""}}}]}
