)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"f979b344164ba198913ace1b84abd90ee26d6d65","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"66dcedf1_f7c98f5b","updated":"2026-07-13 03:21:23.000000000","message":"I\u0027ve not yet gone through the implementation but am leaving a few early feedback.\n\nAlso please add a release note because this introduces a new feature.","commit_id":"ee4451b734ecd2f249a14355b2face691c981a90"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"cf2a712e8eebbc1961ae3b2327fdaa91a4ffc309","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"477f464f_8c2c13a4","updated":"2026-07-13 03:39:30.000000000","message":"OK, think I addressed all of those. This really should be marked WIP though, I\u0027ll do that now.","commit_id":"6ddd80e727a17dbb5b7fa59d157d37759de01ba6"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"0ad2d1fdf3269b02055b526eccdf1c4354d781bf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"f0971176_4aa8d3b3","in_reply_to":"23cb9a78_d6001fbb","updated":"2026-07-20 11:10:30.000000000","message":"Err, inline comments from above I guess technically :D","commit_id":"b31543465db17f5a3a9e36e3d9ce5bdaf15f3efa"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"067725bbda06628319b824a9dc757c62f11b28cd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"23cb9a78_d6001fbb","in_reply_to":"66dcedf1_f7c98f5b","updated":"2026-07-20 11:09:44.000000000","message":"Thanks for the early feedback. I added a release note and all three inline comments below are addressed.","commit_id":"b31543465db17f5a3a9e36e3d9ce5bdaf15f3efa"}],"pyproject.toml":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"f979b344164ba198913ace1b84abd90ee26d6d65","unresolved":true,"context_lines":[{"line_number":68,"context_line":"ipc \u003d ["},{"line_number":69,"context_line":"  \"sysv-ipc\u003e\u003d0.6.8\", # BSD License"},{"line_number":70,"context_line":"]"},{"line_number":71,"context_line":"kubernetes \u003d ["},{"line_number":72,"context_line":"  \"kubernetes\u003e\u003d2.8.1\", # Apache-2.0"},{"line_number":73,"context_line":"  \"sherlock\u003e\u003d0.4.1\", # MIT License"},{"line_number":74,"context_line":"]"}],"source_content_type":"text/x-toml","patch_set":1,"id":"0425a775_df0034e2","line":71,"range":{"start_line":71,"start_character":0,"end_line":71,"end_character":10},"updated":"2026-07-13 03:21:23.000000000","message":"It probably makes better sense to have k8s group to maintain different requirements.","commit_id":"ee4451b734ecd2f249a14355b2face691c981a90"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"cf2a712e8eebbc1961ae3b2327fdaa91a4ffc309","unresolved":false,"context_lines":[{"line_number":68,"context_line":"ipc \u003d ["},{"line_number":69,"context_line":"  \"sysv-ipc\u003e\u003d0.6.8\", # BSD License"},{"line_number":70,"context_line":"]"},{"line_number":71,"context_line":"kubernetes \u003d ["},{"line_number":72,"context_line":"  \"kubernetes\u003e\u003d2.8.1\", # Apache-2.0"},{"line_number":73,"context_line":"  \"sherlock\u003e\u003d0.4.1\", # MIT License"},{"line_number":74,"context_line":"]"}],"source_content_type":"text/x-toml","patch_set":1,"id":"797ca188_91db9b2b","line":71,"range":{"start_line":71,"start_character":0,"end_line":71,"end_character":10},"in_reply_to":"0425a775_df0034e2","updated":"2026-07-13 03:39:30.000000000","message":"Done","commit_id":"ee4451b734ecd2f249a14355b2face691c981a90"}],"tooz/drivers/k8s.py":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"f979b344164ba198913ace1b84abd90ee26d6d65","unresolved":true,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"def _hash(data: bytes, length: int \u003d 12) -\u003e str:"},{"line_number":59,"context_line":"    \"\"\"SHA-1 hash truncated to *length* hex chars (DNS-safe).\"\"\""},{"line_number":60,"context_line":"    return hashlib.sha1(data).hexdigest()[:length]"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"def _lease_name(group_id: bytes, member_id: bytes) -\u003e str:"}],"source_content_type":"text/x-python","patch_set":1,"id":"df5b5214_26ed1f33","line":60,"range":{"start_line":60,"start_character":19,"end_line":60,"end_character":23},"updated":"2026-07-13 03:21:23.000000000","message":"Add usedforsecurity\u003dFalse not to break FIPS","commit_id":"ee4451b734ecd2f249a14355b2face691c981a90"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"cf2a712e8eebbc1961ae3b2327fdaa91a4ffc309","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"def _hash(data: bytes, length: int \u003d 12) -\u003e str:"},{"line_number":59,"context_line":"    \"\"\"SHA-1 hash truncated to *length* hex chars (DNS-safe).\"\"\""},{"line_number":60,"context_line":"    return hashlib.sha1(data).hexdigest()[:length]"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"def _lease_name(group_id: bytes, member_id: bytes) -\u003e str:"}],"source_content_type":"text/x-python","patch_set":1,"id":"d3c5629b_846dfc80","line":60,"range":{"start_line":60,"start_character":19,"end_line":60,"end_character":23},"in_reply_to":"df5b5214_26ed1f33","updated":"2026-07-13 03:39:30.000000000","message":"Done","commit_id":"ee4451b734ecd2f249a14355b2face691c981a90"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"f979b344164ba198913ace1b84abd90ee26d6d65","unresolved":true,"context_lines":[{"line_number":65,"context_line":"    return f\u0027tooz-{_hash(group_id, 8)}-{_hash(member_id, 8)}\u0027"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"def _utcnow() -\u003e datetime.datetime:"},{"line_number":69,"context_line":"    return datetime.datetime.now(datetime.timezone.utc)"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9aceff32_03a3f78b","line":68,"range":{"start_line":68,"start_character":4,"end_line":68,"end_character":11},"updated":"2026-07-13 03:21:23.000000000","message":"you can use oslo_utils.timeutils.utcnow instead.","commit_id":"ee4451b734ecd2f249a14355b2face691c981a90"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"cf2a712e8eebbc1961ae3b2327fdaa91a4ffc309","unresolved":false,"context_lines":[{"line_number":65,"context_line":"    return f\u0027tooz-{_hash(group_id, 8)}-{_hash(member_id, 8)}\u0027"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"def _utcnow() -\u003e datetime.datetime:"},{"line_number":69,"context_line":"    return datetime.datetime.now(datetime.timezone.utc)"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"203480bb_61ad36c4","line":68,"range":{"start_line":68,"start_character":4,"end_line":68,"end_character":11},"in_reply_to":"9aceff32_03a3f78b","updated":"2026-07-13 03:39:30.000000000","message":"Done","commit_id":"ee4451b734ecd2f249a14355b2face691c981a90"}]}
