)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"771eb165f997984bd173f3d41c712068710f113f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"4a3739c2_f654a5b1","updated":"2023-05-03 20:44:30.000000000","message":"Comment and a question inline.","commit_id":"9c0186c8ef6d8af70e1a193d8445d3a921d9ac1e"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"99546cf35f3f7063d002c813b48090262078200f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"16b6aae6_edf8fa4d","updated":"2023-05-03 19:51:27.000000000","message":"run Pure Storage CI","commit_id":"9c0186c8ef6d8af70e1a193d8445d3a921d9ac1e"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"ab77205577a34eadf676cc11989045e1e96baa35","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"530a7e11_bf62a0ea","updated":"2023-05-03 19:48:23.000000000","message":"run Pure Storage CI","commit_id":"9c0186c8ef6d8af70e1a193d8445d3a921d9ac1e"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"07fedb0f00ef930c4519bd3814be333f1155e51d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"599c9732_7c6a0fc1","updated":"2023-05-03 19:40:07.000000000","message":"run Pure Storage CI","commit_id":"9c0186c8ef6d8af70e1a193d8445d3a921d9ac1e"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"50d3a195d28e9c2bb5a3d347114057209e84e9df","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"9935b18c_4ced9090","updated":"2023-05-03 19:37:32.000000000","message":"run Pure Storage CI","commit_id":"9c0186c8ef6d8af70e1a193d8445d3a921d9ac1e"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"26da853be5ed02f55ae513fbed8ceaf0b1e7977b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"f72f56a6_3c1bb32f","updated":"2023-05-03 21:15:33.000000000","message":"LGTM.","commit_id":"44217eca7cbfcf79ea13bb9bc6a95d7ad75b0898"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"13c00cfbf811658d543b54d72239719f2d57915c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"ad241b00_2bbd0bbc","updated":"2023-05-04 01:28:36.000000000","message":"recheck","commit_id":"44217eca7cbfcf79ea13bb9bc6a95d7ad75b0898"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"ff88fee0a737622aaf4586b123edab253dbb5ee0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"e09b7a86_e5bef072","updated":"2023-05-04 04:02:28.000000000","message":"recheck","commit_id":"44217eca7cbfcf79ea13bb9bc6a95d7ad75b0898"}],"cinder/volume/drivers/pure.py":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"771eb165f997984bd173f3d41c712068710f113f","unresolved":true,"context_lines":[{"line_number":2419,"context_line":"            except purestorage.PureHTTPError as err:"},{"line_number":2420,"context_line":"                with excutils.save_and_reraise_exception() as ctxt:"},{"line_number":2421,"context_line":"                    if err.code \u003d\u003d 400 and ("},{"line_number":2422,"context_line":"                            (ERR_MSG_ALREADY_EXISTS or ERR_MSG_ARRAY_LIMIT)"},{"line_number":2423,"context_line":"                            in err.text"},{"line_number":2424,"context_line":"                    ):"},{"line_number":2425,"context_line":"                        ctxt.reraise \u003d False"},{"line_number":2426,"context_line":"                        LOG.info(\"Skipping add array %(target_array)s to pod\""}],"source_content_type":"text/x-python","patch_set":1,"id":"becefb24_8ce3f4ff","line":2423,"range":{"start_line":2422,"start_character":28,"end_line":2423,"end_character":39},"updated":"2023-05-03 20:44:30.000000000","message":"This is basically equivalent to what you had (because the \u0027or\u0027 will return the first disjunct that is true-ish, which any non-empty string is).  I was trying to think of something elegant, but all I can come up with is:\n\n    if err.code \u003d\u003d 400 and (ERR_MSG_ALREADY_EXISTS in err.text\n                            or ERR_MSG_ARRAY_LIMIT in err.text)","commit_id":"9c0186c8ef6d8af70e1a193d8445d3a921d9ac1e"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"e06367c464798fccb25526623884b2b74898353e","unresolved":false,"context_lines":[{"line_number":2419,"context_line":"            except purestorage.PureHTTPError as err:"},{"line_number":2420,"context_line":"                with excutils.save_and_reraise_exception() as ctxt:"},{"line_number":2421,"context_line":"                    if err.code \u003d\u003d 400 and ("},{"line_number":2422,"context_line":"                            (ERR_MSG_ALREADY_EXISTS or ERR_MSG_ARRAY_LIMIT)"},{"line_number":2423,"context_line":"                            in err.text"},{"line_number":2424,"context_line":"                    ):"},{"line_number":2425,"context_line":"                        ctxt.reraise \u003d False"},{"line_number":2426,"context_line":"                        LOG.info(\"Skipping add array %(target_array)s to pod\""}],"source_content_type":"text/x-python","patch_set":1,"id":"8f2bb016_119212a8","line":2423,"range":{"start_line":2422,"start_character":28,"end_line":2423,"end_character":39},"in_reply_to":"becefb24_8ce3f4ff","updated":"2023-05-03 20:50:24.000000000","message":"Done","commit_id":"9c0186c8ef6d8af70e1a193d8445d3a921d9ac1e"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"771eb165f997984bd173f3d41c712068710f113f","unresolved":true,"context_lines":[{"line_number":2424,"context_line":"                    ):"},{"line_number":2425,"context_line":"                        ctxt.reraise \u003d False"},{"line_number":2426,"context_line":"                        LOG.info(\"Skipping add array %(target_array)s to pod\""},{"line_number":2427,"context_line":"                                 \" %(pod_name)s since it\u0027s already added.\","},{"line_number":2428,"context_line":"                                 {\"target_array\": target_array.array_name,"},{"line_number":2429,"context_line":"                                  \"pod_name\": pod_name})"},{"line_number":2430,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"48b2fcd4_3b131edc","line":2427,"range":{"start_line":2427,"start_character":48,"end_line":2427,"end_character":73},"updated":"2023-05-03 20:44:30.000000000","message":"Do you need to revise this log message?","commit_id":"9c0186c8ef6d8af70e1a193d8445d3a921d9ac1e"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"e06367c464798fccb25526623884b2b74898353e","unresolved":false,"context_lines":[{"line_number":2424,"context_line":"                    ):"},{"line_number":2425,"context_line":"                        ctxt.reraise \u003d False"},{"line_number":2426,"context_line":"                        LOG.info(\"Skipping add array %(target_array)s to pod\""},{"line_number":2427,"context_line":"                                 \" %(pod_name)s since it\u0027s already added.\","},{"line_number":2428,"context_line":"                                 {\"target_array\": target_array.array_name,"},{"line_number":2429,"context_line":"                                  \"pod_name\": pod_name})"},{"line_number":2430,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"19df1653_7c5c7686","line":2427,"range":{"start_line":2427,"start_character":48,"end_line":2427,"end_character":73},"in_reply_to":"48b2fcd4_3b131edc","updated":"2023-05-03 20:50:24.000000000","message":"No need - the error message has changed but the reason is the same.","commit_id":"9c0186c8ef6d8af70e1a193d8445d3a921d9ac1e"}]}
