)]}'
{"neutron/agent/linux/utils.py":[{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"1a1ac3aa1d38ca05449db63cba580a1be308973f","unresolved":false,"context_lines":[{"line_number":193,"context_line":"    \"\"\"Ensure a directory with 755 permissions mode.\"\"\""},{"line_number":194,"context_line":"    if not os.path.isdir(dir_path):"},{"line_number":195,"context_line":"        try:"},{"line_number":196,"context_line":"            os.makedirs(dir_path, 0o755)"},{"line_number":197,"context_line":"        except OSError as e:"},{"line_number":198,"context_line":"            # Make sure that the error was that the directory was created"},{"line_number":199,"context_line":"            # by a different (concurrent) worker. If not, raise the error."}],"source_content_type":"text/x-python","patch_set":1,"id":"5afe65bd_3374af66","line":196,"updated":"2015-06-03 17:54:14.000000000","message":"Looks like we could remove line 194 now but LGTM.","commit_id":"75c3a8dee4a7f643d7654e2ea4641fd1bd18af62"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"5d5b07c8c4654d448005b8da3e44ebcf6752b9de","unresolved":false,"context_lines":[{"line_number":193,"context_line":"    \"\"\"Ensure a directory with 755 permissions mode.\"\"\""},{"line_number":194,"context_line":"    if not os.path.isdir(dir_path):"},{"line_number":195,"context_line":"        try:"},{"line_number":196,"context_line":"            os.makedirs(dir_path, 0o755)"},{"line_number":197,"context_line":"        except OSError as e:"},{"line_number":198,"context_line":"            # Make sure that the error was that the directory was created"},{"line_number":199,"context_line":"            # by a different (concurrent) worker. If not, raise the error."}],"source_content_type":"text/x-python","patch_set":1,"id":"5afe65bd_2c2e60a5","line":196,"in_reply_to":"5afe65bd_3374af66","updated":"2015-06-04 16:58:21.000000000","message":"You\u0027re right.  That didn\u0027t cross my mind.  If someone wants to get that as low-hanging fruit, I\u0027ll let them.","commit_id":"75c3a8dee4a7f643d7654e2ea4641fd1bd18af62"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"ff8e7010914059d1c9fb55d8fb45a581268a0277","unresolved":false,"context_lines":[{"line_number":197,"context_line":"        except OSError as e:"},{"line_number":198,"context_line":"            # Make sure that the error was that the directory was created"},{"line_number":199,"context_line":"            # by a different (concurrent) worker. If not, raise the error."},{"line_number":200,"context_line":"            if e.errno !\u003d errno.EEXIST:"},{"line_number":201,"context_line":"                raise"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5afe65bd_fa4f0cbb","line":200,"updated":"2015-06-03 17:03:41.000000000","message":"I am going to ask the usual question, do we need the save_context_and_reraise? :)","commit_id":"75c3a8dee4a7f643d7654e2ea4641fd1bd18af62"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"86d9b0bb66432885207d6759957865975b52e643","unresolved":false,"context_lines":[{"line_number":197,"context_line":"        except OSError as e:"},{"line_number":198,"context_line":"            # Make sure that the error was that the directory was created"},{"line_number":199,"context_line":"            # by a different (concurrent) worker. If not, raise the error."},{"line_number":200,"context_line":"            if e.errno !\u003d errno.EEXIST:"},{"line_number":201,"context_line":"                raise"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5afe65bd_fa94ace2","line":200,"in_reply_to":"5afe65bd_fa4f0cbb","updated":"2015-06-03 17:06:10.000000000","message":"I thought about adding it in but then noticed that there is nothing in this handler that could yield to another green thread, so it isn\u0027t vulnerable to the problem that the save context utility solves.  At least that is my understanding.  If you\u0027d prefer I use it anyway, I\u0027m okay with that.","commit_id":"75c3a8dee4a7f643d7654e2ea4641fd1bd18af62"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"8151f724baa53ce351b5d32c517975cef62d2738","unresolved":false,"context_lines":[{"line_number":197,"context_line":"        except OSError as e:"},{"line_number":198,"context_line":"            # Make sure that the error was that the directory was created"},{"line_number":199,"context_line":"            # by a different (concurrent) worker. If not, raise the error."},{"line_number":200,"context_line":"            if e.errno !\u003d errno.EEXIST:"},{"line_number":201,"context_line":"                raise"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5afe65bd_1dcb0274","line":200,"in_reply_to":"5afe65bd_fa94ace2","updated":"2015-06-03 17:18:16.000000000","message":"agreed, I was thrilled to be the first to ask the question!","commit_id":"75c3a8dee4a7f643d7654e2ea4641fd1bd18af62"}]}
