)]}'
{"id":"openstack%2Fnova~986323","triplet_id":"openstack%2Fnova~master~I09562c3f676112c56ce4309fb12cba19b8ff7747","project":"openstack/nova","branch":"master","attention_set":{"39095":{"account":{"_account_id":39095,"name":"Ravi Sasi Tilak","display_name":"Sasi Tilak","email":"rsasitilak0987@gmail.com","username":"sasitilak"},"last_update":"2026-04-27 08:15:49.000000000","reason":"Someone else replied on the change"}},"removed_from_attention_set":{},"hashtags":[],"change_id":"I09562c3f676112c56ce4309fb12cba19b8ff7747","subject":"libvirt: support librbd encryption engine for RBD volumes","status":"NEW","created":"2026-04-27 05:21:06.000000000","updated":"2026-05-06 19:29:18.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":4,"unresolved_comment_count":4,"has_review_started":true,"meta_rev_id":"8cb4966c1442beb3aad9abb6a38212e21248b932","_number":986323,"virtual_id_number":986323,"owner":{"_account_id":39095,"name":"Ravi Sasi Tilak","display_name":"Sasi Tilak","email":"rsasitilak0987@gmail.com","username":"sasitilak"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:check","value":1,"date":"2026-04-27 08:15:38.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":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},{"_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":"2026-04-27 05:43: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":"2026-04-27 06:03:58.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-04-27 08:15:38.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-27 08:15:49.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"},{"updated":"2026-05-06 19:29:18.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":"CC"}],"messages":[{"id":"670034b660aa0c831e58c37fef5aa455dd7323cf","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39095,"name":"Ravi Sasi Tilak","display_name":"Sasi Tilak","email":"rsasitilak0987@gmail.com","username":"sasitilak"},"date":"2026-04-27 05:21:06.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"ecfcf9d18563ee1b92d4d0f1e1fd06e3b6075529","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-27 05:43:12.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/9b60460537bc41aaab32729f960a37cd\n\n- openstack-tox-py310-arm64 https://zuul.opendev.org/t/openstack/build/4574e7e2e882479eb2d055851e228f8c : SUCCESS in 20m 15s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/2136c385ccde4adbbe3a564b04679e6b : SUCCESS in 12m 44s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/447af844a9e345019e3d048dd9d980fb : SUCCESS in 18m 52s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"71fe3218e23d06a0dad938234397d6d30cbc5dfa","author":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"date":"2026-04-27 06:03:58.000000000","message":"Patch Set 1:\n\nBuild Successful \n\n* quobyteci:  nova_quobyteci : SUCCESS, logs at: https://oscilogs.quobyte.com/logs/I09562c3f676112c56ce4309fb12cba19b8ff7747 .","accounts_in_message":[],"_revision_number":1},{"id":"2d56194698e534d0869cebdfac14b48564da178d","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-27 08:15:38.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/1f33ab7a103e43f0aafea14f6fb0798f\n\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/13679691a40d4ef2b7a3a52928f4cd83 : SUCCESS in 1h 22m 14s\n- tempest-integrated-compute https://zuul.opendev.org/t/openstack/build/443ff83003e7448a81a557f59b07da59 : SUCCESS in 2h 05m 33s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/469662b91f09409db9d3cc2bf48b40b2 : SUCCESS in 1h 03m 24s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/4c68778bba3b494e9735d3113de34fd5 : SUCCESS in 48m 08s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/c07f328e97514263b86bb80dd54e2f32 : SUCCESS in 9m 10s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/cfec3c6f20f44ff68ac091899ade8503 : SUCCESS in 10m 05s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/6750ed05e14d454a89ee6e96a7eb679a : SUCCESS in 9m 55s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/30a7558cdfee445c8842d03aa787e8fd : SUCCESS in 14m 58s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/b1016a7801764de5b2422a2050971818 : SUCCESS in 9m 40s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/8a7bd4009e8b459780c9133c085ce531 : SUCCESS in 35m 07s\n- ironic-tempest-bios-ipmi-autodetect https://zuul.opendev.org/t/openstack/build/271f750206c24f1ab8a7e67bffc80375 : SUCCESS in 1h 07m 13s (non-voting)\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/ea695402aa864536acb82c70ac036780 : SUCCESS in 1h 53m 09s\n- nova-live-migration https://zuul.opendev.org/t/openstack/build/e7298118e0fd4e87a3c68aafe412dc60 : SUCCESS in 42m 55s\n- nova-vtpm https://zuul.opendev.org/t/openstack/build/f00655557b104ddf94f2b0d71bdce0d3 : SUCCESS in 30m 51s\n- nova-graceful-shutdown https://zuul.opendev.org/t/openstack/build/84b903e166704ee79c73115e4bfa655d : SUCCESS in 1h 03m 08s\n- nova-live-migration-ceph https://zuul.opendev.org/t/openstack/build/7e1088ef261445a0b3593443e6c99fed : SUCCESS in 44m 08s\n- nova-lvm https://zuul.opendev.org/t/openstack/build/0dd82e76fe2c46678d727e0be8b2718e : SUCCESS in 56m 55s\n- nova-multi-cell https://zuul.opendev.org/t/openstack/build/28753f749cd34562ae4ae0cb13ee4f13 : SUCCESS in 1h 03m 01s\n- nova-next https://zuul.opendev.org/t/openstack/build/0d08a6104d384fac8e64310bced31f24 : SUCCESS in 2h 45m 28s\n- nova-alt-configurations https://zuul.opendev.org/t/openstack/build/6894efcf8dae4716ad06bd399b47f03c : SUCCESS in 55m 39s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/50f093f0bc3b4f46bcb291a45d54f77b : SUCCESS in 6m 20s (non-voting)\n- nova-tox-functional-py310 https://zuul.opendev.org/t/openstack/build/88de6f7c523841f3ad9a5ca4ce1cd868 : SUCCESS in 32m 50s\n- nova-tox-functional-py313 https://zuul.opendev.org/t/openstack/build/7de341e7575b400bafa9341a430d3d50 : SUCCESS in 24m 46s\n- nova-grenade-multinode https://zuul.opendev.org/t/openstack/build/a4ac478d67944d9881b55986e34b8795 : SUCCESS in 1h 00m 19s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/ff337fd140944893b745171c75bd67d7 : SUCCESS in 56m 26s\n- cyborg-tempest https://zuul.opendev.org/t/openstack/build/7288d4e36a044334b1a871ebcd93cf24 : SUCCESS in 22m 12s (non-voting)\n- barbican-tempest-plugin-simple-crypto https://zuul.opendev.org/t/openstack/build/cdd7455ceccb4a75a4cf9c7c216b0258 : SUCCESS in 25m 12s (non-voting)\n- nova-tox-py313-threading https://zuul.opendev.org/t/openstack/build/5f8a7db939824c24bfc1ba23655c1420 : SUCCESS in 14m 46s","accounts_in_message":[],"_revision_number":1},{"id":"6be9d8adaa8ec3060b2678001111430a4f58ae0e","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":34420,"name":"openstack lightbits","display_name":"Lightbits CI","email":"openstack@lightbitslabs.com","username":"openstack_lightbits"},"date":"2026-04-27 08:25:02.000000000","message":"Patch Set 1:\n\nBuild succeeded. log path: ${LOG_PATH}\nLeave a comment with","accounts_in_message":[],"_revision_number":1},{"id":"8cb4966c1442beb3aad9abb6a38212e21248b932","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2026-05-06 19:29:18.000000000","message":"Patch Set 1:\n\n(4 comments)","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"72246a46b570d1ab59dbb00e9abbb4ac48893d36","revisions":{"72246a46b570d1ab59dbb00e9abbb4ac48893d36":{"kind":"REWORK","_number":1,"created":"2026-04-27 05:21:06.000000000","uploader":{"_account_id":39095,"name":"Ravi Sasi Tilak","display_name":"Sasi Tilak","email":"rsasitilak0987@gmail.com","username":"sasitilak"},"ref":"refs/changes/23/986323/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/23/986323/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/23/986323/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/23/986323/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/23/986323/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/23/986323/1"}}},"commit":{"parents":[{"commit":"8d4dcd8afee29f6c237c4643057ac7deae518bcd","subject":"objects: Prepare for oslo.versionedobjects 3.10.0","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/8d4dcd8afee29f6c237c4643057ac7deae518bcd"}]}],"author":{"name":"ravi.tilak","email":"rsasitilak0987@gmail.com","date":"2026-04-27 05:17:37.000000000","tz":330},"committer":{"name":"sasitilak","email":"rsasitilak0987@gmail.com","date":"2026-04-27 05:20:15.000000000","tz":330},"subject":"libvirt: support librbd encryption engine for RBD volumes","message":"libvirt: support librbd encryption engine for RBD volumes\n\nWhen the Cinder RBD driver sets encryption_engine\u003dlibrbd in the volume\nconnection info, route the LUKS \u003cencryption\u003e element under the libvirt\n\u003csource\u003e element instead of \u003cdisk\u003e. This tells libvirt to pass the LUKS\npassphrase secret to rbd_encryption_load() in Ceph\u0027s librbd rather than\nto the QEMU LUKS block driver.\n\nlibrbd decrypts per-object using an internal thread pool, which removes\nthe single-threaded AES-XTS bottleneck in the QEMU block layer. In\nbenchmarks on a Ceph Squid cluster this improves random-read IOPS by\n3-4x for workloads that saturate the QEMU crypto path (iodepth \u003e\u003d 4,\nbs \u003c\u003d 16k).\n\nChanges:\n- LibvirtConfigGuestDiskEncryption: add optional engine attribute that\n  is serialised as engine\u003d\u0027librbd\u0027 on the \u003cencryption\u003e element.\n- LibvirtConfigGuestDisk.format_dom(): when engine \u003d\u003d \u0027librbd\u0027, append\n  the \u003cencryption\u003e child under \u003csource\u003e rather than \u003cdisk\u003e, matching\n  the XML structure required by libvirt \u003e\u003d 8.0 / QEMU \u003e\u003d 6.1.\n- LibvirtNetVolumeDriver.get_config(): read encryption_engine from\n  connection_info and propagate it to conf.volume_encryption.engine.\n\nThe default path (no encryption_engine in connection_info) is unchanged:\n\u003cencryption\u003e is placed under \u003cdisk\u003e and QEMU handles decryption.\n\nDepends-On: \u003ccinder rbd-encryption-engine-extra-spec review\u003e\nChange-Id: I09562c3f676112c56ce4309fb12cba19b8ff7747\nSigned-off-by: ravi.tilak \u003cravi.tilak@juspay.in\u003e\nSigned-off-by: sasitilak \u003crsasitilak0987@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/72246a46b570d1ab59dbb00e9abbb4ac48893d36"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/72246a46b570d1ab59dbb00e9abbb4ac48893d36"}]},"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":""}}}]}
