)]}'
{"/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"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"08aef576ce05a65407a01ead02ab0ae0569d067d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":23,"id":"018cba11_2164f4c8","updated":"2026-08-13 23:55:32.000000000","message":"FYI we are no longer following this path internally so likely won’t need to maintain this kind of quirky driver, considering abandoning… we will use Redis or Consul internally likely.","commit_id":"c0721bf4c64a60eefe00e1ec3edf2ed319b944d9"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"7255a0ab5db1c97e9ea6e8d830933eef88aa98b7","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":23,"id":"c9830b96_4cf3ea2d","in_reply_to":"018cba11_2164f4c8","updated":"2026-08-14 02:40:13.000000000","message":"Thanks for sharing that info. If we expect no real use then I vote for abandoning it or just keeping this open in case anyone find this useful in the future.","commit_id":"c0721bf4c64a60eefe00e1ec3edf2ed319b944d9"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"d0c43e62a542c16987b0e15b4db3bccfe6429e1d","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":23,"id":"e1d8702e_072a7eff","in_reply_to":"c9830b96_4cf3ea2d","updated":"2026-08-14 02:44:03.000000000","message":"Yeah that’s kind of where I am… it COULD be useful, but using it requires a lot of fiddly RBAC config on the k8s side which we can’t actually include programmatically here, and for most cases there is just a similar or better option available via a different backend. I think I will leave this open and just let it rot for a while, until I finish with the HTTP-RPC work and hear from more people about how they plan to deploy it.","commit_id":"c0721bf4c64a60eefe00e1ec3edf2ed319b944d9"}],"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"}]}
