)]}'
{"id":"openstack%2Foctavia~847723","triplet_id":"openstack%2Foctavia~stable%2Fyoga~I4c218793948b0ed7ce0c143d6c794516fdeb224f","project":"openstack/octavia","branch":"stable/yoga","attention_set":{},"removed_from_attention_set":{"11628":{"account":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"last_update":"2022-07-12 15:35:04.000000000","reason":"Change was abandoned"},"34429":{"account":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"last_update":"2022-11-17 12:45:09.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I4c218793948b0ed7ce0c143d6c794516fdeb224f","subject":"Improve string representation of DB models","status":"MERGED","created":"2022-06-27 08:37:16.000000000","updated":"2022-11-17 12:46:45.000000000","submitted":"2022-11-17 12:45:09.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":3,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"847723","meta_rev_id":"f8b4e40ee14bfd0a3eacff3cbd816c8a25dd08a8","_number":847723,"virtual_id_number":847723,"owner":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:gate","value":2,"date":"2022-11-17 12:45:09.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},{"value":0,"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"}],"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":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2022-11-16 20:38:23.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},{"value":2,"date":"2022-11-17 10:00:23.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"}],"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":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},{"value":1,"date":"2022-11-17 10:00:23.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Backport-Candidate":{"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},{"value":0,"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"}],"values":{"-2":"Do Not Backport","-1":"Not A Backport Candidate"," 0":"Backport Review Needed","+1":"Proposed Backport","+2":"Should Backport"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2022-06-27 11:11:52.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":"2022-06-29 17:06:29.000000000","updated_by":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"reviewer":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"state":"REVIEWER"},{"updated":"2022-06-30 13:04:07.000000000","updated_by":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"reviewer":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"state":"CC"},{"updated":"2022-11-17 10:00:23.000000000","updated_by":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"reviewer":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"state":"REVIEWER"}],"messages":[{"id":"01ccaaa23346b48bd9b32710e422b0578f3aaf20","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"date":"2022-06-27 08:37:16.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"53d7870c0b76d54171b451ed1bcdac3edceefd07","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-06-27 11:11:52.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/def59c2671da4c56b2e54d4c900db75e : SUCCESS in 11m 56s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/71175cb168be42818d949b903ed7c170 : SUCCESS in 10m 04s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/d2985f6197874d789404efd978455f05 : SUCCESS in 6m 30s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/f8bf7d96c7fb4862b1b8a3292edf246e : SUCCESS in 4m 44s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/35a173a58f564ef4a00092dea8cfb9db : SUCCESS in 5m 11s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/64e31f0c3de1468699f71ef51f208e19 : SUCCESS in 12m 05s\n- octavia-tox-py37-tips https://zuul.opendev.org/t/openstack/build/6697738484e04a4b80eb9982e3267f44 : SUCCESS in 5m 13s\n- octavia-tox-functional-py37-tips https://zuul.opendev.org/t/openstack/build/fc7ed650ea3642699479f017ca982e87 : SUCCESS in 11m 14s\n- openstack-tox-pip-check-reqs https://zuul.opendev.org/t/openstack/build/b149b56f479148f198e374ea3cad8e27 : SUCCESS in 5m 17s\n- openstack-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/50ef37b7c24a49ae885593b64d27d93d : SUCCESS in 8m 30s\n- octavia-v2-dsvm-noop-api https://zuul.opendev.org/t/openstack/build/c2eba30e6e2347169f462471d596e1eb : SUCCESS in 2h 28m 05s\n- octavia-v2-dsvm-scenario https://zuul.opendev.org/t/openstack/build/e9dc12549a724c4db5b03c08bc857b56 : SUCCESS in 1h 29m 17s\n- octavia-v2-dsvm-tls-barbican https://zuul.opendev.org/t/openstack/build/5b653a101fca4af3a51a9ee93e7e322d : SUCCESS in 46m 48s\n- octavia-grenade https://zuul.opendev.org/t/openstack/build/226e29e86c6847fab2e2c0698e0a4bb8 : SUCCESS in 59m 29s\n- octavia-v2-dsvm-tls-barbican-fips https://zuul.opendev.org/t/openstack/build/b283e33d673c4e199ed0dfa8d75c2852 : RETRY_LIMIT in 12m 02s (non-voting)\n- octavia-v2-act-stdby-dsvm-scenario https://zuul.opendev.org/t/openstack/build/aa9fd58e9a934ae298c94e854aa0161e : SUCCESS in 42m 46s (non-voting)\n- octavia-v2-dsvm-cinder-amphora https://zuul.opendev.org/t/openstack/build/d5cc04f0087843ed954382642046700d : SUCCESS in 1h 52m 46s (non-voting)\n- octavia-v2-dsvm-scenario-two-node https://zuul.opendev.org/t/openstack/build/5e156bc3793140d1b7e2090562e2a6b8 : SUCCESS in 2h 33m 09s (non-voting)\n- octavia-v2-dsvm-scenario-ipv6-only https://zuul.opendev.org/t/openstack/build/fc2b12c451464f8b885dd74daa200d87 : SUCCESS in 1h 37m 22s (non-voting)\n- octavia-v2-dsvm-scenario-amphora-v2 https://zuul.opendev.org/t/openstack/build/373c8823383b48b7b55f69ed67c1ce67 : SUCCESS in 1h 43m 57s (non-voting)\n- octavia-v2-dsvm-scenario-amphora-v2-no-jobboard https://zuul.opendev.org/t/openstack/build/1afc0ff3b58146af8a52b1bcbf442867 : SUCCESS in 1h 28m 27s (non-voting)\n- octavia-v2-dsvm-scenario-centos-8-stream https://zuul.opendev.org/t/openstack/build/79fe32cb3a494ba5897481cb3ac9e2a7 : FAILURE in 35m 03s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"99c795a9aa432467890cff3e02e46cad3e97876f","author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"date":"2022-06-29 17:06:29.000000000","message":"Patch Set 1: Code-Review-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"2825bf3c7d5c480f560b50af90e6144cf28e9f99","author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"date":"2022-06-30 13:04:07.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"4eed98e60aee7100045c9801535edfdf806b3640","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"date":"2022-07-12 15:26:05.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"8047a634cedd97b70cdeec4c30108cb301b219a7","tag":"autogenerated:gerrit:abandon","author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"date":"2022-07-12 15:35:04.000000000","message":"Abandoned\n\nreplaced by a new backport","accounts_in_message":[],"_revision_number":2},{"id":"c09f5908db9edfb7abcc849774779559872588c7","tag":"autogenerated:gerrit:restore","author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"date":"2022-07-12 15:35:14.000000000","message":"Restored","accounts_in_message":[],"_revision_number":2},{"id":"26b5a76c9f1b9046e9492d9ebe854aca8fb8b6c2","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-07-12 17:54:23.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/fd72c5e73aa64be192f40537d085e9b7\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/b39a88d7e0ff4948b75df6fcb7c8ef83 : SUCCESS in 15m 31s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/8491c0e3a00c4aa7bb1ae5949dc6cdf9 : SUCCESS in 10m 39s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/ed33f3650c2e4f76a1a4d3a37991f5b8 : SUCCESS in 8m 54s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/18190d15957f4252b81f1e7c48e76349 : SUCCESS in 8m 48s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/7baa71e6407d4a128bcba7d1032a5119 : SUCCESS in 7m 05s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/79ab26552ff74495973f72b6366090ae : SUCCESS in 14m 38s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/7073e941cefe44bdb408ed9814cd252a : SUCCESS in 7m 53s\n- octavia-tox-py37-tips https://zuul.opendev.org/t/openstack/build/cfaaaab5acff4c9b8a50d55d24a441cc : SUCCESS in 7m 16s\n- octavia-tox-functional-py37-tips https://zuul.opendev.org/t/openstack/build/3b5ce2de41004d5f83c8dc6837a0e7c1 : SUCCESS in 9m 35s\n- openstack-tox-pip-check-reqs https://zuul.opendev.org/t/openstack/build/21e66b98136f42a79853849cbfec8bd3 : SUCCESS in 5m 59s\n- openstack-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/322096dd8f87427dbc6a74ed0d6e8daa : SUCCESS in 8m 48s\n- octavia-v2-dsvm-noop-api https://zuul.opendev.org/t/openstack/build/1996b354dad44a448fbff048a7ad25f9 : SUCCESS in 2h 15m 43s\n- octavia-v2-dsvm-scenario https://zuul.opendev.org/t/openstack/build/4945974626ad4146a78570df0467926b : SUCCESS in 1h 38m 46s\n- octavia-v2-dsvm-tls-barbican https://zuul.opendev.org/t/openstack/build/ec271e12df14477092f635c589d4428c : SUCCESS in 40m 49s\n- octavia-grenade https://zuul.opendev.org/t/openstack/build/1e8da63617054023868e4bb534f5db9d : SUCCESS in 59m 28s\n- octavia-v2-dsvm-tls-barbican-fips https://zuul.opendev.org/t/openstack/build/9f868e761dcf47a28f592e23319176c9 : RETRY_LIMIT in 15m 33s (non-voting)\n- octavia-v2-act-stdby-dsvm-scenario https://zuul.opendev.org/t/openstack/build/ccc5588a958548adb290342dcf533f7a : SUCCESS in 40m 08s (non-voting)\n- octavia-v2-dsvm-cinder-amphora https://zuul.opendev.org/t/openstack/build/d2ba98b9a2734348b115513a0b5dd580 : SUCCESS in 1h 35m 57s (non-voting)\n- octavia-v2-dsvm-scenario-two-node https://zuul.opendev.org/t/openstack/build/aafa170f8d7a46bdad6771f1e501ae72 : SUCCESS in 1h 57m 13s (non-voting)\n- octavia-v2-dsvm-scenario-ipv6-only https://zuul.opendev.org/t/openstack/build/7dcaaeeffd0149c3a87074e89a4ab0cf : SUCCESS in 1h 47m 43s (non-voting)\n- octavia-v2-dsvm-scenario-amphora-v2 https://zuul.opendev.org/t/openstack/build/44ae98c5a369475faaeb1fbc182dade9 : SUCCESS in 1h 48m 29s (non-voting)\n- octavia-v2-dsvm-scenario-amphora-v2-no-jobboard https://zuul.opendev.org/t/openstack/build/eecdb1899b734376af56991f441ca1f4 : SUCCESS in 1h 40m 45s (non-voting)\n- octavia-v2-dsvm-scenario-centos-8-stream https://zuul.opendev.org/t/openstack/build/d1e66982535743439475113a458198e2 : FAILURE in 54m 58s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"63e4c18cb432fe64ee3f37a7362f28a7e0576b19","author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"date":"2022-11-16 20:38:23.000000000","message":"Patch Set 2: Code-Review+2\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"61025a9a43610b6f2919208c2407072016bfe3da","author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"date":"2022-11-17 10:00:23.000000000","message":"Patch Set 2: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":2},{"id":"86d331270eed7dbb575a9eefc621623c284e6913","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-11-17 10:01:22.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":2},{"id":"a9d57a248da4a9ccd66090752c47a2e1dff460c9","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-11-17 12:45:09.000000000","message":"Patch Set 2: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/49ee47c8a6dd4c03a279ceb1b85a1746\n\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/c6d04236f4c34ec890ddcc7cce42c58b : SUCCESS in 7m 52s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/97b17eecf73a440fb003e6e4750ec4b5 : SUCCESS in 6m 27s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/a0d610db9c0e4a269e96e52e0467d251 : SUCCESS in 6m 12s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/4bcd536b3c3644af89baa1dd84ae32fd : SUCCESS in 4m 56s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/87ed727919e24280b62bc76a075a88fc : SUCCESS in 11m 34s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/a3bf78ab75ac4715a1a5113a422bb070 : SUCCESS in 5m 58s\n- openstack-tox-pip-check-reqs https://zuul.opendev.org/t/openstack/build/64f8bd5e36934927ae48bf5f201b98f6 : SUCCESS in 4m 48s\n- openstack-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/306410400fed4291a90701250d02c48b : SUCCESS in 8m 43s\n- octavia-v2-dsvm-noop-api https://zuul.opendev.org/t/openstack/build/b4dd38897bdd457ba6cf87fa0fe35a1d : SUCCESS in 1h 08m 28s\n- octavia-v2-dsvm-scenario https://zuul.opendev.org/t/openstack/build/2793166d25b74a0c9c454d6634bca1fb : SUCCESS in 1h 30m 43s\n- octavia-v2-dsvm-tls-barbican https://zuul.opendev.org/t/openstack/build/866b57a8464043a7a6757ab9f252eab7 : SUCCESS in 35m 24s\n- octavia-grenade https://zuul.opendev.org/t/openstack/build/1d6b3a5061754be4a9f03ada9f927bbc : SUCCESS in 47m 30s","accounts_in_message":[],"_revision_number":2},{"id":"d4d2b07e55e22006697c649f85c31d3b482a61fc","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-11-17 12:45:09.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":2},{"id":"f8b4e40ee14bfd0a3eacff3cbd816c8a25dd08a8","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-11-17 12:46:45.000000000","message":"Patch Set 2:\n\nBuild failed (promote pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\n\nhttps://zuul.opendev.org/t/openstack/buildset/35c0b32bb0194d2a98867ee0e59c5cda\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/59a849df5dc947029ccf6b49c486f1c5 : SUCCESS in 1m 13s\n- promote-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/4527e80268e54aa299d927dda064e996 : FAILURE in 49s","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"2cb52fe60abd3f073daebc1eafda0394c70d8814","revisions":{"bc95e34819bed67444c752e59c01a90c0c6df89b":{"kind":"REWORK","_number":1,"created":"2022-06-27 08:37:16.000000000","uploader":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"ref":"refs/changes/23/847723/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/octavia","ref":"refs/changes/23/847723/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/octavia refs/changes/23/847723/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/octavia refs/changes/23/847723/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/octavia refs/changes/23/847723/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/octavia refs/changes/23/847723/1"}}},"commit":{"parents":[{"commit":"a237182303d6a5559ea1148310a6d8fb18c6cbd3","subject":"Fix compile_amphora_details when using UDP listeners","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/octavia/commit/a237182303d6a5559ea1148310a6d8fb18c6cbd3"}]}],"author":{"name":"Tom Weininger","email":"tweining@redhat.com","date":"2022-04-06 13:00:54.000000000","tz":120},"committer":{"name":"Tom Weininger","email":"tweining@redhat.com","date":"2022-06-27 08:36:55.000000000","tz":120},"subject":"Improve string representation of DB models","message":"Improve string representation of DB models\n\nThis replaces the default \"\u003cXYClass object at 0xdeadbeeff00\u003e\"\nrepr() for DB objects, which is pretty useless.\nThis change makes it easier to identify DB objects in debuggers\n(and logs, if objects get logged).\n\n__repr__() and __str__() have slightly different purposes.\n\nThe purpose of __repr__() is to return a string that uniquely identifies\na single object. __str__(), on the other hand, should produce a human\nreadable string. Another thing that is worth to note is that str() will\ncall __repr__() if __str__() is not implemented, repr() will always call\n__repr__(). More details can be found under [1].\n\nBy implementing a generic __repr__() in the base class\nthere should be no need to override it in the models classes.\nHowever, one might not be interested in seeing all\nthe object\u0027s attributes in a string representation\n(which is what the generic __repr__() would do) or\ncertain sensitive information should be hidden from users.\nIn those cases it makes sense to implement __str__() for certain\nclasses specifically.\n\n[1]: https://stackoverflow.com/a/2626364/6265131\n\nChange-Id: I4c218793948b0ed7ce0c143d6c794516fdeb224f\n(cherry picked from commit ff6d0c5280fbdbe8f5361469fb88448fa650f365)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/octavia/commit/bc95e34819bed67444c752e59c01a90c0c6df89b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/octavia/commit/bc95e34819bed67444c752e59c01a90c0c6df89b"}]},"branch":"refs/heads/stable/yoga"},"2cb52fe60abd3f073daebc1eafda0394c70d8814":{"kind":"REWORK","_number":2,"created":"2022-07-12 15:26:05.000000000","uploader":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"ref":"refs/changes/23/847723/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/octavia","ref":"refs/changes/23/847723/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/octavia refs/changes/23/847723/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/octavia refs/changes/23/847723/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/octavia refs/changes/23/847723/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/octavia refs/changes/23/847723/2"}}},"commit":{"parents":[{"commit":"a237182303d6a5559ea1148310a6d8fb18c6cbd3","subject":"Fix compile_amphora_details when using UDP listeners","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/octavia/commit/a237182303d6a5559ea1148310a6d8fb18c6cbd3"}]}],"author":{"name":"Tom Weininger","email":"tweining@redhat.com","date":"2022-04-06 13:00:54.000000000","tz":120},"committer":{"name":"Tom Weininger","email":"tweining@redhat.com","date":"2022-07-12 15:17:11.000000000","tz":120},"subject":"Improve string representation of DB models","message":"Improve string representation of DB models\n\nThis replaces the default \"\u003cXYClass object at 0xdeadbeeff00\u003e\"\nrepr() for DB objects, which is pretty useless.\nThis change makes it easier to identify DB objects in debuggers\n(and logs, if objects get logged).\n\n__repr__() and __str__() have slightly different purposes.\n\nThe purpose of __repr__() is to return a string that uniquely identifies\na single object. __str__(), on the other hand, should produce a human\nreadable string. Another thing that is worth to note is that str() will\ncall __repr__() if __str__() is not implemented, repr() will always call\n__repr__(). More details can be found under [1].\n\nBy implementing a generic __repr__() in the base class\nthere should be no need to override it in the models classes.\nHowever, one might not be interested in seeing all\nthe object\u0027s attributes in a string representation\n(which is what the generic __repr__() would do) or\ncertain sensitive information should be hidden from users.\nIn those cases it makes sense to implement __str__() for certain\nclasses specifically.\n\nRelease notes were taken from a follow-up change [2].\n\n[1]: https://stackoverflow.com/a/2626364/6265131\n[2]: I9b9eb3158b099cf04d788692fc9e5efcdfebf93e\n\nChange-Id: I4c218793948b0ed7ce0c143d6c794516fdeb224f\n(cherry picked from commit ff6d0c5280fbdbe8f5361469fb88448fa650f365)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/octavia/commit/2cb52fe60abd3f073daebc1eafda0394c70d8814"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/octavia/commit/2cb52fe60abd3f073daebc1eafda0394c70d8814"}]},"branch":"refs/heads/stable/yoga"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"CLOSED","labels":[{"label":"Verified","status":"OK","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"OK","applied_by":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"}},{"label":"Workflow","status":"OK","applied_by":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"}},{"label":"Backport-Candidate","status":"MAY"}]}],"submit_requirements":[]}
