)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":38562,"name":"Richard Cruise","email":"rcruise@redhat.com","username":"rcruise"},"change_message_id":"76de00e22e5d0e4bf3c7eb39fbad57b13f39738c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"2bb9a2fb_be8e418a","updated":"2026-07-28 08:48:50.000000000","message":"I\u0027m not sure we should use oslo when the standard libs do the same thing are probably have better long term support","commit_id":"7de2db3953196268afac8de07d299b18e329cc1c"},{"author":{"_account_id":38562,"name":"Richard Cruise","email":"rcruise@redhat.com","username":"rcruise"},"change_message_id":"74e4e7a9d89877b063587ad226be4ee2917ffc35","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"7a95c513_f49b418d","updated":"2026-07-28 09:50:38.000000000","message":"LGTM","commit_id":"7de2db3953196268afac8de07d299b18e329cc1c"}],"octavia_tempest_plugin/common/cert_utils.py":[{"author":{"_account_id":38562,"name":"Richard Cruise","email":"rcruise@redhat.com","username":"rcruise"},"change_message_id":"76de00e22e5d0e4bf3c7eb39fbad57b13f39738c","unresolved":true,"context_lines":[{"line_number":51,"context_line":"    ).serial_number("},{"line_number":52,"context_line":"        x509.random_serial_number()"},{"line_number":53,"context_line":"    ).not_valid_before("},{"line_number":54,"context_line":"        timeutils.utcnow()"},{"line_number":55,"context_line":"    ).not_valid_after("},{"line_number":56,"context_line":"        timeutils.utcnow() + datetime.timedelta(days\u003d10)"},{"line_number":57,"context_line":"    ).add_extension("}],"source_content_type":"text/x-python","patch_set":1,"id":"ac824ad6_b3f43a69","line":54,"updated":"2026-07-28 08:48:50.000000000","message":"Why use oslo_utils when datetime.now(timezone.utc) works and is part of the standard lib?","commit_id":"7de2db3953196268afac8de07d299b18e329cc1c"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"94ed608c689c6c5c1e252294f56c825a12d1c1fa","unresolved":true,"context_lines":[{"line_number":51,"context_line":"    ).serial_number("},{"line_number":52,"context_line":"        x509.random_serial_number()"},{"line_number":53,"context_line":"    ).not_valid_before("},{"line_number":54,"context_line":"        timeutils.utcnow()"},{"line_number":55,"context_line":"    ).not_valid_after("},{"line_number":56,"context_line":"        timeutils.utcnow() + datetime.timedelta(days\u003d10)"},{"line_number":57,"context_line":"    ).add_extension("}],"source_content_type":"text/x-python","patch_set":1,"id":"f5b80055_76d8fda0","line":54,"in_reply_to":"ac824ad6_b3f43a69","updated":"2026-07-28 09:36:11.000000000","message":"No these two are different. timeutils.utcnow returns time WITHOUT timezone, while datetime.now returns time WITH timezone. I decided to use timeutil to keep the existing behavior.","commit_id":"7de2db3953196268afac8de07d299b18e329cc1c"},{"author":{"_account_id":38562,"name":"Richard Cruise","email":"rcruise@redhat.com","username":"rcruise"},"change_message_id":"74e4e7a9d89877b063587ad226be4ee2917ffc35","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    ).serial_number("},{"line_number":52,"context_line":"        x509.random_serial_number()"},{"line_number":53,"context_line":"    ).not_valid_before("},{"line_number":54,"context_line":"        timeutils.utcnow()"},{"line_number":55,"context_line":"    ).not_valid_after("},{"line_number":56,"context_line":"        timeutils.utcnow() + datetime.timedelta(days\u003d10)"},{"line_number":57,"context_line":"    ).add_extension("}],"source_content_type":"text/x-python","patch_set":1,"id":"7109b9e1_53f1b2e5","line":54,"in_reply_to":"f5b80055_76d8fda0","updated":"2026-07-28 09:50:38.000000000","message":"Fair enough, that makes sense. Thanks for clearing that up","commit_id":"7de2db3953196268afac8de07d299b18e329cc1c"}]}
