)]}'
{"id":"openstack%2Foslo.utils~982254","triplet_id":"openstack%2Foslo.utils~master~I6c956eba9e6a18bd2e5e1e7c1ed9f95e1ec653b9","project":"openstack/oslo.utils","branch":"master","attention_set":{},"removed_from_attention_set":{"15334":{"account":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"last_update":"2026-05-08 16:31:06.000000000","reason":"\u003cGERRIT_ACCOUNT_15334\u003e replied on the change","reason_account":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"}},"28522":{"account":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"last_update":"2026-05-08 17:33:09.000000000","reason":"Change was submitted"},"8556":{"account":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"last_update":"2026-05-08 17:33:09.000000000","reason":"Change was submitted"},"31245":{"account":{"_account_id":31245,"name":"Daniel Bengtsson","email":"dbengt@redhat.com","username":"damani42"},"last_update":"2026-04-15 11:22:58.000000000","reason":"\u003cGERRIT_ACCOUNT_31245\u003e replied on the change","reason_account":{"_account_id":31245,"name":"Daniel Bengtsson","email":"dbengt@redhat.com","username":"damani42"}}},"hashtags":[],"change_id":"I6c956eba9e6a18bd2e5e1e7c1ed9f95e1ec653b9","subject":"Deprecate legacy time override functions","status":"MERGED","created":"2026-03-26 15:14:15.000000000","updated":"2026-05-08 17:34:06.000000000","submitted":"2026-05-08 17:33:09.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":37,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"982254","meta_rev_id":"847b71229058c171048b5cd7896b8b3a4c1cf923","_number":982254,"virtual_id_number":982254,"owner":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-05-08 17:33:09.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},{"value":0,"_account_id":31245,"name":"Daniel Bengtsson","email":"dbengt@redhat.com","username":"damani42"}],"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":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"all":[{"value":2,"date":"2026-05-08 16:31:06.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},{"value":2,"date":"2026-04-15 11:22:58.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":31245,"name":"Daniel Bengtsson","email":"dbengt@redhat.com","username":"damani42"}],"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":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"all":[{"value":1,"date":"2026-05-08 16:31:06.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},{"value":0,"_account_id":31245,"name":"Daniel Bengtsson","email":"dbengt@redhat.com","username":"damani42"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Backport-Candidate":{"all":[{"value":0,"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},{"value":0,"_account_id":31245,"name":"Daniel Bengtsson","email":"dbengt@redhat.com","username":"damani42"}],"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":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":31245,"name":"Daniel Bengtsson","email":"dbengt@redhat.com","username":"damani42"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-03-26 15:23:01.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-03-27 15:34:43.000000000","updated_by":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"reviewer":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"state":"REVIEWER"},{"updated":"2026-03-30 12:08:53.000000000","updated_by":{"_account_id":31245,"name":"Daniel Bengtsson","email":"dbengt@redhat.com","username":"damani42"},"reviewer":{"_account_id":31245,"name":"Daniel Bengtsson","email":"dbengt@redhat.com","username":"damani42"},"state":"CC"},{"updated":"2026-03-31 12:30:32.000000000","updated_by":{"_account_id":31245,"name":"Daniel Bengtsson","email":"dbengt@redhat.com","username":"damani42"},"reviewer":{"_account_id":31245,"name":"Daniel Bengtsson","email":"dbengt@redhat.com","username":"damani42"},"state":"REVIEWER"},{"updated":"2026-04-01 19:53:46.000000000","updated_by":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"reviewer":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"state":"REVIEWER"}],"messages":[{"id":"d9ac552caf2591c4b1ac29008ffeae66a4b79f57","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"date":"2026-03-26 15:14:15.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"a85ff0db8b365d777887038f72254a2664684aee","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-26 15:23:01.000000000","message":"Patch Set 1: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/e7e4903e6e5d4d4eba3d0d054126b73d\n\n- requirements-check https://zuul.opendev.org/t/openstack/build/b4b914d3deeb42c986958abab88759e9 : SUCCESS in 2m 08s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/81bb855e06ea46b38c727d9a51603bbc : FAILURE in 6m 28s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/08dfca158f344673a6e81b66b83e8d4f : FAILURE in 3m 19s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/dff74b9005d947139866f66cbee6cd0c : FAILURE in 2m 15s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/52c9d720e4e34123b6a1233a6d2e0c75 : FAILURE in 2m 32s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/96a90b61d7b04d6f8df6a68b9f6043a8 : FAILURE in 2m 46s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/e709ff3d391a4b48a8dada76414e8519 : FAILURE in 4m 21s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/e8fc1867713b4849a0d37426d4bbb72b : SUCCESS in 3m 18s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/5198580ca8254eefb5ede21b27701314 : SUCCESS in 3m 19s","accounts_in_message":[],"_revision_number":1},{"id":"ba3a233e830f333ac5f31b953bb34f77dc9bda19","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"date":"2026-03-26 15:50:36.000000000","message":"Uploaded patch set 2: Commit message was updated.\n\nOutdated Votes:\n* Verified-1\n","accounts_in_message":[],"_revision_number":2},{"id":"60824594a05b39362f8e53035603ff2e3af20831","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-26 16:09:38.000000000","message":"Patch Set 2: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/dafff05773e74eddbd13c75aed6ddbcd\n\n- requirements-check https://zuul.opendev.org/t/openstack/build/594507a0fe9b4884bdd07cf3de1a69ac : SUCCESS in 2m 01s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/0653d86a4e634d0e8278a38b27c1742e : FAILURE in 17m 07s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/6c30ee79504d490e9a9ed91243594f9e : FAILURE in 2m 53s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/c6878f5772084d69992883c4ebf4fb7b : FAILURE in 2m 17s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/d9da31f0926a4d91a868a81276dc0948 : FAILURE in 3m 35s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/89c15c08a9ea45b780a3d330565219b0 : FAILURE in 2m 32s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/a151a50fc15040a49450f24311dec349 : FAILURE in 3m 04s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/90ed5afaedab4064bb15c9ef064084f7 : SUCCESS in 4m 10s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/fea62aea754f41249dd490b348d87968 : SUCCESS in 4m 24s","accounts_in_message":[],"_revision_number":2},{"id":"698c433231c3bb9273d85ec282a877ca025fb1a9","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"date":"2026-03-27 14:46:59.000000000","message":"Uploaded patch set 3.\n\nOutdated Votes:\n* Verified-1\n","accounts_in_message":[],"_revision_number":3},{"id":"0166b27721f3f2578af43d1ece42582c34ccf134","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-03-27 15:34:43.000000000","message":"Patch Set 3: Code-Review-1\n\n(9 comments)","accounts_in_message":[],"_revision_number":3},{"id":"8098333421013a6c26baf4f26a85573ae7386316","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-03-27 15:39:10.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"68330abc82ea30d0998ec90683310e12a05e023b","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-27 15:46:16.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/cda56a3ceed84030902b03627e3d2260\n\n- requirements-check https://zuul.opendev.org/t/openstack/build/362ad53678974c9d9416dbfed1e800b1 : SUCCESS in 2m 06s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/a53a1baaddf2462ba9fc8a5b050541e6 : SUCCESS in 57m 36s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/ab1516082909477ead60d496a06739e4 : SUCCESS in 4m 09s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/fae2d53d2edd4cada49ec855640e799e : SUCCESS in 2m 09s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/652fc1f951194b5e9fff2b165a2096db : SUCCESS in 3m 14s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/6d16052a3bbe440c8cec1d4c7393df45 : SUCCESS in 2m 31s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/4dc7ea27698047ba8fd92dd81703fcd3 : SUCCESS in 4m 35s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/6411d8f06d94468198057d6d7631e2fb : SUCCESS in 2m 27s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/46baf55c82844a0fa1a5bfc861a67352 : SUCCESS in 2m 14s","accounts_in_message":[],"_revision_number":3},{"id":"acbb0fee48f2b7fe687f7fa849b53e57c5a7a4b7","author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"date":"2026-03-30 07:55:30.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"9c330cb6c819e15a03cc1777c7b32abf3fd0f012","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"date":"2026-03-30 09:20:38.000000000","message":"Uploaded patch set 4.\n\nOutdated Votes:\n* Code-Review-1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1\n","accounts_in_message":[],"_revision_number":4},{"id":"6f23cae2641629c949b71b8f64bf59d85b3d2ade","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-30 11:08:12.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/c445542da67148639174694e5d9e2401\n\n- requirements-check https://zuul.opendev.org/t/openstack/build/e01099a1b64f4217b4dc464e27b0cfae : SUCCESS in 3m 35s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/a314556d3d7849fe83f6fbfafffdcd1a : SUCCESS in 1h 42m 47s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/6e600a38531141e6b48c3299978f0d23 : SUCCESS in 4m 54s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/05fc0764c0904ff0b2e0f1579dda1c8c : SUCCESS in 2m 02s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/ad9a4f34e0314f3fbae52f98dc548ce9 : SUCCESS in 3m 02s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/8b17750acc2240519e85182353d205f2 : SUCCESS in 3m 36s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/db6d60b74f8b4f81a2a30311b61778c7 : SUCCESS in 6m 31s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/0a5a46f763304ad8aaa28785fb71a116 : SUCCESS in 3m 12s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/66802d75ff28475fa266ce0cb295e21c : SUCCESS in 7m 10s","accounts_in_message":[],"_revision_number":4},{"id":"19614651027934539e3042e85aa7667b52d848ed","author":{"_account_id":31245,"name":"Daniel Bengtsson","email":"dbengt@redhat.com","username":"damani42"},"date":"2026-03-30 12:08:53.000000000","message":"Patch Set 4:\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"01731b8dc9d1208fa90a3a5e3d0ab1a399e58b38","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"date":"2026-03-30 13:41:06.000000000","message":"Uploaded patch set 5.\n\nOutdated Votes:\n* Verified+1\n","accounts_in_message":[],"_revision_number":5},{"id":"0f65e0a2be3be4651f410c5fdc646d615070b4ff","author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"date":"2026-03-30 13:42:30.000000000","message":"Patch Set 5:\n\n(10 comments)","accounts_in_message":[],"_revision_number":5},{"id":"2087411d9c90e458e4732b8847ec0370e544698f","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-30 14:42:10.000000000","message":"Patch Set 5: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/17b2734549e84359b307c66b9e684219\n\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/d347553d7cd446898b4668f98a6a2c3d : SUCCESS in 56m 06s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/c715a6660be54495af50cc89ea820f8e : SUCCESS in 7m 55s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/ccc39aa9f8ba43519108301e90e36ebb : SUCCESS in 3m 35s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/7658758bf2d841fdaf4b086d9cbee368 : SUCCESS in 6m 11s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/48d819070389431da8dab6f7ec5872f9 : SUCCESS in 4m 43s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/bfe78f8e229d4354b70526986617abda : SUCCESS in 6m 45s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/207ce07d4bd7403ba40b8796326ee147 : SUCCESS in 3m 09s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/e4ec8c63a05141208662b59e83e41231 : SUCCESS in 3m 00s","accounts_in_message":[],"_revision_number":5},{"id":"34e734647d1b11c8dfea7fb61e94664910ebc38b","author":{"_account_id":31245,"name":"Daniel Bengtsson","email":"dbengt@redhat.com","username":"damani42"},"date":"2026-03-31 12:30:32.000000000","message":"Patch Set 5: Code-Review+2","accounts_in_message":[],"_revision_number":5},{"id":"ef42b398935771ae4a13ffbd02cfd55027ff1119","author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"date":"2026-04-01 19:53:46.000000000","message":"Patch Set 5: Code-Review+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":5},{"id":"8a9b8c66301acf804602212a779370f717ba992b","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-04-03 08:32:05.000000000","message":"Patch Set 5: Code-Review-1\n\n(4 comments)","accounts_in_message":[],"_revision_number":5},{"id":"a345ef4ad7bce33c2f03be89f7cca12ca6ba67d7","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"date":"2026-04-07 07:28:35.000000000","message":"Patch Set 6: Published edit on patch set 5.\n\nOutdated Votes:\n* Code-Review+1, Code-Review+2, Code-Review-1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1\n","accounts_in_message":[],"_revision_number":6},{"id":"a36be5831a3eaedf63955f75212dd023e4f059a2","author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"date":"2026-04-07 07:28:46.000000000","message":"Patch Set 6:\n\n(2 comments)","accounts_in_message":[],"_revision_number":6},{"id":"7836b3809b37bb1f9b32171c5e937334fea88214","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"date":"2026-04-07 08:16:02.000000000","message":"Uploaded patch set 7.","accounts_in_message":[],"_revision_number":7},{"id":"2a4c27624733ee4d0fdac817a863ede46898b290","author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"date":"2026-04-07 08:16:28.000000000","message":"Patch Set 7:\n\n(1 comment)","accounts_in_message":[],"_revision_number":7},{"id":"633a3e493f7d376cee14e27f7a57405384c8eebd","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-07 09:20:33.000000000","message":"Patch Set 7: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/5151ad15771144678a18fdaef7b801b1\n\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/9ea3c5d597224a9692a95cda4d987706 : SUCCESS in 1h 03m 04s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/2ff9e07831b14d6582c75e000bbbf9ff : SUCCESS in 4m 31s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/696486bb2b744445a1c278da9baabf2b : FAILURE in 2m 06s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/e586934944e742e4bdd21d975e803485 : SUCCESS in 3m 06s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/b4b8f58b0e40476ea29c3aeece459632 : SUCCESS in 3m 04s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/759fc7352ad0417f9d530bd0a9e1f47c : SUCCESS in 4m 39s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/4c1150f4c8984188bc3cb9459039693a : SUCCESS in 2m 33s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/542f3d905a814fc099d3d0b88031caab : SUCCESS in 4m 02s\n\nWarning:\n  Comments left for invalid file oslo_utils/tests/imageutils/test_format_inspector.py\n  Comments left for invalid file oslo_utils/tests/test_excutils.py\n  Comments left for invalid file oslo_utils/tests/test_specs_matcher.py\n  Comments left for invalid file oslo_utils/tests/test_strutils.py\n  Comments left for invalid file oslo_utils/tests/tests_encodeutils.py","accounts_in_message":[],"_revision_number":7},{"id":"17e47f610fbed237672ad23eec13046322a38b04","author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"date":"2026-04-08 08:22:27.000000000","message":"Patch Set 7:\n\n(1 comment)","accounts_in_message":[],"_revision_number":7},{"id":"7ea4e35cdd4a865fce0d3c7b0fadb4bec3c6e7e8","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-08 09:26:38.000000000","message":"Patch Set 7:\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/9925e9c799bc4d978029afedf1ae550b\n\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/bed42fae1a534a15a973a829ee473c18 : SUCCESS in 57m 55s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/77c9fb2de4a246c9958798e1b066e533 : SUCCESS in 7m 27s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/766eb93e10604860a4da3757ac04ad31 : FAILURE in 4m 13s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/c120e73529194a40a0ac6f1e4e87f650 : SUCCESS in 4m 36s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/a82dc4b1cdf94232ab1ee0eb323583dd : SUCCESS in 7m 46s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/3ad177a6d79543b0be7fd20ea9e54ebb : SUCCESS in 6m 15s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/66caca7ebac44c17a2f09a70ccd4e44a : SUCCESS in 4m 13s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/5364de23efee4eef97a4254a2b56f399 : SUCCESS in 3m 22s\n\nWarning:\n  Comments left for invalid file oslo_utils/tests/test_strutils.py","accounts_in_message":[],"_revision_number":7},{"id":"6dcd82e833d8f0bb5254937c54fb2ede4849a216","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-04-08 15:07:35.000000000","message":"Patch Set 7:\n\n(1 comment)","accounts_in_message":[],"_revision_number":7},{"id":"c1866a108701dfa02c8f830b20c40b6543a1d812","author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"date":"2026-04-09 07:16:24.000000000","message":"Patch Set 7:\n\n(1 comment)","accounts_in_message":[],"_revision_number":7},{"id":"c255c3d49bdb1e1912dfa9c3ab40eb2a2aad8027","author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"date":"2026-04-09 08:41:09.000000000","message":"Patch Set 7:\n\n(1 comment)","accounts_in_message":[],"_revision_number":7},{"id":"034d9f3f4263d49d9b1b2e9a9eebbe3f1804f8eb","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-09 08:50:02.000000000","message":"Patch Set 7: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/f075c97197f84b53bd01834fe8f4e05f\n\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/2804f452275949d296a97f10edb2befd : SUCCESS in 1h 27m 46s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/a0584d95a86c41859bd4abda4ab7c543 : SUCCESS in 9m 23s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/ae2ce2673806474a8e015b0981eabef9 : SUCCESS in 3m 39s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/72ad2b9e0e5f44eaa9fb6716f9247d28 : SUCCESS in 3m 18s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/8d0a23a672cb46fbacaffb75f8ac159b : SUCCESS in 4m 14s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/7048a7f883af42b1bbcfe8db39e5567d : SUCCESS in 4m 24s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/48bc83a254964d419f0c7b1255182677 : SUCCESS in 3m 05s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/13f3ea96c1ec470387fdde61fa2b82df : SUCCESS in 4m 11s","accounts_in_message":[],"_revision_number":7},{"id":"ea39e771b973d6a2cb46bb755ab58b9201c6f457","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"date":"2026-04-09 13:32:09.000000000","message":"Uploaded patch set 8.\n\nOutdated Votes:\n* Verified+1\n","accounts_in_message":[],"_revision_number":8},{"id":"f1c870fc39af8bf13c3e99d22a9059eadea7ed3b","author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"date":"2026-04-09 13:37:05.000000000","message":"Patch Set 8:\n\n(1 comment)","accounts_in_message":[],"_revision_number":8},{"id":"2a20700fc150c19cdcd693c3476d3285f6681fb9","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-09 15:34:39.000000000","message":"Patch Set 8: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/c626bee4612f4cefb437bf8b28767d89\n\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/66a93ee1f6554aafbdcf527f6a9d8884 : SUCCESS in 2h 00m 29s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/8e0c5045f3dd4661bef0d477a1cb4815 : SUCCESS in 9m 39s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/7d17ea8898344a92ba74634f9f4a96a4 : FAILURE in 2m 41s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/b4f3858f20ea41908a83877fc391694b : SUCCESS in 3m 03s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/16b2235f765944d4b676aef43004390e : SUCCESS in 5m 37s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/651d59c09ac140c89f7a52b55d42c5e2 : SUCCESS in 7m 31s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/ff9a5d63058b43b087fb21c863e384c9 : SUCCESS in 1m 59s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/cde7e8b937e4477a846cc8d69ba550d8 : SUCCESS in 4m 01s","accounts_in_message":[],"_revision_number":8},{"id":"dd7285662771b8e23e5114297ebbfac98c2145ef","author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"date":"2026-04-10 07:27:14.000000000","message":"Patch Set 8:\n\n(1 comment)","accounts_in_message":[],"_revision_number":8},{"id":"2500a0f8cb7572f13cd4d68f3701387e6256f063","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-10 08:59:09.000000000","message":"Patch Set 8: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/bff7dd6e80844059b19b0afcbd26d23b\n\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/b67b869d3b424b0eab41ecb49dc36abd : SUCCESS in 1h 30m 12s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/419965902f5b432b9bc5ae44d22f0cbe : SUCCESS in 10m 40s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/21d14d674c734ec9b6c2eb99884a4a5b : SUCCESS in 4m 15s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/30bb513456a04254a506a546b8a212b1 : SUCCESS in 4m 14s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/bba4294459ed4e1ab59e88b5ae12d708 : SUCCESS in 5m 00s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/b31c27ce5b9445e89d50c5fdbf7f3d55 : SUCCESS in 9m 50s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/d7102d497088495c8b443dc462ab21fc : SUCCESS in 4m 02s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/d631bbc0e25c4a27b1be74a78437fa0c : SUCCESS in 3m 01s","accounts_in_message":[],"_revision_number":8},{"id":"a802e7e32d1bba8e1126b85f72c7320f9bd6f6bd","author":{"_account_id":31245,"name":"Daniel Bengtsson","email":"dbengt@redhat.com","username":"damani42"},"date":"2026-04-15 11:22:58.000000000","message":"Patch Set 8: Code-Review+2\n\n(1 comment)","accounts_in_message":[],"_revision_number":8},{"id":"c78c4fbcbb89f56c70b27914e0290cd4cca1b4ab","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-05-08 16:31:06.000000000","message":"Patch Set 8: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":8},{"id":"e01bcdc9e6192e0b8eca6b99459226502a760336","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-08 16:31:31.000000000","message":"Patch Set 8: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":8},{"id":"68acd2a5a3e103c64fcab4e80f1733ec0d3e1d39","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-08 17:33:09.000000000","message":"Patch Set 8: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/386f2f5d12c444f7b1860b8384e4dfe2\n\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/2096e1cc6a77425ea4b49954786f355e : SUCCESS in 1h 00m 49s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/19574c2f4c624d8aa346f2d7a29124e4 : SUCCESS in 5m 25s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/62e05135151345c3a6f2eff9a9919f9f : SUCCESS in 6m 37s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/b14d5557541f4e999041c75a6b505b4f : SUCCESS in 5m 15s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/8565db1876634c6a988b60752612fa46 : SUCCESS in 3m 51s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/5acc17991bb54df8b86f31de5b26964e : SUCCESS in 2m 48s","accounts_in_message":[],"_revision_number":8},{"id":"320dca6ef8e683597e2041d5aa33645159e7d935","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-08 17:33:09.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":8},{"id":"847b71229058c171048b5cd7896b8b3a4c1cf923","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-08 17:34:06.000000000","message":"Patch Set 8:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/639dddac261942a585e53d02976a9276\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/d38d2becf71d4c439ff5ae6d3ad00772 : SUCCESS in 43s\n- promote-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/25e860e6dadd41e6becb60e765fb0eb4 : SUCCESS in 41s","accounts_in_message":[],"_revision_number":8}],"current_revision_number":8,"current_revision":"5f1802ac55155ccba7af0e9c915e6625f484e785","revisions":{"b30bfc40c31dc29c34872bc41a162d2cf17fd8b4":{"kind":"REWORK","_number":1,"created":"2026-03-26 15:14:15.000000000","uploader":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"ref":"refs/changes/54/982254/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.utils","ref":"refs/changes/54/982254/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.utils refs/changes/54/982254/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.utils refs/changes/54/982254/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.utils refs/changes/54/982254/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.utils refs/changes/54/982254/1"}}},"commit":{"parents":[{"commit":"eebbf5de05ff2bdd05144a27d95eab293eba85da","subject":"Merge \"typing: Allow None default for bool_from_string\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.utils/commit/eebbf5de05ff2bdd05144a27d95eab293eba85da"}]}],"author":{"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","date":"2026-03-26 15:09:06.000000000","tz":60},"committer":{"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","date":"2026-03-26 15:13:53.000000000","tz":60},"subject":"Deprecate legacy time-mocking utilities in favor of standard Python mocking","message":"Deprecate legacy time-mocking utilities in favor of standard Python mocking\n\nThe time override functions (set_time_override, clear_time_override,\nadvance_time_delta, advance_time_seconds) and the TimeFixture class\nwere created before modern mocking libraries became standard practice\nin OpenStack. These utilities add maintenance overhead and duplicate\nfunctionality that\u0027s now available through unittest.mock and pytest\u0027s\nmonkeypatch.\n\nMost OpenStack projects have already migrated away from these\nutilities, making them largely obsolete. By deprecating them now, we\nreduce technical debt and guide remaining users toward more standard,\nwidely-understood testing patterns.\n\nUsers should migrate to patching timeutils.utcnow() directly using\nunittest.mock.patch() or pytest\u0027s monkeypatch fixture, which provides\nthe same functionality with better ecosystem support.\n\nThis change adds deprecation warnings using debtcollector, updates\ndocumentation to guide migration, and creates a release note explaining\nthe transition path. The functions remain fully functional to maintain\nbackward compatibility during the deprecation period.\n\nPartial-Bug: #1266962\nChange-Id: I6c956eba9e6a18bd2e5e1e7c1ed9f95e1ec653b9\nSigned-off-by: Hervé Beraud \u003cherveberaud.pro@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.utils/commit/b30bfc40c31dc29c34872bc41a162d2cf17fd8b4"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.utils/commit/b30bfc40c31dc29c34872bc41a162d2cf17fd8b4"}]},"branch":"refs/heads/master"},"7de57a8f37dd22e1ccb56975d6a129f4bb86d997":{"kind":"NO_CODE_CHANGE","_number":2,"created":"2026-03-26 15:50:36.000000000","uploader":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"ref":"refs/changes/54/982254/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.utils","ref":"refs/changes/54/982254/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.utils refs/changes/54/982254/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.utils refs/changes/54/982254/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.utils refs/changes/54/982254/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.utils refs/changes/54/982254/2"}}},"commit":{"parents":[{"commit":"eebbf5de05ff2bdd05144a27d95eab293eba85da","subject":"Merge \"typing: Allow None default for bool_from_string\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.utils/commit/eebbf5de05ff2bdd05144a27d95eab293eba85da"}]}],"author":{"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","date":"2026-03-26 15:09:06.000000000","tz":60},"committer":{"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","date":"2026-03-26 15:49:16.000000000","tz":60},"subject":"Deprecate legacy time-mocking utilities in favor of standard Python mocking","message":"Deprecate legacy time-mocking utilities in favor of standard Python mocking\n\nThe time override functions (set_time_override, clear_time_override,\nadvance_time_delta, advance_time_seconds) and the TimeFixture class\nwere created before modern mocking libraries became standard practice\nin OpenStack. These utilities add maintenance overhead and duplicate\nfunctionality that\u0027s now available through unittest.mock and pytest\u0027s\nmonkeypatch.\n\nMost OpenStack projects have already migrated away from these\nutilities, making them largely obsolete. By deprecating them now, we\nreduce technical debt and guide remaining users toward more standard,\nwidely-understood testing patterns.\n\nUsers should migrate to patching timeutils.utcnow() directly using\nunittest.mock.patch() or pytest\u0027s monkeypatch fixture, which provides\nthe same functionality with better ecosystem support.\n\nThis change adds deprecation warnings using debtcollector, updates\ndocumentation to guide migration, and creates a release note explaining\nthe transition path. The functions remain fully functional to maintain\nbackward compatibility during the deprecation period.\n\nPartial-Bug: #1266962\nChange-Id: I6c956eba9e6a18bd2e5e1e7c1ed9f95e1ec653b9\nSigned-off-by: Hervé Beraud \u003cherveberaud.pro@gmail.com\u003e\nAssisted-By: Claude Sonnet 4.5\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.utils/commit/7de57a8f37dd22e1ccb56975d6a129f4bb86d997"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.utils/commit/7de57a8f37dd22e1ccb56975d6a129f4bb86d997"}]},"branch":"refs/heads/master"},"e8ce6b3ef51b0afb2cb98743ba361b34de1f085d":{"kind":"REWORK","_number":3,"created":"2026-03-27 14:46:59.000000000","uploader":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"ref":"refs/changes/54/982254/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.utils","ref":"refs/changes/54/982254/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.utils refs/changes/54/982254/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.utils refs/changes/54/982254/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.utils refs/changes/54/982254/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.utils refs/changes/54/982254/3"}}},"commit":{"parents":[{"commit":"eebbf5de05ff2bdd05144a27d95eab293eba85da","subject":"Merge \"typing: Allow None default for bool_from_string\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.utils/commit/eebbf5de05ff2bdd05144a27d95eab293eba85da"}]}],"author":{"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","date":"2026-03-26 15:09:06.000000000","tz":60},"committer":{"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","date":"2026-03-27 14:46:47.000000000","tz":60},"subject":"Deprecate legacy time-mocking utilities in favor of standard Python mocking","message":"Deprecate legacy time-mocking utilities in favor of standard Python mocking\n\nThe time override functions (set_time_override, clear_time_override,\nadvance_time_delta, advance_time_seconds) and the TimeFixture class\nwere created before modern mocking libraries became standard practice\nin OpenStack. These utilities add maintenance overhead and duplicate\nfunctionality that\u0027s now available through unittest.mock and pytest\u0027s\nmonkeypatch.\n\nMost OpenStack projects have already migrated away from these\nutilities, making them largely obsolete. By deprecating them now, we\nreduce technical debt and guide remaining users toward more standard,\nwidely-understood testing patterns.\n\nUsers should migrate to patching timeutils.utcnow() directly using\nunittest.mock.patch() or pytest\u0027s monkeypatch fixture, which provides\nthe same functionality with better ecosystem support.\n\nThis change adds deprecation warnings using debtcollector, updates\ndocumentation to guide migration, and creates a release note explaining\nthe transition path. The functions remain fully functional to maintain\nbackward compatibility during the deprecation period.\n\nPartial-Bug: #1266962\nChange-Id: I6c956eba9e6a18bd2e5e1e7c1ed9f95e1ec653b9\nSigned-off-by: Hervé Beraud \u003cherveberaud.pro@gmail.com\u003e\nAssisted-By: Claude Sonnet 4.5\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.utils/commit/e8ce6b3ef51b0afb2cb98743ba361b34de1f085d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.utils/commit/e8ce6b3ef51b0afb2cb98743ba361b34de1f085d"}]},"branch":"refs/heads/master"},"690cd9b9a5a7cee17c6505daab7847ab8a3aa4f2":{"kind":"REWORK","_number":4,"created":"2026-03-30 09:20:38.000000000","uploader":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"ref":"refs/changes/54/982254/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.utils","ref":"refs/changes/54/982254/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.utils refs/changes/54/982254/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.utils refs/changes/54/982254/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.utils refs/changes/54/982254/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.utils refs/changes/54/982254/4"}}},"commit":{"parents":[{"commit":"eebbf5de05ff2bdd05144a27d95eab293eba85da","subject":"Merge \"typing: Allow None default for bool_from_string\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.utils/commit/eebbf5de05ff2bdd05144a27d95eab293eba85da"}]}],"author":{"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","date":"2026-03-26 15:09:06.000000000","tz":60},"committer":{"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","date":"2026-03-30 09:10:03.000000000","tz":120},"subject":"Deprecate legacy time override functions and refactor TimeFixture","message":"Deprecate legacy time override functions and refactor TimeFixture\n\nThe standalone time override functions (set_time_override,\nclear_time_override, advance_time_delta, advance_time_seconds) were\ncreated before modern mocking libraries became standard practice in\nOpenStack. These functions manipulate global state and add maintenance\noverhead.\n\nRather than deprecating all time-mocking utilities, we preserve the\nTimeFixture class while refactoring it to use unittest.mock internally.\nThis provides the best of both worlds: users keep the convenient\nfixture-based API, but the implementation uses standard Python mocking\ninstead of custom global state manipulation.\n\nTimeFixture\u0027s public API remains unchanged, so existing code using it\nwill continue to work without modification.\n\nThis change reduces technical debt by eliminating the global state\nmanipulation mechanism while preserving user convenience through the\nrefactored TimeFixture class.\n\nPartial-Bug: #1266962\nChange-Id: I6c956eba9e6a18bd2e5e1e7c1ed9f95e1ec653b9\nSigned-off-by: Hervé Beraud \u003cherveberaud.pro@gmail.com\u003e\nAssisted-By: Claude Sonnet 4.5\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.utils/commit/690cd9b9a5a7cee17c6505daab7847ab8a3aa4f2"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.utils/commit/690cd9b9a5a7cee17c6505daab7847ab8a3aa4f2"}]},"branch":"refs/heads/master"},"7f9ab1c3f86d8f28178c57d2d6ccbfebacfae856":{"kind":"REWORK","_number":5,"created":"2026-03-30 13:41:06.000000000","uploader":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"ref":"refs/changes/54/982254/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.utils","ref":"refs/changes/54/982254/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.utils refs/changes/54/982254/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.utils refs/changes/54/982254/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.utils refs/changes/54/982254/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.utils refs/changes/54/982254/5"}}},"commit":{"parents":[{"commit":"eebbf5de05ff2bdd05144a27d95eab293eba85da","subject":"Merge \"typing: Allow None default for bool_from_string\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.utils/commit/eebbf5de05ff2bdd05144a27d95eab293eba85da"}]}],"author":{"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","date":"2026-03-26 15:09:06.000000000","tz":60},"committer":{"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","date":"2026-03-30 13:26:52.000000000","tz":120},"subject":"Deprecate legacy time override functions and refactor TimeFixture","message":"Deprecate legacy time override functions and refactor TimeFixture\n\nThe standalone time override functions (set_time_override,\nclear_time_override, advance_time_delta, advance_time_seconds) were\ncreated before modern mocking libraries became standard practice in\nOpenStack. These functions manipulate global state and add maintenance\noverhead.\n\nRather than deprecating all time-mocking utilities, we preserve the\nTimeFixture class while refactoring it to use unittest.mock internally.\nThis provides the best of both worlds: users keep the convenient\nfixture-based API, but the implementation uses standard Python mocking\ninstead of custom global state manipulation.\n\nTimeFixture\u0027s public API remains unchanged, so existing code using it\nwill continue to work without modification.\n\nThis change reduces technical debt by eliminating the global state\nmanipulation mechanism while preserving user convenience through the\nrefactored TimeFixture class.\n\nPartial-Bug: #1266962\nChange-Id: I6c956eba9e6a18bd2e5e1e7c1ed9f95e1ec653b9\nSigned-off-by: Hervé Beraud \u003cherveberaud.pro@gmail.com\u003e\nAssisted-By: Claude Sonnet 4.5\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.utils/commit/7f9ab1c3f86d8f28178c57d2d6ccbfebacfae856"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.utils/commit/7f9ab1c3f86d8f28178c57d2d6ccbfebacfae856"}]},"branch":"refs/heads/master"},"3f57a9100aea3d30edc39f4c4b56c04c877d1316":{"kind":"REWORK","_number":6,"created":"2026-04-07 07:28:35.000000000","uploader":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"ref":"refs/changes/54/982254/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.utils","ref":"refs/changes/54/982254/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.utils refs/changes/54/982254/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.utils refs/changes/54/982254/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.utils refs/changes/54/982254/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.utils refs/changes/54/982254/6"}}},"commit":{"parents":[{"commit":"eebbf5de05ff2bdd05144a27d95eab293eba85da","subject":"Merge \"typing: Allow None default for bool_from_string\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.utils/commit/eebbf5de05ff2bdd05144a27d95eab293eba85da"}]}],"author":{"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","date":"2026-03-26 15:09:06.000000000","tz":60},"committer":{"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","date":"2026-04-07 07:28:09.000000000","tz":0},"subject":"Deprecate legacy time override functions and refactor TimeFixture","message":"Deprecate legacy time override functions and refactor TimeFixture\n\nThe standalone time override functions (set_time_override,\nclear_time_override, advance_time_delta, advance_time_seconds) were\ncreated before modern mocking libraries became standard practice in\nOpenStack. These functions manipulate global state and add maintenance\noverhead.\n\nRather than deprecating all time-mocking utilities, we preserve the\nTimeFixture class while refactoring it to use unittest.mock internally.\nThis provides the best of both worlds: users keep the convenient\nfixture-based API, but the implementation uses standard Python mocking\ninstead of custom global state manipulation.\n\nTimeFixture\u0027s public API remains unchanged, so existing code using it\nwill continue to work without modification.\n\nThis change reduces technical debt by eliminating the global state\nmanipulation mechanism while preserving user convenience through the\nrefactored TimeFixture class.\n\nPartial-Bug: #1266962\nChange-Id: I6c956eba9e6a18bd2e5e1e7c1ed9f95e1ec653b9\nSigned-off-by: Hervé Beraud \u003cherveberaud.pro@gmail.com\u003e\nAssisted-By: Claude Sonnet 4.5\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.utils/commit/3f57a9100aea3d30edc39f4c4b56c04c877d1316"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.utils/commit/3f57a9100aea3d30edc39f4c4b56c04c877d1316"}]},"branch":"refs/heads/master"},"c6e13c83ac707a6aea6dce9ec565a7053278a2b2":{"kind":"REWORK","_number":7,"created":"2026-04-07 08:16:02.000000000","uploader":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"ref":"refs/changes/54/982254/7","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.utils","ref":"refs/changes/54/982254/7","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.utils refs/changes/54/982254/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.utils refs/changes/54/982254/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.utils refs/changes/54/982254/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.utils refs/changes/54/982254/7"}}},"commit":{"parents":[{"commit":"eebbf5de05ff2bdd05144a27d95eab293eba85da","subject":"Merge \"typing: Allow None default for bool_from_string\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.utils/commit/eebbf5de05ff2bdd05144a27d95eab293eba85da"}]}],"author":{"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","date":"2026-03-26 15:09:06.000000000","tz":60},"committer":{"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","date":"2026-04-07 08:15:25.000000000","tz":120},"subject":"Deprecate legacy time override functions and refactor TimeFixture","message":"Deprecate legacy time override functions and refactor TimeFixture\n\nThe standalone time override functions (set_time_override,\nclear_time_override, advance_time_delta, advance_time_seconds) were\ncreated before modern mocking libraries became standard practice in\nOpenStack. These functions manipulate global state and add maintenance\noverhead.\n\nRather than deprecating all time-mocking utilities, we preserve the\nTimeFixture class while refactoring it to use unittest.mock internally.\nThis provides the best of both worlds: users keep the convenient\nfixture-based API, but the implementation uses standard Python mocking\ninstead of custom global state manipulation.\n\nTimeFixture\u0027s public API remains unchanged, so existing code using it\nwill continue to work without modification.\n\nThis change reduces technical debt by eliminating the global state\nmanipulation mechanism while preserving user convenience through the\nrefactored TimeFixture class.\n\nAlso replaced _UTCNow class with a simple utcnow() function.\n\nPartial-Bug: #1266962\nChange-Id: I6c956eba9e6a18bd2e5e1e7c1ed9f95e1ec653b9\nSigned-off-by: Hervé Beraud \u003cherveberaud.pro@gmail.com\u003e\nAssisted-By: Claude Sonnet 4.5\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.utils/commit/c6e13c83ac707a6aea6dce9ec565a7053278a2b2"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.utils/commit/c6e13c83ac707a6aea6dce9ec565a7053278a2b2"}]},"branch":"refs/heads/master"},"5f1802ac55155ccba7af0e9c915e6625f484e785":{"kind":"REWORK","_number":8,"created":"2026-04-09 13:32:09.000000000","uploader":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"ref":"refs/changes/54/982254/8","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.utils","ref":"refs/changes/54/982254/8","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.utils refs/changes/54/982254/8 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.utils refs/changes/54/982254/8 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.utils refs/changes/54/982254/8 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.utils refs/changes/54/982254/8"}}},"commit":{"parents":[{"commit":"eebbf5de05ff2bdd05144a27d95eab293eba85da","subject":"Merge \"typing: Allow None default for bool_from_string\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.utils/commit/eebbf5de05ff2bdd05144a27d95eab293eba85da"}]}],"author":{"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","date":"2026-04-09 13:07:06.000000000","tz":120},"committer":{"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","date":"2026-04-09 13:07:06.000000000","tz":120},"subject":"Deprecate legacy time override functions","message":"Deprecate legacy time override functions\n\nThe standalone time override functions (set_time_override,\nclear_time_override, advance_time_delta, advance_time_seconds) were\ncreated before modern mocking libraries became standard practice in\nOpenStack. These functions manipulate global state and add maintenance\noverhead.\n\nThis change marks them as deprecated with warnings directing users to\nuse unittest.mock.patch() to mock timeutils.utcnow() instead.\n\nPartial-Bug: #1266962\nChange-Id: I6c956eba9e6a18bd2e5e1e7c1ed9f95e1ec653b9\nSigned-off-by: Hervé Beraud \u003cherveberaud.pro@gmail.com\u003e\nAssisted-By: Claude Sonnet 4.5\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.utils/commit/5f1802ac55155ccba7af0e9c915e6625f484e785"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.utils/commit/5f1802ac55155ccba7af0e9c915e6625f484e785"}]},"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":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"}},{"label":"Backport-Candidate","status":"MAY"}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX"],"failing_atoms":["label:Verified\u003dMIN"],"atom_explanations":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"name":"Backport-Candidate","description":"Backport candidate status","status":"NOT_APPLICABLE","is_legacy":false,"applicability_expression_result":{"fulfilled":false,"status":"FAIL"},"submittability_expression_result":{"expression":"is:true","fulfilled":true,"status":"NOT_EVALUATED","passing_atoms":[],"failing_atoms":[],"atom_explanations":{}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dMAX"],"failing_atoms":["label:Code-Review\u003dMIN"],"atom_explanations":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dMAX"],"failing_atoms":["label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
