)]}'
{"id":"openstack%2Fnova~979354","triplet_id":"openstack%2Fnova~master~I33938006d7fb2b07186c64f85b1ad86b70875c61","project":"openstack/nova","branch":"master","attention_set":{"5890":{"account":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"last_update":"2026-03-25 19:34:41.000000000","reason":"\u003cGERRIT_ACCOUNT_11604\u003e replied on the change","reason_account":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"}},"11655":{"account":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"last_update":"2026-03-09 03:22:18.000000000","reason":"Vote got outdated and was removed: Code-Review+1"}},"removed_from_attention_set":{},"hashtags":[],"change_id":"I33938006d7fb2b07186c64f85b1ad86b70875c61","subject":"feat: add get_vnic_type() to ComputeDriver and set for Ironic","status":"NEW","created":"2026-03-06 20:51:28.000000000","updated":"2026-04-21 14:52:47.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":13,"unresolved_comment_count":10,"has_review_started":true,"meta_rev_id":"407627a986a56f597e11a475c85a15f751223dbd","_number":979354,"virtual_id_number":979354,"owner":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"actions":{},"labels":{"Verified":{"recommended":{"_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"},{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},{"tag":"autogenerated:zuul:check","value":1,"date":"2026-03-09 05:51:32.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":{"recommended":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"all":[{"value":1,"date":"2026-03-25 19:34:41.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":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},{"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":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},{"_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":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},{"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":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"CC":[{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},{"_account_id":23084,"name":"Bartosz Bezak","email":"bartosz@stackhpc.com","username":"b.bezak"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-03-06 21:26:32.000000000","updated_by":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"reviewer":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2026-03-06 21:27:07.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":"2026-03-06 23:14:42.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-03-07 16:06:43.000000000","updated_by":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"reviewer":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"state":"REVIEWER"},{"updated":"2026-03-25 19:34:41.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":"2026-04-21 14:52:47.000000000","updated_by":{"_account_id":23084,"name":"Bartosz Bezak","email":"bartosz@stackhpc.com","username":"b.bezak"},"reviewer":{"_account_id":23084,"name":"Bartosz Bezak","email":"bartosz@stackhpc.com","username":"b.bezak"},"state":"CC"}],"messages":[{"id":"61f5b90054bb84dd9588822ab5ecc1fc27c18c96","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"date":"2026-03-06 20:51:28.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"de02b3099adec1676b0931ce964d7888fc3c75ce","author":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"date":"2026-03-06 21:26:32.000000000","message":"Patch Set 1:\n\nBuild Failed \n\n* quobyteci:  nova_quobyteci : FAILURE, logs at: https://oscilogs.quobyte.com/logs/I33938006d7fb2b07186c64f85b1ad86b70875c61 .","accounts_in_message":[],"_revision_number":1},{"id":"b1e1f953023ad9a630a5d6471913ebcbe11f3269","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-06 21:27:07.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/12fd2fa9b0ba469690424ad7df11fe29\n\n- openstack-tox-py310-arm64 https://zuul.opendev.org/t/openstack/build/d9a14b1e4a644ac58db7ab8e66658887 : FAILURE in 30m 58s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/dcfa1c02b91943e4a670ea15aad31118 : FAILURE in 17m 01s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/44bcd5912709493798d53140ff0651ea : FAILURE in 12m 01s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"e74bd8f67bc1b7521df77dd48686af4a0c7f478d","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-06 23:14:42.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/9cc37f234cf646a994910b92997b7046\n\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/2083aa58cddd40618613555b57068804 : SUCCESS in 55m 27s\n- tempest-integrated-compute https://zuul.opendev.org/t/openstack/build/939a8b495e344aa3a57f57a655686f46 : SUCCESS in 1h 58m 09s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/e29a1e1f43ea4f4ab15a63bc5fc5f988 : SUCCESS in 37m 09s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/350204efa4a84747be51d637ef0733be : FAILURE in 26m 09s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/9d89af3101724d6c8b99b3d43b8185b9 : SUCCESS in 8m 43s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/5845661104374ed4b869a6c0572f7813 : FAILURE in 10m 25s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/252139289b7a4cb48bd3912260c21b26 : FAILURE in 11m 51s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/e7afde92a493454fafe3a5f289747e18 : FAILURE in 10m 36s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/070cf07afa2f49a294f5cdde1f625633 : SUCCESS in 13m 45s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/c9f055bea3ea478b9940ffdece653330 : SUCCESS in 42m 15s\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/018658f335034c3f879e90398db42f8b : SUCCESS in 1h 28m 13s\n- nova-live-migration https://zuul.opendev.org/t/openstack/build/a6096f44d175426d9fbd54e8c5cf9fc4 : SUCCESS in 34m 09s\n- nova-graceful-shutdown https://zuul.opendev.org/t/openstack/build/1821fe05600047c5bac52276f31d229b : SUCCESS in 43m 42s\n- nova-live-migration-ceph https://zuul.opendev.org/t/openstack/build/ae772529389849ff81d99f0bb62945b9 : SUCCESS in 57m 50s\n- nova-multi-cell https://zuul.opendev.org/t/openstack/build/86b2dd34efff4cfcbcc7afd09bcbb51d : SUCCESS in 2h 00m 38s\n- nova-next https://zuul.opendev.org/t/openstack/build/35393a9e25cc4a7ea1fe27d180c35958 : SUCCESS in 2h 19m 31s\n- nova-alt-configurations https://zuul.opendev.org/t/openstack/build/80371aeccd6c423a87f04e390aa78391 : SUCCESS in 30m 07s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/8d29649b29ca48738a4a55f8172bb22e : SUCCESS in 3m 03s (non-voting)\n- nova-tox-functional-py310 https://zuul.opendev.org/t/openstack/build/b1da1b84746d446c88f4e8b87570a4d2 : SUCCESS in 29m 04s\n- nova-tox-functional-py313 https://zuul.opendev.org/t/openstack/build/19ea01aeae26409eb60056dbb22040af : SUCCESS in 27m 04s\n- nova-grenade-multinode https://zuul.opendev.org/t/openstack/build/d7c9696d098a4309a69c408916f18774 : SUCCESS in 1h 11m 40s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/b8d4a6badae841c8b60ef4925b05c07f : SUCCESS in 40m 06s\n- cyborg-tempest https://zuul.opendev.org/t/openstack/build/45e511348548458aad5da8312c291956 : SUCCESS in 38m 27s (non-voting)\n- barbican-tempest-plugin-simple-crypto https://zuul.opendev.org/t/openstack/build/0b6198167b2f418199f0d8ed65479e8a : SUCCESS in 32m 40s (non-voting)\n- nova-tox-py312-threading https://zuul.opendev.org/t/openstack/build/bad347a0a5904c43906c9d81c9ae4bf8 : FAILURE in 17m 09s","accounts_in_message":[],"_revision_number":1},{"id":"d568a9de74628dfd0797ea11bf3cfd518568575d","author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"date":"2026-03-07 16:06:43.000000000","message":"Patch Set 1: Code-Review+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"611a2a8b41f0ba873c38dd7ece2f0033c00e7bbd","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"date":"2026-03-09 03:22:18.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Code-Review+1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified-1\n","accounts_in_message":[],"_revision_number":2},{"id":"8ad61b1ed2bcf63ba1095805bcb740214471bb75","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-09 03:46:02.000000000","message":"Patch Set 2:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/d9340cf7831247c0833dbffc7c864859\n\n- openstack-tox-py310-arm64 https://zuul.opendev.org/t/openstack/build/b97ae07f530f433cb52446f41f54f6a5 : SUCCESS in 17m 41s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/9e496f8a351f4759ab9f34f8d1fe5f22 : SUCCESS in 12m 42s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/189144d5725249d5a380428941f3a4c9 : FAILURE in 10m 03s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"5cb47e670315aed8fa85d036a93616bb44a36254","author":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"date":"2026-03-09 03:56:30.000000000","message":"Patch Set 2:\n\nBuild Failed \n\n* quobyteci:  nova_quobyteci : FAILURE, logs at: https://oscilogs.quobyte.com/logs/I33938006d7fb2b07186c64f85b1ad86b70875c61 .","accounts_in_message":[],"_revision_number":2},{"id":"5a4ed1daa2b90f3c38aae5caac5728216f7a201f","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-09 05:51:32.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/9aed84f4de694559b933fe8e11617a30\n\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/04bf7471042e42309bcc888661fd1488 : SUCCESS in 33m 07s\n- tempest-integrated-compute https://zuul.opendev.org/t/openstack/build/382ad9863a9d41578cd5d97d8c60139d : SUCCESS in 1h 19m 26s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/b13e87a1c0be4c67aa3b314948fa5901 : SUCCESS in 37m 07s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/f7d19d6305e0444ebccaaa7ea6f0679f : SUCCESS in 50m 17s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/5e979fcab7dc44bda23fb2578edff073 : SUCCESS in 3m 57s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/58d27d1f4d264b2bbe85975db04638c4 : SUCCESS in 10m 04s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/8842d21ce6694246a31ca0d69dea5c61 : SUCCESS in 10m 13s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/beb4073abe694e4aa0f08dd00e7f5a01 : FAILURE in 5m 43s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/11ddb5b441494c83a98f1d0d439ca26f : SUCCESS in 11m 42s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/ae2c5ffd6b85477ab25a767a805b18d8 : SUCCESS in 35m 46s\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/28a92d2e67ae4e8eb5d10cce3802ada5 : SUCCESS in 1h 42m 04s\n- nova-live-migration https://zuul.opendev.org/t/openstack/build/2bc770f9c4fa4547827d89082ff2a49a : SUCCESS in 43m 42s\n- nova-graceful-shutdown https://zuul.opendev.org/t/openstack/build/a7eae4cd65e141f79f13fd984a7a0c5d : SUCCESS in 1h 01m 53s\n- nova-live-migration-ceph https://zuul.opendev.org/t/openstack/build/438bf43141774db198f469a74db52b42 : SUCCESS in 50m 33s\n- nova-multi-cell https://zuul.opendev.org/t/openstack/build/40c7bd65f0eb452daf5bd2384813b658 : SUCCESS in 2h 21m 03s\n- nova-next https://zuul.opendev.org/t/openstack/build/9feb5ff706c147f798002d28e2e1ca26 : SUCCESS in 2h 24m 20s\n- nova-alt-configurations https://zuul.opendev.org/t/openstack/build/2d65f84c2be2487d975ec9bd8fbb95cf : SUCCESS in 30m 21s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/90a18b74d4134dcf8edbc9d13fa8a99f : SUCCESS in 4m 46s (non-voting)\n- nova-tox-functional-py310 https://zuul.opendev.org/t/openstack/build/46be7d3a1abc4523b7f2b25e1cc4477f : SUCCESS in 29m 31s\n- nova-tox-functional-py313 https://zuul.opendev.org/t/openstack/build/4ed32e67d6fe46df982c0421cb20a093 : SUCCESS in 23m 29s\n- nova-grenade-multinode https://zuul.opendev.org/t/openstack/build/f0ce3f8db1734e23bf9225f4662db2b7 : SUCCESS in 1h 24m 03s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/0ef1aa15cbd049fe90be4184fc0c35a3 : SUCCESS in 1h 02m 02s\n- cyborg-tempest https://zuul.opendev.org/t/openstack/build/fe1418a86123463cafefb0988ee89d60 : SUCCESS in 13m 00s (non-voting)\n- barbican-tempest-plugin-simple-crypto https://zuul.opendev.org/t/openstack/build/17e6990fae58446c88221d500e76cfae : SUCCESS in 34m 11s (non-voting)\n- nova-tox-py312-threading https://zuul.opendev.org/t/openstack/build/c2120ab018dd4afcb9b4ceecd0377845 : SUCCESS in 16m 26s","accounts_in_message":[],"_revision_number":2},{"id":"ffe8c1ba328ff3a87288bc0107cda46de797b761","author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"date":"2026-03-25 17:30:44.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"00c80dac0bfc17325d1a761daf52c6621ecc1711","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-03-25 19:34:41.000000000","message":"Patch Set 2: Code-Review+1\n\n(11 comments)","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"5dd5216f17f1b4286b374cf1429f40d4c8515ef3","revisions":{"a3ef9bac94b078e611438236640ffc109deaf882":{"kind":"REWORK","_number":1,"created":"2026-03-06 20:51:28.000000000","uploader":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"ref":"refs/changes/54/979354/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/54/979354/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/54/979354/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/54/979354/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/54/979354/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/54/979354/1"}}},"commit":{"parents":[{"commit":"968965cc77c6932eb67cc36a539f108c73d50ea0","subject":"Merge \"Migrate coverage configuration to pyproject\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/968965cc77c6932eb67cc36a539f108c73d50ea0"}]}],"author":{"name":"Doug Goldstein","email":"cardoe@cardoe.com","date":"2026-03-06 20:45:37.000000000","tz":-360},"committer":{"name":"Doug Goldstein","email":"cardoe@cardoe.com","date":"2026-03-06 20:51:00.000000000","tz":-360},"subject":"feat: add get_vnic_type() to ComputeDriver and set for Ironic","message":"feat: add get_vnic_type() to ComputeDriver and set for Ironic\n\nNeutron ports used with Ironic baremetal nodes must be of VNIC_TYPE\n\u0027baremetal\u0027 to function correctly. However Nova always creates ports of\nVNIC_TYPE \u0027normal\u0027 due to not supplying this field. The result is that\nIronic itself has to edit the VNIC_TYPE on the port when Nova calls\nIronic. This change leads to spurious warnings in both Nova and Neutron\nabout the type changing. So instead add a helper method to ComputeDriver\nallowing the driver to specify the VNIC_TYPE that should be used.\nImplement it only for the Ironic driver so that all other drivers retain\nthe same behavior. This could be useful in the libvirt driver in the\nfuture to query the hypervisor to potentially create \u0027direct\u0027 ports when\nappropriate for example.\n\nAssisted-by: Claude Code 2.0\nChange-Id: I33938006d7fb2b07186c64f85b1ad86b70875c61\nSigned-off-by: Doug Goldstein \u003ccardoe@cardoe.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/a3ef9bac94b078e611438236640ffc109deaf882"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/a3ef9bac94b078e611438236640ffc109deaf882"}]},"branch":"refs/heads/master"},"5dd5216f17f1b4286b374cf1429f40d4c8515ef3":{"kind":"REWORK","_number":2,"created":"2026-03-09 03:22:18.000000000","uploader":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"ref":"refs/changes/54/979354/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/54/979354/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/54/979354/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/54/979354/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/54/979354/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/54/979354/2"}}},"commit":{"parents":[{"commit":"968965cc77c6932eb67cc36a539f108c73d50ea0","subject":"Merge \"Migrate coverage configuration to pyproject\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/968965cc77c6932eb67cc36a539f108c73d50ea0"}]}],"author":{"name":"Doug Goldstein","email":"cardoe@cardoe.com","date":"2026-03-06 20:45:37.000000000","tz":-360},"committer":{"name":"Doug Goldstein","email":"cardoe@cardoe.com","date":"2026-03-06 22:48:15.000000000","tz":-360},"subject":"feat: add get_vnic_type() to ComputeDriver and set for Ironic","message":"feat: add get_vnic_type() to ComputeDriver and set for Ironic\n\nNeutron ports used with Ironic baremetal nodes must be of VNIC_TYPE\n\u0027baremetal\u0027 to function correctly. However Nova always creates ports of\nVNIC_TYPE \u0027normal\u0027 due to not supplying this field. The result is that\nIronic itself has to edit the VNIC_TYPE on the port when Nova calls\nIronic. This change leads to spurious warnings in both Nova and Neutron\nabout the type changing. So instead add a helper method to ComputeDriver\nallowing the driver to specify the VNIC_TYPE that should be used.\nImplement it only for the Ironic driver so that all other drivers retain\nthe same behavior. This could be useful in the libvirt driver in the\nfuture to query the hypervisor to potentially create \u0027direct\u0027 ports when\nappropriate for example.\n\nAssisted-by: Claude Code 2.0\nChange-Id: I33938006d7fb2b07186c64f85b1ad86b70875c61\nSigned-off-by: Doug Goldstein \u003ccardoe@cardoe.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/5dd5216f17f1b4286b374cf1429f40d4c8515ef3"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/5dd5216f17f1b4286b374cf1429f40d4c8515ef3"}]},"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":""}}}]}
