)]}'
{"id":"openstack%2Ftrove~1001019","triplet_id":"openstack%2Ftrove~stable%2F2025.2~I6173f8172adb9b6fd5ab7ae75f21eb09c286a260","project":"openstack/trove","branch":"stable/2025.2","attention_set":{},"removed_from_attention_set":{"36080":{"account":{"_account_id":36080,"name":"Erkin Mussurmankulov","display_name":"Eric","email":"erkin.mussurmankulov@ps.kz","username":"mongoose404","status":"PS Cloud services employee"},"last_update":"2026-08-16 19:54:06.000000000","reason":"\u003cGERRIT_ACCOUNT_36080\u003e replied on the change","reason_account":{"_account_id":36080,"name":"Erkin Mussurmankulov","display_name":"Eric","email":"erkin.mussurmankulov@ps.kz","username":"mongoose404","status":"PS Cloud services employee"}},"37598":{"account":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"last_update":"2026-08-16 20:47:03.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I6173f8172adb9b6fd5ab7ae75f21eb09c286a260","subject":"Fix \u0027swfit\u0027 typo in backup storage driver default","status":"MERGED","created":"2026-08-15 08:29:04.000000000","updated":"2026-08-16 20:47:52.000000000","submitted":"2026-08-16 20:47:03.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"1001019","cherry_pick_of_change":1001018,"cherry_pick_of_patch_set":1,"meta_rev_id":"f4cf36cda10815d78e7a483b0873587f69d9af6b","_number":1001019,"virtual_id_number":1001019,"owner":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":36080,"name":"Erkin Mussurmankulov","display_name":"Eric","email":"erkin.mussurmankulov@ps.kz","username":"mongoose404","status":"PS Cloud services employee"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-08-16 20:47:03.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":36080,"name":"Erkin Mussurmankulov","display_name":"Eric","email":"erkin.mussurmankulov@ps.kz","username":"mongoose404","status":"PS Cloud services employee"},"all":[{"value":2,"date":"2026-08-16 19:54:06.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":36080,"name":"Erkin Mussurmankulov","display_name":"Eric","email":"erkin.mussurmankulov@ps.kz","username":"mongoose404","status":"PS Cloud services employee"},{"value":0,"_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":{"approved":{"_account_id":36080,"name":"Erkin Mussurmankulov","display_name":"Eric","email":"erkin.mussurmankulov@ps.kz","username":"mongoose404","status":"PS Cloud services employee"},"all":[{"value":1,"date":"2026-08-16 19:54:06.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":36080,"name":"Erkin Mussurmankulov","display_name":"Eric","email":"erkin.mussurmankulov@ps.kz","username":"mongoose404","status":"PS Cloud services employee"},{"value":0,"_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},"Backport-Candidate":{"all":[{"value":0,"_account_id":36080,"name":"Erkin Mussurmankulov","display_name":"Eric","email":"erkin.mussurmankulov@ps.kz","username":"mongoose404","status":"PS Cloud services employee"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Not A Backport Candidate"," 0":"Backport Review Needed","+1":"Proposed Backport"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"CC":[{"_account_id":5733,"name":"Kieran Spear","email":"kispear@gmail.com","username":"kspear"}],"REVIEWER":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":36080,"name":"Erkin Mussurmankulov","display_name":"Eric","email":"erkin.mussurmankulov@ps.kz","username":"mongoose404","status":"PS Cloud services employee"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-08-15 08:29:04.000000000","updated_by":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"reviewer":{"_account_id":5733,"name":"Kieran Spear","email":"kispear@gmail.com","username":"kspear"},"state":"CC"},{"updated":"2026-08-15 08:34:52.000000000","updated_by":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"reviewer":{"_account_id":36080,"name":"Erkin Mussurmankulov","display_name":"Eric","email":"erkin.mussurmankulov@ps.kz","username":"mongoose404","status":"PS Cloud services employee"},"state":"REVIEWER"},{"updated":"2026-08-15 11:38: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":"REVIEWER"}],"messages":[{"id":"30bb743c5e74103e77a002a781525988a7fc6dfd","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"date":"2026-08-15 08:29:04.000000000","message":"Patch Set 1: Cherry Picked from branch stable/2026.1.\n\nThe following files contain Git conflicts:\n* trove/tests/unittests/taskmanager/test_models.py","accounts_in_message":[],"_revision_number":1},{"id":"c44ae0e2a7814e63906711d002082b107a6891bc","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"date":"2026-08-15 08:34:21.000000000","message":"Patch Set 2: Published edit on patch set 1.","accounts_in_message":[],"_revision_number":2},{"id":"eab3fe38553165abf41620380a0794ca4a42b0b1","author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"date":"2026-08-15 08:34:52.000000000","message":"Patch Set 2:\n\nThis change is ready for review.","accounts_in_message":[],"_revision_number":2},{"id":"2a3fcb3e5d178daeccc4ed1589866969d14595df","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-15 11:38:12.000000000","message":"Patch Set 2: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/620e2e25af2f461091f74ad6c26ecffb\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/b5c3471529024845ba05e9b16cad5763 : FAILURE in 7m 08s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/ce772387c7c8403392a68ce5bab305a8 : SUCCESS in 5m 03s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/1e5854e475d94063abfa47d4432666de : FAILURE in 4m 16s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/71512269f8594efba470d201611f4b41 : FAILURE in 4m 21s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/de9f8c2ade314cb292d235910ef37189 : FAILURE in 6m 20s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/f79a629ae12745e8abcafa04ded758ad : SUCCESS in 4m 04s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/487d005bfdca42768b97bc3d486b839e : SUCCESS in 4m 49s\n- trove-tempest-ubuntu-base-mysql8.4 https://zuul.opendev.org/t/openstack/build/015e708884104e8585c38284c1922439 : SUCCESS in 50m 39s\n- trove-tempest-ubuntu-backup-mysql8.4 https://zuul.opendev.org/t/openstack/build/96ef3ed02d044153a9d1f7849843bb2c : SUCCESS in 1h 45m 29s (non-voting)\n- trove-tempest-ubuntu-replication-mysql8.4 https://zuul.opendev.org/t/openstack/build/09bfecdc22ec47bab0c9fd3fd93600df : SUCCESS in 1h 19m 07s (non-voting)\n- trove-tempest-cinder-storage-driver-mysql8.4 https://zuul.opendev.org/t/openstack/build/a765d839dc9146d5a7c94e15d775a443 : SUCCESS in 2h 00m 50s (non-voting)\n- trove-tempest-ubuntu-base-mariadb11.4 https://zuul.opendev.org/t/openstack/build/9d57e628d62d4e7ab9761420254d9f23 : SUCCESS in 1h 16m 44s\n- trove-tempest-ubuntu-backup-mariadb11.4 https://zuul.opendev.org/t/openstack/build/ec2303e26b95449ca9381a39fc9ebf31 : SUCCESS in 1h 29m 56s (non-voting)\n- trove-tempest-ubuntu-replication-mariadb11.4 https://zuul.opendev.org/t/openstack/build/c78878bb0a224f38a4c43f09e9714b86 : SUCCESS in 1h 29m 53s (non-voting)\n- trove-tempest-cinder-storage-driver-mariadb11.4 https://zuul.opendev.org/t/openstack/build/3c6b03a7b07b477eaa118e9d39fbaf3d : SUCCESS in 1h 31m 36s (non-voting)\n- trove-tempest-ubuntu-base-postgresql17 https://zuul.opendev.org/t/openstack/build/b724663793734e06a9dea0fc801ab802 : SUCCESS in 1h 02m 49s\n- trove-tempest-ubuntu-backup-postgresql17 https://zuul.opendev.org/t/openstack/build/f0c7f2adab824337ad407c3883535796 : SUCCESS in 2h 00m 41s (non-voting)\n- trove-tempest-ubuntu-replication-postgresql17 https://zuul.opendev.org/t/openstack/build/16714b835d6a451ea630658a8012c1ba : TIMED_OUT in 3h 02m 46s (non-voting)\n- trove-tempest-cinder-storage-driver-postgresql17 https://zuul.opendev.org/t/openstack/build/2d1c7c06824d46ce922648d949e9a47d : SUCCESS in 1h 19m 18s (non-voting)\n- trove-tox-bandit-baseline https://zuul.opendev.org/t/openstack/build/854c1bde4e44401b810a0142fddedaed : SUCCESS in 3m 56s","accounts_in_message":[],"_revision_number":2},{"id":"cb4ec0a38ff8752415e7c3d6e4b7aeb9f04423e9","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"date":"2026-08-15 14:28:29.000000000","message":"Patch Set 3: Published edit on patch set 2.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":3},{"id":"fa487f212ff914f57d5aa45f22aa5c9ccf1b7a17","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-15 17:12:56.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/15788e2bad9743eba269c39a9afb7334\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/3bc4d2acc28c485ebdbfd10c7da54189 : SUCCESS in 4m 56s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a000070e08534fbb8466f2ba21ddb80e : SUCCESS in 3m 54s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/2d7f11df05fe4e57a685b89a4d802261 : SUCCESS in 5m 59s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/2144cdc4c2e64eefba8efb5441daa2fe : SUCCESS in 8m 28s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/85ba9913eb41451895c7057b5244837f : SUCCESS in 7m 37s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/338066fc783046d0867da596deddc569 : SUCCESS in 4m 54s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/de0f0d3128a04110aa380d899418092d : SUCCESS in 3m 19s\n- trove-tempest-ubuntu-base-mysql8.4 https://zuul.opendev.org/t/openstack/build/4258fc9f9ea746e18bafc2b3c2c770b1 : SUCCESS in 48m 31s\n- trove-tempest-ubuntu-backup-mysql8.4 https://zuul.opendev.org/t/openstack/build/e7ada8026e514d639fb488580185952f : SUCCESS in 2h 38m 11s (non-voting)\n- trove-tempest-ubuntu-replication-mysql8.4 https://zuul.opendev.org/t/openstack/build/6f275b03dbfc4f1f9321b32d812a8475 : SUCCESS in 2h 23m 29s (non-voting)\n- trove-tempest-cinder-storage-driver-mysql8.4 https://zuul.opendev.org/t/openstack/build/20d8162a64b54ab6a1899abb00bb013f : SUCCESS in 1h 45m 14s (non-voting)\n- trove-tempest-ubuntu-base-mariadb11.4 https://zuul.opendev.org/t/openstack/build/fbf7ee54d2b94f06a9709f6d5cb725b2 : SUCCESS in 43m 12s\n- trove-tempest-ubuntu-backup-mariadb11.4 https://zuul.opendev.org/t/openstack/build/f8d462d888344cb3b797bfa6e0f195a2 : SUCCESS in 1h 34m 00s (non-voting)\n- trove-tempest-ubuntu-replication-mariadb11.4 https://zuul.opendev.org/t/openstack/build/2e8b37a474c64d208a9eb3b7b893bef0 : SUCCESS in 1h 13m 43s (non-voting)\n- trove-tempest-cinder-storage-driver-mariadb11.4 https://zuul.opendev.org/t/openstack/build/7da8a60e4d004712be6bb3c1733a4852 : SUCCESS in 1h 29m 12s (non-voting)\n- trove-tempest-ubuntu-base-postgresql17 https://zuul.opendev.org/t/openstack/build/53ded236d6064a88b07cf675319ffe74 : SUCCESS in 50m 15s\n- trove-tempest-ubuntu-backup-postgresql17 https://zuul.opendev.org/t/openstack/build/48f953d4517b451496fd02b80992e618 : FAILURE in 1h 25m 14s (non-voting)\n- trove-tempest-ubuntu-replication-postgresql17 https://zuul.opendev.org/t/openstack/build/71ad66024c514f6fb617b66d66a8b594 : SUCCESS in 1h 39m 22s (non-voting)\n- trove-tempest-cinder-storage-driver-postgresql17 https://zuul.opendev.org/t/openstack/build/29dbb779759a4a4cb01faab0c6ac0fa8 : FAILURE in 1h 09m 36s (non-voting)\n- trove-tox-bandit-baseline https://zuul.opendev.org/t/openstack/build/065c70d9bc1848d0b0b142d014fba2b4 : SUCCESS in 5m 08s","accounts_in_message":[],"_revision_number":3},{"id":"020759f2f10b139358a8a3a2131dec0f4a515562","author":{"_account_id":36080,"name":"Erkin Mussurmankulov","display_name":"Eric","email":"erkin.mussurmankulov@ps.kz","username":"mongoose404","status":"PS Cloud services employee"},"date":"2026-08-16 19:54:06.000000000","message":"Patch Set 3: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":3},{"id":"d482b2fbbfe425b738c89b491e8c26a2146dbfa3","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-16 19:54:29.000000000","message":"Patch Set 3: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":3},{"id":"ffe0fee81e92655949a20ca8aa9d092975c7456c","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-16 20:47:03.000000000","message":"Patch Set 3: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/bb5c82b9240d4ed29e71cb900a37429e\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/0ec3b5931183456cbbf14c3cebab844b : SUCCESS in 2m 57s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/031ab534ed004e14a19b6556bc6f9220 : SUCCESS in 5m 53s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/b6afaf149be94d4fbf36882eddcb4919 : SUCCESS in 7m 42s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/b8ae9ed632b846b1958aa8a48ad0c1c7 : SUCCESS in 4m 49s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/f8cd73861f4c412c944d53f8643c8eda : SUCCESS in 7m 12s\n- trove-tempest-ubuntu-base-mysql8.4 https://zuul.opendev.org/t/openstack/build/9e0d716bdb4f4423a8707129769ad061 : SUCCESS in 50m 47s\n- trove-tempest-ubuntu-base-mariadb11.4 https://zuul.opendev.org/t/openstack/build/c30225f6bdc84b0989578fce0c610c7d : SUCCESS in 46m 27s\n- trove-tempest-ubuntu-base-postgresql17 https://zuul.opendev.org/t/openstack/build/ef8d11ea4906401fad9ee51411e6eac4 : SUCCESS in 49m 48s","accounts_in_message":[],"_revision_number":3},{"id":"21e8597c694353ac068771ea15b86290b9b5bea3","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-16 20:47:03.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":3},{"id":"f4cf36cda10815d78e7a483b0873587f69d9af6b","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-16 20:47:52.000000000","message":"Patch Set 3:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/ec8fe02d3f45489e9941c3c91b2555d3\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/bf6bc6a9c97c485fb99a5e847cab9442 : SUCCESS in 39s\n- promote-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/ecbb286c6ad945f6807d310bd3ff8f7c : SUCCESS in 38s","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"95f656d8078fcaa41723da83ed5704b9bbbab797","revisions":{"90d4cf417f70da3c4cdab44a7a9293a60ad7991a":{"kind":"REWORK","_number":1,"created":"2026-08-15 08:29:04.000000000","uploader":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"ref":"refs/changes/19/1001019/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/trove","ref":"refs/changes/19/1001019/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/trove refs/changes/19/1001019/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/trove refs/changes/19/1001019/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/trove refs/changes/19/1001019/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/trove refs/changes/19/1001019/1"}}},"commit":{"parents":[{"commit":"0132a1ad0cb57ab2d07eea8cfd1c16e38d2dcff9","subject":"Merge \"Allow upgrade to the same version\" into stable/2025.2","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/trove/commit/0132a1ad0cb57ab2d07eea8cfd1c16e38d2dcff9"}]}],"author":{"name":"Kieran Spear","email":"kieran@aptira.com","date":"2026-08-13 03:06:53.000000000","tz":600},"committer":{"name":"Ivan Anfimov","email":"lazekteam@gmail.com","date":"2026-08-15 08:29:04.000000000","tz":0},"subject":"Fix \u0027swfit\u0027 typo in backup storage driver default","message":"Fix \u0027swfit\u0027 typo in backup storage driver default\n\nBuiltInstanceTasks.create_backup defaults the storage driver to the\nmisspelled string \u0027swfit\u0027 when backup_info lacks a \u0027storage_driver\u0027\nkey. \u0027swfit\u0027 matches neither \"cinder\" nor \u0027swift\u0027, so the taskmanager\ncasts the backup to the guest without injecting swift_url. Since\n804f960b (\"Use pre-auth Swift client, drop Keystone re-auth\") the\nguest agent hard-requires swift_url and rejects such a request with\n\"Missing swift_url in backup metadata\".\n\nThe broken default is hard to reach in practice: both in-tree\nproducers of backup_info always set storage_driver (falling back to\nCONF.storage_strategy), so hitting it requires either a mixed-version\nrolling upgrade — a trove-api still running code from before e4113c55\n(\"Support new storage driver for backup objects\", which introduced\nboth the field and this typo) casting create_backup to a current\ntaskmanager, backup_info being a plain dict with no versioned schema\n— or an out-of-tree caller of the taskmanager RPC API. On the stable\nbranches that carry the typo it is currently harmless, because the\nguest-side swift_url requirement only exists on master.\n\nFix the default and add regression coverage for\nBuiltInstanceTasks.create_backup, which previously had no tests.\n\nGenerated-By: Claude Fable 5\nChange-Id: I6173f8172adb9b6fd5ab7ae75f21eb09c286a260\nSigned-off-by: Kieran Spear \u003ckieran@aptira.com\u003e\n(cherry picked from commit 130ce3b572efee97d6ca6bd847db0d20adbdba29)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/trove/commit/90d4cf417f70da3c4cdab44a7a9293a60ad7991a"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/trove/commit/90d4cf417f70da3c4cdab44a7a9293a60ad7991a"}]},"branch":"refs/heads/stable/2025.2","conflicts":{"base":"3d1f393aa48c24bc9491ce2a0e24c10c52be6cec","ours":"0132a1ad0cb57ab2d07eea8cfd1c16e38d2dcff9","theirs":"1933b8ec908531a97481f024d286373e0e84c243","merge_strategy":"recursive","contains_conflicts":true}},"851c42fc400a715d8d4042b8958b972833ad98c7":{"kind":"REWORK","_number":2,"created":"2026-08-15 08:34:21.000000000","uploader":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"ref":"refs/changes/19/1001019/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/trove","ref":"refs/changes/19/1001019/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/trove refs/changes/19/1001019/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/trove refs/changes/19/1001019/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/trove refs/changes/19/1001019/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/trove refs/changes/19/1001019/2"}}},"commit":{"parents":[{"commit":"0132a1ad0cb57ab2d07eea8cfd1c16e38d2dcff9","subject":"Merge \"Allow upgrade to the same version\" into stable/2025.2","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/trove/commit/0132a1ad0cb57ab2d07eea8cfd1c16e38d2dcff9"}]}],"author":{"name":"Kieran Spear","email":"kieran@aptira.com","date":"2026-08-13 03:06:53.000000000","tz":600},"committer":{"name":"Ivan Anfimov","email":"lazekteam@gmail.com","date":"2026-08-15 08:34:20.000000000","tz":0},"subject":"Fix \u0027swfit\u0027 typo in backup storage driver default","message":"Fix \u0027swfit\u0027 typo in backup storage driver default\n\nBuiltInstanceTasks.create_backup defaults the storage driver to the\nmisspelled string \u0027swfit\u0027 when backup_info lacks a \u0027storage_driver\u0027\nkey. \u0027swfit\u0027 matches neither \"cinder\" nor \u0027swift\u0027, so the taskmanager\ncasts the backup to the guest without injecting swift_url. Since\n804f960b (\"Use pre-auth Swift client, drop Keystone re-auth\") the\nguest agent hard-requires swift_url and rejects such a request with\n\"Missing swift_url in backup metadata\".\n\nThe broken default is hard to reach in practice: both in-tree\nproducers of backup_info always set storage_driver (falling back to\nCONF.storage_strategy), so hitting it requires either a mixed-version\nrolling upgrade — a trove-api still running code from before e4113c55\n(\"Support new storage driver for backup objects\", which introduced\nboth the field and this typo) casting create_backup to a current\ntaskmanager, backup_info being a plain dict with no versioned schema\n— or an out-of-tree caller of the taskmanager RPC API. On the stable\nbranches that carry the typo it is currently harmless, because the\nguest-side swift_url requirement only exists on master.\n\nFix the default and add regression coverage for\nBuiltInstanceTasks.create_backup, which previously had no tests.\n\nGenerated-By: Claude Fable 5\nChange-Id: I6173f8172adb9b6fd5ab7ae75f21eb09c286a260\nSigned-off-by: Kieran Spear \u003ckieran@aptira.com\u003e\n(cherry picked from commit 130ce3b572efee97d6ca6bd847db0d20adbdba29)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/trove/commit/851c42fc400a715d8d4042b8958b972833ad98c7"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/trove/commit/851c42fc400a715d8d4042b8958b972833ad98c7"}]},"branch":"refs/heads/stable/2025.2"},"95f656d8078fcaa41723da83ed5704b9bbbab797":{"kind":"REWORK","_number":3,"created":"2026-08-15 14:28:29.000000000","uploader":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"ref":"refs/changes/19/1001019/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/trove","ref":"refs/changes/19/1001019/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/trove refs/changes/19/1001019/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/trove refs/changes/19/1001019/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/trove refs/changes/19/1001019/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/trove refs/changes/19/1001019/3"}}},"commit":{"parents":[{"commit":"0132a1ad0cb57ab2d07eea8cfd1c16e38d2dcff9","subject":"Merge \"Allow upgrade to the same version\" into stable/2025.2","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/trove/commit/0132a1ad0cb57ab2d07eea8cfd1c16e38d2dcff9"}]}],"author":{"name":"Kieran Spear","email":"kieran@aptira.com","date":"2026-08-13 03:06:53.000000000","tz":600},"committer":{"name":"Ivan Anfimov","email":"lazekteam@gmail.com","date":"2026-08-15 14:28:27.000000000","tz":0},"subject":"Fix \u0027swfit\u0027 typo in backup storage driver default","message":"Fix \u0027swfit\u0027 typo in backup storage driver default\n\nBuiltInstanceTasks.create_backup defaults the storage driver to the\nmisspelled string \u0027swfit\u0027 when backup_info lacks a \u0027storage_driver\u0027\nkey. \u0027swfit\u0027 matches neither \"cinder\" nor \u0027swift\u0027, so the taskmanager\ncasts the backup to the guest without injecting swift_url. Since\n804f960b (\"Use pre-auth Swift client, drop Keystone re-auth\") the\nguest agent hard-requires swift_url and rejects such a request with\n\"Missing swift_url in backup metadata\".\n\nThe broken default is hard to reach in practice: both in-tree\nproducers of backup_info always set storage_driver (falling back to\nCONF.storage_strategy), so hitting it requires either a mixed-version\nrolling upgrade — a trove-api still running code from before e4113c55\n(\"Support new storage driver for backup objects\", which introduced\nboth the field and this typo) casting create_backup to a current\ntaskmanager, backup_info being a plain dict with no versioned schema\n— or an out-of-tree caller of the taskmanager RPC API. On the stable\nbranches that carry the typo it is currently harmless, because the\nguest-side swift_url requirement only exists on master.\n\nFix the default and add regression coverage for\nBuiltInstanceTasks.create_backup, which previously had no tests.\n\nGenerated-By: Claude Fable 5\nChange-Id: I6173f8172adb9b6fd5ab7ae75f21eb09c286a260\nSigned-off-by: Kieran Spear \u003ckieran@aptira.com\u003e\n(cherry picked from commit 130ce3b572efee97d6ca6bd847db0d20adbdba29)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/trove/commit/95f656d8078fcaa41723da83ed5704b9bbbab797"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/trove/commit/95f656d8078fcaa41723da83ed5704b9bbbab797"}]},"branch":"refs/heads/stable/2025.2"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"CLOSED","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY","applied_by":{"_account_id":36080,"name":"Erkin Mussurmankulov","display_name":"Eric","email":"erkin.mussurmankulov@ps.kz","username":"mongoose404","status":"PS Cloud services employee"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":36080,"name":"Erkin Mussurmankulov","display_name":"Eric","email":"erkin.mussurmankulov@ps.kz","username":"mongoose404","status":"PS Cloud services employee"}},{"label":"Backport-Candidate","status":"MAY"}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX"],"failing_atoms":["label:Verified\u003dMIN"],"atom_explanations":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"name":"Backport-Candidate","description":"Backport candidate status","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":"Code-Review","description":"Code reviewed by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dMAX"],"failing_atoms":["label:Code-Review\u003dMIN"],"atom_explanations":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dMAX"],"failing_atoms":["label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
