)]}'
{"id":"openstack%2Fcloudkitty-dashboard~973486","triplet_id":"openstack%2Fcloudkitty-dashboard~master~I1422135aaa294f4c9e1addd44a3aa70adedcd205","project":"openstack/cloudkitty-dashboard","branch":"master","attention_set":{},"removed_from_attention_set":{"28356":{"account":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"last_update":"2026-04-27 14:28:39.000000000","reason":"\u003cGERRIT_ACCOUNT_28356\u003e replied on the change","reason_account":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"}},"32968":{"account":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"last_update":"2026-04-28 10:43:00.000000000","reason":"Change was submitted"},"4264":{"account":{"_account_id":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"},"last_update":"2026-04-27 15:38:36.000000000","reason":"\u003cGERRIT_ACCOUNT_4264\u003e replied on the change","reason_account":{"_account_id":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"}},"15197":{"account":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"last_update":"2026-04-28 10:43:00.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-04-27 14:39:04.000000000","reason":"\u003cGERRIT_ACCOUNT_37598\u003e replied on the change","reason_account":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"}},"34975":{"account":{"_account_id":34975,"name":"Jaromír Wysoglad","email":"jwysogla@redhat.com","username":"jwysogla"},"last_update":"2026-04-28 10:43:00.000000000","reason":"Change was submitted"},"35263":{"account":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"last_update":"2026-04-28 10:30:01.000000000","reason":"\u003cGERRIT_ACCOUNT_35263\u003e replied on the change","reason_account":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"}},"12015":{"account":{"_account_id":12015,"name":"François Magimel","email":"magimel.francois@gmail.com","username":"linkid"},"last_update":"2026-04-27 16:45:29.000000000","reason":"\u003cGERRIT_ACCOUNT_12015\u003e replied on the change","reason_account":{"_account_id":12015,"name":"François Magimel","email":"magimel.francois@gmail.com","username":"linkid"}}},"hashtags":[],"change_id":"I1422135aaa294f4c9e1addd44a3aa70adedcd205","subject":"Enhance rating dashboard with summary cards and admin manage panel","status":"MERGED","created":"2026-01-15 14:14:11.000000000","updated":"2026-04-28 10:44:01.000000000","submitted":"2026-04-28 10:43:00.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":19,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"973486","meta_rev_id":"463c25a7111f2c2d7757bd45df4af23cea24db18","_number":973486,"virtual_id_number":973486,"owner":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},{"value":0,"_account_id":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-04-28 10:42:59.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":12015,"name":"François Magimel","email":"magimel.francois@gmail.com","username":"linkid"},{"value":0,"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"}],"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":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"all":[{"value":2,"date":"2026-04-27 14:28:39.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},{"value":1,"date":"2026-04-27 15:38:36.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":1,"date":"2026-04-27 14:39:04.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},{"value":1,"date":"2026-04-27 16:45:29.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":12015,"name":"François Magimel","email":"magimel.francois@gmail.com","username":"linkid"},{"value":2,"date":"2026-04-28 10:30:01.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"}],"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":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"all":[{"value":0,"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},{"value":0,"_account_id":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"},{"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":12015,"name":"François Magimel","email":"magimel.francois@gmail.com","username":"linkid"},{"value":1,"date":"2026-04-28 10:30:01.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},{"value":0,"_account_id":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"},{"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":12015,"name":"François Magimel","email":"magimel.francois@gmail.com","username":"linkid"},{"value":0,"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"}],"values":{"-1":"Branch Freeze"," 0":"No Priority","+1":"Important Change","+2":"Gate Blocker Fix / Urgent Change"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},{"_account_id":34975,"name":"Jaromír Wysoglad","email":"jwysogla@redhat.com","username":"jwysogla"}],"reviewers":{"REVIEWER":[{"_account_id":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"},{"_account_id":12015,"name":"François Magimel","email":"magimel.francois@gmail.com","username":"linkid"},{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},{"_account_id":34975,"name":"Jaromír Wysoglad","email":"jwysogla@redhat.com","username":"jwysogla"},{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-01-15 14:26:32.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-01-20 23:22:47.000000000","updated_by":{"_account_id":34975,"name":"Jaromír Wysoglad","email":"jwysogla@redhat.com","username":"jwysogla"},"reviewer":{"_account_id":34975,"name":"Jaromír Wysoglad","email":"jwysogla@redhat.com","username":"jwysogla"},"state":"CC"},{"updated":"2026-02-02 14:32:52.000000000","updated_by":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"reviewer":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"state":"REVIEWER"},{"updated":"2026-02-04 09:59: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-02-04 09:59:38.000000000","updated_by":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"reviewer":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"state":"REVIEWER"},{"updated":"2026-02-16 14:23:46.000000000","updated_by":{"_account_id":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"},"reviewer":{"_account_id":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"},"state":"REVIEWER"},{"updated":"2026-04-09 18:25:41.000000000","updated_by":{"_account_id":12015,"name":"François Magimel","email":"magimel.francois@gmail.com","username":"linkid"},"reviewer":{"_account_id":12015,"name":"François Magimel","email":"magimel.francois@gmail.com","username":"linkid"},"state":"REVIEWER"},{"updated":"2026-04-27 14:39:07.000000000","updated_by":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"reviewer":{"_account_id":34975,"name":"Jaromír Wysoglad","email":"jwysogla@redhat.com","username":"jwysogla"},"state":"REVIEWER"},{"updated":"2026-04-27 14:41:42.000000000","updated_by":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"reviewer":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"state":"REVIEWER"}],"messages":[{"id":"3bc48ab20865de32a9a8bc89a4a0881ffb095ad9","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"date":"2026-01-15 14:14:11.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"0f5c757151a45d33ce37a0de504c6ec6d1b0564d","author":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"date":"2026-01-15 14:17:35.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"4dfc5fce55d988f457ba8225e757a375c5a37a36","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-01-15 14:26:32.000000000","message":"Patch Set 1: Verified-1\n\n(3 comments)\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/14aab0aebfb6482184e8cda1684c9042\n\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/29d3f6a03a2c4423875f328ffd94b008 : SUCCESS in 6m 00s\n- horizon-tox-python3-django42 https://zuul.opendev.org/t/openstack/build/c229771567b74214a145472e0e10586f : SUCCESS in 7m 06s\n- horizon-tox-python3-django52 https://zuul.opendev.org/t/openstack/build/e4fff709d4564a3891a0dbff4721cefb : SUCCESS in 6m 04s (non-voting)\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/4e700e47b72c45d590ed7443474c2143 : FAILURE in 3m 18s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/b8eeff8ee7a84a02a7947ee73823a4b9 : SUCCESS in 2m 39s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/70580bde76b04ecdacd3876d1bfae9d6 : SUCCESS in 6m 12s","accounts_in_message":[],"_revision_number":1},{"id":"83d7699aaf17af02dbec8ce5f0bd0f5bf604ee7c","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"date":"2026-01-15 14:56:42.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified-1\n","accounts_in_message":[],"_revision_number":2},{"id":"fe5f3c0b6d7fe55a9eaf91b81c454cd9486a8ca0","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-01-15 15:08:54.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/6ee215ed8730487697d48e9f90a63f87\n\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/8363d02bf6734727bd6097033c9629fd : SUCCESS in 4m 00s\n- horizon-tox-python3-django42 https://zuul.opendev.org/t/openstack/build/666e224380644769976217d904bc95ea : SUCCESS in 6m 50s\n- horizon-tox-python3-django52 https://zuul.opendev.org/t/openstack/build/ca85ad91ad1a47f7bc23b796e73e5c26 : SUCCESS in 4m 26s (non-voting)\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/f6077882eb554a239c16f662a0d2fad2 : SUCCESS in 3m 42s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/f089b9caf97042b7ba85476adb5b3d9a : SUCCESS in 2m 39s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/4a6ddf3ffe9c42a6a59bc8661a7fd754 : SUCCESS in 6m 48s","accounts_in_message":[],"_revision_number":2},{"id":"31df9cabee7faaa4f9c17044da304d5ffb7dfc67","author":{"_account_id":34975,"name":"Jaromír Wysoglad","email":"jwysogla@redhat.com","username":"jwysogla"},"date":"2026-01-20 23:22:47.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"e7b7eabdaf958d08dab4e85fa68c1c6a49afb594","author":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"date":"2026-01-21 11:12:23.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"41b7f0a645e266c5e28fba43697462c0b7354c14","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2026-02-02 14:32:52.000000000","message":"Patch Set 2: Code-Review+2","accounts_in_message":[],"_revision_number":2},{"id":"b1e573c2da94d8ec12fd17e44277b586284d6536","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"date":"2026-02-03 09:26:52.000000000","message":"Uploaded patch set 3.\n\nOutdated Votes:\n* Code-Review+2 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1\n","accounts_in_message":[],"_revision_number":3},{"id":"04492cbc73839ec56e14f389e1de9894b5d3779f","author":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"date":"2026-02-03 09:28:45.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"f90d5e5276ddc3ce1c9a62fe93ae811997fdcd2e","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-02-03 09:44:42.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/9db4a80cfd1446848c9ad4399fc618ab\n\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/d4767d88fb1b462ab78ae43ec17ada5a : SUCCESS in 3m 30s\n- horizon-tox-python3-django42 https://zuul.opendev.org/t/openstack/build/a7c052cd059c4e4b8bf229b804d57e3c : SUCCESS in 8m 08s\n- horizon-tox-python3-django52 https://zuul.opendev.org/t/openstack/build/e72dbe7df6b547cbbffe75110bc1ac3d : SUCCESS in 4m 39s (non-voting)\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/9d109cebdb774cb0b8a893f099ed61aa : SUCCESS in 3m 56s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/0e79102db01949cca1df1fa351bb2968 : SUCCESS in 5m 12s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/8f57cfece9d741008b86e25bd668e67f : SUCCESS in 5m 53s","accounts_in_message":[],"_revision_number":3},{"id":"ac6f7db5006a4bbd01c9051db7ed5fbdd1b6fbb0","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2026-02-03 10:42:42.000000000","message":"Patch Set 3: Code-Review+2","accounts_in_message":[],"_revision_number":3},{"id":"21bcbf5fdebf848b80e6474f75fb5bfaecb8fd77","author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"date":"2026-02-04 09:59:38.000000000","message":"Patch Set 3: Code-Review+1","accounts_in_message":[],"_revision_number":3},{"id":"e94d5681e63223b07af31575e8531d107779a2d5","author":{"_account_id":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"},"date":"2026-02-16 14:23:46.000000000","message":"Patch Set 3: Code-Review+1","accounts_in_message":[],"_revision_number":3},{"id":"866b9282778a951763a59f0f5fa4869e00129cc7","author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"date":"2026-03-04 10:28:55.000000000","message":"Patch Set 3: Code-Review+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"68aa0585e03c7027ecf7d029a39099ac27f99028","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"date":"2026-03-31 16:28:55.000000000","message":"Uploaded patch set 4.\n\nOutdated Votes:\n* Code-Review+1, Code-Review+2 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1\n","accounts_in_message":[],"_revision_number":4},{"id":"95b785b95052ea0d3be07cfd61ab2dfb110a2097","author":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"date":"2026-03-31 16:30:15.000000000","message":"Patch Set 4:\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"1daf605932e282d27cc0df077489c101d950d533","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-31 16:41:52.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/570eabf16498493abc2e087f13afde75\n\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/c6e35bcad4f94760b11c0ea6c6885abc : SUCCESS in 2m 23s\n- horizon-tox-python3-django42 https://zuul.opendev.org/t/openstack/build/1e553deca7254448b85221dd8362257b : SUCCESS in 3m 39s\n- horizon-tox-python3-django52 https://zuul.opendev.org/t/openstack/build/d742a2017efd4618ac264939b8e0690c : SUCCESS in 4m 30s (non-voting)\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/b69fe5129c6f4f53ba6ccf66e6e29706 : SUCCESS in 3m 18s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/c8da009112b440c5badfdf7cdd4694a4 : SUCCESS in 3m 06s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/8e894b797193482e9352a92b479cf847 : SUCCESS in 5m 26s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/f531418cf57e42e7bd5ba5d9b0d7a8cd : SUCCESS in 7m 39s","accounts_in_message":[],"_revision_number":4},{"id":"93bf8c27d164f45b8096f82aaf13d2de7af31f88","author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"date":"2026-03-31 17:10:19.000000000","message":"Patch Set 4: Code-Review+1","accounts_in_message":[],"_revision_number":4},{"id":"a5e3436040156ec8acda8a3470b1fdef2f6c65b3","author":{"_account_id":12015,"name":"François Magimel","email":"magimel.francois@gmail.com","username":"linkid"},"date":"2026-04-09 18:25:41.000000000","message":"Patch Set 4: Code-Review-1\n\n(2 comments)","accounts_in_message":[],"_revision_number":4},{"id":"36af6107109cc1ec9e631c6508c753691eff7d88","author":{"_account_id":12015,"name":"François Magimel","email":"magimel.francois@gmail.com","username":"linkid"},"date":"2026-04-10 05:25:43.000000000","message":"Patch Set 4:\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"d0cdbbc517cdaf95a21c992dcc134e91401d5340","author":{"_account_id":12015,"name":"François Magimel","email":"magimel.francois@gmail.com","username":"linkid"},"date":"2026-04-10 05:45:06.000000000","message":"Patch Set 4:\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"c3cf389c18620d28501bcdf9c130e0ab86dfd20b","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"date":"2026-04-15 10:49:48.000000000","message":"Uploaded patch set 5.\n\nOutdated Votes:\n* Code-Review+1, Code-Review-1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":5},{"id":"a575cda364f5ec1013b42785eda377af2d7e6bbf","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"date":"2026-04-15 10:53:20.000000000","message":"Uploaded patch set 6: Commit message was updated.","accounts_in_message":[],"_revision_number":6},{"id":"d3b4a8af3a325071dbd91005738bb207bada1d14","author":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"date":"2026-04-15 10:53:57.000000000","message":"Patch Set 5:\n\n(4 comments)","accounts_in_message":[],"_revision_number":5},{"id":"2931ecc3bc06921fcf7ae83ac29a554a233b56bb","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"date":"2026-04-15 10:56:33.000000000","message":"Uploaded patch set 7: Commit message was updated.","accounts_in_message":[],"_revision_number":7},{"id":"566259d1be8f49f54f858681c74064d8ec0b698f","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-15 11:11:04.000000000","message":"Patch Set 7: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/b8962fdc97f24ac8a1c1280ff9ef82fc\n\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/ab8b5d9ad7c042b79365b9f5c1bd4374 : SUCCESS in 3m 38s\n- horizon-tox-python3-django42 https://zuul.opendev.org/t/openstack/build/3fcd554f8db343e8a7c174e6b311d862 : SUCCESS in 4m 40s\n- horizon-tox-python3-django52 https://zuul.opendev.org/t/openstack/build/503f3130610e49dc937119d471379f62 : SUCCESS in 3m 44s (non-voting)\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/94e377d6da464235a0bec3ac27678213 : SUCCESS in 3m 17s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/250d36e4953e4d5a80c13673269e0e20 : SUCCESS in 3m 34s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/1dd51b98ce8645ebbc5bb702ecbce219 : SUCCESS in 7m 08s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/427b335233ca4b7ba0efc170e26e29ea : SUCCESS in 6m 21s","accounts_in_message":[],"_revision_number":7},{"id":"191a6d6d73c29b8ad3b03df1a46d6522f938d046","author":{"_account_id":12015,"name":"François Magimel","email":"magimel.francois@gmail.com","username":"linkid"},"date":"2026-04-21 12:22:43.000000000","message":"Patch Set 7: Code-Review+1","accounts_in_message":[],"_revision_number":7},{"id":"5d11def873518f4c9b6da43fa7ce95e504ad07fa","author":{"_account_id":12015,"name":"François Magimel","email":"magimel.francois@gmail.com","username":"linkid"},"date":"2026-04-21 12:25:43.000000000","message":"Patch Set 7: -Code-Review\n\n(1 comment)","accounts_in_message":[],"_revision_number":7},{"id":"da09df8008cb5ec535f39a7fe3ff0e5139346bf8","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"date":"2026-04-27 14:14:02.000000000","message":"Uploaded patch set 8.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":8},{"id":"51731ddbc709dcccf0fc7918f6886bd3fbaf74bb","author":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"date":"2026-04-27 14:15:04.000000000","message":"Patch Set 8:\n\n(1 comment)","accounts_in_message":[],"_revision_number":8},{"id":"28cbe703c07febc7ee9677e39fec24b824688a2f","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-27 14:23:32.000000000","message":"Patch Set 8: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/c9e3d479e239405c8219819b5ff218c1\n\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/760491cea9d04a36a1d1c3934b2ee87b : SUCCESS in 2m 27s\n- horizon-tox-python3-django42 https://zuul.opendev.org/t/openstack/build/5e256907eab6429fb62c69111224f0ee : SUCCESS in 2m 48s\n- horizon-tox-python3-django52 https://zuul.opendev.org/t/openstack/build/9ad2bc10bf264d51b8e98b78003903e6 : SUCCESS in 3m 43s (non-voting)\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/389a454d46994e0081cbd01e52f67005 : SUCCESS in 2m 16s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/3621892e3f9c44cb8fa3433fa7c5c95d : SUCCESS in 3m 23s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/b63672307337475abeae89cda439d31f : SUCCESS in 7m 53s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/7c0001565648473f86e1e0d519507d27 : SUCCESS in 7m 04s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/5b017621499f44f5951933b4fcca4c44 : SUCCESS in 4m 12s","accounts_in_message":[],"_revision_number":8},{"id":"3edeab41a8d7ad4bf8c5b829869786b3527afb7f","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2026-04-27 14:28:39.000000000","message":"Patch Set 8: Code-Review+2","accounts_in_message":[],"_revision_number":8},{"id":"fec518aacf401473a2d1906d6ada883c931a97cd","author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"date":"2026-04-27 14:39:04.000000000","message":"Patch Set 8: Code-Review+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":8},{"id":"b7b270d5932f6c25d927bf2e2f789e62e067d65f","author":{"_account_id":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"},"date":"2026-04-27 15:38:36.000000000","message":"Patch Set 8: Code-Review+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":8},{"id":"d9f40fec117324e97302faa7a289bc2e57e46638","author":{"_account_id":12015,"name":"François Magimel","email":"magimel.francois@gmail.com","username":"linkid"},"date":"2026-04-27 16:45:29.000000000","message":"Patch Set 8: Code-Review+1","accounts_in_message":[],"_revision_number":8},{"id":"c85d393d4ed25db2d9b348d45175e6933838253a","author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"date":"2026-04-28 10:30:01.000000000","message":"Patch Set 8: Code-Review+2 Workflow+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":8},{"id":"e967fe41a393a65175c173fb5d6afd4c833a04a1","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-28 10:30:13.000000000","message":"Patch Set 8: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":8},{"id":"8220ada6f8b9c93736a0728b034c21feb0ec79ee","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-28 10:42:59.000000000","message":"Patch Set 8: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/27e539b6f4f849058d16ca941aabf5fe\n\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/adb0e91f1f8b4684a43021ee9456a55a : SUCCESS in 2m 35s\n- horizon-tox-python3-django42 https://zuul.opendev.org/t/openstack/build/5029441b8316439aa66dc187b3b4c3a1 : SUCCESS in 2m 57s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/4bc4764c87374f098725770da1f47128 : SUCCESS in 3m 03s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/320339e530fb40c48505cc8a44099277 : SUCCESS in 3m 08s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/eb5d79bc624b4db8aba66247355a0025 : SUCCESS in 4m 45s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/7fd31d1c464d4a29922f3702827619d5 : SUCCESS in 2m 51s","accounts_in_message":[],"_revision_number":8},{"id":"ab175bb7a618ca4f1aae1372b146dea9df37fafe","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-28 10:43:00.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":8},{"id":"463c25a7111f2c2d7757bd45df4af23cea24db18","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-28 10:44:01.000000000","message":"Patch Set 8:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/abdd93c6e1fa49f5b1c65326ae70c811\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/7d542b0d40704184ada59a5b679e0f32 : SUCCESS in 41s\n- promote-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/c8ab6386a57443c996c3936e300535b9 : SUCCESS in 50s","accounts_in_message":[],"_revision_number":8}],"current_revision_number":8,"current_revision":"bf9df5acb1655945ea789c64dfca0bb85da19a32","revisions":{"d6d85350e26a51be44e4d712be2dcebae4073dfa":{"kind":"REWORK","_number":1,"created":"2026-01-15 14:14:11.000000000","uploader":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"ref":"refs/changes/86/973486/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cloudkitty-dashboard","ref":"refs/changes/86/973486/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cloudkitty-dashboard refs/changes/86/973486/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cloudkitty-dashboard refs/changes/86/973486/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cloudkitty-dashboard refs/changes/86/973486/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cloudkitty-dashboard refs/changes/86/973486/1"}}},"commit":{"parents":[{"commit":"afe788dd223679fde7e45b539841c0e1bd3cafbd","subject":"Merge \"Reword config text to avoid Unicode apostrophe\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-dashboard/commit/afe788dd223679fde7e45b539841c0e1bd3cafbd"}]}],"author":{"name":"Juan Larriba","email":"jlarriba@redhat.com","date":"2026-01-13 10:55:21.000000000","tz":60},"committer":{"name":"Juan Larriba","email":"jlarriba@redhat.com","date":"2026-01-15 14:13:23.000000000","tz":60},"subject":"Enhance rating dashboard with summary cards and admin manage panel","message":"Enhance rating dashboard with summary cards and admin manage panel\n\nThis change enhances the project rating dashboard to display:\n- Summary cards for current month, forecasted month-end, and last month costs\n- Cost breakdown table with percentage progress bars\n- Cost breakdown comparison visualization\n- Top cost generators table\n\nAlso enhances the Admin \u003e Rating \u003e Hashmap view to display all\nconfigured hashmap rating rules, allowing administrators to view\nthe pricing applied to resources.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e\nChange-Id: I1422135aaa294f4c9e1addd44a3aa70adedcd205\nSigned-off-by: Juan Larriba \u003cjlarriba@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-dashboard/commit/d6d85350e26a51be44e4d712be2dcebae4073dfa"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-dashboard/commit/d6d85350e26a51be44e4d712be2dcebae4073dfa"}]},"branch":"refs/heads/master"},"9755c0f4e958b047ae9b9fe8efdbee96e0b6c7ea":{"kind":"REWORK","_number":2,"created":"2026-01-15 14:56:42.000000000","uploader":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"ref":"refs/changes/86/973486/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cloudkitty-dashboard","ref":"refs/changes/86/973486/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cloudkitty-dashboard refs/changes/86/973486/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cloudkitty-dashboard refs/changes/86/973486/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cloudkitty-dashboard refs/changes/86/973486/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cloudkitty-dashboard refs/changes/86/973486/2"}}},"commit":{"parents":[{"commit":"afe788dd223679fde7e45b539841c0e1bd3cafbd","subject":"Merge \"Reword config text to avoid Unicode apostrophe\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-dashboard/commit/afe788dd223679fde7e45b539841c0e1bd3cafbd"}]}],"author":{"name":"Juan Larriba","email":"jlarriba@redhat.com","date":"2026-01-13 10:55:21.000000000","tz":60},"committer":{"name":"Juan Larriba","email":"jlarriba@redhat.com","date":"2026-01-15 14:56:32.000000000","tz":60},"subject":"Enhance rating dashboard with summary cards and admin manage panel","message":"Enhance rating dashboard with summary cards and admin manage panel\n\nThis change enhances the project rating dashboard to display:\n- Summary cards for current month, forecasted month-end, and last month costs\n- Cost breakdown table with percentage progress bars\n- Cost breakdown comparison visualization\n- Top cost generators table\n\nAlso enhances the Admin \u003e Rating \u003e Hashmap view to display all\nconfigured hashmap rating rules, allowing administrators to view\nthe pricing applied to resources.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e\nChange-Id: I1422135aaa294f4c9e1addd44a3aa70adedcd205\nSigned-off-by: Juan Larriba \u003cjlarriba@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-dashboard/commit/9755c0f4e958b047ae9b9fe8efdbee96e0b6c7ea"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-dashboard/commit/9755c0f4e958b047ae9b9fe8efdbee96e0b6c7ea"}]},"branch":"refs/heads/master"},"568ad799fe1ba4c11706cd29eb2a057e2a70bd72":{"kind":"REWORK","_number":3,"created":"2026-02-03 09:26:52.000000000","uploader":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"ref":"refs/changes/86/973486/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cloudkitty-dashboard","ref":"refs/changes/86/973486/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cloudkitty-dashboard refs/changes/86/973486/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cloudkitty-dashboard refs/changes/86/973486/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cloudkitty-dashboard refs/changes/86/973486/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cloudkitty-dashboard refs/changes/86/973486/3"}}},"commit":{"parents":[{"commit":"afe788dd223679fde7e45b539841c0e1bd3cafbd","subject":"Merge \"Reword config text to avoid Unicode apostrophe\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-dashboard/commit/afe788dd223679fde7e45b539841c0e1bd3cafbd"}]}],"author":{"name":"Juan Larriba","email":"jlarriba@redhat.com","date":"2026-01-13 10:55:21.000000000","tz":60},"committer":{"name":"Juan Larriba","email":"jlarriba@redhat.com","date":"2026-02-03 09:26:45.000000000","tz":60},"subject":"Enhance rating dashboard with summary cards and admin manage panel","message":"Enhance rating dashboard with summary cards and admin manage panel\n\nThis change enhances the project rating dashboard to display:\n- Summary cards for current month, forecasted month-end, and last month costs\n- Cost breakdown table with percentage progress bars\n- Cost breakdown comparison visualization\n- Top cost generators table\n\nAlso enhances the Admin \u003e Rating \u003e Hashmap view to display all\nconfigured hashmap rating rules, allowing administrators to view\nthe pricing applied to resources.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e\nChange-Id: I1422135aaa294f4c9e1addd44a3aa70adedcd205\nSigned-off-by: Juan Larriba \u003cjlarriba@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-dashboard/commit/568ad799fe1ba4c11706cd29eb2a057e2a70bd72"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-dashboard/commit/568ad799fe1ba4c11706cd29eb2a057e2a70bd72"}]},"branch":"refs/heads/master"},"fc709b57f7e5b8d65149c5fcd4600d2e3751825c":{"kind":"REWORK","_number":4,"created":"2026-03-31 16:28:55.000000000","uploader":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"ref":"refs/changes/86/973486/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cloudkitty-dashboard","ref":"refs/changes/86/973486/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cloudkitty-dashboard refs/changes/86/973486/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cloudkitty-dashboard refs/changes/86/973486/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cloudkitty-dashboard refs/changes/86/973486/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cloudkitty-dashboard refs/changes/86/973486/4"}}},"commit":{"parents":[{"commit":"03fbda290da9dfa3f9cd989113a092927edf471f","subject":"Merge \"Imported Translations from Zanata\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-dashboard/commit/03fbda290da9dfa3f9cd989113a092927edf471f"}]}],"author":{"name":"Juan Larriba","email":"jlarriba@redhat.com","date":"2026-01-13 10:55:21.000000000","tz":60},"committer":{"name":"Juan Larriba","email":"jlarriba@redhat.com","date":"2026-03-31 16:28:48.000000000","tz":120},"subject":"Enhance rating dashboard with summary cards and admin manage panel","message":"Enhance rating dashboard with summary cards and admin manage panel\n\nThis change enhances the project rating dashboard to display:\n- Summary cards for current month, forecasted month-end, and last month costs\n- Cost breakdown table with percentage progress bars\n- Cost breakdown comparison visualization\n- Top cost generators table\n\nAlso enhances the Admin \u003e Rating \u003e Hashmap view to display all\nconfigured hashmap rating rules, allowing administrators to view\nthe pricing applied to resources.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e\nChange-Id: I1422135aaa294f4c9e1addd44a3aa70adedcd205\nSigned-off-by: Juan Larriba \u003cjlarriba@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-dashboard/commit/fc709b57f7e5b8d65149c5fcd4600d2e3751825c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-dashboard/commit/fc709b57f7e5b8d65149c5fcd4600d2e3751825c"}]},"branch":"refs/heads/master"},"2c9379402afb421495a4cd4e3f8c35a8c1ec4fd6":{"kind":"REWORK","_number":5,"created":"2026-04-15 10:49:48.000000000","uploader":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"ref":"refs/changes/86/973486/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cloudkitty-dashboard","ref":"refs/changes/86/973486/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cloudkitty-dashboard refs/changes/86/973486/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cloudkitty-dashboard refs/changes/86/973486/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cloudkitty-dashboard refs/changes/86/973486/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cloudkitty-dashboard refs/changes/86/973486/5"}}},"commit":{"parents":[{"commit":"03fbda290da9dfa3f9cd989113a092927edf471f","subject":"Merge \"Imported Translations from Zanata\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-dashboard/commit/03fbda290da9dfa3f9cd989113a092927edf471f"}]}],"author":{"name":"Juan Larriba","email":"jlarriba@redhat.com","date":"2026-01-13 10:55:21.000000000","tz":60},"committer":{"name":"Juan Larriba","email":"jlarriba@redhat.com","date":"2026-04-15 10:36:18.000000000","tz":120},"subject":"Enhance rating dashboard with summary cards and admin manage panel","message":"Enhance rating dashboard with summary cards and admin manage panel\n\nThis change enhances the project rating dashboard to display:\n- Summary cards for current month, forecasted month-end, and last month costs\n- Cost breakdown table with percentage progress bars\n- Cost breakdown comparison visualization\n- Top cost generators table\n\nAlso enhances the Admin \u003e Rating \u003e Hashmap view to display all\nconfigured hashmap rating rules, allowing administrators to view\nthe pricing applied to resources.\n\nSwitches the reporting panel from v1 storage.get_dataframes API to v2\nsummary API for better performance on large date ranges, and defaults\nthe datepicker to 1st-of-month through today.\n\nAssisted-By: Claude \u003cnoreply@anthropic.com\u003e\nChange-Id: I1422135aaa294f4c9e1addd44a3aa70adedcd205\nSigned-off-by: Juan Larriba \u003cjlarriba@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-dashboard/commit/2c9379402afb421495a4cd4e3f8c35a8c1ec4fd6"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-dashboard/commit/2c9379402afb421495a4cd4e3f8c35a8c1ec4fd6"}]},"branch":"refs/heads/master"},"6d6671a1173580a387a9236aef80f2bda328c541":{"kind":"NO_CODE_CHANGE","_number":6,"created":"2026-04-15 10:53:20.000000000","uploader":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"ref":"refs/changes/86/973486/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cloudkitty-dashboard","ref":"refs/changes/86/973486/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cloudkitty-dashboard refs/changes/86/973486/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cloudkitty-dashboard refs/changes/86/973486/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cloudkitty-dashboard refs/changes/86/973486/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cloudkitty-dashboard refs/changes/86/973486/6"}}},"commit":{"parents":[{"commit":"03fbda290da9dfa3f9cd989113a092927edf471f","subject":"Merge \"Imported Translations from Zanata\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-dashboard/commit/03fbda290da9dfa3f9cd989113a092927edf471f"}]}],"author":{"name":"Juan Larriba","email":"jlarriba@redhat.com","date":"2026-01-13 10:55:21.000000000","tz":60},"committer":{"name":"Juan Larriba","email":"jlarriba@redhat.com","date":"2026-04-15 10:53:10.000000000","tz":120},"subject":"Enhance rating dashboard with summary cards and admin manage panel","message":"Enhance rating dashboard with summary cards and admin manage panel\n\nThis change enhances the project rating dashboard to display:\n- Summary cards for current month, forecasted month-end, and last month costs\n- Cost breakdown table with percentage progress bars\n- Cost breakdown comparison visualization\n- Top cost generators table\n\nAlso enhances the Admin \u003e Rating \u003e Hashmap view to display all\nconfigured hashmap rating rules, allowing administrators to view\nthe pricing applied to resources.\n\nSwitches the reporting panel from v1 storage.get_dataframes API to v2\nsummary API for better performance on large date ranges, and defaults\nthe datepicker to 1st-of-month through today.\n\nAssisted-By: Claude Code Opus 4.6 \u003cnoreply@anthropic.com\u003e\nChange-Id: I1422135aaa294f4c9e1addd44a3aa70adedcd205\nSigned-off-by: Juan Larriba \u003cjlarriba@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-dashboard/commit/6d6671a1173580a387a9236aef80f2bda328c541"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-dashboard/commit/6d6671a1173580a387a9236aef80f2bda328c541"}]},"branch":"refs/heads/master"},"91c2c844103caff5f016c7b7ba31cd9ea7114b75":{"kind":"NO_CODE_CHANGE","_number":7,"created":"2026-04-15 10:56:33.000000000","uploader":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"ref":"refs/changes/86/973486/7","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cloudkitty-dashboard","ref":"refs/changes/86/973486/7","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cloudkitty-dashboard refs/changes/86/973486/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cloudkitty-dashboard refs/changes/86/973486/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cloudkitty-dashboard refs/changes/86/973486/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cloudkitty-dashboard refs/changes/86/973486/7"}}},"commit":{"parents":[{"commit":"03fbda290da9dfa3f9cd989113a092927edf471f","subject":"Merge \"Imported Translations from Zanata\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-dashboard/commit/03fbda290da9dfa3f9cd989113a092927edf471f"}]}],"author":{"name":"Juan Larriba","email":"jlarriba@redhat.com","date":"2026-01-13 10:55:21.000000000","tz":60},"committer":{"name":"Juan Larriba","email":"jlarriba@redhat.com","date":"2026-04-15 10:56:28.000000000","tz":120},"subject":"Enhance rating dashboard with summary cards and admin manage panel","message":"Enhance rating dashboard with summary cards and admin manage panel\n\nThis change enhances the project rating dashboard to display:\n- Summary cards for current month, forecasted month-end, and last month costs\n- Cost breakdown table with percentage progress bars\n- Cost breakdown comparison visualization\n- Top cost generators table\n\nAlso enhances the Admin \u003e Rating \u003e Hashmap view to display all\nconfigured hashmap rating rules, allowing administrators to view\nthe pricing applied to resources.\n\nSwitches the reporting panel from v1 storage.get_dataframes API to v2\nsummary API for better performance on large date ranges, and defaults\nthe datepicker to 1st-of-month through today.\n\nAssisted-By: claude-code opus 4.6\nChange-Id: I1422135aaa294f4c9e1addd44a3aa70adedcd205\nSigned-off-by: Juan Larriba \u003cjlarriba@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-dashboard/commit/91c2c844103caff5f016c7b7ba31cd9ea7114b75"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-dashboard/commit/91c2c844103caff5f016c7b7ba31cd9ea7114b75"}]},"branch":"refs/heads/master"},"bf9df5acb1655945ea789c64dfca0bb85da19a32":{"kind":"REWORK","_number":8,"created":"2026-04-27 14:14:02.000000000","uploader":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"ref":"refs/changes/86/973486/8","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cloudkitty-dashboard","ref":"refs/changes/86/973486/8","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cloudkitty-dashboard refs/changes/86/973486/8 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cloudkitty-dashboard refs/changes/86/973486/8 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cloudkitty-dashboard refs/changes/86/973486/8 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cloudkitty-dashboard refs/changes/86/973486/8"}}},"commit":{"parents":[{"commit":"03fbda290da9dfa3f9cd989113a092927edf471f","subject":"Merge \"Imported Translations from Zanata\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-dashboard/commit/03fbda290da9dfa3f9cd989113a092927edf471f"}]}],"author":{"name":"Juan Larriba","email":"jlarriba@redhat.com","date":"2026-01-13 10:55:21.000000000","tz":60},"committer":{"name":"Juan Larriba","email":"jlarriba@redhat.com","date":"2026-04-27 14:13:58.000000000","tz":120},"subject":"Enhance rating dashboard with summary cards and admin manage panel","message":"Enhance rating dashboard with summary cards and admin manage panel\n\nThis change enhances the project rating dashboard to display:\n- Summary cards for current month, forecasted month-end, and last month costs\n- Cost breakdown table with percentage progress bars\n- Cost breakdown comparison visualization\n- Top cost generators table\n\nAlso enhances the Admin \u003e Rating \u003e Hashmap view to display all\nconfigured hashmap rating rules, allowing administrators to view\nthe pricing applied to resources.\n\nSwitches the reporting panel from v1 storage.get_dataframes API to v2\nsummary API for better performance on large date ranges, and defaults\nthe datepicker to 1st-of-month through today.\n\nAssisted-By: claude-code opus 4.6\nChange-Id: I1422135aaa294f4c9e1addd44a3aa70adedcd205\nSigned-off-by: Juan Larriba \u003cjlarriba@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-dashboard/commit/bf9df5acb1655945ea789c64dfca0bb85da19a32"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-dashboard/commit/bf9df5acb1655945ea789c64dfca0bb85da19a32"}]},"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":12015,"name":"François Magimel","email":"magimel.francois@gmail.com","username":"linkid"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"}},{"label":"Review-Priority","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":"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":"Review-Priority","description":"Review priority","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"-label:Review-Priority\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":[],"failing_atoms":["label:Review-Priority\u003dMIN"],"atom_explanations":{"label:Review-Priority\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":""}}}]}
