)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"90a7b2790dad11e8588397b2fdf1bba362a21fef","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"f2d0fd0f_785770d9","updated":"2025-06-09 08:29:29.000000000","message":"There\u0027s a lot of todos in the code, marking this as work in progress.","commit_id":"016a4f57f29e190eac519d574ef0be9ead8a9d5c"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"752983c08748a27f7ed0c66d6cd934cd99446a11","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"50a2f954_0044d5ee","in_reply_to":"149da085_d3302688","updated":"2025-06-09 08:35:35.000000000","message":"Nope, use git review --work-in-progress","commit_id":"016a4f57f29e190eac519d574ef0be9ead8a9d5c"},{"author":{"_account_id":34034,"name":"Franciszek Przewoźny","display_name":"Franciszek Przewozny","email":"przewozny.franciszek@gmail.com","username":"fprzewozn","status":"OpenStack Engineer / SRE @ Opera Software"},"change_message_id":"8284c17f3db99482144102b227fd1eddf5c3317e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"149da085_d3302688","in_reply_to":"f2d0fd0f_785770d9","updated":"2025-06-09 08:34:17.000000000","message":"Thanks, shouldn\u0027t \"WIP\" prefix in title set this automatically?","commit_id":"016a4f57f29e190eac519d574ef0be9ead8a9d5c"},{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"23444fce7e8555fe65ffc121e3595bd59cba8483","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":5,"id":"c1840c64_11c8a2c1","updated":"2025-08-06 13:28:02.000000000","message":"Hi! Thanks for making this patch. I\u0027ve needed the same feature, so I\u0027ve been testing this out - overall it\u0027s looking good.\n\nThere\u0027s a couple more places where `item.vms` or `item.volumes` needs to be checked for, I\u0027ve proposed these as edits.\n\nI\u0027ve also suggested a further improvement to distinguish between each backend by a `name`. This is because it\u0027s possible to have multiple Ceph backend for Cinder where each volume backend points to the same Ceph cluster, just different data pools. I\u0027ve suggested edits to bring this patch in line with the Cinder Ceph backends support.","commit_id":"3b203ac293cf974408a038f92d9dc8713a84c71e"},{"author":{"_account_id":34034,"name":"Franciszek Przewoźny","display_name":"Franciszek Przewozny","email":"przewozny.franciszek@gmail.com","username":"fprzewozn","status":"OpenStack Engineer / SRE @ Opera Software"},"change_message_id":"320e3e6f0ba4a355075180d6c9a26543c809a576","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"06d573ee_6d660013","updated":"2025-06-10 12:03:30.000000000","message":"recheck","commit_id":"3b203ac293cf974408a038f92d9dc8713a84c71e"},{"author":{"_account_id":34034,"name":"Franciszek Przewoźny","display_name":"Franciszek Przewozny","email":"przewozny.franciszek@gmail.com","username":"fprzewozn","status":"OpenStack Engineer / SRE @ Opera Software"},"change_message_id":"17e031858aa5df8a6ac9fffc72e90e42de797cee","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":5,"id":"df7fd795_619f5543","in_reply_to":"c1840c64_11c8a2c1","updated":"2025-08-07 10:42:12.000000000","message":"Hey! I\u0027m glad that I\u0027m not the only one utilising multiple Ceph clusters at the same time :) I\u0027ll try to review proposed changes tomorrow.","commit_id":"3b203ac293cf974408a038f92d9dc8713a84c71e"},{"author":{"_account_id":34034,"name":"Franciszek Przewoźny","display_name":"Franciszek Przewozny","email":"przewozny.franciszek@gmail.com","username":"fprzewozn","status":"OpenStack Engineer / SRE @ Opera Software"},"change_message_id":"f8ca7f857e316f694064549b91e6ede4ac1b4b43","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"5436f814_9b9cd6e9","in_reply_to":"df7fd795_619f5543","updated":"2025-08-08 12:51:46.000000000","message":"I\u0027ve tested it and with your changes it still works as designed, thanks for your input!","commit_id":"3b203ac293cf974408a038f92d9dc8713a84c71e"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"967d8e310ca7d1a53185efba2dcbb40d4e431596","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"5df4e0f3_125009c2","updated":"2025-08-11 11:57:43.000000000","message":"There is a lack of documentation on how multiple configurations should be provided.","commit_id":"5e6ddf3f659f6314e821b4bdf3001b3846bcec85"},{"author":{"_account_id":34034,"name":"Franciszek Przewoźny","display_name":"Franciszek Przewozny","email":"przewozny.franciszek@gmail.com","username":"fprzewozn","status":"OpenStack Engineer / SRE @ Opera Software"},"change_message_id":"1f9a41face9a5d1a5da7cae6cb2f1f33a1ccaa78","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"0062dc67_69483619","in_reply_to":"5df4e0f3_125009c2","updated":"2026-04-22 09:04:41.000000000","message":"Docs added.","commit_id":"5e6ddf3f659f6314e821b4bdf3001b3846bcec85"},{"author":{"_account_id":34034,"name":"Franciszek Przewoźny","display_name":"Franciszek Przewozny","email":"przewozny.franciszek@gmail.com","username":"fprzewozn","status":"OpenStack Engineer / SRE @ Opera Software"},"change_message_id":"1f0403011bbda48a9ef054dc853279cd53e590b1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"19e1e899_163e53f6","updated":"2025-12-11 07:48:30.000000000","message":"@mnasiadka@gmail.com would you be able to have a look at it?","commit_id":"8f9cf80bfe9e7c6ae2c770e02b7e877469052298"},{"author":{"_account_id":34034,"name":"Franciszek Przewoźny","display_name":"Franciszek Przewozny","email":"przewozny.franciszek@gmail.com","username":"fprzewozn","status":"OpenStack Engineer / SRE @ Opera Software"},"change_message_id":"a4cc11f78a3080ea3cbbbee5d3f3b997c332e015","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"3566d8fb_0bc4da56","updated":"2025-12-11 10:48:10.000000000","message":"recheck","commit_id":"421c1e920feb1282680900bfd48c365a5ef374a7"},{"author":{"_account_id":34034,"name":"Franciszek Przewoźny","display_name":"Franciszek Przewozny","email":"przewozny.franciszek@gmail.com","username":"fprzewozn","status":"OpenStack Engineer / SRE @ Opera Software"},"change_message_id":"dc882736221d27336f7b9691e5858edd4538cd8f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":23,"id":"f6512c15_f0ab5841","updated":"2026-04-23 12:08:41.000000000","message":"recheck","commit_id":"89ebba14732760cd302d236d0c3abe358a3ff57b"},{"author":{"_account_id":34034,"name":"Franciszek Przewoźny","display_name":"Franciszek Przewozny","email":"przewozny.franciszek@gmail.com","username":"fprzewozn","status":"OpenStack Engineer / SRE @ Opera Software"},"change_message_id":"16adf479f3cb0cdced57fe83cdfc89784afb2f70","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":23,"id":"2b6d2892_a1ee9d96","updated":"2026-04-23 12:48:24.000000000","message":"recheck: j2lint","commit_id":"89ebba14732760cd302d236d0c3abe358a3ff57b"},{"author":{"_account_id":34034,"name":"Franciszek Przewoźny","display_name":"Franciszek Przewozny","email":"przewozny.franciszek@gmail.com","username":"fprzewozn","status":"OpenStack Engineer / SRE @ Opera Software"},"change_message_id":"449e4662372ba2454d99bcd8f124b3dfd3397aaf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":23,"id":"583bab3e_ed2f3ebf","updated":"2026-04-23 13:25:17.000000000","message":"recheck: lint","commit_id":"89ebba14732760cd302d236d0c3abe358a3ff57b"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"002039e6e1309c1973baabee2e2d7d78ea09607a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":25,"id":"4e0be91c_eecb0f20","updated":"2026-04-24 09:25:33.000000000","message":"I don’t have a good feeling about this patch. Multiple Ceph clusters are already supported—what’s preventing you from configuring multiple clusters and creating a volume type that Cinder can assign to the Nova service? I don’t think this is necessary just because of a single secret. As I said, the code feels fragile.","commit_id":"345d8f4361eb74d84521247f98a26f8a4df449ef"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"985277b8efd147e6dc0f7db2b0fe843ea0c08fc6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":25,"id":"ffce3d5a_4b3f7583","updated":"2026-04-24 09:19:46.000000000","message":"I know that one secret to multiple ceph clusters is not ideal, but is this change really needed ? I just ... this code is very fragile and multiple ceph backends are supported ...but with one secret.","commit_id":"345d8f4361eb74d84521247f98a26f8a4df449ef"},{"author":{"_account_id":34034,"name":"Franciszek Przewoźny","display_name":"Franciszek Przewozny","email":"przewozny.franciszek@gmail.com","username":"fprzewozn","status":"OpenStack Engineer / SRE @ Opera Software"},"change_message_id":"3ffb23da730d3e440c9d1add60e820c8e7ad21c1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":25,"id":"4bae8d42_15e3d90b","in_reply_to":"388dbf80_2e209d88","updated":"2026-05-29 07:35:21.000000000","message":"@michal.arbet@ultimum.io ping","commit_id":"345d8f4361eb74d84521247f98a26f8a4df449ef"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"4af3fe5df5f57e5d93051171b016d33c90e422c5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":25,"id":"1554c643_54c2ec35","in_reply_to":"4bae8d42_15e3d90b","updated":"2026-05-30 08:36:29.000000000","message":"Why you don\u0027t use cinder volumes ? Then you can use compute -\u003e several cephs ... \n\nYou just need to define cinder volume types and map them to cinder backends.","commit_id":"345d8f4361eb74d84521247f98a26f8a4df449ef"},{"author":{"_account_id":34034,"name":"Franciszek Przewoźny","display_name":"Franciszek Przewozny","email":"przewozny.franciszek@gmail.com","username":"fprzewozn","status":"OpenStack Engineer / SRE @ Opera Software"},"change_message_id":"2f2074dda2800ad1742bb858a011d2bee42a7286","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":25,"id":"5378e9bb_108d8f03","in_reply_to":"4e0be91c_eecb0f20","updated":"2026-04-24 09:30:25.000000000","message":"Currently supported setup is: single compute node - single Ceph cluster. This change allows for configuration: single compute node - multiple Ceph clusters. I\u0027ve been running this for some time now in my deployments and it was all fine. What feels fragile for you here?","commit_id":"345d8f4361eb74d84521247f98a26f8a4df449ef"},{"author":{"_account_id":34034,"name":"Franciszek Przewoźny","display_name":"Franciszek Przewozny","email":"przewozny.franciszek@gmail.com","username":"fprzewozn","status":"OpenStack Engineer / SRE @ Opera Software"},"change_message_id":"415c1820265b7e5d3ad1387c6c48ad8955f14a7b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":25,"id":"388dbf80_2e209d88","in_reply_to":"5378e9bb_108d8f03","updated":"2026-04-28 05:23:56.000000000","message":"@michal.arbet@ultimum.io ping","commit_id":"345d8f4361eb74d84521247f98a26f8a4df449ef"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"580a6cfc1b56b117f3367d522c4da7b9e71e9e15","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":26,"id":"20de590f_6ae7e04b","updated":"2026-05-30 09:20:46.000000000","message":"And in fact, this patch is largely unnecessary. Kolla-Ansible uses only two secrets because it keeps the implementation much simpler and easier to maintain. Multiple Ceph backends are already supported today, the only limitation is that they must use the same secrets. That\u0027s not ideal, but it\u0027s arguably a reasonable trade-off in favor of simplicity and maintainability.\n\nMoreover, the commit title claims to add \"multiple Ceph backend support\", which is misleading. Kolla-Ansible has supported multiple Ceph backends for a long time already. What this patch actually adds is the ability to use multiple libvirt secrets, but at the cost of making the implementation more complex. To me, it feels confusing, unnecessary, more prone to bugs, and harder to maintain.\n\nAlso, this patch missing CI tests.","commit_id":"d15fb61e143f48f5b6e63ab31cdecbc42bf2a5c1"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"60f1e5829334209bbe9a8788efa0d55fcdba9283","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":26,"id":"a467d532_ec1acc71","updated":"2026-05-30 09:18:27.000000000","message":"You are doing this.\n\nXML \u003e\u003e\n\n\nuuid: \"{{ lookup(\u0027vars\u0027, \u0027rbd_secret_uuid_\u0027 + backend.name, default\u003drbd_secret_uuid) }}\"\nsecret_name: \"ceph-ephemeral-nova-{{ backend.name }}\"\n...\ndest: \"{{ libvirt_secrets_dir }}/{{ uuid }}.xml\"\n\n\nSo, for ceph1 it will be something as below\n\n{{ rbd_secret_uuid_ceph1 }}.xml\n\nBut base64 secret still using global uuid\n\n - name: Pushing rbd secrets key for libvirt\n   vars:\n     uuid: \"{{ rbd_secret_uuid }}\"\n...\n     dest: \"{{ libvirt_secrets_dir }}/{{ uuid }}.base64\" \n     \nSo, creates {{ rbd_secret_uuid }}.base64 instead of {{ rbd_secret_uuid_ceph1 }}.base64\n\n\nSo, it\u0027s broken.\n\nXML secret:   /etc/kolla/.../\u003crbd_secret_uuid_ceph1\u003e.xml\nKEY secret:   /etc/kolla/.../\u003crbd_secret_uuid\u003e.base64","commit_id":"d15fb61e143f48f5b6e63ab31cdecbc42bf2a5c1"},{"author":{"_account_id":34034,"name":"Franciszek Przewoźny","display_name":"Franciszek Przewozny","email":"przewozny.franciszek@gmail.com","username":"fprzewozn","status":"OpenStack Engineer / SRE @ Opera Software"},"change_message_id":"d9738b28694bc353535ca42515044e8796e913ca","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":26,"id":"2657869b_e613ea9b","in_reply_to":"20de590f_6ae7e04b","updated":"2026-06-10 05:39:06.000000000","message":"Fair enough, looking at this once again, implementing separate secrets for each backend adds a ton of complexity. Nevertheless, documentation still requires some attention as some areas are not covered fully. I\u0027ll abandon this change and propose docs updates. Thanks for review!","commit_id":"d15fb61e143f48f5b6e63ab31cdecbc42bf2a5c1"}],"ansible/roles/nova-cell/defaults/main.yml":[{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"23444fce7e8555fe65ffc121e3595bd59cba8483","unresolved":true,"context_lines":[{"line_number":87,"context_line":"# qemu (1, 6, 0) or later. Set to \"\" to disable."},{"line_number":88,"context_line":"nova_hw_disk_discard: \"unmap\""},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"nova_cell_ceph_backends:"},{"line_number":91,"context_line":"  - cluster: \"{{ ceph_cluster }}\""},{"line_number":92,"context_line":"    vms:"},{"line_number":93,"context_line":"      user: \"{{ ceph_nova_user }}\""},{"line_number":94,"context_line":"      pool: \"{{ ceph_nova_pool_name }}\""},{"line_number":95,"context_line":"    volumes:"},{"line_number":96,"context_line":"      user: \"{{ ceph_cinder_user }}\""},{"line_number":97,"context_line":"      pool: \"{{ ceph_cinder_pool_name }}\""},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"####################"},{"line_number":100,"context_line":"# Cells Options"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"45654acd_bad428dc","line":97,"range":{"start_line":90,"start_character":0,"end_line":97,"end_character":41},"updated":"2025-08-06 13:28:02.000000000","message":"```suggestion\nnova_cell_ceph_backends:\n  - name: \"{{ ceph_cluster }}\"\n    cluster: \"{{ ceph_cluster }}\"\n    vms:\n      user: \"{{ ceph_nova_user }}\"\n      pool: \"{{ ceph_nova_pool_name }}\"\n    volumes:\n      user: \"{{ ceph_cinder_user }}\"\n      pool: \"{{ ceph_cinder_pool_name }}\"\n```","commit_id":"3b203ac293cf974408a038f92d9dc8713a84c71e"},{"author":{"_account_id":34034,"name":"Franciszek Przewoźny","display_name":"Franciszek Przewozny","email":"przewozny.franciszek@gmail.com","username":"fprzewozn","status":"OpenStack Engineer / SRE @ Opera Software"},"change_message_id":"f8ca7f857e316f694064549b91e6ede4ac1b4b43","unresolved":false,"context_lines":[{"line_number":87,"context_line":"# qemu (1, 6, 0) or later. Set to \"\" to disable."},{"line_number":88,"context_line":"nova_hw_disk_discard: \"unmap\""},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"nova_cell_ceph_backends:"},{"line_number":91,"context_line":"  - cluster: \"{{ ceph_cluster }}\""},{"line_number":92,"context_line":"    vms:"},{"line_number":93,"context_line":"      user: \"{{ ceph_nova_user }}\""},{"line_number":94,"context_line":"      pool: \"{{ ceph_nova_pool_name }}\""},{"line_number":95,"context_line":"    volumes:"},{"line_number":96,"context_line":"      user: \"{{ ceph_cinder_user }}\""},{"line_number":97,"context_line":"      pool: \"{{ ceph_cinder_pool_name }}\""},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"####################"},{"line_number":100,"context_line":"# Cells Options"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"2d1ba9d8_4dd63e56","line":97,"range":{"start_line":90,"start_character":0,"end_line":97,"end_character":41},"in_reply_to":"45654acd_bad428dc","updated":"2025-08-08 12:51:46.000000000","message":"Fix applied.","commit_id":"3b203ac293cf974408a038f92d9dc8713a84c71e"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"967d8e310ca7d1a53185efba2dcbb40d4e431596","unresolved":true,"context_lines":[{"line_number":87,"context_line":"# qemu (1, 6, 0) or later. Set to \"\" to disable."},{"line_number":88,"context_line":"nova_hw_disk_discard: \"unmap\""},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"nova_cell_ceph_backends:"},{"line_number":91,"context_line":"  - name: \"{{ ceph_cluster }}\""},{"line_number":92,"context_line":"    cluster: \"{{ ceph_cluster }}\""},{"line_number":93,"context_line":"    vms:"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"83a282f3_c6c25465","line":90,"updated":"2025-08-11 11:57:43.000000000","message":"Why not add the `nova_cell_ceph_backend` element here instead of dropping and renaming it? Shouldn\u0027t we want back compatibility?","commit_id":"5e6ddf3f659f6314e821b4bdf3001b3846bcec85"},{"author":{"_account_id":34034,"name":"Franciszek Przewoźny","display_name":"Franciszek Przewozny","email":"przewozny.franciszek@gmail.com","username":"fprzewozn","status":"OpenStack Engineer / SRE @ Opera Software"},"change_message_id":"1f9a41face9a5d1a5da7cae6cb2f1f33a1ccaa78","unresolved":false,"context_lines":[{"line_number":87,"context_line":"# qemu (1, 6, 0) or later. Set to \"\" to disable."},{"line_number":88,"context_line":"nova_hw_disk_discard: \"unmap\""},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"nova_cell_ceph_backends:"},{"line_number":91,"context_line":"  - name: \"{{ ceph_cluster }}\""},{"line_number":92,"context_line":"    cluster: \"{{ ceph_cluster }}\""},{"line_number":93,"context_line":"    vms:"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"03d461b8_f6e3b232","line":90,"in_reply_to":"5fbbf950_df083845","updated":"2026-04-22 09:04:41.000000000","message":"Done","commit_id":"5e6ddf3f659f6314e821b4bdf3001b3846bcec85"},{"author":{"_account_id":34034,"name":"Franciszek Przewoźny","display_name":"Franciszek Przewozny","email":"przewozny.franciszek@gmail.com","username":"fprzewozn","status":"OpenStack Engineer / SRE @ Opera Software"},"change_message_id":"f9166e08b590c01cb52877660eb417487481547b","unresolved":true,"context_lines":[{"line_number":87,"context_line":"# qemu (1, 6, 0) or later. Set to \"\" to disable."},{"line_number":88,"context_line":"nova_hw_disk_discard: \"unmap\""},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"nova_cell_ceph_backends:"},{"line_number":91,"context_line":"  - name: \"{{ ceph_cluster }}\""},{"line_number":92,"context_line":"    cluster: \"{{ ceph_cluster }}\""},{"line_number":93,"context_line":"    vms:"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"5fbbf950_df083845","line":90,"in_reply_to":"83a282f3_c6c25465","updated":"2025-08-11 12:10:30.000000000","message":"I\u0027m changing the variable structure here, keeping with `nova_cell_ceph_backend` could be misleading. IMO this variable should be renamed. Default variable `nova_cell_ceph_backends` content is backward compatible with `nova_cell_ceph_backend` values.","commit_id":"5e6ddf3f659f6314e821b4bdf3001b3846bcec85"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"f3853db866b77dba64e02f5461067927de05fb81","unresolved":true,"context_lines":[{"line_number":87,"context_line":"# qemu (1, 6, 0) or later. Set to \"\" to disable."},{"line_number":88,"context_line":"nova_hw_disk_discard: \"unmap\""},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"nova_cell_ceph_backends:"},{"line_number":91,"context_line":"  - name: \"{{ ceph_cluster }}\""},{"line_number":92,"context_line":"    cluster: \"{{ ceph_cluster }}\""},{"line_number":93,"context_line":"    vms:"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"e6316dd7_031ca67a","line":90,"updated":"2026-04-22 11:46:52.000000000","message":"That\u0027s backwards incompatible - can we add assert that nova_cell_ceph_backends is a list of dicts for user visibility? The other option is to support both list of dicts and a legacy dict","commit_id":"edbb3b37a328c49604e1a5b05dac63d4b963409b"},{"author":{"_account_id":34034,"name":"Franciszek Przewoźny","display_name":"Franciszek Przewozny","email":"przewozny.franciszek@gmail.com","username":"fprzewozn","status":"OpenStack Engineer / SRE @ Opera Software"},"change_message_id":"7c4965b6c5b0bb29e6310509e491d0817602f36e","unresolved":true,"context_lines":[{"line_number":87,"context_line":"# qemu (1, 6, 0) or later. Set to \"\" to disable."},{"line_number":88,"context_line":"nova_hw_disk_discard: \"unmap\""},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"nova_cell_ceph_backends:"},{"line_number":91,"context_line":"  - name: \"{{ ceph_cluster }}\""},{"line_number":92,"context_line":"    cluster: \"{{ ceph_cluster }}\""},{"line_number":93,"context_line":"    vms:"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"045f7b1b_07aacee6","line":90,"in_reply_to":"e6316dd7_031ca67a","updated":"2026-04-23 11:15:57.000000000","message":"The variable defined here secures the standard config provided in globals.yml. I\u0027ve just added conversion task of \"old\" nova_cell_ceph_backend format in config.yml together with info in precheck.yml. Please have a look.","commit_id":"edbb3b37a328c49604e1a5b05dac63d4b963409b"}],"ansible/roles/nova-cell/tasks/config.yml":[{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"f3853db866b77dba64e02f5461067927de05fb81","unresolved":true,"context_lines":[{"line_number":19,"context_line":"  when:"},{"line_number":20,"context_line":"    - (nova_backend \u003d\u003d \"rbd\" or cinder_backend_ceph | bool)"},{"line_number":21,"context_line":"    - inventory_hostname in groups[nova_cell_compute_group]"},{"line_number":22,"context_line":"  with_items: \"{{ nova_cell_ceph_backends }}\""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"- name: Check if policies shall be overwritten"},{"line_number":25,"context_line":"  ansible.builtin.stat:"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"f0cf08e6_77792f47","line":22,"updated":"2026-04-22 11:46:52.000000000","message":"loop: please, ideally with loop_var that references it\u0027s iterating over backends, which will improve readability over item.something in external_ceph.yml","commit_id":"edbb3b37a328c49604e1a5b05dac63d4b963409b"},{"author":{"_account_id":34034,"name":"Franciszek Przewoźny","display_name":"Franciszek Przewozny","email":"przewozny.franciszek@gmail.com","username":"fprzewozn","status":"OpenStack Engineer / SRE @ Opera Software"},"change_message_id":"7c4965b6c5b0bb29e6310509e491d0817602f36e","unresolved":false,"context_lines":[{"line_number":19,"context_line":"  when:"},{"line_number":20,"context_line":"    - (nova_backend \u003d\u003d \"rbd\" or cinder_backend_ceph | bool)"},{"line_number":21,"context_line":"    - inventory_hostname in groups[nova_cell_compute_group]"},{"line_number":22,"context_line":"  with_items: \"{{ nova_cell_ceph_backends }}\""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"- name: Check if policies shall be overwritten"},{"line_number":25,"context_line":"  ansible.builtin.stat:"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"dca859a6_2ba529bc","line":22,"in_reply_to":"f0cf08e6_77792f47","updated":"2026-04-23 11:15:57.000000000","message":"yeah, totally agree, done.","commit_id":"edbb3b37a328c49604e1a5b05dac63d4b963409b"}],"ansible/roles/nova-cell/tasks/external_ceph.yml":[{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"23444fce7e8555fe65ffc121e3595bd59cba8483","unresolved":true,"context_lines":[{"line_number":37,"context_line":"  changed_when: false"},{"line_number":38,"context_line":"  when:"},{"line_number":39,"context_line":"    - nova_backend \u003d\u003d \"rbd\""},{"line_number":40,"context_line":"    - external_ceph_cephx_enabled | bool"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"- name: Extract cinder key from file"},{"line_number":43,"context_line":"  set_fact:"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"86ddf666_7f0a2924","line":40,"updated":"2025-08-06 13:28:02.000000000","message":"```suggestion\n    - external_ceph_cephx_enabled | bool\n    - item.vms is defined\n```","commit_id":"3b203ac293cf974408a038f92d9dc8713a84c71e"},{"author":{"_account_id":34034,"name":"Franciszek Przewoźny","display_name":"Franciszek Przewozny","email":"przewozny.franciszek@gmail.com","username":"fprzewozn","status":"OpenStack Engineer / SRE @ Opera Software"},"change_message_id":"f8ca7f857e316f694064549b91e6ede4ac1b4b43","unresolved":false,"context_lines":[{"line_number":37,"context_line":"  changed_when: false"},{"line_number":38,"context_line":"  when:"},{"line_number":39,"context_line":"    - nova_backend \u003d\u003d \"rbd\""},{"line_number":40,"context_line":"    - external_ceph_cephx_enabled | bool"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"- name: Extract cinder key from file"},{"line_number":43,"context_line":"  set_fact:"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"46a33cd6_99f8b922","line":40,"in_reply_to":"86ddf666_7f0a2924","updated":"2025-08-08 12:51:46.000000000","message":"Fix applied.","commit_id":"3b203ac293cf974408a038f92d9dc8713a84c71e"},{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"23444fce7e8555fe65ffc121e3595bd59cba8483","unresolved":true,"context_lines":[{"line_number":45,"context_line":"  changed_when: false"},{"line_number":46,"context_line":"  when:"},{"line_number":47,"context_line":"    - cinder_backend_ceph | bool"},{"line_number":48,"context_line":"    - external_ceph_cephx_enabled | bool"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"- name: Copy over ceph nova keyring file"},{"line_number":51,"context_line":"  template:"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"db1ebdb4_1ebd3f51","line":48,"updated":"2025-08-06 13:28:02.000000000","message":"```suggestion\n    - external_ceph_cephx_enabled | bool\n    - item.volumes is defined\n```","commit_id":"3b203ac293cf974408a038f92d9dc8713a84c71e"},{"author":{"_account_id":34034,"name":"Franciszek Przewoźny","display_name":"Franciszek Przewozny","email":"przewozny.franciszek@gmail.com","username":"fprzewozn","status":"OpenStack Engineer / SRE @ Opera Software"},"change_message_id":"f8ca7f857e316f694064549b91e6ede4ac1b4b43","unresolved":false,"context_lines":[{"line_number":45,"context_line":"  changed_when: false"},{"line_number":46,"context_line":"  when:"},{"line_number":47,"context_line":"    - cinder_backend_ceph | bool"},{"line_number":48,"context_line":"    - external_ceph_cephx_enabled | bool"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"- name: Copy over ceph nova keyring file"},{"line_number":51,"context_line":"  template:"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"41eb8b27_4b19db65","line":48,"in_reply_to":"db1ebdb4_1ebd3f51","updated":"2025-08-08 12:51:46.000000000","message":"Fix applied.","commit_id":"3b203ac293cf974408a038f92d9dc8713a84c71e"},{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"23444fce7e8555fe65ffc121e3595bd59cba8483","unresolved":true,"context_lines":[{"line_number":62,"context_line":"  when:"},{"line_number":63,"context_line":"    - inventory_hostname in groups[nova_cell_compute_group]"},{"line_number":64,"context_line":"    - nova_backend \u003d\u003d \"rbd\""},{"line_number":65,"context_line":"    - external_ceph_cephx_enabled | bool"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"- name: Copy over ceph cinder keyring file"},{"line_number":68,"context_line":"  template:"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"cf5b4549_0174013a","line":65,"updated":"2025-08-06 13:28:02.000000000","message":"```suggestion\n    - external_ceph_cephx_enabled | bool\n    - item.vms is defined\n```","commit_id":"3b203ac293cf974408a038f92d9dc8713a84c71e"},{"author":{"_account_id":34034,"name":"Franciszek Przewoźny","display_name":"Franciszek Przewozny","email":"przewozny.franciszek@gmail.com","username":"fprzewozn","status":"OpenStack Engineer / SRE @ Opera Software"},"change_message_id":"f8ca7f857e316f694064549b91e6ede4ac1b4b43","unresolved":false,"context_lines":[{"line_number":62,"context_line":"  when:"},{"line_number":63,"context_line":"    - inventory_hostname in groups[nova_cell_compute_group]"},{"line_number":64,"context_line":"    - nova_backend \u003d\u003d \"rbd\""},{"line_number":65,"context_line":"    - external_ceph_cephx_enabled | bool"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"- name: Copy over ceph cinder keyring file"},{"line_number":68,"context_line":"  template:"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"bd0dcae3_75d547af","line":65,"in_reply_to":"cf5b4549_0174013a","updated":"2025-08-08 12:51:46.000000000","message":"Fix applied.","commit_id":"3b203ac293cf974408a038f92d9dc8713a84c71e"},{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"23444fce7e8555fe65ffc121e3595bd59cba8483","unresolved":true,"context_lines":[{"line_number":79,"context_line":"  when:"},{"line_number":80,"context_line":"    - inventory_hostname in groups[nova_cell_compute_group]"},{"line_number":81,"context_line":"    - nova_backend \u003d\u003d \"rbd\""},{"line_number":82,"context_line":"    - external_ceph_cephx_enabled | bool"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"- name: Copy over ceph.conf"},{"line_number":85,"context_line":"  vars:"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"eaf8fab5_545bb905","line":82,"updated":"2025-08-06 13:28:02.000000000","message":"```suggestion\n    - external_ceph_cephx_enabled | bool\n    - item.volumes is defined\n```","commit_id":"3b203ac293cf974408a038f92d9dc8713a84c71e"},{"author":{"_account_id":34034,"name":"Franciszek Przewoźny","display_name":"Franciszek Przewozny","email":"przewozny.franciszek@gmail.com","username":"fprzewozn","status":"OpenStack Engineer / SRE @ Opera Software"},"change_message_id":"f8ca7f857e316f694064549b91e6ede4ac1b4b43","unresolved":false,"context_lines":[{"line_number":79,"context_line":"  when:"},{"line_number":80,"context_line":"    - inventory_hostname in groups[nova_cell_compute_group]"},{"line_number":81,"context_line":"    - nova_backend \u003d\u003d \"rbd\""},{"line_number":82,"context_line":"    - external_ceph_cephx_enabled | bool"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"- name: Copy over ceph.conf"},{"line_number":85,"context_line":"  vars:"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"141c0032_c32b81f9","line":82,"in_reply_to":"eaf8fab5_545bb905","updated":"2025-08-08 12:51:46.000000000","message":"Fix applied.","commit_id":"3b203ac293cf974408a038f92d9dc8713a84c71e"},{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"23444fce7e8555fe65ffc121e3595bd59cba8483","unresolved":true,"context_lines":[{"line_number":151,"context_line":"      vars:"},{"line_number":152,"context_line":"        service: \"{{ nova_cell_services[\u0027nova-libvirt\u0027] }}\""},{"line_number":153,"context_line":"        secrets:"},{"line_number":154,"context_line":"        uuid: \"{{ lookup(\u0027vars\u0027, \u0027rbd_secret_uuid_\u0027 + item.cluster, default\u003drbd_secret_uuid) }}\""},{"line_number":155,"context_line":"        secret_name: \"ceph-ephemeral-nova-{{ item.cluster }}\""},{"line_number":156,"context_line":"        description: \"Ceph Client Secret for Ephemeral Storage (Nova)\""},{"line_number":157,"context_line":"        enabled: \"{{ nova_backend \u003d\u003d \u0027rbd\u0027 }}\""},{"line_number":158,"context_line":"      template:"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"383fbc40_731c8e38","line":155,"range":{"start_line":154,"start_character":1,"end_line":155,"end_character":61},"updated":"2025-08-06 13:28:02.000000000","message":"```suggestion\n        uuid: \"{{ lookup(\u0027vars\u0027, \u0027rbd_secret_uuid_\u0027 + item.name, default\u003drbd_secret_uuid) }}\"\n        secret_name: \"ceph-ephemeral-nova-{{ item.name }}\"\n```","commit_id":"3b203ac293cf974408a038f92d9dc8713a84c71e"},{"author":{"_account_id":34034,"name":"Franciszek Przewoźny","display_name":"Franciszek Przewozny","email":"przewozny.franciszek@gmail.com","username":"fprzewozn","status":"OpenStack Engineer / SRE @ Opera Software"},"change_message_id":"f8ca7f857e316f694064549b91e6ede4ac1b4b43","unresolved":false,"context_lines":[{"line_number":151,"context_line":"      vars:"},{"line_number":152,"context_line":"        service: \"{{ nova_cell_services[\u0027nova-libvirt\u0027] }}\""},{"line_number":153,"context_line":"        secrets:"},{"line_number":154,"context_line":"        uuid: \"{{ lookup(\u0027vars\u0027, \u0027rbd_secret_uuid_\u0027 + item.cluster, default\u003drbd_secret_uuid) }}\""},{"line_number":155,"context_line":"        secret_name: \"ceph-ephemeral-nova-{{ item.cluster }}\""},{"line_number":156,"context_line":"        description: \"Ceph Client Secret for Ephemeral Storage (Nova)\""},{"line_number":157,"context_line":"        enabled: \"{{ nova_backend \u003d\u003d \u0027rbd\u0027 }}\""},{"line_number":158,"context_line":"      template:"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"c03010dd_58c317c1","line":155,"range":{"start_line":154,"start_character":1,"end_line":155,"end_character":61},"in_reply_to":"383fbc40_731c8e38","updated":"2025-08-08 12:51:46.000000000","message":"Fix applied.","commit_id":"3b203ac293cf974408a038f92d9dc8713a84c71e"},{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"23444fce7e8555fe65ffc121e3595bd59cba8483","unresolved":true,"context_lines":[{"line_number":171,"context_line":"    - name: Pushing nova cinder secret xml for libvirt"},{"line_number":172,"context_line":"      vars:"},{"line_number":173,"context_line":"        service: \"{{ nova_cell_services[\u0027nova-libvirt\u0027] }}\""},{"line_number":174,"context_line":"        uuid: \"{{ lookup(\u0027vars\u0027, \u0027cinder_rbd_secret_uuid_\u0027 + item.cluster, default\u003dcinder_rbd_secret_uuid) }}\""},{"line_number":175,"context_line":"        secret_name: \"ceph-persistent-cinder-{{ item.cluster }}\""},{"line_number":176,"context_line":"        description: \"Ceph Client Secret for Persistent Storage (Cinder)\""},{"line_number":177,"context_line":"        enabled: \"{{ cinder_backend_ceph }}\""},{"line_number":178,"context_line":"      template:"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"a73fd829_e402a28d","line":175,"range":{"start_line":174,"start_character":1,"end_line":175,"end_character":64},"updated":"2025-08-06 13:28:02.000000000","message":"```suggestion\n        uuid: \"{{ lookup(\u0027vars\u0027, \u0027cinder_rbd_secret_uuid_\u0027 + item.name, default\u003dcinder_rbd_secret_uuid) }}\"\n        secret_name: \"ceph-persistent-cinder-{{ item.name }}\"\n```","commit_id":"3b203ac293cf974408a038f92d9dc8713a84c71e"},{"author":{"_account_id":34034,"name":"Franciszek Przewoźny","display_name":"Franciszek Przewozny","email":"przewozny.franciszek@gmail.com","username":"fprzewozn","status":"OpenStack Engineer / SRE @ Opera Software"},"change_message_id":"f8ca7f857e316f694064549b91e6ede4ac1b4b43","unresolved":false,"context_lines":[{"line_number":171,"context_line":"    - name: Pushing nova cinder secret xml for libvirt"},{"line_number":172,"context_line":"      vars:"},{"line_number":173,"context_line":"        service: \"{{ nova_cell_services[\u0027nova-libvirt\u0027] }}\""},{"line_number":174,"context_line":"        uuid: \"{{ lookup(\u0027vars\u0027, \u0027cinder_rbd_secret_uuid_\u0027 + item.cluster, default\u003dcinder_rbd_secret_uuid) }}\""},{"line_number":175,"context_line":"        secret_name: \"ceph-persistent-cinder-{{ item.cluster }}\""},{"line_number":176,"context_line":"        description: \"Ceph Client Secret for Persistent Storage (Cinder)\""},{"line_number":177,"context_line":"        enabled: \"{{ cinder_backend_ceph }}\""},{"line_number":178,"context_line":"      template:"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"f59d00b4_5e1dd9c6","line":175,"range":{"start_line":174,"start_character":1,"end_line":175,"end_character":64},"in_reply_to":"a73fd829_e402a28d","updated":"2025-08-08 12:51:46.000000000","message":"Fix applied.","commit_id":"3b203ac293cf974408a038f92d9dc8713a84c71e"},{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"23444fce7e8555fe65ffc121e3595bd59cba8483","unresolved":true,"context_lines":[{"line_number":214,"context_line":"    - name: Pushing cinder secrets key for libvirt"},{"line_number":215,"context_line":"      vars:"},{"line_number":216,"context_line":"        service: \"{{ nova_cell_services[\u0027nova-libvirt\u0027] }}\""},{"line_number":217,"context_line":"        uuid: \"{{ lookup(\u0027vars\u0027, \u0027cinder_rbd_secret_uuid_\u0027 + item.cluster, default\u003dcinder_rbd_secret_uuid) }}\""},{"line_number":218,"context_line":"        result: \"{{ cinder_cephx_raw_key | default }}\""},{"line_number":219,"context_line":"        enabled: \"{{ cinder_backend_ceph }}\""},{"line_number":220,"context_line":"      template:"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"5837de30_994ef0c3","line":217,"range":{"start_line":217,"start_character":41,"end_line":217,"end_character":57},"updated":"2025-08-06 13:28:02.000000000","message":"In this patch right now, these `(cinder_)rbd_secret_uuid_*` variables are undefined. It would be great if these could be automatically defined when `kolla-genpwd` is called. \n\nThis doesn\u0027t necessarily need to be in the same patch, but if it isn\u0027t then it should be explicitly documented that these need to be defined. (I realise there\u0027s no docs yet as this patch is WIP, just a reminder really)","commit_id":"3b203ac293cf974408a038f92d9dc8713a84c71e"},{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"23444fce7e8555fe65ffc121e3595bd59cba8483","unresolved":true,"context_lines":[{"line_number":214,"context_line":"    - name: Pushing cinder secrets key for libvirt"},{"line_number":215,"context_line":"      vars:"},{"line_number":216,"context_line":"        service: \"{{ nova_cell_services[\u0027nova-libvirt\u0027] }}\""},{"line_number":217,"context_line":"        uuid: \"{{ lookup(\u0027vars\u0027, \u0027cinder_rbd_secret_uuid_\u0027 + item.cluster, default\u003dcinder_rbd_secret_uuid) }}\""},{"line_number":218,"context_line":"        result: \"{{ cinder_cephx_raw_key | default }}\""},{"line_number":219,"context_line":"        enabled: \"{{ cinder_backend_ceph }}\""},{"line_number":220,"context_line":"      template:"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"decb51cc_5ed769f9","line":217,"range":{"start_line":217,"start_character":0,"end_line":217,"end_character":2},"updated":"2025-08-06 13:28:02.000000000","message":"```suggestion\n        uuid: \"{{ lookup(\u0027vars\u0027, \u0027cinder_rbd_secret_uuid_\u0027 + item.name, default\u003dcinder_rbd_secret_uuid) }}\"\n```","commit_id":"3b203ac293cf974408a038f92d9dc8713a84c71e"},{"author":{"_account_id":34034,"name":"Franciszek Przewoźny","display_name":"Franciszek Przewozny","email":"przewozny.franciszek@gmail.com","username":"fprzewozn","status":"OpenStack Engineer / SRE @ Opera Software"},"change_message_id":"c5cbc1cef226bad1e23018829d19564b1e205671","unresolved":true,"context_lines":[{"line_number":214,"context_line":"    - name: Pushing cinder secrets key for libvirt"},{"line_number":215,"context_line":"      vars:"},{"line_number":216,"context_line":"        service: \"{{ nova_cell_services[\u0027nova-libvirt\u0027] }}\""},{"line_number":217,"context_line":"        uuid: \"{{ lookup(\u0027vars\u0027, \u0027cinder_rbd_secret_uuid_\u0027 + item.cluster, default\u003dcinder_rbd_secret_uuid) }}\""},{"line_number":218,"context_line":"        result: \"{{ cinder_cephx_raw_key | default }}\""},{"line_number":219,"context_line":"        enabled: \"{{ cinder_backend_ceph }}\""},{"line_number":220,"context_line":"      template:"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"d7924520_daf1e031","line":217,"range":{"start_line":217,"start_character":41,"end_line":217,"end_character":57},"in_reply_to":"302e4bfa_89f7ca77","updated":"2025-08-11 12:05:35.000000000","message":"But do we actually need changes there? Looking at this once again, cleanest solution is to add documentation on how to add new clusters config (and secrets to `passwords.yml` template). Otherwise `kolla-genpwd` would have to be able to access `globals.yml` in order to read the clusters names.","commit_id":"3b203ac293cf974408a038f92d9dc8713a84c71e"},{"author":{"_account_id":34034,"name":"Franciszek Przewoźny","display_name":"Franciszek Przewozny","email":"przewozny.franciszek@gmail.com","username":"fprzewozn","status":"OpenStack Engineer / SRE @ Opera Software"},"change_message_id":"17e031858aa5df8a6ac9fffc72e90e42de797cee","unresolved":true,"context_lines":[{"line_number":214,"context_line":"    - name: Pushing cinder secrets key for libvirt"},{"line_number":215,"context_line":"      vars:"},{"line_number":216,"context_line":"        service: \"{{ nova_cell_services[\u0027nova-libvirt\u0027] }}\""},{"line_number":217,"context_line":"        uuid: \"{{ lookup(\u0027vars\u0027, \u0027cinder_rbd_secret_uuid_\u0027 + item.cluster, default\u003dcinder_rbd_secret_uuid) }}\""},{"line_number":218,"context_line":"        result: \"{{ cinder_cephx_raw_key | default }}\""},{"line_number":219,"context_line":"        enabled: \"{{ cinder_backend_ceph }}\""},{"line_number":220,"context_line":"      template:"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"f6093c3d_c3023052","line":217,"range":{"start_line":217,"start_character":41,"end_line":217,"end_character":57},"in_reply_to":"5837de30_994ef0c3","updated":"2025-08-07 10:42:12.000000000","message":"Those secret names include cluster name, and AFIK `kolla-genpwd` does not look into configuration - it just generates passwords from a template. That\u0027s why I\u0027m adding those secrets (with cluster names in variable name) manually, after password generation.","commit_id":"3b203ac293cf974408a038f92d9dc8713a84c71e"},{"author":{"_account_id":34034,"name":"Franciszek Przewoźny","display_name":"Franciszek Przewozny","email":"przewozny.franciszek@gmail.com","username":"fprzewozn","status":"OpenStack Engineer / SRE @ Opera Software"},"change_message_id":"1f9a41face9a5d1a5da7cae6cb2f1f33a1ccaa78","unresolved":false,"context_lines":[{"line_number":214,"context_line":"    - name: Pushing cinder secrets key for libvirt"},{"line_number":215,"context_line":"      vars:"},{"line_number":216,"context_line":"        service: \"{{ nova_cell_services[\u0027nova-libvirt\u0027] }}\""},{"line_number":217,"context_line":"        uuid: \"{{ lookup(\u0027vars\u0027, \u0027cinder_rbd_secret_uuid_\u0027 + item.cluster, default\u003dcinder_rbd_secret_uuid) }}\""},{"line_number":218,"context_line":"        result: \"{{ cinder_cephx_raw_key | default }}\""},{"line_number":219,"context_line":"        enabled: \"{{ cinder_backend_ceph }}\""},{"line_number":220,"context_line":"      template:"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"db76d0b5_df4e9a50","line":217,"range":{"start_line":217,"start_character":41,"end_line":217,"end_character":57},"in_reply_to":"5c82c73d_b74189b3","updated":"2026-04-22 09:04:41.000000000","message":"Hey @mnasiadka@gmail.com I\u0027ve extended the genpwd and mergepwd so it preserves values starting with rbd_secret_uuid_ and cinder_rbd_secret_uuid_. Other way was to use values from globals.yml but that would implement new dependency (that passwords scripts depend on config which is not the case right now).","commit_id":"3b203ac293cf974408a038f92d9dc8713a84c71e"},{"author":{"_account_id":34034,"name":"Franciszek Przewoźny","display_name":"Franciszek Przewozny","email":"przewozny.franciszek@gmail.com","username":"fprzewozn","status":"OpenStack Engineer / SRE @ Opera Software"},"change_message_id":"c89a5b285274fd12102f7e56124d5a7200e86f8b","unresolved":true,"context_lines":[{"line_number":214,"context_line":"    - name: Pushing cinder secrets key for libvirt"},{"line_number":215,"context_line":"      vars:"},{"line_number":216,"context_line":"        service: \"{{ nova_cell_services[\u0027nova-libvirt\u0027] }}\""},{"line_number":217,"context_line":"        uuid: \"{{ lookup(\u0027vars\u0027, \u0027cinder_rbd_secret_uuid_\u0027 + item.cluster, default\u003dcinder_rbd_secret_uuid) }}\""},{"line_number":218,"context_line":"        result: \"{{ cinder_cephx_raw_key | default }}\""},{"line_number":219,"context_line":"        enabled: \"{{ cinder_backend_ceph }}\""},{"line_number":220,"context_line":"      template:"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"dfa251b4_0730aafb","line":217,"range":{"start_line":217,"start_character":41,"end_line":217,"end_character":57},"in_reply_to":"be459e0e_2e060050","updated":"2025-08-07 10:58:12.000000000","message":"Sure, but I would like to keep it as a separate change if it\u0027s not a problem.","commit_id":"3b203ac293cf974408a038f92d9dc8713a84c71e"},{"author":{"_account_id":34034,"name":"Franciszek Przewoźny","display_name":"Franciszek Przewozny","email":"przewozny.franciszek@gmail.com","username":"fprzewozn","status":"OpenStack Engineer / SRE @ Opera Software"},"change_message_id":"d00d58a772192add4940cb243c367d77ef058f3a","unresolved":true,"context_lines":[{"line_number":214,"context_line":"    - name: Pushing cinder secrets key for libvirt"},{"line_number":215,"context_line":"      vars:"},{"line_number":216,"context_line":"        service: \"{{ nova_cell_services[\u0027nova-libvirt\u0027] }}\""},{"line_number":217,"context_line":"        uuid: \"{{ lookup(\u0027vars\u0027, \u0027cinder_rbd_secret_uuid_\u0027 + item.cluster, default\u003dcinder_rbd_secret_uuid) }}\""},{"line_number":218,"context_line":"        result: \"{{ cinder_cephx_raw_key | default }}\""},{"line_number":219,"context_line":"        enabled: \"{{ cinder_backend_ceph }}\""},{"line_number":220,"context_line":"      template:"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"5c82c73d_b74189b3","line":217,"range":{"start_line":217,"start_character":41,"end_line":217,"end_character":57},"in_reply_to":"c0fcbab7_8efb40a9","updated":"2025-08-12 07:56:15.000000000","message":"In order to support those additional clusters secrets, we would need to include `globals.yml` and read the variables. Isn\u0027t that a change that could break automations, etc? \nDefault (single backend) behaviour for Ceph clusters configuration remains the same as before. Multi backend configuration is possible only if someone overwrites ``nova_cell_ceph_backends`` from ``nova_cell/defaults/main.yml``. IMO this option won\u0027t be popular and it\u0027s not worth changing the default CLI tools. I can create a docs page that will inform users how to configure it and what risks arise when using this feature.","commit_id":"3b203ac293cf974408a038f92d9dc8713a84c71e"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"616749df5f449e86ede560d4b6c704d9da0fd664","unresolved":true,"context_lines":[{"line_number":214,"context_line":"    - name: Pushing cinder secrets key for libvirt"},{"line_number":215,"context_line":"      vars:"},{"line_number":216,"context_line":"        service: \"{{ nova_cell_services[\u0027nova-libvirt\u0027] }}\""},{"line_number":217,"context_line":"        uuid: \"{{ lookup(\u0027vars\u0027, \u0027cinder_rbd_secret_uuid_\u0027 + item.cluster, default\u003dcinder_rbd_secret_uuid) }}\""},{"line_number":218,"context_line":"        result: \"{{ cinder_cephx_raw_key | default }}\""},{"line_number":219,"context_line":"        enabled: \"{{ cinder_backend_ceph }}\""},{"line_number":220,"context_line":"      template:"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"c0fcbab7_8efb40a9","line":217,"range":{"start_line":217,"start_character":41,"end_line":217,"end_character":57},"in_reply_to":"d7924520_daf1e031","updated":"2025-08-12 07:14:31.000000000","message":"I\u0027m rather worried about kolla-mergepwd, because if you use --clean - you\u0027ll loose secrets that are not part of new passwords.yml. I still think a better user-experience-wise solution would be include that functionality in kolla-genpwd and make kolla-mergepwd (so upgrades) smoother.","commit_id":"3b203ac293cf974408a038f92d9dc8713a84c71e"},{"author":{"_account_id":34034,"name":"Franciszek Przewoźny","display_name":"Franciszek Przewozny","email":"przewozny.franciszek@gmail.com","username":"fprzewozn","status":"OpenStack Engineer / SRE @ Opera Software"},"change_message_id":"f8ca7f857e316f694064549b91e6ede4ac1b4b43","unresolved":false,"context_lines":[{"line_number":214,"context_line":"    - name: Pushing cinder secrets key for libvirt"},{"line_number":215,"context_line":"      vars:"},{"line_number":216,"context_line":"        service: \"{{ nova_cell_services[\u0027nova-libvirt\u0027] }}\""},{"line_number":217,"context_line":"        uuid: \"{{ lookup(\u0027vars\u0027, \u0027cinder_rbd_secret_uuid_\u0027 + item.cluster, default\u003dcinder_rbd_secret_uuid) }}\""},{"line_number":218,"context_line":"        result: \"{{ cinder_cephx_raw_key | default }}\""},{"line_number":219,"context_line":"        enabled: \"{{ cinder_backend_ceph }}\""},{"line_number":220,"context_line":"      template:"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"a2a2d698_9fc1a049","line":217,"range":{"start_line":217,"start_character":0,"end_line":217,"end_character":2},"in_reply_to":"decb51cc_5ed769f9","updated":"2025-08-08 12:51:46.000000000","message":"Fix applied.","commit_id":"3b203ac293cf974408a038f92d9dc8713a84c71e"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"9a44b4fed52c7d283d5ff2b3cfa809eb06c86f49","unresolved":true,"context_lines":[{"line_number":214,"context_line":"    - name: Pushing cinder secrets key for libvirt"},{"line_number":215,"context_line":"      vars:"},{"line_number":216,"context_line":"        service: \"{{ nova_cell_services[\u0027nova-libvirt\u0027] }}\""},{"line_number":217,"context_line":"        uuid: \"{{ lookup(\u0027vars\u0027, \u0027cinder_rbd_secret_uuid_\u0027 + item.cluster, default\u003dcinder_rbd_secret_uuid) }}\""},{"line_number":218,"context_line":"        result: \"{{ cinder_cephx_raw_key | default }}\""},{"line_number":219,"context_line":"        enabled: \"{{ cinder_backend_ceph }}\""},{"line_number":220,"context_line":"      template:"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"302e4bfa_89f7ca77","line":217,"range":{"start_line":217,"start_character":41,"end_line":217,"end_character":57},"in_reply_to":"dfa251b4_0730aafb","updated":"2025-08-11 11:39:35.000000000","message":"As long as it\u0027s stacked on top of it to be merged at the same time - fine by us ;-)","commit_id":"3b203ac293cf974408a038f92d9dc8713a84c71e"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"4f29e8fbed948dfbae6813891a4f6839a71394cb","unresolved":true,"context_lines":[{"line_number":214,"context_line":"    - name: Pushing cinder secrets key for libvirt"},{"line_number":215,"context_line":"      vars:"},{"line_number":216,"context_line":"        service: \"{{ nova_cell_services[\u0027nova-libvirt\u0027] }}\""},{"line_number":217,"context_line":"        uuid: \"{{ lookup(\u0027vars\u0027, \u0027cinder_rbd_secret_uuid_\u0027 + item.cluster, default\u003dcinder_rbd_secret_uuid) }}\""},{"line_number":218,"context_line":"        result: \"{{ cinder_cephx_raw_key | default }}\""},{"line_number":219,"context_line":"        enabled: \"{{ cinder_backend_ceph }}\""},{"line_number":220,"context_line":"      template:"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"be459e0e_2e060050","line":217,"range":{"start_line":217,"start_character":41,"end_line":217,"end_character":57},"in_reply_to":"f6093c3d_c3023052","updated":"2025-08-07 10:54:57.000000000","message":"Can you extend kolla-genpwd to support this case as well?","commit_id":"3b203ac293cf974408a038f92d9dc8713a84c71e"}],"ansible/roles/nova-cell/templates/libvirt-secret.j2":[{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"f3853db866b77dba64e02f5461067927de05fb81","unresolved":true,"context_lines":[{"line_number":1,"context_line":"{{ result }}"}],"source_content_type":"text/x-jinja2","patch_set":20,"id":"44cdcd8e_ae310f33","line":1,"updated":"2026-04-22 11:46:52.000000000","message":"We could get a better variable name that references the task it comes from?","commit_id":"edbb3b37a328c49604e1a5b05dac63d4b963409b"},{"author":{"_account_id":34034,"name":"Franciszek Przewoźny","display_name":"Franciszek Przewozny","email":"przewozny.franciszek@gmail.com","username":"fprzewozn","status":"OpenStack Engineer / SRE @ Opera Software"},"change_message_id":"7c4965b6c5b0bb29e6310509e491d0817602f36e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{{ result }}"}],"source_content_type":"text/x-jinja2","patch_set":20,"id":"b63b7645_750b48a9","line":1,"in_reply_to":"44cdcd8e_ae310f33","updated":"2026-04-23 11:15:57.000000000","message":"Done","commit_id":"edbb3b37a328c49604e1a5b05dac63d4b963409b"}],"ansible/roles/nova-cell/templates/nova-compute.json.j2":[{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"967d8e310ca7d1a53185efba2dcbb40d4e431596","unresolved":true,"context_lines":[{"line_number":14,"context_line":"            \"perm\": \"0600\""},{"line_number":15,"context_line":"        }{% endif %}{% if nova_backend \u003d\u003d \"rbd\" %},"},{"line_number":16,"context_line":"        {"},{"line_number":17,"context_line":"            \"source\": \"{{ container_config_directory }}/{{ nova_cell_ceph_backends[0][\u0027cluster\u0027] }}.client.{{ nova_cell_ceph_backends[0][\u0027vms\u0027][\u0027user\u0027] }}.keyring\","},{"line_number":18,"context_line":"            \"dest\": \"/etc/ceph/{{ nova_cell_ceph_backends[0][\u0027cluster\u0027] }}.client.{{ nova_cell_ceph_backends[0][\u0027vms\u0027][\u0027user\u0027] }}.keyring\","},{"line_number":19,"context_line":"            \"owner\": \"nova\","},{"line_number":20,"context_line":"            \"perm\": \"0600\""}],"source_content_type":"text/x-jinja2","patch_set":7,"id":"16e73029_105a444f","line":17,"range":{"start_line":17,"start_character":82,"end_line":17,"end_character":85},"updated":"2025-08-11 11:57:43.000000000","message":"Shouldn\u0027t we copy all configuration files if they exist?","commit_id":"5e6ddf3f659f6314e821b4bdf3001b3846bcec85"},{"author":{"_account_id":34034,"name":"Franciszek Przewoźny","display_name":"Franciszek Przewozny","email":"przewozny.franciszek@gmail.com","username":"fprzewozn","status":"OpenStack Engineer / SRE @ Opera Software"},"change_message_id":"f9166e08b590c01cb52877660eb417487481547b","unresolved":true,"context_lines":[{"line_number":14,"context_line":"            \"perm\": \"0600\""},{"line_number":15,"context_line":"        }{% endif %}{% if nova_backend \u003d\u003d \"rbd\" %},"},{"line_number":16,"context_line":"        {"},{"line_number":17,"context_line":"            \"source\": \"{{ container_config_directory }}/{{ nova_cell_ceph_backends[0][\u0027cluster\u0027] }}.client.{{ nova_cell_ceph_backends[0][\u0027vms\u0027][\u0027user\u0027] }}.keyring\","},{"line_number":18,"context_line":"            \"dest\": \"/etc/ceph/{{ nova_cell_ceph_backends[0][\u0027cluster\u0027] }}.client.{{ nova_cell_ceph_backends[0][\u0027vms\u0027][\u0027user\u0027] }}.keyring\","},{"line_number":19,"context_line":"            \"owner\": \"nova\","},{"line_number":20,"context_line":"            \"perm\": \"0600\""}],"source_content_type":"text/x-jinja2","patch_set":7,"id":"4c4cba18_8a08bb60","line":17,"range":{"start_line":17,"start_character":82,"end_line":17,"end_character":85},"in_reply_to":"16e73029_105a444f","updated":"2025-08-11 12:10:30.000000000","message":"yes, we should","commit_id":"5e6ddf3f659f6314e821b4bdf3001b3846bcec85"},{"author":{"_account_id":34034,"name":"Franciszek Przewoźny","display_name":"Franciszek Przewozny","email":"przewozny.franciszek@gmail.com","username":"fprzewozn","status":"OpenStack Engineer / SRE @ Opera Software"},"change_message_id":"629c28b5d305a29687a7b0861135346fe7a07b5b","unresolved":false,"context_lines":[{"line_number":14,"context_line":"            \"perm\": \"0600\""},{"line_number":15,"context_line":"        }{% endif %}{% if nova_backend \u003d\u003d \"rbd\" %},"},{"line_number":16,"context_line":"        {"},{"line_number":17,"context_line":"            \"source\": \"{{ container_config_directory }}/{{ nova_cell_ceph_backends[0][\u0027cluster\u0027] }}.client.{{ nova_cell_ceph_backends[0][\u0027vms\u0027][\u0027user\u0027] }}.keyring\","},{"line_number":18,"context_line":"            \"dest\": \"/etc/ceph/{{ nova_cell_ceph_backends[0][\u0027cluster\u0027] }}.client.{{ nova_cell_ceph_backends[0][\u0027vms\u0027][\u0027user\u0027] }}.keyring\","},{"line_number":19,"context_line":"            \"owner\": \"nova\","},{"line_number":20,"context_line":"            \"perm\": \"0600\""}],"source_content_type":"text/x-jinja2","patch_set":7,"id":"fdaf78eb_5e049ad0","line":17,"range":{"start_line":17,"start_character":82,"end_line":17,"end_character":85},"in_reply_to":"4c4cba18_8a08bb60","updated":"2025-08-12 07:18:17.000000000","message":"Done","commit_id":"5e6ddf3f659f6314e821b4bdf3001b3846bcec85"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"967d8e310ca7d1a53185efba2dcbb40d4e431596","unresolved":true,"context_lines":[{"line_number":20,"context_line":"            \"perm\": \"0600\""},{"line_number":21,"context_line":"        },"},{"line_number":22,"context_line":"        {"},{"line_number":23,"context_line":"            \"source\": \"{{ container_config_directory }}/{{ nova_cell_ceph_backends[0][\u0027cluster\u0027] }}.conf\","},{"line_number":24,"context_line":"            \"dest\": \"/etc/ceph/{{ nova_cell_ceph_backends[0][\u0027cluster\u0027] }}.conf\","},{"line_number":25,"context_line":"            \"owner\": \"nova\","},{"line_number":26,"context_line":"            \"perm\": \"0600\""}],"source_content_type":"text/x-jinja2","patch_set":7,"id":"10ca044a_e220633f","line":23,"range":{"start_line":23,"start_character":82,"end_line":23,"end_character":85},"updated":"2025-08-11 11:57:43.000000000","message":"ditto","commit_id":"5e6ddf3f659f6314e821b4bdf3001b3846bcec85"},{"author":{"_account_id":34034,"name":"Franciszek Przewoźny","display_name":"Franciszek Przewozny","email":"przewozny.franciszek@gmail.com","username":"fprzewozn","status":"OpenStack Engineer / SRE @ Opera Software"},"change_message_id":"f9166e08b590c01cb52877660eb417487481547b","unresolved":true,"context_lines":[{"line_number":20,"context_line":"            \"perm\": \"0600\""},{"line_number":21,"context_line":"        },"},{"line_number":22,"context_line":"        {"},{"line_number":23,"context_line":"            \"source\": \"{{ container_config_directory }}/{{ nova_cell_ceph_backends[0][\u0027cluster\u0027] }}.conf\","},{"line_number":24,"context_line":"            \"dest\": \"/etc/ceph/{{ nova_cell_ceph_backends[0][\u0027cluster\u0027] }}.conf\","},{"line_number":25,"context_line":"            \"owner\": \"nova\","},{"line_number":26,"context_line":"            \"perm\": \"0600\""}],"source_content_type":"text/x-jinja2","patch_set":7,"id":"b1258198_f67cd035","line":23,"range":{"start_line":23,"start_character":82,"end_line":23,"end_character":85},"in_reply_to":"10ca044a_e220633f","updated":"2025-08-11 12:10:30.000000000","message":"here as well","commit_id":"5e6ddf3f659f6314e821b4bdf3001b3846bcec85"},{"author":{"_account_id":34034,"name":"Franciszek Przewoźny","display_name":"Franciszek Przewozny","email":"przewozny.franciszek@gmail.com","username":"fprzewozn","status":"OpenStack Engineer / SRE @ Opera Software"},"change_message_id":"629c28b5d305a29687a7b0861135346fe7a07b5b","unresolved":false,"context_lines":[{"line_number":20,"context_line":"            \"perm\": \"0600\""},{"line_number":21,"context_line":"        },"},{"line_number":22,"context_line":"        {"},{"line_number":23,"context_line":"            \"source\": \"{{ container_config_directory }}/{{ nova_cell_ceph_backends[0][\u0027cluster\u0027] }}.conf\","},{"line_number":24,"context_line":"            \"dest\": \"/etc/ceph/{{ nova_cell_ceph_backends[0][\u0027cluster\u0027] }}.conf\","},{"line_number":25,"context_line":"            \"owner\": \"nova\","},{"line_number":26,"context_line":"            \"perm\": \"0600\""}],"source_content_type":"text/x-jinja2","patch_set":7,"id":"4e6d856e_22cf765c","line":23,"range":{"start_line":23,"start_character":82,"end_line":23,"end_character":85},"in_reply_to":"b1258198_f67cd035","updated":"2025-08-12 07:18:17.000000000","message":"Done","commit_id":"5e6ddf3f659f6314e821b4bdf3001b3846bcec85"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"60f1e5829334209bbe9a8788efa0d55fcdba9283","unresolved":true,"context_lines":[{"line_number":13,"context_line":"            \"owner\": \"nova\","},{"line_number":14,"context_line":"            \"perm\": \"0600\""},{"line_number":15,"context_line":"        }{% endif %}{% if nova_backend \u003d\u003d \"rbd\" %},"},{"line_number":16,"context_line":"        {% for backend in nova_cell_ceph_backends %}{% if backend[\u0027vms\u0027] is defined %}"},{"line_number":17,"context_line":"        {"},{"line_number":18,"context_line":"            \"source\": \"{{ container_config_directory }}/{{ backend[\u0027cluster\u0027] }}.client.{{ backend[\u0027vms\u0027][\u0027user\u0027] }}.keyring\","},{"line_number":19,"context_line":"            \"dest\": \"/etc/ceph/{{ backend[\u0027cluster\u0027] }}.client.{{ backend[\u0027vms\u0027][\u0027user\u0027] }}.keyring\","},{"line_number":20,"context_line":"            \"owner\": \"nova\","},{"line_number":21,"context_line":"            \"perm\": \"0600\""},{"line_number":22,"context_line":"        },"},{"line_number":23,"context_line":"        {"},{"line_number":24,"context_line":"            \"source\": \"{{ container_config_directory }}/{{ backend[\u0027cluster\u0027] }}.conf\","},{"line_number":25,"context_line":"            \"dest\": \"/etc/ceph/{{ backend[\u0027cluster\u0027] }}.conf\","},{"line_number":26,"context_line":"            \"owner\": \"nova\","},{"line_number":27,"context_line":"            \"perm\": \"0600\""},{"line_number":28,"context_line":"        }{% endif %}{% endfor %}{% endif %}{% if libvirt_tls | bool %},"},{"line_number":29,"context_line":"        {"},{"line_number":30,"context_line":"            \"source\": \"{{ container_config_directory }}/clientkey.pem\","},{"line_number":31,"context_line":"            \"dest\": \"/etc/pki/libvirt/private/clientkey.pem\","}],"source_content_type":"text/x-jinja2","patch_set":26,"id":"b1bb3155_5cfa1c3e","line":28,"range":{"start_line":16,"start_character":0,"end_line":28,"end_character":32},"updated":"2026-05-30 09:18:27.000000000","message":"This code will break json validity if nova_cell_ceph_backends will have more than one backend, comma missing.","commit_id":"d15fb61e143f48f5b6e63ab31cdecbc42bf2a5c1"}],"ansible/roles/nova-cell/templates/nova-libvirt.json.j2":[{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"967d8e310ca7d1a53185efba2dcbb40d4e431596","unresolved":true,"context_lines":[{"line_number":51,"context_line":"            \"merge\": true"},{"line_number":52,"context_line":"        }{% endif %}{% if nova_backend \u003d\u003d \"rbd\" %},"},{"line_number":53,"context_line":"        {"},{"line_number":54,"context_line":"            \"source\": \"{{ container_config_directory }}/{{ nova_cell_ceph_backends[0][\u0027cluster\u0027] }}.conf\","},{"line_number":55,"context_line":"            \"dest\": \"/etc/ceph/{{ nova_cell_ceph_backends[0][\u0027cluster\u0027] }}.conf\","},{"line_number":56,"context_line":"            \"owner\": \"nova\","},{"line_number":57,"context_line":"            \"perm\": \"0600\""}],"source_content_type":"text/x-jinja2","patch_set":7,"id":"a721b844_5152a9ac","line":54,"range":{"start_line":54,"start_character":82,"end_line":54,"end_character":85},"updated":"2025-08-11 11:57:43.000000000","message":"ditto","commit_id":"5e6ddf3f659f6314e821b4bdf3001b3846bcec85"},{"author":{"_account_id":34034,"name":"Franciszek Przewoźny","display_name":"Franciszek Przewozny","email":"przewozny.franciszek@gmail.com","username":"fprzewozn","status":"OpenStack Engineer / SRE @ Opera Software"},"change_message_id":"f9166e08b590c01cb52877660eb417487481547b","unresolved":true,"context_lines":[{"line_number":51,"context_line":"            \"merge\": true"},{"line_number":52,"context_line":"        }{% endif %}{% if nova_backend \u003d\u003d \"rbd\" %},"},{"line_number":53,"context_line":"        {"},{"line_number":54,"context_line":"            \"source\": \"{{ container_config_directory }}/{{ nova_cell_ceph_backends[0][\u0027cluster\u0027] }}.conf\","},{"line_number":55,"context_line":"            \"dest\": \"/etc/ceph/{{ nova_cell_ceph_backends[0][\u0027cluster\u0027] }}.conf\","},{"line_number":56,"context_line":"            \"owner\": \"nova\","},{"line_number":57,"context_line":"            \"perm\": \"0600\""}],"source_content_type":"text/x-jinja2","patch_set":7,"id":"c8c2e618_ff4c4bec","line":54,"range":{"start_line":54,"start_character":82,"end_line":54,"end_character":85},"in_reply_to":"a721b844_5152a9ac","updated":"2025-08-11 12:10:30.000000000","message":"and here","commit_id":"5e6ddf3f659f6314e821b4bdf3001b3846bcec85"},{"author":{"_account_id":34034,"name":"Franciszek Przewoźny","display_name":"Franciszek Przewozny","email":"przewozny.franciszek@gmail.com","username":"fprzewozn","status":"OpenStack Engineer / SRE @ Opera Software"},"change_message_id":"629c28b5d305a29687a7b0861135346fe7a07b5b","unresolved":false,"context_lines":[{"line_number":51,"context_line":"            \"merge\": true"},{"line_number":52,"context_line":"        }{% endif %}{% if nova_backend \u003d\u003d \"rbd\" %},"},{"line_number":53,"context_line":"        {"},{"line_number":54,"context_line":"            \"source\": \"{{ container_config_directory }}/{{ nova_cell_ceph_backends[0][\u0027cluster\u0027] }}.conf\","},{"line_number":55,"context_line":"            \"dest\": \"/etc/ceph/{{ nova_cell_ceph_backends[0][\u0027cluster\u0027] }}.conf\","},{"line_number":56,"context_line":"            \"owner\": \"nova\","},{"line_number":57,"context_line":"            \"perm\": \"0600\""}],"source_content_type":"text/x-jinja2","patch_set":7,"id":"615d4693_1cf615c0","line":54,"range":{"start_line":54,"start_character":82,"end_line":54,"end_character":85},"in_reply_to":"c8c2e618_ff4c4bec","updated":"2025-08-12 07:18:17.000000000","message":"Done","commit_id":"5e6ddf3f659f6314e821b4bdf3001b3846bcec85"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"60f1e5829334209bbe9a8788efa0d55fcdba9283","unresolved":true,"context_lines":[{"line_number":50,"context_line":"            \"perm\": \"0600\","},{"line_number":51,"context_line":"            \"merge\": true"},{"line_number":52,"context_line":"        }{% endif %}{% if nova_backend \u003d\u003d \"rbd\" %},"},{"line_number":53,"context_line":"        {% for backend in nova_cell_ceph_backends %}{% if backend[\u0027vms\u0027] is defined %}"},{"line_number":54,"context_line":"        {"},{"line_number":55,"context_line":"            \"source\": \"{{ container_config_directory }}/{{ backend[\u0027cluster\u0027] }}.conf\","},{"line_number":56,"context_line":"            \"dest\": \"/etc/ceph/{{ backend[\u0027cluster\u0027] }}.conf\","},{"line_number":57,"context_line":"            \"owner\": \"nova\","},{"line_number":58,"context_line":"            \"perm\": \"0600\""},{"line_number":59,"context_line":"        }{% endif %}{% endfor %}{% endif %}{% if libvirt_enable_sasl | bool %},"},{"line_number":60,"context_line":"        {"},{"line_number":61,"context_line":"            \"source\": \"{{ container_config_directory }}/sasl.conf\","},{"line_number":62,"context_line":"            \"dest\": \"/etc/sasl2/libvirt.conf\","}],"source_content_type":"text/x-jinja2","patch_set":26,"id":"c7122026_bb5f6524","line":59,"range":{"start_line":53,"start_character":0,"end_line":59,"end_character":79},"updated":"2026-05-30 09:18:27.000000000","message":"ditto","commit_id":"d15fb61e143f48f5b6e63ab31cdecbc42bf2a5c1"}],"ansible/roles/nova-cell/templates/nova.conf.d/libvirt.conf.j2":[{"author":{"_account_id":34034,"name":"Franciszek Przewoźny","display_name":"Franciszek Przewozny","email":"przewozny.franciszek@gmail.com","username":"fprzewozn","status":"OpenStack Engineer / SRE @ Opera Software"},"change_message_id":"629c28b5d305a29687a7b0861135346fe7a07b5b","unresolved":true,"context_lines":[{"line_number":9,"context_line":"{% endif %}"},{"line_number":10,"context_line":"{% if nova_backend \u003d\u003d \"rbd\" %}"},{"line_number":11,"context_line":"images_type \u003d rbd"},{"line_number":12,"context_line":"images_rbd_pool \u003d {{ nova_cell_ceph_backends[0][\u0027vms\u0027][\u0027pool\u0027] }}"},{"line_number":13,"context_line":"images_rbd_ceph_conf \u003d /etc/ceph/{{ nova_cell_ceph_backends[0][\u0027cluster\u0027] }}.conf"},{"line_number":14,"context_line":"rbd_user \u003d {{ nova_cell_ceph_backends[0][\u0027vms\u0027][\u0027user\u0027] }}"},{"line_number":15,"context_line":"disk_cachemodes\u003d\"network\u003dwriteback\""},{"line_number":16,"context_line":"{% if nova_hw_disk_discard !\u003d \u0027\u0027 %}"},{"line_number":17,"context_line":"hw_disk_discard \u003d {{ nova_hw_disk_discard }}"},{"line_number":18,"context_line":"{% endif %}"}],"source_content_type":"text/x-jinja2","patch_set":10,"id":"92467269_e8a59f9b","line":15,"range":{"start_line":12,"start_character":0,"end_line":15,"end_character":0},"updated":"2025-08-12 07:18:17.000000000","message":"@maksim.malchuk@gmail.com at the end those variables can accept only one backend.","commit_id":"aba67597924d8a692cef1bb3fbd88f95ac994f37"},{"author":{"_account_id":34034,"name":"Franciszek Przewoźny","display_name":"Franciszek Przewozny","email":"przewozny.franciszek@gmail.com","username":"fprzewozn","status":"OpenStack Engineer / SRE @ Opera Software"},"change_message_id":"12fc22f2cde6fa4b0065877d4f174736121dc0ee","unresolved":false,"context_lines":[{"line_number":9,"context_line":"{% endif %}"},{"line_number":10,"context_line":"{% if nova_backend \u003d\u003d \"rbd\" %}"},{"line_number":11,"context_line":"images_type \u003d rbd"},{"line_number":12,"context_line":"images_rbd_pool \u003d {{ nova_cell_ceph_backends[0][\u0027vms\u0027][\u0027pool\u0027] }}"},{"line_number":13,"context_line":"images_rbd_ceph_conf \u003d /etc/ceph/{{ nova_cell_ceph_backends[0][\u0027cluster\u0027] }}.conf"},{"line_number":14,"context_line":"rbd_user \u003d {{ nova_cell_ceph_backends[0][\u0027vms\u0027][\u0027user\u0027] }}"},{"line_number":15,"context_line":"disk_cachemodes\u003d\"network\u003dwriteback\""},{"line_number":16,"context_line":"{% if nova_hw_disk_discard !\u003d \u0027\u0027 %}"},{"line_number":17,"context_line":"hw_disk_discard \u003d {{ nova_hw_disk_discard }}"},{"line_number":18,"context_line":"{% endif %}"}],"source_content_type":"text/x-jinja2","patch_set":10,"id":"e72bf7da_55f2b519","line":15,"range":{"start_line":12,"start_character":0,"end_line":15,"end_character":0},"in_reply_to":"92467269_e8a59f9b","updated":"2026-04-22 09:11:26.000000000","message":"Done","commit_id":"aba67597924d8a692cef1bb3fbd88f95ac994f37"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"f3853db866b77dba64e02f5461067927de05fb81","unresolved":true,"context_lines":[{"line_number":9,"context_line":"{% endif %}"},{"line_number":10,"context_line":"{% if nova_backend \u003d\u003d \"rbd\" %}"},{"line_number":11,"context_line":"images_type \u003d rbd"},{"line_number":12,"context_line":"images_rbd_pool \u003d {{ nova_cell_ceph_backends[0][\u0027vms\u0027][\u0027pool\u0027] }}"},{"line_number":13,"context_line":"images_rbd_ceph_conf \u003d /etc/ceph/{{ nova_cell_ceph_backends[0][\u0027cluster\u0027] }}.conf"},{"line_number":14,"context_line":"rbd_user \u003d {{ nova_cell_ceph_backends[0][\u0027vms\u0027][\u0027user\u0027] }}"},{"line_number":15,"context_line":"disk_cachemodes\u003d\"network\u003dwriteback\""}],"source_content_type":"text/x-jinja2","patch_set":20,"id":"8566443f_4099e205","line":12,"updated":"2026-04-22 11:46:52.000000000","message":"Is it always going to be at 0?","commit_id":"edbb3b37a328c49604e1a5b05dac63d4b963409b"},{"author":{"_account_id":34034,"name":"Franciszek Przewoźny","display_name":"Franciszek Przewozny","email":"przewozny.franciszek@gmail.com","username":"fprzewozn","status":"OpenStack Engineer / SRE @ Opera Software"},"change_message_id":"7c4965b6c5b0bb29e6310509e491d0817602f36e","unresolved":false,"context_lines":[{"line_number":9,"context_line":"{% endif %}"},{"line_number":10,"context_line":"{% if nova_backend \u003d\u003d \"rbd\" %}"},{"line_number":11,"context_line":"images_type \u003d rbd"},{"line_number":12,"context_line":"images_rbd_pool \u003d {{ nova_cell_ceph_backends[0][\u0027vms\u0027][\u0027pool\u0027] }}"},{"line_number":13,"context_line":"images_rbd_ceph_conf \u003d /etc/ceph/{{ nova_cell_ceph_backends[0][\u0027cluster\u0027] }}.conf"},{"line_number":14,"context_line":"rbd_user \u003d {{ nova_cell_ceph_backends[0][\u0027vms\u0027][\u0027user\u0027] }}"},{"line_number":15,"context_line":"disk_cachemodes\u003d\"network\u003dwriteback\""}],"source_content_type":"text/x-jinja2","patch_set":20,"id":"88a23b74_e518f3a3","line":12,"in_reply_to":"8566443f_4099e205","updated":"2026-04-23 11:15:57.000000000","message":"It should be simply one, but assumption that it will be first in list was incorrect, now it takes the first one that is defined with `vms`. It\u0027s also described in docs.","commit_id":"edbb3b37a328c49604e1a5b05dac63d4b963409b"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"60f1e5829334209bbe9a8788efa0d55fcdba9283","unresolved":true,"context_lines":[{"line_number":8,"context_line":"live_migration_inbound_addr \u003d \"{{ migration_interface_address }}\""},{"line_number":9,"context_line":"{% endif %}"},{"line_number":10,"context_line":"{% if nova_backend \u003d\u003d \"rbd\" %}"},{"line_number":11,"context_line":"{%     set _nova_ceph_backend \u003d nova_cell_ceph_backends | selectattr(\u0027vms\u0027, \u0027defined\u0027) | first %}"},{"line_number":12,"context_line":"images_type \u003d rbd"},{"line_number":13,"context_line":"images_rbd_pool \u003d {{ _nova_ceph_backend[\u0027vms\u0027][\u0027pool\u0027] }}"},{"line_number":14,"context_line":"images_rbd_ceph_conf \u003d /etc/ceph/{{ _nova_ceph_backend[\u0027cluster\u0027] }}.conf"}],"source_content_type":"text/x-jinja2","patch_set":26,"id":"d2ea6b1f_331344d6","line":11,"range":{"start_line":11,"start_character":0,"end_line":11,"end_character":97},"updated":"2026-05-30 09:18:27.000000000","message":"Why to have multiple secrets if nova using still one ceph ?","commit_id":"d15fb61e143f48f5b6e63ab31cdecbc42bf2a5c1"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"60f1e5829334209bbe9a8788efa0d55fcdba9283","unresolved":true,"context_lines":[{"line_number":19,"context_line":"{%     endif %}"},{"line_number":20,"context_line":"{% endif %}"},{"line_number":21,"context_line":"{% if nova_backend \u003d\u003d \"rbd\" and external_ceph_cephx_enabled | bool %}"},{"line_number":22,"context_line":"rbd_secret_uuid \u003d {{ rbd_secret_uuid }}"},{"line_number":23,"context_line":"{% endif %}"},{"line_number":24,"context_line":"virt_type \u003d {{ nova_compute_virt_type }}"},{"line_number":25,"context_line":"{% if nova_libvirt_cpu_mode %}"}],"source_content_type":"text/x-jinja2","patch_set":26,"id":"b2ce670f_7382cd7e","line":22,"range":{"start_line":22,"start_character":0,"end_line":22,"end_character":39},"updated":"2026-05-30 09:18:27.000000000","message":"Nova still using one secret, always...","commit_id":"d15fb61e143f48f5b6e63ab31cdecbc42bf2a5c1"}],"kolla_ansible/cmd/genpwd.py":[{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"f3853db866b77dba64e02f5461067927de05fb81","unresolved":true,"context_lines":[{"line_number":38,"context_line":"    sys.path.insert(0, PROJECT_ROOT)"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"def _is_dynamic_uuid_key(key):"},{"line_number":42,"context_line":"    \"\"\"Return True for per-backend Ceph secret UUID keys."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    These keys follow the naming convention rbd_secret_uuid_\u003ccluster\u003e and"}],"source_content_type":"text/x-python","patch_set":20,"id":"10995869_b81e94cf","line":41,"updated":"2026-04-22 11:46:52.000000000","message":"I\u0027m not a fan of duplicated functions that are only used once - either move that to some imported share .py file, or just don\u0027t define that function","commit_id":"edbb3b37a328c49604e1a5b05dac63d4b963409b"},{"author":{"_account_id":34034,"name":"Franciszek Przewoźny","display_name":"Franciszek Przewozny","email":"przewozny.franciszek@gmail.com","username":"fprzewozn","status":"OpenStack Engineer / SRE @ Opera Software"},"change_message_id":"7c4965b6c5b0bb29e6310509e491d0817602f36e","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    sys.path.insert(0, PROJECT_ROOT)"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"def _is_dynamic_uuid_key(key):"},{"line_number":42,"context_line":"    \"\"\"Return True for per-backend Ceph secret UUID keys."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    These keys follow the naming convention rbd_secret_uuid_\u003ccluster\u003e and"}],"source_content_type":"text/x-python","patch_set":20,"id":"128fda0d_d6d3902c","line":41,"in_reply_to":"10995869_b81e94cf","updated":"2026-04-23 11:15:57.000000000","message":"Done","commit_id":"edbb3b37a328c49604e1a5b05dac63d4b963409b"}],"kolla_ansible/cmd/mergepwd.py":[{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"f3853db866b77dba64e02f5461067927de05fb81","unresolved":true,"context_lines":[{"line_number":19,"context_line":"import yaml"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"def _is_dynamic_uuid_key(key):"},{"line_number":23,"context_line":"    \"\"\"Return True for per-backend Ceph secret UUID keys."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    These keys follow the naming convention rbd_secret_uuid_\u003ccluster\u003e and"}],"source_content_type":"text/x-python","patch_set":20,"id":"da47d54c_3fb52cfc","line":22,"updated":"2026-04-22 11:46:52.000000000","message":"ditto","commit_id":"edbb3b37a328c49604e1a5b05dac63d4b963409b"},{"author":{"_account_id":34034,"name":"Franciszek Przewoźny","display_name":"Franciszek Przewozny","email":"przewozny.franciszek@gmail.com","username":"fprzewozn","status":"OpenStack Engineer / SRE @ Opera Software"},"change_message_id":"7c4965b6c5b0bb29e6310509e491d0817602f36e","unresolved":false,"context_lines":[{"line_number":19,"context_line":"import yaml"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"def _is_dynamic_uuid_key(key):"},{"line_number":23,"context_line":"    \"\"\"Return True for per-backend Ceph secret UUID keys."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    These keys follow the naming convention rbd_secret_uuid_\u003ccluster\u003e and"}],"source_content_type":"text/x-python","patch_set":20,"id":"29e2a947_541963bb","line":22,"in_reply_to":"da47d54c_3fb52cfc","updated":"2026-04-23 11:15:57.000000000","message":"Done","commit_id":"edbb3b37a328c49604e1a5b05dac63d4b963409b"}],"releasenotes/notes/multi_ceph_backend_nova-504071652a73c846.yaml":[{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"9a44b4fed52c7d283d5ff2b3cfa809eb06c86f49","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add support for configuring multiple simultaneous Ceph backends for Nova. "}],"source_content_type":"text/x-yaml","patch_set":7,"id":"ea7bfddd_d27ce98d","line":4,"range":{"start_line":4,"start_character":77,"end_line":4,"end_character":78},"updated":"2025-08-11 11:39:35.000000000","message":"nit: whitespace","commit_id":"5e6ddf3f659f6314e821b4bdf3001b3846bcec85"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"967d8e310ca7d1a53185efba2dcbb40d4e431596","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add support for configuring multiple simultaneous Ceph backends for Nova. "}],"source_content_type":"text/x-yaml","patch_set":7,"id":"1c6595ed_b836465c","line":4,"range":{"start_line":4,"start_character":77,"end_line":4,"end_character":78},"updated":"2025-08-11 11:57:43.000000000","message":"whitespace","commit_id":"5e6ddf3f659f6314e821b4bdf3001b3846bcec85"},{"author":{"_account_id":34034,"name":"Franciszek Przewoźny","display_name":"Franciszek Przewozny","email":"przewozny.franciszek@gmail.com","username":"fprzewozn","status":"OpenStack Engineer / SRE @ Opera Software"},"change_message_id":"f9166e08b590c01cb52877660eb417487481547b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add support for configuring multiple simultaneous Ceph backends for Nova. "}],"source_content_type":"text/x-yaml","patch_set":7,"id":"f9ca06ad_033492d8","line":4,"range":{"start_line":4,"start_character":77,"end_line":4,"end_character":78},"in_reply_to":"1c6595ed_b836465c","updated":"2025-08-11 12:10:30.000000000","message":"Done","commit_id":"5e6ddf3f659f6314e821b4bdf3001b3846bcec85"},{"author":{"_account_id":34034,"name":"Franciszek Przewoźny","display_name":"Franciszek Przewozny","email":"przewozny.franciszek@gmail.com","username":"fprzewozn","status":"OpenStack Engineer / SRE @ Opera Software"},"change_message_id":"e24bceb5a97d855271018829c4997c56dfdda95d","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add support for configuring multiple simultaneous Ceph backends for Nova. "}],"source_content_type":"text/x-yaml","patch_set":7,"id":"7a4a614c_94129f65","line":4,"range":{"start_line":4,"start_character":77,"end_line":4,"end_character":78},"in_reply_to":"ea7bfddd_d27ce98d","updated":"2025-08-11 11:44:37.000000000","message":"Done","commit_id":"5e6ddf3f659f6314e821b4bdf3001b3846bcec85"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"967d8e310ca7d1a53185efba2dcbb40d4e431596","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":7,"id":"dbda76f5_ffe8abac","line":5,"updated":"2025-08-11 11:57:43.000000000","message":"there\u0027s need the `upgrade` section for operators already used `nova_cell_ceph_backend` in their deployments if we rename defaults","commit_id":"5e6ddf3f659f6314e821b4bdf3001b3846bcec85"},{"author":{"_account_id":34034,"name":"Franciszek Przewoźny","display_name":"Franciszek Przewozny","email":"przewozny.franciszek@gmail.com","username":"fprzewozn","status":"OpenStack Engineer / SRE @ Opera Software"},"change_message_id":"f9166e08b590c01cb52877660eb417487481547b","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":7,"id":"f06a1f20_5fd57077","line":5,"in_reply_to":"dbda76f5_ffe8abac","updated":"2025-08-11 12:10:30.000000000","message":"Will add that one","commit_id":"5e6ddf3f659f6314e821b4bdf3001b3846bcec85"},{"author":{"_account_id":34034,"name":"Franciszek Przewoźny","display_name":"Franciszek Przewozny","email":"przewozny.franciszek@gmail.com","username":"fprzewozn","status":"OpenStack Engineer / SRE @ Opera Software"},"change_message_id":"d61895c1719afe24f778eb5c7f306cbc95936459","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"16ea03eb_41f9db81","line":5,"in_reply_to":"f06a1f20_5fd57077","updated":"2025-08-12 07:35:41.000000000","message":"Done","commit_id":"5e6ddf3f659f6314e821b4bdf3001b3846bcec85"}]}
