)]}'
{"id":"openstack%2Fskyline-console~989508","triplet_id":"openstack%2Fskyline-console~master~I28f30bd2dd9072ec45b3bb63bbf95010ad139851","project":"openstack/skyline-console","branch":"master","attention_set":{},"removed_from_attention_set":{"30434":{"account":{"_account_id":30434,"name":"Jingwei.Zhang","email":"zhang.jingwei@algoblu.com","username":"jwzhang"},"last_update":"2026-06-22 03:24:20.000000000","reason":"removed on reply"},"6282":{"account":{"_account_id":6282,"name":"Wu Wenxiang","email":"wu.wenxiang@algoblu.com","username":"wu-wenxiang"},"last_update":"2026-06-22 04:34:22.000000000","reason":"Change was submitted"},"38366":{"account":{"_account_id":38366,"name":"Maximilian Sesterhenn","display_name":"Maximilian Sesterhenn","email":"maximilian.sesterhenn@wiit.cloud","username":"msesterhenn","status":"@WIIT AG"},"last_update":"2026-06-22 04:34:22.000000000","reason":"Change was submitted"},"37598":{"account":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"last_update":"2026-06-22 04:34:22.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I28f30bd2dd9072ec45b3bb63bbf95010ad139851","subject":"Add support for TOTP two-factor authentication","status":"MERGED","created":"2026-05-21 11:16:39.000000000","updated":"2026-06-22 04:35:29.000000000","submitted":"2026-06-22 04:34:22.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":5,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"989508","meta_rev_id":"817bd3f134ee7b7aee67ffef1c54fdbdea1be254","_number":989508,"virtual_id_number":989508,"owner":{"_account_id":38366,"name":"Maximilian Sesterhenn","display_name":"Maximilian Sesterhenn","email":"maximilian.sesterhenn@wiit.cloud","username":"msesterhenn","status":"@WIIT AG"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":30434,"name":"Jingwei.Zhang","email":"zhang.jingwei@algoblu.com","username":"jwzhang"},{"value":0,"_account_id":6282,"name":"Wu Wenxiang","email":"wu.wenxiang@algoblu.com","username":"wu-wenxiang"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-06-22 04:34:21.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},{"value":0,"_account_id":38366,"name":"Maximilian Sesterhenn","display_name":"Maximilian Sesterhenn","email":"maximilian.sesterhenn@wiit.cloud","username":"msesterhenn","status":"@WIIT AG"}],"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":30434,"name":"Jingwei.Zhang","email":"zhang.jingwei@algoblu.com","username":"jwzhang"},"all":[{"value":2,"date":"2026-06-22 03:24:20.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":30434,"name":"Jingwei.Zhang","email":"zhang.jingwei@algoblu.com","username":"jwzhang"},{"value":0,"_account_id":6282,"name":"Wu Wenxiang","email":"wu.wenxiang@algoblu.com","username":"wu-wenxiang"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},{"value":0,"_account_id":38366,"name":"Maximilian Sesterhenn","display_name":"Maximilian Sesterhenn","email":"maximilian.sesterhenn@wiit.cloud","username":"msesterhenn","status":"@WIIT AG"}],"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":30434,"name":"Jingwei.Zhang","email":"zhang.jingwei@algoblu.com","username":"jwzhang"},"all":[{"value":1,"date":"2026-06-22 03:24:26.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":30434,"name":"Jingwei.Zhang","email":"zhang.jingwei@algoblu.com","username":"jwzhang"},{"value":0,"_account_id":6282,"name":"Wu Wenxiang","email":"wu.wenxiang@algoblu.com","username":"wu-wenxiang"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},{"value":0,"_account_id":38366,"name":"Maximilian Sesterhenn","display_name":"Maximilian Sesterhenn","email":"maximilian.sesterhenn@wiit.cloud","username":"msesterhenn","status":"@WIIT AG"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":6282,"name":"Wu Wenxiang","email":"wu.wenxiang@algoblu.com","username":"wu-wenxiang"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":30434,"name":"Jingwei.Zhang","email":"zhang.jingwei@algoblu.com","username":"jwzhang"},{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},{"_account_id":38366,"name":"Maximilian Sesterhenn","display_name":"Maximilian Sesterhenn","email":"maximilian.sesterhenn@wiit.cloud","username":"msesterhenn","status":"@WIIT AG"}],"CC":[{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-05-21 11:20:47.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2026-05-21 12:02:29.000000000","updated_by":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"reviewer":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"state":"CC"},{"updated":"2026-05-22 09:18:47.000000000","updated_by":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"reviewer":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"state":"CC"},{"updated":"2026-06-18 23:57:38.000000000","updated_by":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"reviewer":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"state":"REVIEWER"},{"updated":"2026-06-18 23:57:38.000000000","updated_by":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"reviewer":{"_account_id":30434,"name":"Jingwei.Zhang","email":"zhang.jingwei@algoblu.com","username":"jwzhang"},"state":"REVIEWER"},{"updated":"2026-06-19 11:24:01.000000000","updated_by":{"_account_id":6282,"name":"Wu Wenxiang","email":"wu.wenxiang@algoblu.com","username":"wu-wenxiang"},"reviewer":{"_account_id":6282,"name":"Wu Wenxiang","email":"wu.wenxiang@algoblu.com","username":"wu-wenxiang"},"state":"REVIEWER"}],"messages":[{"id":"4706c2d3d276d8acfb9db3210415154c2c9e42d7","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":38366,"name":"Maximilian Sesterhenn","display_name":"Maximilian Sesterhenn","email":"maximilian.sesterhenn@wiit.cloud","username":"msesterhenn","status":"@WIIT AG"},"date":"2026-05-21 11:16:39.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"e5e3a57201cadd86225b0e891144cb6e77277fe5","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-21 11:20:47.000000000","message":"Patch Set 1: Verified-1\n\nThis change depends on a change that failed to merge.\n\nChange https://review.opendev.org/c/openstack/skyline-apiserver/+/989500 is needed.","accounts_in_message":[],"_revision_number":1},{"id":"df95e927b3f9923f4ebfd0c7e37433390e3c3267","author":{"_account_id":38366,"name":"Maximilian Sesterhenn","display_name":"Maximilian Sesterhenn","email":"maximilian.sesterhenn@wiit.cloud","username":"msesterhenn","status":"@WIIT AG"},"date":"2026-05-21 11:22:42.000000000","message":"Patch Set 1:\n\nThis change is ready for review.","accounts_in_message":[],"_revision_number":1},{"id":"f5fbc739ca37dfe80d9ff1644c71da14e8ed574a","author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"date":"2026-05-21 12:02:29.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"430963c2a5315b80cd288a864065615aaa81abd3","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-21 12:06:42.000000000","message":"Patch Set 1:\n\nThis change depends on a change that failed to merge.\n\nChange https://review.opendev.org/c/openstack/skyline-apiserver/+/989500 is needed.","accounts_in_message":[],"_revision_number":1},{"id":"3245fda44c37ac3399698734e1ec3e37cfbf4012","author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"date":"2026-05-22 09:18:47.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"36445ec6e137ef53372a4a9abbb250779e4f8b38","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":38366,"name":"Maximilian Sesterhenn","display_name":"Maximilian Sesterhenn","email":"maximilian.sesterhenn@wiit.cloud","username":"msesterhenn","status":"@WIIT AG"},"date":"2026-05-22 10:10:57.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"6eec4f5387041d043409b55439432027ae3ba12a","author":{"_account_id":38366,"name":"Maximilian Sesterhenn","display_name":"Maximilian Sesterhenn","email":"maximilian.sesterhenn@wiit.cloud","username":"msesterhenn","status":"@WIIT AG"},"date":"2026-05-22 10:11:51.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"7566d5936742d1355294f3ab02b0aeae3210561a","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-22 11:31:22.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/df3d90072cc04df69e80945eee0d2413\n\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/ef0e215bcdaf4837932cc73071cbd5b8 : SUCCESS in 2m 29s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/1cbf17cb00fd464ab958087549ba89a0 : SUCCESS in 7m 11s\n- skyline-nodejs16-run-lint-src https://zuul.opendev.org/t/openstack/build/593a02807e77498c9630556bfe2c804c : FAILURE in 12m 41s\n- skyline-nodejs16-run-lint-test https://zuul.opendev.org/t/openstack/build/94282b614b554907b552065966c8e330 : SUCCESS in 8m 40s\n- skyline-nodejs16-run-unit-test https://zuul.opendev.org/t/openstack/build/e99ca4d1a3774dbc8dab5ba5170c52c4 : SUCCESS in 8m 28s\n- skyline-console-devstack-e2etests-compute https://zuul.opendev.org/t/openstack/build/8a5c432bad6849e1b42e36b5c47a0cd0 : SUCCESS in 1h 11m 12s\n- skyline-console-devstack-e2etests-network https://zuul.opendev.org/t/openstack/build/c8b97556140d476e922bbbae6dd31110 : SUCCESS in 1h 09m 27s\n- skyline-console-devstack-e2etests-other https://zuul.opendev.org/t/openstack/build/7a46138487a04bbd959447f8d74e6ae8 : FAILURE in 1h 12m 32s\n- skyline-console-devstack-e2etests-storage https://zuul.opendev.org/t/openstack/build/1999df4d2a0d48d1a42e6e41dca40b3d : SUCCESS in 49m 59s","accounts_in_message":[],"_revision_number":2},{"id":"cd182b8062f385a52d949af3369720802c67882e","author":{"_account_id":38366,"name":"Maximilian Sesterhenn","display_name":"Maximilian Sesterhenn","email":"maximilian.sesterhenn@wiit.cloud","username":"msesterhenn","status":"@WIIT AG"},"date":"2026-05-22 11:42:46.000000000","message":"Patch Set 2: Code-Review-1","accounts_in_message":[],"_revision_number":2},{"id":"ca7d4dd12aa90c4ed7a253f10e7e8dd9be539f3c","tag":"autogenerated:gerrit:setWorkInProgress","author":{"_account_id":38366,"name":"Maximilian Sesterhenn","display_name":"Maximilian Sesterhenn","email":"maximilian.sesterhenn@wiit.cloud","username":"msesterhenn","status":"@WIIT AG"},"date":"2026-05-22 13:57:40.000000000","message":"Set Work In Progress","accounts_in_message":[],"_revision_number":2},{"id":"42c797a82e11de0f50fc4ed2722b0d0dc73e6677","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":38366,"name":"Maximilian Sesterhenn","display_name":"Maximilian Sesterhenn","email":"maximilian.sesterhenn@wiit.cloud","username":"msesterhenn","status":"@WIIT AG"},"date":"2026-05-22 14:14:47.000000000","message":"Uploaded patch set 3.\n\nOutdated Votes:\n* Code-Review-1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":3},{"id":"8544df3e3770e6aace5449373f5b3396410d65d8","author":{"_account_id":38366,"name":"Maximilian Sesterhenn","display_name":"Maximilian Sesterhenn","email":"maximilian.sesterhenn@wiit.cloud","username":"msesterhenn","status":"@WIIT AG"},"date":"2026-05-22 14:21:42.000000000","message":"Patch Set 3:\n\nThis change is ready for review.","accounts_in_message":[],"_revision_number":3},{"id":"cb9fb683cfd2c6c41b0ba31b341d1eaabdccc5fa","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-22 15:30:21.000000000","message":"Patch Set 3: 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/a2501a66b4b2436da822976005553a8b\n\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/96d4e087330b4808a4121b1659770251 : SUCCESS in 3m 08s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/5d831e8efc414e1784a487271dcf1559 : SUCCESS in 4m 14s\n- skyline-nodejs16-run-lint-src https://zuul.opendev.org/t/openstack/build/25e77d6f90184f0c8913dfb2a0d684b2 : FAILURE in 11m 09s\n- skyline-nodejs16-run-lint-test https://zuul.opendev.org/t/openstack/build/4627f1549bac4c2c8057790a76c79c13 : SUCCESS in 7m 33s\n- skyline-nodejs16-run-unit-test https://zuul.opendev.org/t/openstack/build/7e0ef9132f824a50b3efd2ca279901a4 : SUCCESS in 7m 21s\n- skyline-console-devstack-e2etests-compute https://zuul.opendev.org/t/openstack/build/40e9f947f18a4eb396df45795a2d6b28 : SUCCESS in 44m 58s\n- skyline-console-devstack-e2etests-network https://zuul.opendev.org/t/openstack/build/66fcaf663c2e498bbdf5d258fb4ffcae : SUCCESS in 1h 08m 52s\n- skyline-console-devstack-e2etests-other https://zuul.opendev.org/t/openstack/build/7690d8cbe6564ac9803a7d7fcd0a854f : SUCCESS in 57m 46s\n- skyline-console-devstack-e2etests-storage https://zuul.opendev.org/t/openstack/build/022f3cf8bf9a4a4897a7bc6b3c2b1b7e : SUCCESS in 34m 58s","accounts_in_message":[],"_revision_number":3},{"id":"7630d13b5554c2963518e590a2027215b8ccc67e","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":38366,"name":"Maximilian Sesterhenn","display_name":"Maximilian Sesterhenn","email":"maximilian.sesterhenn@wiit.cloud","username":"msesterhenn","status":"@WIIT AG"},"date":"2026-05-22 15:37:22.000000000","message":"Uploaded patch set 4.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":4},{"id":"39a2d0d878dce8c81566f24c14c2367a8bbabf87","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-22 16:59:21.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/6b597ebeab9b4953ba784cbfbf8741d3\n\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/59abe0643d8740d49e1a2ffe8de84abd : SUCCESS in 2m 51s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/2f8cf14d2d5849ea981c67e1b1fb3b7f : SUCCESS in 6m 40s\n- skyline-nodejs16-run-lint-src https://zuul.opendev.org/t/openstack/build/39f4b8bd6f0e42de89c1ab74e44cda7f : SUCCESS in 11m 17s\n- skyline-nodejs16-run-lint-test https://zuul.opendev.org/t/openstack/build/b510e6b0d6ec496f8727fab35e8d21d4 : SUCCESS in 3m 16s\n- skyline-nodejs16-run-unit-test https://zuul.opendev.org/t/openstack/build/b420156a45264c08b986657c5c4b5190 : SUCCESS in 8m 13s\n- skyline-console-devstack-e2etests-compute https://zuul.opendev.org/t/openstack/build/f39ec7f228a444af83ced3924b1488a4 : SUCCESS in 1h 15m 58s\n- skyline-console-devstack-e2etests-network https://zuul.opendev.org/t/openstack/build/7f9b4e28d90540dba120538f617307fa : SUCCESS in 30m 06s\n- skyline-console-devstack-e2etests-other https://zuul.opendev.org/t/openstack/build/715f374f06a946c38592c49ded4b11eb : SUCCESS in 53m 31s\n- skyline-console-devstack-e2etests-storage https://zuul.opendev.org/t/openstack/build/4cdf6bbd894942919b020aa216dd1440 : SUCCESS in 51m 41s","accounts_in_message":[],"_revision_number":4},{"id":"053c5eabc9c5cb03570f4572f659164ea9d99217","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":38366,"name":"Maximilian Sesterhenn","display_name":"Maximilian Sesterhenn","email":"maximilian.sesterhenn@wiit.cloud","username":"msesterhenn","status":"@WIIT AG"},"date":"2026-06-02 08:19:56.000000000","message":"Uploaded patch set 5.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":5},{"id":"91786bdf2a1d3ff75f8908297769218988c29e18","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-02 09:37:05.000000000","message":"Patch Set 5: 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/80b1b3e0d7aa4510ab0b72a37af738d4\n\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/05e2e2ae1f664111b98c6de5eb2d7d91 : SUCCESS in 2m 55s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/26d66a50bdf54f069c9e3a89b7a6b482 : SUCCESS in 6m 38s\n- skyline-nodejs16-run-lint-src https://zuul.opendev.org/t/openstack/build/8891e2111c9042aca7830748d045804c : FAILURE in 8m 33s\n- skyline-nodejs16-run-lint-test https://zuul.opendev.org/t/openstack/build/ecd8dce7ba6e4216a4726fe3d65bca17 : SUCCESS in 6m 45s\n- skyline-nodejs16-run-unit-test https://zuul.opendev.org/t/openstack/build/ee1f9c4224a84e58b90065c6a2311369 : SUCCESS in 7m 57s\n- skyline-console-devstack-e2etests-compute https://zuul.opendev.org/t/openstack/build/f249f40d79c24e15aceea7e3f4b9105c : SUCCESS in 1h 08m 52s\n- skyline-console-devstack-e2etests-network https://zuul.opendev.org/t/openstack/build/d591281bf55c4f9ba7cb9450d8f7568e : SUCCESS in 43m 06s\n- skyline-console-devstack-e2etests-other https://zuul.opendev.org/t/openstack/build/296597ab28c7420a9361785b22d5efee : SUCCESS in 40m 28s\n- skyline-console-devstack-e2etests-storage https://zuul.opendev.org/t/openstack/build/ebf81aea7c1c4f0eaf8b8234e6c672c5 : SUCCESS in 51m 34s","accounts_in_message":[],"_revision_number":5},{"id":"37c0f43217c0fd5b333eac41bdf44f7c54b3b2d5","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":38366,"name":"Maximilian Sesterhenn","display_name":"Maximilian Sesterhenn","email":"maximilian.sesterhenn@wiit.cloud","username":"msesterhenn","status":"@WIIT AG"},"date":"2026-06-02 14:53:34.000000000","message":"Uploaded patch set 6.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":6},{"id":"149bcc9d58d811ca85f11de3deec5603d2c2e487","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-02 16:17:25.000000000","message":"Patch Set 6: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/c7346b5dd6ee4f11bddad46ecfec5a99\n\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/f5e6b01b94074dfdb1a5cda6c8e8495c : SUCCESS in 4m 21s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/09bde12e69ed4c31a7fa2ced937ca928 : SUCCESS in 8m 25s\n- skyline-nodejs16-run-lint-src https://zuul.opendev.org/t/openstack/build/fcaaaec5ab684953bc57949e5b75491b : SUCCESS in 6m 38s\n- skyline-nodejs16-run-lint-test https://zuul.opendev.org/t/openstack/build/2af170c69333464eb4e148e55f5d08c7 : SUCCESS in 9m 07s\n- skyline-nodejs16-run-unit-test https://zuul.opendev.org/t/openstack/build/1e30238056ab4264aef88d5456278a0a : SUCCESS in 5m 02s\n- skyline-console-devstack-e2etests-compute https://zuul.opendev.org/t/openstack/build/b02584ecac5f49ac95031316c700bf9f : SUCCESS in 1h 16m 10s\n- skyline-console-devstack-e2etests-network https://zuul.opendev.org/t/openstack/build/d64ee0a6c2e54a60a6a116bb2382a1dd : SUCCESS in 1h 03m 20s\n- skyline-console-devstack-e2etests-other https://zuul.opendev.org/t/openstack/build/0469eb5efa324e3f90cc602b3bc12db9 : SUCCESS in 53m 09s\n- skyline-console-devstack-e2etests-storage https://zuul.opendev.org/t/openstack/build/da667957518548cf93149db9e515d46c : SUCCESS in 51m 23s","accounts_in_message":[],"_revision_number":6},{"id":"a2c6377f436186fe45bc065f0501f289dcb727c3","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":38366,"name":"Maximilian Sesterhenn","display_name":"Maximilian Sesterhenn","email":"maximilian.sesterhenn@wiit.cloud","username":"msesterhenn","status":"@WIIT AG"},"real_author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"date":"2026-06-18 23:57:09.000000000","message":"Patch Set 7: Patch Set 6 was rebased on behalf of \u003cGERRIT_ACCOUNT_38366\u003e\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[{"_account_id":38366,"name":"Maximilian Sesterhenn","display_name":"Maximilian Sesterhenn","email":"maximilian.sesterhenn@wiit.cloud","username":"msesterhenn","status":"@WIIT AG"}],"_revision_number":7},{"id":"abd2b7cba1572f86c7d86767a104af96be18d3e5","author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"date":"2026-06-18 23:57:38.000000000","message":"Patch Set 7: Code-Review+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":7},{"id":"b0fa285909eddab8aa944855d96ebbf30a9ef415","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-19 01:05:47.000000000","message":"Patch Set 7: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/9ed4761b2abd46738e7d70160f7d4fc4\n\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/d2527913d3de46d7a4368805ed67c61a : SUCCESS in 2m 53s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/73e49f722abe4a44adf95673b5f0c617 : SUCCESS in 6m 14s\n- skyline-nodejs16-run-lint-src https://zuul.opendev.org/t/openstack/build/71048aaab49e47ffa2cafdc4ab587f88 : SUCCESS in 7m 11s\n- skyline-nodejs16-run-lint-test https://zuul.opendev.org/t/openstack/build/d4956de24fde4de4bc56e19f6acd8cdc : SUCCESS in 7m 54s\n- skyline-nodejs16-run-unit-test https://zuul.opendev.org/t/openstack/build/2a977fd775cc4a97b4fddaf12d4a31bf : SUCCESS in 3m 46s\n- skyline-console-devstack-e2etests-compute https://zuul.opendev.org/t/openstack/build/e7d8f0202423481cb4cc59028da80827 : SUCCESS in 42m 17s\n- skyline-console-devstack-e2etests-network https://zuul.opendev.org/t/openstack/build/6c8f4d0b3f8b4ec38f3239b39b3505f8 : SUCCESS in 1h 02m 55s\n- skyline-console-devstack-e2etests-other https://zuul.opendev.org/t/openstack/build/1056a2a4374b4acab4423a4ece81841e : SUCCESS in 39m 09s\n- skyline-console-devstack-e2etests-storage https://zuul.opendev.org/t/openstack/build/c0c4bdf0d6de42d78334c3255f1fd5d8 : SUCCESS in 54m 37s","accounts_in_message":[],"_revision_number":7},{"id":"98f2605e3ea933004db08252c7906ce92f025cb7","author":{"_account_id":6282,"name":"Wu Wenxiang","email":"wu.wenxiang@algoblu.com","username":"wu-wenxiang"},"date":"2026-06-19 11:24:01.000000000","message":"Patch Set 7: Code-Review+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":7},{"id":"049af52d2b7c0f0e43b2e4a65f6b6dc13d95809f","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":30434,"name":"Jingwei.Zhang","email":"zhang.jingwei@algoblu.com","username":"jwzhang"},"date":"2026-06-22 00:53:34.000000000","message":"Uploaded patch set 8.\n\nOutdated Votes:\n* Code-Review+1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":8},{"id":"59c83b18d91c359fec40d8819fa9c2755eba825a","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-22 01:50:14.000000000","message":"Patch Set 8: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/717f9aea008f40b9ac1cea94c0e6fa09\n\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/c5b69a6af82a4fe39ce4ccab62c085e3 : SUCCESS in 2m 51s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c3c18f63702841068d638258674975de : SUCCESS in 9m 24s\n- skyline-nodejs16-run-lint-src https://zuul.opendev.org/t/openstack/build/ef39b05a89d5465f8b316734fe95ceb5 : SUCCESS in 10m 56s\n- skyline-nodejs16-run-lint-test https://zuul.opendev.org/t/openstack/build/6b0fe55d61a54043a90d07a77d5d47a1 : SUCCESS in 4m 34s\n- skyline-nodejs16-run-unit-test https://zuul.opendev.org/t/openstack/build/6cbbc10cd0be4ff5b9265f5ba47aff8c : SUCCESS in 3m 47s\n- skyline-console-devstack-e2etests-compute https://zuul.opendev.org/t/openstack/build/bf00911c308b4fab9d632173f98e3e1a : SUCCESS in 49m 56s\n- skyline-console-devstack-e2etests-network https://zuul.opendev.org/t/openstack/build/a049eae8326446468c978fd6425d5fc6 : SUCCESS in 41m 13s\n- skyline-console-devstack-e2etests-other https://zuul.opendev.org/t/openstack/build/4186801bf4d949fd9c6e72002b94faaf : SUCCESS in 31m 09s\n- skyline-console-devstack-e2etests-storage https://zuul.opendev.org/t/openstack/build/31a5c30882b7433ea4d47671203b3654 : SUCCESS in 51m 24s","accounts_in_message":[],"_revision_number":8},{"id":"61713c1a0578e61002cb22fb1142433e3da67234","author":{"_account_id":30434,"name":"Jingwei.Zhang","email":"zhang.jingwei@algoblu.com","username":"jwzhang"},"date":"2026-06-22 03:24:20.000000000","message":"Patch Set 8: Code-Review+2","accounts_in_message":[],"_revision_number":8},{"id":"b635cc642bfcb360064bda718361788a67e08410","author":{"_account_id":30434,"name":"Jingwei.Zhang","email":"zhang.jingwei@algoblu.com","username":"jwzhang"},"date":"2026-06-22 03:24:26.000000000","message":"Patch Set 8: Workflow+1","accounts_in_message":[],"_revision_number":8},{"id":"bd539857b77afe02c182190e77cc9db690db2254","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-22 03:25:03.000000000","message":"Patch Set 8: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":8},{"id":"1c4877a5db4ff6e00101f700fee92201861e3ce5","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-22 04:34:21.000000000","message":"Patch Set 8: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/bf658a8657354eaf949d45b4e5390a7f\n\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/e81a56f74a24434f91faf62db5175300 : SUCCESS in 4m 01s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/ff5a828d63c9491bb6bc779bc4a3482f : SUCCESS in 7m 50s\n- skyline-nodejs16-run-lint-src https://zuul.opendev.org/t/openstack/build/39149969be3648e9a8eb81fc676ed690 : SUCCESS in 9m 16s\n- skyline-nodejs16-run-lint-test https://zuul.opendev.org/t/openstack/build/4f708efc6ddf4b7185d3395989457783 : SUCCESS in 7m 18s\n- skyline-nodejs16-run-unit-test https://zuul.opendev.org/t/openstack/build/af2dd8d0ef0c4b809c4c47e4b1b111d1 : SUCCESS in 7m 39s\n- skyline-console-devstack-e2etests-compute https://zuul.opendev.org/t/openstack/build/19b4f458273d4c42a0f90af08c25ca4f : SUCCESS in 1h 07m 21s\n- skyline-console-devstack-e2etests-network https://zuul.opendev.org/t/openstack/build/26174330d4b74693a4ae820ded74b8de : SUCCESS in 58m 04s\n- skyline-console-devstack-e2etests-other https://zuul.opendev.org/t/openstack/build/44970025f002444aa4a9c8599c18a07a : SUCCESS in 46m 58s\n- skyline-console-devstack-e2etests-storage https://zuul.opendev.org/t/openstack/build/244d42796bd2411ab78ad9227f931c1c : SUCCESS in 49m 11s","accounts_in_message":[],"_revision_number":8},{"id":"7d382ca02aaf9c444ceb79b01d3e9f7237e2d52e","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-22 04:34:22.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":8},{"id":"817bd3f134ee7b7aee67ffef1c54fdbdea1be254","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-22 04:35:29.000000000","message":"Patch Set 8:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/c88b9f0172fa4cbc84f4bbe51d5e0bc5\n\n- promote-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/4aafac6911db4b5680b8b5f02a90cb63 : SUCCESS in 47s\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/0c2ed0f7f7bf4cf6ae0b384544380a57 : SUCCESS in 55s","accounts_in_message":[],"_revision_number":8}],"current_revision_number":8,"current_revision":"5f92495047f253cf326fa4fad77a7324bbfdeaef","revisions":{"e13de50b2bd1c23c80c6dd6279a46a7c37dab360":{"kind":"REWORK","_number":1,"created":"2026-05-21 11:16:39.000000000","uploader":{"_account_id":38366,"name":"Maximilian Sesterhenn","display_name":"Maximilian Sesterhenn","email":"maximilian.sesterhenn@wiit.cloud","username":"msesterhenn","status":"@WIIT AG"},"ref":"refs/changes/08/989508/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/skyline-console","ref":"refs/changes/08/989508/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/skyline-console refs/changes/08/989508/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/skyline-console refs/changes/08/989508/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/skyline-console refs/changes/08/989508/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/skyline-console refs/changes/08/989508/1"}}},"commit":{"parents":[{"commit":"4ecddc901ae9191a75fe7bc701fe46d4291ee8c2","subject":"test: Disable ironic deployment in DevStack E2E tests","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/skyline-console/commit/4ecddc901ae9191a75fe7bc701fe46d4291ee8c2"}]}],"author":{"name":"Maximilian Sesterhenn","email":"maximilian.sesterhenn@wiit.cloud","date":"2026-05-21 10:11:34.000000000","tz":120},"committer":{"name":"Maximilian Sesterhenn","email":"maximilian.sesterhenn@wiit.cloud","date":"2026-05-21 11:16:07.000000000","tz":120},"subject":"Add support for TOTP two-factor authentication","message":"Add support for TOTP two-factor authentication\n\nAdds TOTP (Time-based One-Time Password) two-factor authentication support\nto the Skyline Console. This includes:\n\n- TOTP code input field in login form (shown when 2FA is required)\n- User center TOTP management page for setup/configuration\n- QR code generation and display for TOTP setup\n- Admin panel integration to view/manage user TOTP status\n- API client updates for /login/totp endpoint\n- Translations for ko-kr, ru, tr-tr, zh-hans\n\nDepends-On: https://review.opendev.org/c/openstack/skyline-apiserver/+/989500\nCloses-Bug: #2153550\nChange-Id: I28f30bd2dd9072ec45b3bb63bbf95010ad139851\nSigned-off-by: Maximilian Sesterhenn \u003cmaximilian.sesterhenn@wiit.cloud\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/skyline-console/commit/e13de50b2bd1c23c80c6dd6279a46a7c37dab360"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/skyline-console/commit/e13de50b2bd1c23c80c6dd6279a46a7c37dab360"}]},"branch":"refs/heads/master"},"4a06c10b0ffd98b9c3ef1213dfc75c34548689a0":{"kind":"REWORK","_number":2,"created":"2026-05-22 10:10:57.000000000","uploader":{"_account_id":38366,"name":"Maximilian Sesterhenn","display_name":"Maximilian Sesterhenn","email":"maximilian.sesterhenn@wiit.cloud","username":"msesterhenn","status":"@WIIT AG"},"ref":"refs/changes/08/989508/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/skyline-console","ref":"refs/changes/08/989508/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/skyline-console refs/changes/08/989508/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/skyline-console refs/changes/08/989508/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/skyline-console refs/changes/08/989508/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/skyline-console refs/changes/08/989508/2"}}},"commit":{"parents":[{"commit":"4ecddc901ae9191a75fe7bc701fe46d4291ee8c2","subject":"test: Disable ironic deployment in DevStack E2E tests","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/skyline-console/commit/4ecddc901ae9191a75fe7bc701fe46d4291ee8c2"}]}],"author":{"name":"Maximilian Sesterhenn","email":"maximilian.sesterhenn@wiit.cloud","date":"2026-05-21 10:11:34.000000000","tz":120},"committer":{"name":"Maximilian Sesterhenn","email":"maximilian.sesterhenn@wiit.cloud","date":"2026-05-22 10:10:22.000000000","tz":120},"subject":"Add support for TOTP two-factor authentication","message":"Add support for TOTP two-factor authentication\n\nAdds TOTP (Time-based One-Time Password) two-factor authentication support\nto the Skyline Console. This includes:\n\n- TOTP code input field in login form (shown when 2FA is required)\n- User center TOTP management page for setup/configuration\n- QR code generation and display for TOTP setup\n- Admin panel integration to view/manage user TOTP status\n- API client updates for /login/totp endpoint\n- Translations for ko-kr, tr-tr, zh-hans\n\nDepends-On: https://review.opendev.org/c/openstack/skyline-apiserver/+/989500\nCloses-Bug: #2153550\nChange-Id: I28f30bd2dd9072ec45b3bb63bbf95010ad139851\nSigned-off-by: Maximilian Sesterhenn \u003cmaximilian.sesterhenn@wiit.cloud\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/skyline-console/commit/4a06c10b0ffd98b9c3ef1213dfc75c34548689a0"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/skyline-console/commit/4a06c10b0ffd98b9c3ef1213dfc75c34548689a0"}]},"branch":"refs/heads/master"},"07d0fd53adad46e5d9110b4566e5209f4962cc42":{"kind":"REWORK","_number":3,"created":"2026-05-22 14:14:47.000000000","uploader":{"_account_id":38366,"name":"Maximilian Sesterhenn","display_name":"Maximilian Sesterhenn","email":"maximilian.sesterhenn@wiit.cloud","username":"msesterhenn","status":"@WIIT AG"},"ref":"refs/changes/08/989508/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/skyline-console","ref":"refs/changes/08/989508/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/skyline-console refs/changes/08/989508/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/skyline-console refs/changes/08/989508/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/skyline-console refs/changes/08/989508/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/skyline-console refs/changes/08/989508/3"}}},"commit":{"parents":[{"commit":"4ecddc901ae9191a75fe7bc701fe46d4291ee8c2","subject":"test: Disable ironic deployment in DevStack E2E tests","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/skyline-console/commit/4ecddc901ae9191a75fe7bc701fe46d4291ee8c2"}]}],"author":{"name":"Maximilian Sesterhenn","email":"maximilian.sesterhenn@wiit.cloud","date":"2026-05-21 10:11:34.000000000","tz":120},"committer":{"name":"Maximilian Sesterhenn","email":"maximilian.sesterhenn@wiit.cloud","date":"2026-05-22 14:00:02.000000000","tz":120},"subject":"Add support for TOTP two-factor authentication","message":"Add support for TOTP two-factor authentication\n\nAdds TOTP (Time-based One-Time Password) two-factor authentication support\nto the Skyline Console. This includes:\n\n- TOTP code input field in login form (shown when 2FA is required)\n- User center TOTP management page for setup/configuration\n- QR code generation and display for TOTP setup\n- Admin panel integration to view/manage user TOTP status\n- API client updates for /login/totp endpoint\n- Translations for ko-kr, tr-tr, zh-hans\n\nDepends-On: https://review.opendev.org/c/openstack/skyline-apiserver/+/989500\nCloses-Bug: #2153550\nChange-Id: I28f30bd2dd9072ec45b3bb63bbf95010ad139851\nSigned-off-by: Maximilian Sesterhenn \u003cmaximilian.sesterhenn@wiit.cloud\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/skyline-console/commit/07d0fd53adad46e5d9110b4566e5209f4962cc42"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/skyline-console/commit/07d0fd53adad46e5d9110b4566e5209f4962cc42"}]},"branch":"refs/heads/master"},"0817cef4028b89efdc4ee61249a5239673146168":{"kind":"REWORK","_number":4,"created":"2026-05-22 15:37:22.000000000","uploader":{"_account_id":38366,"name":"Maximilian Sesterhenn","display_name":"Maximilian Sesterhenn","email":"maximilian.sesterhenn@wiit.cloud","username":"msesterhenn","status":"@WIIT AG"},"ref":"refs/changes/08/989508/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/skyline-console","ref":"refs/changes/08/989508/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/skyline-console refs/changes/08/989508/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/skyline-console refs/changes/08/989508/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/skyline-console refs/changes/08/989508/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/skyline-console refs/changes/08/989508/4"}}},"commit":{"parents":[{"commit":"4ecddc901ae9191a75fe7bc701fe46d4291ee8c2","subject":"test: Disable ironic deployment in DevStack E2E tests","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/skyline-console/commit/4ecddc901ae9191a75fe7bc701fe46d4291ee8c2"}]}],"author":{"name":"Maximilian Sesterhenn","email":"maximilian.sesterhenn@wiit.cloud","date":"2026-05-21 10:11:34.000000000","tz":120},"committer":{"name":"Maximilian Sesterhenn","email":"maximilian.sesterhenn@wiit.cloud","date":"2026-05-22 15:37:00.000000000","tz":120},"subject":"Add support for TOTP two-factor authentication","message":"Add support for TOTP two-factor authentication\n\nAdds TOTP (Time-based One-Time Password) two-factor authentication support\nto the Skyline Console. This includes:\n\n- TOTP code input field in login form (shown when 2FA is required)\n- User center TOTP management page for setup/configuration\n- QR code generation and display for TOTP setup\n- Admin panel integration to view/manage user TOTP status\n- API client updates for /login/totp endpoint\n- Translations for ko-kr, tr-tr, zh-hans\n\nDepends-On: https://review.opendev.org/c/openstack/skyline-apiserver/+/989500\nCloses-Bug: #2153550\nChange-Id: I28f30bd2dd9072ec45b3bb63bbf95010ad139851\nSigned-off-by: Maximilian Sesterhenn \u003cmaximilian.sesterhenn@wiit.cloud\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/skyline-console/commit/0817cef4028b89efdc4ee61249a5239673146168"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/skyline-console/commit/0817cef4028b89efdc4ee61249a5239673146168"}]},"branch":"refs/heads/master"},"414ed689f1f3fc380691ae87da8e99c4afbd90fc":{"kind":"REWORK","_number":5,"created":"2026-06-02 08:19:56.000000000","uploader":{"_account_id":38366,"name":"Maximilian Sesterhenn","display_name":"Maximilian Sesterhenn","email":"maximilian.sesterhenn@wiit.cloud","username":"msesterhenn","status":"@WIIT AG"},"ref":"refs/changes/08/989508/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/skyline-console","ref":"refs/changes/08/989508/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/skyline-console refs/changes/08/989508/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/skyline-console refs/changes/08/989508/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/skyline-console refs/changes/08/989508/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/skyline-console refs/changes/08/989508/5"}}},"commit":{"parents":[{"commit":"ec33c17046a291e0a8d94de00a0df221e5e78ad2","subject":"Merge \"Set browser title from current page\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/skyline-console/commit/ec33c17046a291e0a8d94de00a0df221e5e78ad2"}]}],"author":{"name":"Maximilian Sesterhenn","email":"maximilian.sesterhenn@wiit.cloud","date":"2026-05-21 10:11:34.000000000","tz":120},"committer":{"name":"Maximilian Sesterhenn","email":"maximilian.sesterhenn@wiit.cloud","date":"2026-06-02 08:17:32.000000000","tz":120},"subject":"Add support for TOTP two-factor authentication","message":"Add support for TOTP two-factor authentication\n\ngit rebase --continue\nAdds TOTP (Time-based One-Time Password) two-factor authentication support\nto the Skyline Console. This includes:\n\n- TOTP code input field in login form (shown when 2FA is required)\n- User center TOTP management page for setup/configuration\n- QR code generation and display for TOTP setup\n- Admin panel integration to view/manage user TOTP status\n- API client updates for /login/totp endpoint\n- Translations for ko-kr, tr-tr, zh-hans\n\nDepends-On: https://review.opendev.org/c/openstack/skyline-apiserver/+/989500\nCloses-Bug: #2153550\nChange-Id: I28f30bd2dd9072ec45b3bb63bbf95010ad139851\nSigned-off-by: Maximilian Sesterhenn \u003cmaximilian.sesterhenn@wiit.cloud\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/skyline-console/commit/414ed689f1f3fc380691ae87da8e99c4afbd90fc"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/skyline-console/commit/414ed689f1f3fc380691ae87da8e99c4afbd90fc"}]},"branch":"refs/heads/master"},"961eb1b7896b0f149f386acbd6467e552dabfbf6":{"kind":"REWORK","_number":6,"created":"2026-06-02 14:53:34.000000000","uploader":{"_account_id":38366,"name":"Maximilian Sesterhenn","display_name":"Maximilian Sesterhenn","email":"maximilian.sesterhenn@wiit.cloud","username":"msesterhenn","status":"@WIIT AG"},"ref":"refs/changes/08/989508/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/skyline-console","ref":"refs/changes/08/989508/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/skyline-console refs/changes/08/989508/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/skyline-console refs/changes/08/989508/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/skyline-console refs/changes/08/989508/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/skyline-console refs/changes/08/989508/6"}}},"commit":{"parents":[{"commit":"ec33c17046a291e0a8d94de00a0df221e5e78ad2","subject":"Merge \"Set browser title from current page\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/skyline-console/commit/ec33c17046a291e0a8d94de00a0df221e5e78ad2"}]}],"author":{"name":"Maximilian Sesterhenn","email":"maximilian.sesterhenn@wiit.cloud","date":"2026-05-21 10:11:34.000000000","tz":120},"committer":{"name":"Maximilian Sesterhenn","email":"maximilian.sesterhenn@wiit.cloud","date":"2026-06-02 14:45:20.000000000","tz":120},"subject":"Add support for TOTP two-factor authentication","message":"Add support for TOTP two-factor authentication\n\ngit rebase --continue\nAdds TOTP (Time-based One-Time Password) two-factor authentication support\nto the Skyline Console. This includes:\n\n- TOTP code input field in login form (shown when 2FA is required)\n- User center TOTP management page for setup/configuration\n- QR code generation and display for TOTP setup\n- Admin panel integration to view/manage user TOTP status\n- API client updates for /login/totp endpoint\n- Translations for ko-kr, tr-tr, zh-hans\n\nDepends-On: https://review.opendev.org/c/openstack/skyline-apiserver/+/989500\nCloses-Bug: #2153550\nChange-Id: I28f30bd2dd9072ec45b3bb63bbf95010ad139851\nSigned-off-by: Maximilian Sesterhenn \u003cmaximilian.sesterhenn@wiit.cloud\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/skyline-console/commit/961eb1b7896b0f149f386acbd6467e552dabfbf6"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/skyline-console/commit/961eb1b7896b0f149f386acbd6467e552dabfbf6"}]},"branch":"refs/heads/master"},"c1441e1e8c63ef3ba1d67d26ee302f1ec38349ac":{"kind":"TRIVIAL_REBASE","_number":7,"created":"2026-06-18 23:57:09.000000000","uploader":{"_account_id":38366,"name":"Maximilian Sesterhenn","display_name":"Maximilian Sesterhenn","email":"maximilian.sesterhenn@wiit.cloud","username":"msesterhenn","status":"@WIIT AG"},"real_uploader":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"ref":"refs/changes/08/989508/7","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/skyline-console","ref":"refs/changes/08/989508/7","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/skyline-console refs/changes/08/989508/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/skyline-console refs/changes/08/989508/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/skyline-console refs/changes/08/989508/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/skyline-console refs/changes/08/989508/7"}}},"commit":{"parents":[{"commit":"ee77cbbd6a1c1a3ae3163b81b6be97dfb1669597","subject":"Merge \"Fix hypervisor display for dedicated CPUs (pCPU)\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/skyline-console/commit/ee77cbbd6a1c1a3ae3163b81b6be97dfb1669597"}]}],"author":{"name":"Maximilian Sesterhenn","email":"maximilian.sesterhenn@wiit.cloud","date":"2026-05-21 10:11:34.000000000","tz":120},"committer":{"name":"Maximilian Sesterhenn","email":"maximilian.sesterhenn@wiit.cloud","date":"2026-06-18 23:57:09.000000000","tz":0},"subject":"Add support for TOTP two-factor authentication","message":"Add support for TOTP two-factor authentication\n\ngit rebase --continue\nAdds TOTP (Time-based One-Time Password) two-factor authentication support\nto the Skyline Console. This includes:\n\n- TOTP code input field in login form (shown when 2FA is required)\n- User center TOTP management page for setup/configuration\n- QR code generation and display for TOTP setup\n- Admin panel integration to view/manage user TOTP status\n- API client updates for /login/totp endpoint\n- Translations for ko-kr, tr-tr, zh-hans\n\nDepends-On: https://review.opendev.org/c/openstack/skyline-apiserver/+/989500\nCloses-Bug: #2153550\nChange-Id: I28f30bd2dd9072ec45b3bb63bbf95010ad139851\nSigned-off-by: Maximilian Sesterhenn \u003cmaximilian.sesterhenn@wiit.cloud\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/skyline-console/commit/c1441e1e8c63ef3ba1d67d26ee302f1ec38349ac"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/skyline-console/commit/c1441e1e8c63ef3ba1d67d26ee302f1ec38349ac"}]},"branch":"refs/heads/master","description":"Rebase","conflicts":{"base":"ec33c17046a291e0a8d94de00a0df221e5e78ad2","ours":"961eb1b7896b0f149f386acbd6467e552dabfbf6","theirs":"ee77cbbd6a1c1a3ae3163b81b6be97dfb1669597","merge_strategy":"recursive","contains_conflicts":false}},"5f92495047f253cf326fa4fad77a7324bbfdeaef":{"kind":"REWORK","_number":8,"created":"2026-06-22 00:53:34.000000000","uploader":{"_account_id":30434,"name":"Jingwei.Zhang","email":"zhang.jingwei@algoblu.com","username":"jwzhang"},"ref":"refs/changes/08/989508/8","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/skyline-console","ref":"refs/changes/08/989508/8","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/skyline-console refs/changes/08/989508/8 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/skyline-console refs/changes/08/989508/8 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/skyline-console refs/changes/08/989508/8 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/skyline-console refs/changes/08/989508/8"}}},"commit":{"parents":[{"commit":"ee77cbbd6a1c1a3ae3163b81b6be97dfb1669597","subject":"Merge \"Fix hypervisor display for dedicated CPUs (pCPU)\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/skyline-console/commit/ee77cbbd6a1c1a3ae3163b81b6be97dfb1669597"}]}],"author":{"name":"Maximilian Sesterhenn","email":"maximilian.sesterhenn@wiit.cloud","date":"2026-05-21 10:11:34.000000000","tz":120},"committer":{"name":"zhangjingwei","email":"zhang.jingwei@algoblu.com","date":"2026-06-22 00:52:59.000000000","tz":480},"subject":"Add support for TOTP two-factor authentication","message":"Add support for TOTP two-factor authentication\n\nAdds TOTP (Time-based One-Time Password) two-factor authentication support\nto the Skyline Console. This includes:\n\n- TOTP code input field in login form (shown when 2FA is required)\n- User center TOTP management page for setup/configuration\n- QR code generation and display for TOTP setup\n- Admin panel integration to view/manage user TOTP status\n- API client updates for /login/totp endpoint\n- Translations for ko-kr, tr-tr, zh-hans\n\nDepends-On: https://review.opendev.org/c/openstack/skyline-apiserver/+/989500\nCloses-Bug: #2153550\nChange-Id: I28f30bd2dd9072ec45b3bb63bbf95010ad139851\nSigned-off-by: Maximilian Sesterhenn \u003cmaximilian.sesterhenn@wiit.cloud\u003e\nSigned-off-by: zhangjingwei \u003czhang.jingwei@algoblu.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/skyline-console/commit/5f92495047f253cf326fa4fad77a7324bbfdeaef"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/skyline-console/commit/5f92495047f253cf326fa4fad77a7324bbfdeaef"}]},"branch":"refs/heads/master"}},"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":30434,"name":"Jingwei.Zhang","email":"zhang.jingwei@algoblu.com","username":"jwzhang"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":30434,"name":"Jingwei.Zhang","email":"zhang.jingwei@algoblu.com","username":"jwzhang"}}]}],"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":"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":""}}}]}
