)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"86e9c0e255368643d8b31cdc7d5a6b0c39fb76e5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"f1c07338_c6b375fa","updated":"2025-01-30 18:53:19.000000000","message":"I’ll +1 it for now as I review the rest and have the one question.","commit_id":"281a486e08245cf020a7b0c4c5b7843adba69d2a"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"746347da3c58a1335e8611e5b41c6cf9bf0103ef","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"8dcca825_602d9fb2","updated":"2025-01-30 19:19:49.000000000","message":"Please fix min for timeout, otherwise lgtm","commit_id":"281a486e08245cf020a7b0c4c5b7843adba69d2a"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"86de86ec483891be89fb1cd682a16fb73b3d6268","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"0e7c04f0_2b50ba82","in_reply_to":"8dcca825_602d9fb2","updated":"2025-01-30 19:35:38.000000000","message":"Done","commit_id":"281a486e08245cf020a7b0c4c5b7843adba69d2a"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"04edb2ae03a2eff681d99af4db091b7fee5f2aa1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"a72aadb7_aa526102","updated":"2025-02-09 21:04:37.000000000","message":"recheck ironic-tempest-ovn-uefi-ipmi-pxe","commit_id":"240ffed18aa65c58dd283553dab8674b9c439d0e"}],"ironic/common/vnc.py":[{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"86e9c0e255368643d8b31cdc7d5a6b0c39fb76e5","unresolved":true,"context_lines":[{"line_number":90,"context_line":"    if not token_created:"},{"line_number":91,"context_line":"        # missing token created timestamp for node"},{"line_number":92,"context_line":"        raise exception.NotAuthorized()"},{"line_number":93,"context_line":"    timeout \u003d CONF.vnc.token_timeout"},{"line_number":94,"context_line":"    created_dt \u003d datetime.datetime.strptime(token_created,"},{"line_number":95,"context_line":"                                            \u0027%Y-%m-%dT%H:%M:%S.%f\u0027)"},{"line_number":96,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"cb9bd194_f47ce7c3","line":93,"updated":"2025-01-30 18:53:19.000000000","message":"what if someone sets this to 0? it’ll always be invalid. do we want to\nwarn them?","commit_id":"281a486e08245cf020a7b0c4c5b7843adba69d2a"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"746347da3c58a1335e8611e5b41c6cf9bf0103ef","unresolved":true,"context_lines":[{"line_number":90,"context_line":"    if not token_created:"},{"line_number":91,"context_line":"        # missing token created timestamp for node"},{"line_number":92,"context_line":"        raise exception.NotAuthorized()"},{"line_number":93,"context_line":"    timeout \u003d CONF.vnc.token_timeout"},{"line_number":94,"context_line":"    created_dt \u003d datetime.datetime.strptime(token_created,"},{"line_number":95,"context_line":"                                            \u0027%Y-%m-%dT%H:%M:%S.%f\u0027)"},{"line_number":96,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"dc6652f3_54ef672c","line":93,"in_reply_to":"cb9bd194_f47ce7c3","updated":"2025-01-30 19:19:49.000000000","message":"++ we should absolutely filter 0 in this case","commit_id":"281a486e08245cf020a7b0c4c5b7843adba69d2a"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"86de86ec483891be89fb1cd682a16fb73b3d6268","unresolved":false,"context_lines":[{"line_number":90,"context_line":"    if not token_created:"},{"line_number":91,"context_line":"        # missing token created timestamp for node"},{"line_number":92,"context_line":"        raise exception.NotAuthorized()"},{"line_number":93,"context_line":"    timeout \u003d CONF.vnc.token_timeout"},{"line_number":94,"context_line":"    created_dt \u003d datetime.datetime.strptime(token_created,"},{"line_number":95,"context_line":"                                            \u0027%Y-%m-%dT%H:%M:%S.%f\u0027)"},{"line_number":96,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"e93b8221_f0e0709d","line":93,"in_reply_to":"dc6652f3_54ef672c","updated":"2025-01-30 19:35:38.000000000","message":"I have set the min value to 10 seconds","commit_id":"281a486e08245cf020a7b0c4c5b7843adba69d2a"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"8a9c62a4093c2d91b8c00757be34dedb9b15da1f","unresolved":true,"context_lines":[{"line_number":37,"context_line":"    :returns: an authorized token"},{"line_number":38,"context_line":"    \"\"\""},{"line_number":39,"context_line":"    token \u003d secrets.token_urlsafe()"},{"line_number":40,"context_line":"    node.set_driver_internal_info(\u0027novnc_secret_token\u0027, token)"},{"line_number":41,"context_line":"    node.timestamp_driver_internal_info(\u0027novnc_secret_token_created\u0027)"},{"line_number":42,"context_line":"    node.save()"},{"line_number":43,"context_line":"    return token"}],"source_content_type":"text/x-python","patch_set":8,"id":"f1c7c68e_6aaabd2b","line":40,"updated":"2025-02-14 21:11:29.000000000","message":"Have we validated this string is one of the ones that will get redacted by policy? If not, can we check and followup with a fix if needed?","commit_id":"c0681ccf63ed7dc03392405bdbe651cc167fdc8d"}],"ironic/conf/vnc.py":[{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"746347da3c58a1335e8611e5b41c6cf9bf0103ef","unresolved":true,"context_lines":[{"line_number":28,"context_line":"    cfg.IntOpt("},{"line_number":29,"context_line":"        \u0027token_timeout\u0027,"},{"line_number":30,"context_line":"        default\u003d600,"},{"line_number":31,"context_line":"        min\u003d0,"},{"line_number":32,"context_line":"        help\u003d\u0027The lifetime of a console auth token (in seconds).\u0027),"},{"line_number":33,"context_line":"]"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"8c4cf267_f2e25d13","line":31,"updated":"2025-01-30 19:19:49.000000000","message":"min of 0 is wrong here, see previous comments -- this should be set to a realistic, sane value as a minimum, maybe at least 10 seconds?","commit_id":"281a486e08245cf020a7b0c4c5b7843adba69d2a"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"86de86ec483891be89fb1cd682a16fb73b3d6268","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    cfg.IntOpt("},{"line_number":29,"context_line":"        \u0027token_timeout\u0027,"},{"line_number":30,"context_line":"        default\u003d600,"},{"line_number":31,"context_line":"        min\u003d0,"},{"line_number":32,"context_line":"        help\u003d\u0027The lifetime of a console auth token (in seconds).\u0027),"},{"line_number":33,"context_line":"]"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"8827978b_e7fd32a1","line":31,"in_reply_to":"8c4cf267_f2e25d13","updated":"2025-01-30 19:35:38.000000000","message":"Done","commit_id":"281a486e08245cf020a7b0c4c5b7843adba69d2a"}]}
