)]}'
{"id":"openstack%2Fnova~963363","triplet_id":"openstack%2Fnova~master~Id7549d1c6ec294d1355727720673e645f5ec39c4","project":"openstack/nova","branch":"master","attention_set":{"9542":{"account":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"last_update":"2025-10-08 14:20:32.000000000","reason":"Someone else replied on the change"}},"removed_from_attention_set":{},"hashtags":[],"change_id":"Id7549d1c6ec294d1355727720673e645f5ec39c4","subject":"Return Conflict from attach_interface when no PCI slots","status":"NEW","created":"2025-10-08 10:57:01.000000000","updated":"2025-10-08 14:20:32.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"47a0b889bdefa50026277be405367709546acf19","_number":963363,"virtual_id_number":963363,"owner":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:check","value":1,"date":"2025-10-08 13:14:03.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":34420,"name":"openstack lightbits","display_name":"Lightbits CI","email":"openstack@lightbitslabs.com","username":"openstack_lightbits"}],"REVIEWER":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2025-10-08 11:47:12.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":"CC"},{"updated":"2025-10-08 13:14:03.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-10-08 14:20:32.000000000","updated_by":{"_account_id":34420,"name":"openstack lightbits","display_name":"Lightbits CI","email":"openstack@lightbitslabs.com","username":"openstack_lightbits"},"reviewer":{"_account_id":34420,"name":"openstack lightbits","display_name":"Lightbits CI","email":"openstack@lightbitslabs.com","username":"openstack_lightbits"},"state":"CC"}],"messages":[{"id":"0590fa1bc0d73c985da83b894d72e603f07be64f","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"date":"2025-10-08 10:57:01.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"7a10a08200386d3e98dd00a6e0da0afce6f29dcc","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-10-08 11:47:12.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/32c665d897014255b2927590372f0b93\n\n- openstack-tox-py310-arm64 https://zuul.opendev.org/t/openstack/build/e015f72e873940909a1ce82d774943c2 : SUCCESS in 16m 50s (non-voting)\n- openstack-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/62605815abed4378945a48673c9397f1 : SUCCESS in 14m 34s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/5547f921aa9f463c99ef46060c8617df : SUCCESS in 21m 22s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"a8690ae9479438e81c6034d289336a5d038e0527","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-10-08 13:14:03.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/a6f97a45cf614eeba392d436d7dbb81c\n\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/bff133f2521b4d11afec07deca32bfb8 : SUCCESS in 39m 47s\n- tempest-integrated-compute https://zuul.opendev.org/t/openstack/build/3b765f482cb14cb5b6d5ce335b4659e2 : SUCCESS in 1h 43m 49s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/5046fdc2310a4e0d8f3a8fec67692e4b : SUCCESS in 31m 38s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/70dfda4e24be46f0b2ad2cdbf1ae8d7e : SUCCESS in 13m 48s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/b22ee389d3a44d789e64aeef70ab8254 : SUCCESS in 8m 40s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/26f02f577cd84b0f9ed5556d71c640b2 : SUCCESS in 11m 02s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/ebbb6f93c2e94c2fbe1c9156396d2079 : SUCCESS in 13m 40s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/a447e25e533347d7a38e9f0b271276c4 : SUCCESS in 12m 39s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/1587e70968eb48f98ff867ba7a5ce0ac : SUCCESS in 12m 30s\n- ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa https://zuul.opendev.org/t/openstack/build/87f8778e0d6c4068b3e36c61d796208a : SUCCESS in 1h 04m 23s (non-voting)\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/8194be78528e4a69afef095adae92918 : SUCCESS in 1h 34m 17s\n- nova-live-migration https://zuul.opendev.org/t/openstack/build/932a0dc558af4fcb969611b04a463f08 : SUCCESS in 53m 37s\n- nova-live-migration-ceph https://zuul.opendev.org/t/openstack/build/7a1f9c127bd3434cae30a6bf4cf16d80 : SUCCESS in 51m 19s\n- nova-lvm https://zuul.opendev.org/t/openstack/build/15d3fff18db7403cad2292c76e6e2d7d : SUCCESS in 48m 33s\n- nova-multi-cell https://zuul.opendev.org/t/openstack/build/77380491ba6f44bd91b707ccf053bc62 : SUCCESS in 2h 00m 44s\n- nova-next https://zuul.opendev.org/t/openstack/build/eff0d256283847e789ce0c07c1880656 : SUCCESS in 2h 11m 51s\n- nova-ovs-hybrid-plug https://zuul.opendev.org/t/openstack/build/10e23450988e4303b76e081d5eaad050 : SUCCESS in 53m 45s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/dfa3d70bb0b94337aad007a440bc9ce4 : SUCCESS in 5m 25s (non-voting)\n- nova-tox-functional-py310 https://zuul.opendev.org/t/openstack/build/f0a04e0290774b1eb3b0a12ca0e51dc0 : SUCCESS in 28m 02s\n- nova-tox-functional-py312 https://zuul.opendev.org/t/openstack/build/f3f6166666364a20baf3d04034c31085 : SUCCESS in 27m 46s\n- nova-grenade-multinode https://zuul.opendev.org/t/openstack/build/85e48f74cbbb434395e0cae0b5ac4345 : SUCCESS in 1h 28m 52s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/a2f1d8a2eb9042b8863f88a095e58bfd : SUCCESS in 58m 41s\n- cyborg-tempest https://zuul.opendev.org/t/openstack/build/843bcad655fe42d39d8a58d28fac277e : SUCCESS in 27m 26s (non-voting)\n- barbican-tempest-plugin-simple-crypto https://zuul.opendev.org/t/openstack/build/cca91d86390642fc892c03102b904015 : SUCCESS in 33m 16s (non-voting)\n- nova-tox-py312-threading https://zuul.opendev.org/t/openstack/build/a59e8f9b35ec4bdaa5ab2ddd11862796 : SUCCESS in 15m 14s","accounts_in_message":[],"_revision_number":1},{"id":"47a0b889bdefa50026277be405367709546acf19","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":34420,"name":"openstack lightbits","display_name":"Lightbits CI","email":"openstack@lightbitslabs.com","username":"openstack_lightbits"},"date":"2025-10-08 14:20:32.000000000","message":"Patch Set 1:\n\nBuild succeeded. log path: ${LOG_PATH}\nLeave a comment with \u0027run-Lightbits CI\u0027 to trigger a recheck. \nFor more information about CI, please see https://wiki.openstack.org/wiki/ThirdPartySystems/LightbitsLabs_CI","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"0f17ce8e336bc50988ba0f293c277efe9d975130","revisions":{"0f17ce8e336bc50988ba0f293c277efe9d975130":{"kind":"REWORK","_number":1,"created":"2025-10-08 10:57:01.000000000","uploader":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"ref":"refs/changes/63/963363/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/63/963363/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/63/963363/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/63/963363/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/63/963363/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/63/963363/1"}}},"commit":{"parents":[{"commit":"3ed740eabde78a5f85d35791ac3f545f4fa7d429","subject":"Merge \"[nova-tox-py312-threading]Ignore failing tests\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/3ed740eabde78a5f85d35791ac3f545f4fa7d429"}]}],"author":{"name":"Pavlo Shchelokovskyy","email":"shchelokovskyy@gmail.com","date":"2025-09-26 14:26:48.000000000","tz":0},"committer":{"name":"Pavlo Shchelokovskyy","email":"shchelokovskyy@gmail.com","date":"2025-10-08 10:56:54.000000000","tz":0},"subject":"Return Conflict from attach_interface when no PCI slots","message":"Return Conflict from attach_interface when no PCI slots\n\nNumber of free PCI slots is limited by nova and qemu machine type\nconfiguration, which is opaque to the user.\nUser can attempt to attach more devices than given VM can handle,\nbut currently receives generic HTTP 500 error,\nand can thus blindly but definitely unsuccessfully re-try this request.\n\nAs UX improvement, let\u0027s return HTTP 409 Conflict in this case\nwith understandable message about the reason, so that API consumer\ncan take appropriate action (stop re-trying or remove some other\ndevice and try again).\n\nSince volume attach is async, this new error is only returned on\nappropriately failed interface attach, though the error in case of\nvolume attach is potentially more clear now too.\n\nPartial-Bug: #2125782\nChange-Id: Id7549d1c6ec294d1355727720673e645f5ec39c4\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/0f17ce8e336bc50988ba0f293c277efe9d975130"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/0f17ce8e336bc50988ba0f293c277efe9d975130"}]},"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"},{"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":""}}}]}
