)]}'
{"manila/share/drivers/ibm/gpfs.py":[{"author":{"_account_id":13998,"name":"Daniel Gonzalez Nothnagel","email":"daniel.gonzalez.nothnagel@sap.com","username":"dgonzalez"},"change_message_id":"2bfc7b2f150eb01a425962b1fded0012472402e1","unresolved":false,"context_lines":[{"line_number":774,"context_line":"        err_msg \u003d \u0027Failed to check exports on the system.\u0027"},{"line_number":775,"context_line":"        out \u003d self._execute_mmnfs_command((\u0027list\u0027, \u0027-n\u0027, local_path, \u0027-Y\u0027),"},{"line_number":776,"context_line":"                                          err_msg)"},{"line_number":777,"context_line":"        if access_to:"},{"line_number":778,"context_line":"            return \u0027:\u0027 + access_to + \u0027:\u0027 in out"},{"line_number":779,"context_line":"        else:"},{"line_number":780,"context_line":"            return \u0027:\u0027 + local_path + \u0027:\u0027 in out"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a6eadb0_41f097c9","line":777,"range":{"start_line":777,"start_character":9,"end_line":777,"end_character":20},"updated":"2016-12-15 08:26:47.000000000","message":"Are you sure you want to check `if access_to`? This would return False if access_to is an empty string. You could narrow this down by doing `if access_to is not None`.\n\nAlternatively, using my other suggestion below, you could write the following for the whole if-else construct:\n\n  client_access \u003d access_to if access_to is not None else local_path\n  return \u0027:\u0027 + client_access + \u0027:\u0027 in out","commit_id":"e6b91df7d9c66374b66cf6b8b48306ba3f62fc00"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"5f52238e72560b4270a2d108ce9f0bb4181fa5bf","unresolved":false,"context_lines":[{"line_number":774,"context_line":"        err_msg \u003d \u0027Failed to check exports on the system.\u0027"},{"line_number":775,"context_line":"        out \u003d self._execute_mmnfs_command((\u0027list\u0027, \u0027-n\u0027, local_path, \u0027-Y\u0027),"},{"line_number":776,"context_line":"                                          err_msg)"},{"line_number":777,"context_line":"        if access_to:"},{"line_number":778,"context_line":"            return \u0027:\u0027 + access_to + \u0027:\u0027 in out"},{"line_number":779,"context_line":"        else:"},{"line_number":780,"context_line":"            return \u0027:\u0027 + local_path + \u0027:\u0027 in out"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a6eadb0_d198cc7a","line":777,"range":{"start_line":777,"start_character":9,"end_line":777,"end_character":20},"in_reply_to":"1a6eadb0_41f097c9","updated":"2016-12-15 23:23:50.000000000","message":"I did that intentionally so that below would never do \"return \u0027::\u0027 in out \" which would be wrong behavior. In reality, this _internal method is only called with ipaddrs or None so it doesn\u0027t matter. Otherwise I\u0027d add validate/exception, but it is not necessary here. So your suggestion wouldn\u0027t hurt, but I prefer to only search for non-empty IPs and otherwise test for the path.","commit_id":"e6b91df7d9c66374b66cf6b8b48306ba3f62fc00"},{"author":{"_account_id":13998,"name":"Daniel Gonzalez Nothnagel","email":"daniel.gonzalez.nothnagel@sap.com","username":"dgonzalez"},"change_message_id":"83b919f6da1f2828ee95effdd02b5fd81ceed26f","unresolved":false,"context_lines":[{"line_number":774,"context_line":"        err_msg \u003d \u0027Failed to check exports on the system.\u0027"},{"line_number":775,"context_line":"        out \u003d self._execute_mmnfs_command((\u0027list\u0027, \u0027-n\u0027, local_path, \u0027-Y\u0027),"},{"line_number":776,"context_line":"                                          err_msg)"},{"line_number":777,"context_line":"        if access_to:"},{"line_number":778,"context_line":"            return \u0027:\u0027 + access_to + \u0027:\u0027 in out"},{"line_number":779,"context_line":"        else:"},{"line_number":780,"context_line":"            return \u0027:\u0027 + local_path + \u0027:\u0027 in out"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a6eadb0_396c7a9b","line":777,"range":{"start_line":777,"start_character":9,"end_line":777,"end_character":20},"in_reply_to":"1a6eadb0_d198cc7a","updated":"2016-12-16 07:42:30.000000000","message":"Ok, thats a valid point :)","commit_id":"e6b91df7d9c66374b66cf6b8b48306ba3f62fc00"},{"author":{"_account_id":13998,"name":"Daniel Gonzalez Nothnagel","email":"daniel.gonzalez.nothnagel@sap.com","username":"dgonzalez"},"change_message_id":"2bfc7b2f150eb01a425962b1fded0012472402e1","unresolved":false,"context_lines":[{"line_number":774,"context_line":"        err_msg \u003d \u0027Failed to check exports on the system.\u0027"},{"line_number":775,"context_line":"        out \u003d self._execute_mmnfs_command((\u0027list\u0027, \u0027-n\u0027, local_path, \u0027-Y\u0027),"},{"line_number":776,"context_line":"                                          err_msg)"},{"line_number":777,"context_line":"        if access_to:"},{"line_number":778,"context_line":"            return \u0027:\u0027 + access_to + \u0027:\u0027 in out"},{"line_number":779,"context_line":"        else:"},{"line_number":780,"context_line":"            return \u0027:\u0027 + local_path + \u0027:\u0027 in out"},{"line_number":781,"context_line":""},{"line_number":782,"context_line":"    def remove_export(self, local_path, share):"},{"line_number":783,"context_line":"        \"\"\"Remove export.\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"1a6eadb0_410257b5","line":780,"range":{"start_line":777,"start_character":8,"end_line":780,"end_character":48},"updated":"2016-12-15 08:26:47.000000000","message":"You could write the following to prevent a little code duplication:\n\n  client_access \u003d access_to or local_path\n  return \u0027:\u0027 + client_access + \u0027:\u0027 in out","commit_id":"e6b91df7d9c66374b66cf6b8b48306ba3f62fc00"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"5f52238e72560b4270a2d108ce9f0bb4181fa5bf","unresolved":false,"context_lines":[{"line_number":774,"context_line":"        err_msg \u003d \u0027Failed to check exports on the system.\u0027"},{"line_number":775,"context_line":"        out \u003d self._execute_mmnfs_command((\u0027list\u0027, \u0027-n\u0027, local_path, \u0027-Y\u0027),"},{"line_number":776,"context_line":"                                          err_msg)"},{"line_number":777,"context_line":"        if access_to:"},{"line_number":778,"context_line":"            return \u0027:\u0027 + access_to + \u0027:\u0027 in out"},{"line_number":779,"context_line":"        else:"},{"line_number":780,"context_line":"            return \u0027:\u0027 + local_path + \u0027:\u0027 in out"},{"line_number":781,"context_line":""},{"line_number":782,"context_line":"    def remove_export(self, local_path, share):"},{"line_number":783,"context_line":"        \"\"\"Remove export.\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"1a6eadb0_9134944a","line":780,"range":{"start_line":777,"start_character":8,"end_line":780,"end_character":48},"in_reply_to":"1a6eadb0_410257b5","updated":"2016-12-15 23:23:50.000000000","message":"I like the way you think, but I think the if/else makes it more readable here (a little bit).","commit_id":"e6b91df7d9c66374b66cf6b8b48306ba3f62fc00"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"c939733247fc91e65d29c3ddb2ce02583e4ba011","unresolved":false,"context_lines":[{"line_number":778,"context_line":"            return \u0027:\u0027 + access_to + \u0027:\u0027 in out"},{"line_number":779,"context_line":"        else:"},{"line_number":780,"context_line":"            return \u0027:\u0027 + local_path + \u0027:\u0027 in out"},{"line_number":781,"context_line":""},{"line_number":782,"context_line":"    def remove_export(self, local_path, share):"},{"line_number":783,"context_line":"        \"\"\"Remove export.\"\"\""},{"line_number":784,"context_line":"        if self._has_client_access(local_path):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a6eadb0_5d16624c","line":781,"updated":"2016-12-16 19:27:04.000000000","message":"still so tempted to be more clever here, but it just reads well as-is","commit_id":"e6b91df7d9c66374b66cf6b8b48306ba3f62fc00"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"d05895a62bc072044bd413e09869692598dd25cc","unresolved":false,"context_lines":[{"line_number":774,"context_line":"        err_msg \u003d \u0027Failed to check exports on the system.\u0027"},{"line_number":775,"context_line":"        out \u003d self._execute_mmnfs_command((\u0027list\u0027, \u0027-n\u0027, local_path, \u0027-Y\u0027),"},{"line_number":776,"context_line":"                                          err_msg)"},{"line_number":777,"context_line":"        if access_to:"},{"line_number":778,"context_line":"            return \u0027:\u0027 + access_to + \u0027:\u0027 in out"},{"line_number":779,"context_line":"        else:"},{"line_number":780,"context_line":"            return \u0027:\u0027 + local_path + \u0027:\u0027 in out"},{"line_number":781,"context_line":""},{"line_number":782,"context_line":"    def remove_export(self, local_path, share):"},{"line_number":783,"context_line":"        \"\"\"Remove export.\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_22f83e7c","line":780,"range":{"start_line":777,"start_character":8,"end_line":780,"end_character":48},"updated":"2016-12-20 10:34:16.000000000","message":"return \u0027:\u0027 + (access_to or local_path) + \u0027:\u0027 in out","commit_id":"5e7323cd1f53f7f7096bcd32e84c36cc4858097a"}],"releasenotes/notes/bug-1650043-gpfs-access-bugs-8c10f26ff1f795f4.yaml":[{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"4088ce40a7dddfea2ad95c6b9c8d2502a0afad14","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - Fixed GPFS CES to allow adding adding a first access rule to share."},{"line_number":4,"context_line":"  - Fixed GPFS CES to allow deleting a share with no access rules."},{"line_number":5,"context_line":"  - Fixed GPFS CES to allow deletion of a failed access rule"},{"line_number":6,"context_line":"    when there are no successful access rules."}],"source_content_type":"text/x-yaml","patch_set":1,"id":"1a6eadb0_ac802e8c","line":3,"range":{"start_line":3,"start_character":35,"end_line":3,"end_character":41},"updated":"2016-12-16 18:21:54.000000000","message":"duplicated","commit_id":"e6b91df7d9c66374b66cf6b8b48306ba3f62fc00"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"c939733247fc91e65d29c3ddb2ce02583e4ba011","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - Fixed GPFS CES to allow adding adding a first access rule to share."},{"line_number":4,"context_line":"  - Fixed GPFS CES to allow deleting a share with no access rules."},{"line_number":5,"context_line":"  - Fixed GPFS CES to allow deletion of a failed access rule"},{"line_number":6,"context_line":"    when there are no successful access rules."}],"source_content_type":"text/x-yaml","patch_set":1,"id":"1a6eadb0_c200d304","line":3,"range":{"start_line":3,"start_character":35,"end_line":3,"end_character":41},"in_reply_to":"1a6eadb0_ac802e8c","updated":"2016-12-16 19:27:04.000000000","message":"stammers\ndone done","commit_id":"e6b91df7d9c66374b66cf6b8b48306ba3f62fc00"}]}
