)]}'
{"id":"openstack%2Fwatcher-dashboard~978161","triplet_id":"openstack%2Fwatcher-dashboard~master~Ib858bf288f02996664372e4ab0044d276dca9a23","project":"openstack/watcher-dashboard","branch":"master","attention_set":{},"removed_from_attention_set":{"34452":{"account":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"last_update":"2026-03-03 00:16:27.000000000","reason":"Change was submitted"},"11604":{"account":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"last_update":"2026-03-02 09:37:14.000000000","reason":"\u003cGERRIT_ACCOUNT_11604\u003e replied on the change","reason_account":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"}},"28006":{"account":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"last_update":"2026-03-02 06:18:32.000000000","reason":"removed on reply"},"26471":{"account":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"last_update":"2026-03-02 08:23:11.000000000","reason":"removed on reply"},"12393":{"account":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"last_update":"2026-03-03 00:16:27.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"Ib858bf288f02996664372e4ab0044d276dca9a23","subject":"Centralize strategy display_name access into a shared helper","status":"MERGED","created":"2026-02-27 06:42:35.000000000","updated":"2026-03-03 00:17:17.000000000","submitted":"2026-03-03 00:16:27.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":15,"unresolved_comment_count":4,"has_review_started":true,"submission_id":"978161","meta_rev_id":"689815c3883820d97343937e19c9cf8f3230beb3","_number":978161,"virtual_id_number":978161,"owner":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},{"value":0,"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},{"value":0,"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":0,"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},{"value":0,"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-03-03 00:16:27.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"all":[{"value":2,"date":"2026-03-03 00:00:59.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},{"value":0,"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},{"value":2,"date":"2026-03-02 09:37:14.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":-1,"date":"2026-03-02 08:23:11.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},{"value":1,"date":"2026-03-02 16:47:47.000000000","permitted_voting_range":{"min":1,"max":2},"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"all":[{"value":1,"date":"2026-03-03 00:00:59.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},{"value":0,"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},{"value":0,"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":0,"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},{"value":0,"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},{"value":0,"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},{"value":0,"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":0,"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},{"value":0,"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{" 0":"Standard Change","+1":"Important Change","+2":"High Priority Change"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"}],"CC":[{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-02-27 06:42:43.000000000","updated_by":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"reviewer":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"state":"CC"},{"updated":"2026-02-27 07:06:19.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-02-27 10:28:20.000000000","updated_by":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"reviewer":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"state":"REVIEWER"},{"updated":"2026-02-27 11:16:02.000000000","updated_by":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"reviewer":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"state":"REVIEWER"},{"updated":"2026-02-27 13:59:01.000000000","updated_by":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"reviewer":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"state":"REVIEWER"},{"updated":"2026-03-02 16:47:47.000000000","updated_by":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"reviewer":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"state":"REVIEWER"},{"updated":"2026-03-03 00:00:59.000000000","updated_by":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"reviewer":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"state":"REVIEWER"}],"messages":[{"id":"ccec37ea4c668cde847bf2d6fee2384fc489251c","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2026-02-27 06:42:35.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"7ee628f81f230e11fd3e1dbbbbb5786d58730c15","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-02-27 06:42:43.000000000","message":"Patch Set 1:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":1},{"id":"82f64e502bc096f363d3878723eb29abf097943f","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2026-02-27 06:54:21.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"e57838e29e66e027a580694bbdd8e7a9fe31bd7e","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-02-27 06:54:29.000000000","message":"Patch Set 2:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":2},{"id":"ed4f22f20f49d2c10362f5850df68339a38f8bec","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-02-27 07:03:56.000000000","message":"Patch Set 2:\n\n(4 comments)\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/7b688c6e8e7f4fc48a4c4fa2c23f9a77\n\n- teim-code-review https://zuul.teim.app/t/main/build/b1233813623a4ed48a3ae5432edb9563 : SUCCESS in 9m 20s\n\nWarning:\n  Comments left for invalid file watcher_dashboard/templates/infra_optim/strategies/details.html","accounts_in_message":[],"_revision_number":2},{"id":"b62c3ab24b4bd138392c5e5d9654f18094474f90","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-02-27 07:06:19.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/6bded83e2a2442988d95be20432d7bb0\n\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/4fb2983af32147328870961036c53e89 : SUCCESS in 3m 49s\n- horizon-tox-python3-django42 https://zuul.opendev.org/t/openstack/build/d5f4d3c5310a479ab1b453f6100eb358 : SUCCESS in 5m 32s\n- horizon-tox-python3-django52 https://zuul.opendev.org/t/openstack/build/a343a4fb96f74d8d9ff2d579b3ffa34a : SUCCESS in 4m 12s (non-voting)\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/b3bd5dc7d3ad464898754610b3999456 : SUCCESS in 3m 39s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/17a05e3446f04188893dd36d0ac462e6 : SUCCESS in 3m 57s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/6846a825145a4f4a8a14ddb0f2d172a6 : FAILURE in 3m 28s (non-voting)\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/ddb6390e06c44d0fa37f932773b02ab3 : SUCCESS in 2m 08s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/e7f5f12e6b274b3381ff569540c20a11 : SUCCESS in 4m 20s","accounts_in_message":[],"_revision_number":2},{"id":"5a8fb736babbf19f749768ff5b16ca806a6c53be","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2026-02-27 08:18:41.000000000","message":"Uploaded patch set 3.\n\nOutdated Votes:\n* Verified+1\n","accounts_in_message":[],"_revision_number":3},{"id":"c8b7969d2892c193f5137b5b4a4ada8b764c8407","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-02-27 08:18:49.000000000","message":"Patch Set 3:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":3},{"id":"aa20621f36cd58791409dc98b1e2a86703989b9b","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-02-27 08:32:42.000000000","message":"Patch Set 3:\n\n(3 comments)\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/e43e381c95a34b31908c8fcf309232a1\n\n- teim-code-review https://zuul.teim.app/t/main/build/118f8c1662214622a8062886ee3b7225 : SUCCESS in 13m 42s","accounts_in_message":[],"_revision_number":3},{"id":"e5b94943a334c60c90c2f138ce1686fd3fb703ed","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-02-27 08:39:24.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/006654445b584cc9bacfcece5c85f267\n\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/085d67877d544a5a84950c75153a8c10 : SUCCESS in 2m 35s\n- horizon-tox-python3-django42 https://zuul.opendev.org/t/openstack/build/1143ea7bdef54f698a6826cb78a92c64 : SUCCESS in 4m 15s\n- horizon-tox-python3-django52 https://zuul.opendev.org/t/openstack/build/ffe41ecbed8544e0884355d00a34f720 : SUCCESS in 4m 22s (non-voting)\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/d2b8e3071b8540e29fc2cf0276661100 : SUCCESS in 3m 28s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/d90d5a00f1bb49d9b669db1afdd3d51b : SUCCESS in 5m 32s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/40c94b98de7342f982ead3838f0af7bc : FAILURE in 6m 35s (non-voting)\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/ced6324d93a64770be8b6f3c4a7b0cb7 : SUCCESS in 5m 02s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/a124141892294a339d020e5dc3ef3cf2 : SUCCESS in 8m 25s","accounts_in_message":[],"_revision_number":3},{"id":"98ccf7b828a74db0654d856a37e4335f136cba16","author":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"date":"2026-02-27 10:28:20.000000000","message":"Patch Set 3: Code-Review-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\nhttps://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/e26f51b5cf094420ab0ae65fabc1f165\n\n- openstack-meta-content-provider-master https://softwarefactory-project.io/zuul/t/rdoproject.org/build/bea1aaea38d340ed810059173342db76 : SUCCESS in 2h 07m 50s\n- watcher-operator-validation-master https://softwarefactory-project.io/zuul/t/rdoproject.org/build/a274d2a2e55f4c2b9450148df12aff46 : FAILURE in 1h 09m 30s","accounts_in_message":[],"_revision_number":3},{"id":"2c05fe23c2481908796788c8298d3061a52ec090","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2026-02-27 11:12:56.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"002969beeb44556ec8ea29be3fe4cf048684b6b4","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-02-27 11:16:02.000000000","message":"Patch Set 3: Code-Review+2\n\n(4 comments)","accounts_in_message":[],"_revision_number":3},{"id":"44d27c89cb8aa7001655dc2e8e3cf20f470992d2","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2026-02-27 13:00:50.000000000","message":"Uploaded patch set 4.\n\nOutdated Votes:\n* Code-Review+2, Code-Review-1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1\n","accounts_in_message":[],"_revision_number":4},{"id":"82e71442dbedd6dde369c9aeb116f2dae5202b85","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-02-27 13:00:58.000000000","message":"Patch Set 4:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":4},{"id":"e63ab76bc333223e8eb9ad749fea3866cbe7cfc5","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2026-02-27 13:03:26.000000000","message":"Patch Set 4:\n\n(3 comments)","accounts_in_message":[],"_revision_number":4},{"id":"960f669e23e3c1ce4b30bbbb9eea2e4d6218dcdf","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-02-27 13:10:05.000000000","message":"Patch Set 4:\n\n(5 comments)\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/9c1950ba727d485882ca6c314cf65243\n\n- teim-code-review https://zuul.teim.app/t/main/build/a6c86dbc594f4436aa060712bbebd2bd : SUCCESS in 8m 56s","accounts_in_message":[],"_revision_number":4},{"id":"b5c43939ede41f1dfa314422515c981a3b1fb6b1","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-02-27 13:15:28.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/b699d0a3220349619018cefa51e28c46\n\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/b473ede0f99b42f1bccc72a959a0266f : SUCCESS in 3m 35s\n- horizon-tox-python3-django42 https://zuul.opendev.org/t/openstack/build/e532408d715a44c5b4692cfc8ae3e941 : SUCCESS in 5m 35s\n- horizon-tox-python3-django52 https://zuul.opendev.org/t/openstack/build/e6bcbe01601945c786290cbec86ca4b8 : SUCCESS in 3m 07s (non-voting)\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/f32f8dfc37bf44f8af930a9f04c3f9d0 : SUCCESS in 3m 11s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/a6eba6cc0e904c4d920df05ab80d064f : SUCCESS in 4m 16s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/c7f76dfe0b784e98a2e531fed3fd6450 : FAILURE in 9m 07s (non-voting)\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/2c1cf5ed7e1e492ab172861e6586ca8f : SUCCESS in 2m 13s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/f2ed686213ae4cb1996aa1decddbc89f : SUCCESS in 4m 41s","accounts_in_message":[],"_revision_number":4},{"id":"22b0a8ddad377c9b7e3516a24263029de0f7d1b8","author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"date":"2026-02-27 13:59:01.000000000","message":"Patch Set 4: Code-Review+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"0d649e8a085e96eb897b904a64e77fceaf2b881d","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-02-27 16:58:31.000000000","message":"Patch Set 4: Code-Review-1\n\n(3 comments)","accounts_in_message":[],"_revision_number":4},{"id":"ddcc9d101a6239a0c9cb5b04336e4f410d5a1021","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-02-27 17:00:08.000000000","message":"Patch Set 4:\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"ee6bcaf76d63a4091aa17dc62eb87b137c3171d1","author":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"date":"2026-02-27 17:15:49.000000000","message":"Patch Set 4: Code-Review-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\nhttps://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/83bfb8a8a15647dfadad529680263eda\n\n- openstack-meta-content-provider-master https://softwarefactory-project.io/zuul/t/rdoproject.org/build/3032651415414ef194ee5c1a5cd6fa06 : SUCCESS in 4h 13m 22s\n- watcher-operator-validation-master https://softwarefactory-project.io/zuul/t/rdoproject.org/build/cdf50470480a461692ee8c4a6ce2e9d8 : FAILURE in 1h 13m 52s","accounts_in_message":[],"_revision_number":4},{"id":"ec573446091f0fdd390b8b4182f34ec5601d7089","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2026-03-02 05:51:38.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\n","accounts_in_message":[],"_revision_number":5},{"id":"9217d0d99b20b7d53083b29c7c4b9fd2c535c3f6","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-03-02 05:51:48.000000000","message":"Patch Set 5:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":5},{"id":"e473e431508701589b4eb80bb22f0c56dd933b6c","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2026-03-02 05:53:38.000000000","message":"Patch Set 5:\n\n(2 comments)","accounts_in_message":[],"_revision_number":5},{"id":"c829682764949a3395c2a145368cedcb948f22d8","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-02 06:06:40.000000000","message":"Patch Set 5: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/071c8cda7f374688be3a83c1a793b762\n\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/b25da71f58254b0d994105f54a21f365 : SUCCESS in 3m 22s\n- horizon-tox-python3-django42 https://zuul.opendev.org/t/openstack/build/e31934e7e55048e8bd68af2a4129a026 : SUCCESS in 2m 39s\n- horizon-tox-python3-django52 https://zuul.opendev.org/t/openstack/build/efd62a51804e441db4a4abb837c0583d : SUCCESS in 2m 17s (non-voting)\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/9c2089410e6c4ac8a4f4cfaf2a6703d5 : SUCCESS in 5m 04s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/7fde85c2a6ea49fa834de43c322797f6 : SUCCESS in 2m 33s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/7382dca0a03d48b7a14fdaf5d10cb30c : FAILURE in 9m 10s (non-voting)\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/ec96bc7b8896469687dd42db4cc0c8de : SUCCESS in 3m 57s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/2e3b2184e7fe4d3fa6beb7b88b593714 : SUCCESS in 3m 49s","accounts_in_message":[],"_revision_number":5},{"id":"4a045ec4efcac09c64f7297eecf31a3be39a4633","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-03-02 06:18:32.000000000","message":"Patch Set 5:\n\n(1 comment)\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/8b299e7aade14fdf9b2c375acc764d32\n\n- teim-code-review https://zuul.teim.app/t/main/build/5b14f9eca5ac407a8cf998a868a6df32 : SUCCESS in 26m 35s\n\nWarning:\n  Job teim-code-review: unable to map line for file comments: \n  stderr: \u0027fatal: There is no path commit message in the commit\u0027\n  Comments left for invalid file commit message","accounts_in_message":[],"_revision_number":5},{"id":"d5ea2cf5dfaf14315360fedd57a71b3f723c9c86","author":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"date":"2026-03-02 08:23:11.000000000","message":"Patch Set 5: Code-Review-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\nhttps://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/39ada2b26bc24e479523939648afe506\n\n- openstack-meta-content-provider-master https://softwarefactory-project.io/zuul/t/rdoproject.org/build/c611bbc404ec46068c010bec1783b5c5 : SUCCESS in 2h 30m 25s\n- watcher-operator-validation-master https://softwarefactory-project.io/zuul/t/rdoproject.org/build/d51421f4703a4dce9cc8b3710ac3affa : FAILURE in 1h 50m 31s","accounts_in_message":[],"_revision_number":5},{"id":"5923ec00b9e30ae33f2e91ad7e66c63dfbbafaab","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-03-02 09:37:14.000000000","message":"Patch Set 5: Code-Review+2","accounts_in_message":[],"_revision_number":5},{"id":"f4411fe5d81b3cd76438d7c6af211161286f9bb2","author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"date":"2026-03-02 16:47:47.000000000","message":"Patch Set 5: Code-Review+1","accounts_in_message":[],"_revision_number":5},{"id":"554033fb050fe2ab59bf7d6867efd773ea7ef9aa","author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"date":"2026-03-03 00:00:59.000000000","message":"Patch Set 5: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":5},{"id":"40c7e21b7ac7ea1f57b337591395ccd210b397aa","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-03 00:01:10.000000000","message":"Patch Set 5: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":5},{"id":"47f5e8cf620334e374f507e0f0f4778d64b426d5","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-03 00:16:27.000000000","message":"Patch Set 5: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/df2483a2dea347c58d0cdb1826369861\n\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/c7e5945052db4b9ab36ab217f60d008b : SUCCESS in 6m 51s\n- horizon-tox-python3-django42 https://zuul.opendev.org/t/openstack/build/76457f289ebd46c3b30da5a7df4691f9 : SUCCESS in 6m 13s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/23a800a81e434bed9274d527ae6836ac : SUCCESS in 2m 55s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/80ead590bf704c849879d2b6319c26a2 : SUCCESS in 3m 41s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/f3ee292e9bc04f4eb3f1bc867630f043 : SUCCESS in 6m 57s","accounts_in_message":[],"_revision_number":5},{"id":"641cd738913a62be9899f247c854b5fefa5e3cb0","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-03 00:16:27.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":5},{"id":"689815c3883820d97343937e19c9cf8f3230beb3","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-03 00:17:17.000000000","message":"Patch Set 5:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/7a577705784a4e158e5007233803dd1f\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/2b6afdbfb60f4b6c958b98d9c9de1828 : SUCCESS in 41s","accounts_in_message":[],"_revision_number":5}],"current_revision_number":5,"current_revision":"2c8d13ccd3e09083098d487b81b173e18b3522e7","revisions":{"2856bb88c2fce1c26cdd143f02b9ea531738f757":{"kind":"REWORK","_number":1,"created":"2026-02-27 06:42:35.000000000","uploader":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"ref":"refs/changes/61/978161/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher-dashboard","ref":"refs/changes/61/978161/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher-dashboard refs/changes/61/978161/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher-dashboard refs/changes/61/978161/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher-dashboard refs/changes/61/978161/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher-dashboard refs/changes/61/978161/1"}}},"commit":{"parents":[{"commit":"15929c0a6f44d91758b5849724ab9218c7c8b046","subject":"Rename \u0027wv\u0027 to \u0027common_client\u0027 in client helper module","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-dashboard/commit/15929c0a6f44d91758b5849724ab9218c7c8b046"}]}],"author":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2026-02-27 06:36:44.000000000","tz":0},"committer":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2026-02-27 06:37:28.000000000","tz":0},"subject":"Centralize strategy display_name access into a shared helper","message":"Centralize strategy display_name access into a shared helper\n\nAdd get_strategy_display_name() to consolidate the repeated\ndisplay_name-with-fallback-to-name pattern used across audit\ntemplate forms, audit template views, and audit views.\n\nThe helper uses direct attribute access rather than to_dict().\nThe watcherclient Strategy resource (watcherclient/v1/strategy.py)\ninherits Resource.to_dict() from watcherclient/common/base.py,\nwhich performs a deepcopy of the entire _info response dictionary.\nDirect attribute access avoids that overhead since _add_details()\nalready sets display_name as an instance attribute from the API\nresponse. Direct access also surfaces AttributeError immediately\nif the field is ever missing, unlike getattr() which silently\nmasks the bug.\n\nAlso remove a redundant hasattr(self, \u0027data\u0027) guard in\nCreateForm.__init__ and get_strategy_list from forms.py\n\nChange-Id: Ib858bf288f02996664372e4ab0044d276dca9a23\nSigned-off-by: Chandan Kumar (raukadah) \u003cchkumar@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-dashboard/commit/2856bb88c2fce1c26cdd143f02b9ea531738f757"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-dashboard/commit/2856bb88c2fce1c26cdd143f02b9ea531738f757"}]},"branch":"refs/heads/master"},"cbcdde4d0dee39faa9096d26d844a411140a951e":{"kind":"REWORK","_number":2,"created":"2026-02-27 06:54:21.000000000","uploader":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"ref":"refs/changes/61/978161/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher-dashboard","ref":"refs/changes/61/978161/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher-dashboard refs/changes/61/978161/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher-dashboard refs/changes/61/978161/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher-dashboard refs/changes/61/978161/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher-dashboard refs/changes/61/978161/2"}}},"commit":{"parents":[{"commit":"15929c0a6f44d91758b5849724ab9218c7c8b046","subject":"Rename \u0027wv\u0027 to \u0027common_client\u0027 in client helper module","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-dashboard/commit/15929c0a6f44d91758b5849724ab9218c7c8b046"}]}],"author":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2026-02-27 06:36:44.000000000","tz":0},"committer":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2026-02-27 06:54:14.000000000","tz":0},"subject":"Centralize strategy display_name access into a shared helper","message":"Centralize strategy display_name access into a shared helper\n\nAdd get_strategy_display_name() to consolidate the repeated\ndisplay_name-with-fallback-to-name pattern used across audit\ntemplate forms, audit template views, and audit views.\n\nThe helper uses direct attribute access rather than to_dict().\nThe watcherclient Strategy resource (watcherclient/v1/strategy.py)\ninherits Resource.to_dict() from watcherclient/common/base.py,\nwhich performs a deepcopy of the entire _info response dictionary.\nDirect attribute access avoids that overhead since _add_details()\nalready sets display_name as an instance attribute from the API\nresponse. Direct access also surfaces AttributeError immediately\nif the field is ever missing, unlike getattr() which silently\nmasks the bug.\n\nAlso remove a redundant hasattr(self, \u0027data\u0027) guard in\nCreateForm.__init__ and get_strategy_list from forms.py\n\nChange-Id: Ib858bf288f02996664372e4ab0044d276dca9a23\nSigned-off-by: Chandan Kumar (raukadah) \u003cchkumar@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-dashboard/commit/cbcdde4d0dee39faa9096d26d844a411140a951e"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-dashboard/commit/cbcdde4d0dee39faa9096d26d844a411140a951e"}]},"branch":"refs/heads/master"},"0aaae03acc8126881dd87eb33ee3ef072f95a3bc":{"kind":"REWORK","_number":3,"created":"2026-02-27 08:18:41.000000000","uploader":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"ref":"refs/changes/61/978161/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher-dashboard","ref":"refs/changes/61/978161/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher-dashboard refs/changes/61/978161/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher-dashboard refs/changes/61/978161/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher-dashboard refs/changes/61/978161/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher-dashboard refs/changes/61/978161/3"}}},"commit":{"parents":[{"commit":"15929c0a6f44d91758b5849724ab9218c7c8b046","subject":"Rename \u0027wv\u0027 to \u0027common_client\u0027 in client helper module","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-dashboard/commit/15929c0a6f44d91758b5849724ab9218c7c8b046"}]}],"author":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2026-02-27 06:36:44.000000000","tz":0},"committer":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2026-02-27 08:17:06.000000000","tz":0},"subject":"Centralize strategy display_name access into a shared helper","message":"Centralize strategy display_name access into a shared helper\n\nAdd get_strategy_display_name() to consolidate the repeated\ndisplay_name-with-fallback-to-name pattern used across audit\ntemplate forms, audit template views, and audit views.\n\nThe helper uses direct attribute access rather than to_dict().\nThe watcherclient Strategy resource (watcherclient/v1/strategy.py)\ninherits Resource.to_dict() from watcherclient/common/base.py,\nwhich performs a deepcopy of the entire _info response dictionary.\nDirect attribute access avoids that overhead since _add_details()\nalready sets display_name as an instance attribute from the API\nresponse. Direct access also surfaces AttributeError immediately\nif the field is ever missing, unlike getattr() which silently\nmasks the bug.\n\nAlso remove a redundent _get_strategy_list method from forms.py.\n\nAssisted-By: Cursor (claude-4.6-opus-high)\n\nChange-Id: Ib858bf288f02996664372e4ab0044d276dca9a23\nSigned-off-by: Chandan Kumar (raukadah) \u003cchkumar@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-dashboard/commit/0aaae03acc8126881dd87eb33ee3ef072f95a3bc"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-dashboard/commit/0aaae03acc8126881dd87eb33ee3ef072f95a3bc"}]},"branch":"refs/heads/master"},"d6d1add8f5a47411700e695452059fbcfb557359":{"kind":"REWORK","_number":4,"created":"2026-02-27 13:00:50.000000000","uploader":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"ref":"refs/changes/61/978161/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher-dashboard","ref":"refs/changes/61/978161/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher-dashboard refs/changes/61/978161/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher-dashboard refs/changes/61/978161/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher-dashboard refs/changes/61/978161/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher-dashboard refs/changes/61/978161/4"}}},"commit":{"parents":[{"commit":"15929c0a6f44d91758b5849724ab9218c7c8b046","subject":"Rename \u0027wv\u0027 to \u0027common_client\u0027 in client helper module","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-dashboard/commit/15929c0a6f44d91758b5849724ab9218c7c8b046"}]}],"author":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2026-02-27 06:36:44.000000000","tz":0},"committer":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2026-02-27 12:58:57.000000000","tz":0},"subject":"Centralize strategy display_name access into a shared helper","message":"Centralize strategy display_name access into a shared helper\n\nAdd strategy.display_name() instance method to consolidate\nthe repeated display_name-with-fallback-to-name pattern used\nacross audit template forms, audit template views, and audit views.\n\nThe helper uses direct attribute access rather than to_dict().\nThe watcherclient Strategy resource (watcherclient/v1/strategy.py)\ninherits Resource.to_dict() from watcherclient/common/base.py,\nwhich performs a deepcopy of the entire _info response dictionary.\nDirect attribute access avoids that overhead since _add_details()\nalready sets display_name as an instance attribute from the API\nresponse. Direct access also surfaces AttributeError immediately\nif the field is ever missing, unlike getattr() which silently\nmasks the bug.\n\nAlso remove a redundent _get_strategy_list method from forms.py.\n\nAssisted-By: Cursor (claude-4.6-opus-high)\n\nChange-Id: Ib858bf288f02996664372e4ab0044d276dca9a23\nSigned-off-by: Chandan Kumar (raukadah) \u003cchkumar@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-dashboard/commit/d6d1add8f5a47411700e695452059fbcfb557359"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-dashboard/commit/d6d1add8f5a47411700e695452059fbcfb557359"}]},"branch":"refs/heads/master"},"2c8d13ccd3e09083098d487b81b173e18b3522e7":{"kind":"REWORK","_number":5,"created":"2026-03-02 05:51:38.000000000","uploader":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"ref":"refs/changes/61/978161/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher-dashboard","ref":"refs/changes/61/978161/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher-dashboard refs/changes/61/978161/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher-dashboard refs/changes/61/978161/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher-dashboard refs/changes/61/978161/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher-dashboard refs/changes/61/978161/5"}}},"commit":{"parents":[{"commit":"15929c0a6f44d91758b5849724ab9218c7c8b046","subject":"Rename \u0027wv\u0027 to \u0027common_client\u0027 in client helper module","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-dashboard/commit/15929c0a6f44d91758b5849724ab9218c7c8b046"}]}],"author":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2026-02-27 06:36:44.000000000","tz":0},"committer":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2026-03-02 05:51:30.000000000","tz":0},"subject":"Centralize strategy display_name access into a shared helper","message":"Centralize strategy display_name access into a shared helper\n\nAdd get_strategy_display_name() to consolidate the repeated\ndisplay_name-with-fallback-to-name pattern used across audit\ntemplate forms, audit template views, and audit views.\n\nThe helper uses direct attribute access rather than to_dict().\nThe watcherclient Strategy resource (watcherclient/v1/strategy.py)\ninherits Resource.to_dict() from watcherclient/common/base.py,\nwhich performs a deepcopy of the entire _info response dictionary.\nDirect attribute access avoids that overhead since _add_details()\nalready sets display_name as an instance attribute from the API\nresponse. Direct access also surfaces AttributeError immediately\nif the field is ever missing, unlike getattr() which silently\nmasks the bug.\n\nAlso remove a redundent _get_strategy_list method from forms.py.\n\nAssisted-By: Cursor (claude-4.6-opus-high)\n\nChange-Id: Ib858bf288f02996664372e4ab0044d276dca9a23\nSigned-off-by: Chandan Kumar (raukadah) \u003cchkumar@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-dashboard/commit/2c8d13ccd3e09083098d487b81b173e18b3522e7"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-dashboard/commit/2c8d13ccd3e09083098d487b81b173e18b3522e7"}]},"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":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"}}]}],"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":{}}},{"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":{}}},{"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":{}}}]}
