)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"968ed3eed623ea332b8cc064bf6ecad03819b061","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Added support for manage/unmanage in GPFS NFS driver."},{"line_number":10,"context_line":"This patch added functions that allow share on spectrum Scale"},{"line_number":11,"context_line":"node be managed by OpenStack, also, share can be deleted from"},{"line_number":12,"context_line":"OpenStack but still left in Spectrum Scale cluster."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I9134408b59c30ac4bc593f287294741f6e996136"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":14,"id":"5a74a57a_5721c7b3","line":12,"updated":"2016-11-29 20:02:58.000000000","message":"Probably good to mention what will be implemented regarding existing access rules here. I\u0027d say the BP has about the right amount of info.","commit_id":"42b1889ad0245e1d258d253717f4a1e7be907bc3"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"968ed3eed623ea332b8cc064bf6ecad03819b061","unresolved":false,"context_lines":[{"line_number":10,"context_line":"This patch added functions that allow share on spectrum Scale"},{"line_number":11,"context_line":"node be managed by OpenStack, also, share can be deleted from"},{"line_number":12,"context_line":"OpenStack but still left in Spectrum Scale cluster."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I9134408b59c30ac4bc593f287294741f6e996136"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":14,"id":"5a74a57a_37252b0a","line":13,"updated":"2016-11-29 20:02:58.000000000","message":"Need to add:\nImplements: blueprint gpfs-manage-support","commit_id":"42b1889ad0245e1d258d253717f4a1e7be907bc3"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"533fa7b99be081b5500a4764e56b8b5e62738360","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add support for manage/unmanage in GPFS driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Added support for manage/unmanage in GPFS NFS driver."},{"line_number":10,"context_line":"This patch added functions that allow share on spectrum Scale"},{"line_number":11,"context_line":"node be managed by OpenStack if existing fileset is an"},{"line_number":12,"context_line":"independent fileset and don\u0027t have any NFS export"},{"line_number":13,"context_line":"over the fileset path. Also, share can be deleted from"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"3a71b18c_928350cc","line":10,"range":{"start_line":10,"start_character":47,"end_line":10,"end_character":48},"updated":"2016-12-01 19:04:29.000000000","message":"s/spectrum/Spectrum/","commit_id":"a145dba64271c13bea8059bf9e6dacc220984338"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"538ff7a7ebdacc13f8b10158469370b307663699","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add support for manage/unmanage in GPFS driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Added support for manage/unmanage in GPFS NFS driver."},{"line_number":10,"context_line":"This patch added functions that allow share on spectrum Scale"},{"line_number":11,"context_line":"node be managed by OpenStack if existing fileset is an"},{"line_number":12,"context_line":"independent fileset and don\u0027t have any NFS export"},{"line_number":13,"context_line":"over the fileset path. Also, share can be deleted from"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"3a71b18c_fca196aa","line":10,"range":{"start_line":10,"start_character":47,"end_line":10,"end_character":48},"in_reply_to":"3a71b18c_928350cc","updated":"2016-12-02 10:49:07.000000000","message":"Done","commit_id":"a145dba64271c13bea8059bf9e6dacc220984338"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"533fa7b99be081b5500a4764e56b8b5e62738360","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Added support for manage/unmanage in GPFS NFS driver."},{"line_number":10,"context_line":"This patch added functions that allow share on spectrum Scale"},{"line_number":11,"context_line":"node be managed by OpenStack if existing fileset is an"},{"line_number":12,"context_line":"independent fileset and don\u0027t have any NFS export"},{"line_number":13,"context_line":"over the fileset path. Also, share can be deleted from"},{"line_number":14,"context_line":"OpenStack but still left in Spectrum Scale cluster."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"3a71b18c_925a7082","line":11,"range":{"start_line":11,"start_character":5,"end_line":11,"end_character":7},"updated":"2016-12-01 19:04:29.000000000","message":"nit: s/be/to be/","commit_id":"a145dba64271c13bea8059bf9e6dacc220984338"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"538ff7a7ebdacc13f8b10158469370b307663699","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Added support for manage/unmanage in GPFS NFS driver."},{"line_number":10,"context_line":"This patch added functions that allow share on spectrum Scale"},{"line_number":11,"context_line":"node be managed by OpenStack if existing fileset is an"},{"line_number":12,"context_line":"independent fileset and don\u0027t have any NFS export"},{"line_number":13,"context_line":"over the fileset path. Also, share can be deleted from"},{"line_number":14,"context_line":"OpenStack but still left in Spectrum Scale cluster."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"3a71b18c_1ca572b4","line":11,"range":{"start_line":11,"start_character":5,"end_line":11,"end_character":7},"in_reply_to":"3a71b18c_925a7082","updated":"2016-12-02 10:49:07.000000000","message":"Done","commit_id":"a145dba64271c13bea8059bf9e6dacc220984338"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"533fa7b99be081b5500a4764e56b8b5e62738360","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Added support for manage/unmanage in GPFS NFS driver."},{"line_number":10,"context_line":"This patch added functions that allow share on spectrum Scale"},{"line_number":11,"context_line":"node be managed by OpenStack if existing fileset is an"},{"line_number":12,"context_line":"independent fileset and don\u0027t have any NFS export"},{"line_number":13,"context_line":"over the fileset path. Also, share can be deleted from"},{"line_number":14,"context_line":"OpenStack but still left in Spectrum Scale cluster."},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"3a71b18c_72ccf435","line":12,"range":{"start_line":12,"start_character":24,"end_line":12,"end_character":29},"updated":"2016-12-01 19:04:29.000000000","message":"nit: s/don\u0027t/doesn\u0027t/","commit_id":"a145dba64271c13bea8059bf9e6dacc220984338"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"538ff7a7ebdacc13f8b10158469370b307663699","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Added support for manage/unmanage in GPFS NFS driver."},{"line_number":10,"context_line":"This patch added functions that allow share on spectrum Scale"},{"line_number":11,"context_line":"node be managed by OpenStack if existing fileset is an"},{"line_number":12,"context_line":"independent fileset and don\u0027t have any NFS export"},{"line_number":13,"context_line":"over the fileset path. Also, share can be deleted from"},{"line_number":14,"context_line":"OpenStack but still left in Spectrum Scale cluster."},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"3a71b18c_7c96664d","line":12,"range":{"start_line":12,"start_character":24,"end_line":12,"end_character":29},"in_reply_to":"3a71b18c_72ccf435","updated":"2016-12-02 10:49:07.000000000","message":"Done","commit_id":"a145dba64271c13bea8059bf9e6dacc220984338"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"f6b22d15676c007950893b770fe69f9ae0d3c4eb","unresolved":false,"context_lines":[{"line_number":10,"context_line":"This patch added functions that allow share on Spectrum Scale"},{"line_number":11,"context_line":"node to be managed by OpenStack if existing fileset is an"},{"line_number":12,"context_line":"independent fileset and doesn\u0027t have any NFS export"},{"line_number":13,"context_line":"over the fileset path. Also, share can be deleted from"},{"line_number":14,"context_line":"OpenStack but still left in Spectrum Scale cluster."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Implements: blueprint gpfs-manage-support"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":19,"id":"1a6eadb0_c344a71c","line":13,"range":{"start_line":13,"start_character":42,"end_line":13,"end_character":49},"updated":"2016-12-15 10:46:46.000000000","message":"better to use \"unmanaged\" here to avoid confusion","commit_id":"99698a44a8a897c0d3565487ca4ad1da8a1e6eea"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"c102709ab1706853bfb23ac08f03d25352858327","unresolved":false,"context_lines":[{"line_number":10,"context_line":"This patch added functions that allow share on Spectrum Scale"},{"line_number":11,"context_line":"node to be managed by OpenStack if existing fileset is an"},{"line_number":12,"context_line":"independent fileset and doesn\u0027t have any NFS export"},{"line_number":13,"context_line":"over the fileset path. Also, share can be deleted from"},{"line_number":14,"context_line":"OpenStack but still left in Spectrum Scale cluster."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Implements: blueprint gpfs-manage-support"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":19,"id":"1a6eadb0_41c6d768","line":13,"range":{"start_line":13,"start_character":42,"end_line":13,"end_character":49},"in_reply_to":"1a6eadb0_c344a71c","updated":"2016-12-21 13:45:18.000000000","message":"Done","commit_id":"99698a44a8a897c0d3565487ca4ad1da8a1e6eea"}],"doc/source/devref/share_back_ends_feature_support_mapping.rst":[{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"b9765081a9ff779891d485b8ac87c118887b8843","unresolved":false,"context_lines":[{"line_number":61,"context_line":"+----------------------------------------+-----------------------+-----------------------+--------------+--------------+------------------------+----------------------------+--------------------------+"},{"line_number":62,"context_line":"|                 Huawei                 |           K           |           L           |       L      |       L      |            K           |              M             |            \\-            |"},{"line_number":63,"context_line":"+----------------------------------------+-----------------------+-----------------------+--------------+--------------+------------------------+----------------------------+--------------------------+"},{"line_number":64,"context_line":"|                IBM GPFS                |           K           |           N           |       L      |      \\-      |            K           |              K             |            \\-            |"},{"line_number":65,"context_line":"+----------------------------------------+-----------------------+-----------------------+--------------+--------------+------------------------+----------------------------+--------------------------+"},{"line_number":66,"context_line":"|                  LVM                   |           M           |          \\-           |       M      |      \\-      |            M           |              M             |            \\-            |"},{"line_number":67,"context_line":"+----------------------------------------+-----------------------+-----------------------+--------------+--------------+------------------------+----------------------------+--------------------------+"}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa6399be_f093bd4d","line":64,"range":{"start_line":64,"start_character":77,"end_line":64,"end_character":78},"updated":"2016-10-11 03:10:54.000000000","message":"I think this should be changed to O,\ncause N version has already released.","commit_id":"0d9f9a2f2a27d135b3afdd36b7c43580c73a2829"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"72d9e803d27cf5a69d013497202392d53ea5b800","unresolved":false,"context_lines":[{"line_number":61,"context_line":"+----------------------------------------+-----------------------+-----------------------+--------------+--------------+------------------------+----------------------------+--------------------------+"},{"line_number":62,"context_line":"|                 Huawei                 |           K           |           L           |       L      |       L      |            K           |              M             |            \\-            |"},{"line_number":63,"context_line":"+----------------------------------------+-----------------------+-----------------------+--------------+--------------+------------------------+----------------------------+--------------------------+"},{"line_number":64,"context_line":"|                IBM GPFS                |           K           |           N           |       L      |      \\-      |            K           |              K             |            \\-            |"},{"line_number":65,"context_line":"+----------------------------------------+-----------------------+-----------------------+--------------+--------------+------------------------+----------------------------+--------------------------+"},{"line_number":66,"context_line":"|                  LVM                   |           M           |          \\-           |       M      |      \\-      |            M           |              M             |            \\-            |"},{"line_number":67,"context_line":"+----------------------------------------+-----------------------+-----------------------+--------------+--------------+------------------------+----------------------------+--------------------------+"}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa6399be_590e4635","line":64,"range":{"start_line":64,"start_character":77,"end_line":64,"end_character":78},"in_reply_to":"fa6399be_f093bd4d","updated":"2016-10-11 12:05:15.000000000","message":"+1","commit_id":"0d9f9a2f2a27d135b3afdd36b7c43580c73a2829"}],"manila/share/drivers/ibm/gpfs.py":[{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"0e7c0c9636cbed1f90e16d94c32cc2ed914cda01","unresolved":false,"context_lines":[{"line_number":564,"context_line":"            raise exception.InvalidParameterValue(err\u003dmsg)"},{"line_number":565,"context_line":""},{"line_number":566,"context_line":"    def _is_share_valid(self, fsdev, location):"},{"line_number":567,"context_line":"        err_msg \u003d (_(\u0027Given Fileset is not present at expected mount point.\u0027))"},{"line_number":568,"context_line":"        try:"},{"line_number":569,"context_line":"            out, __ \u003d self._gpfs_execute(\u0027mmlsfileset\u0027, fsdev, \u0027-J\u0027,"},{"line_number":570,"context_line":"                                         location, \u0027-L\u0027, \u0027-Y\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a8bc5a2_1fb035dd","line":567,"range":{"start_line":567,"start_character":28,"end_line":567,"end_character":35},"updated":"2016-09-22 12:20:44.000000000","message":"fileset","commit_id":"b5c7e27e1d9be541e5b5bbf9e2dfe6c19fb39ae0"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"0e7c0c9636cbed1f90e16d94c32cc2ed914cda01","unresolved":false,"context_lines":[{"line_number":564,"context_line":"            raise exception.InvalidParameterValue(err\u003dmsg)"},{"line_number":565,"context_line":""},{"line_number":566,"context_line":"    def _is_share_valid(self, fsdev, location):"},{"line_number":567,"context_line":"        err_msg \u003d (_(\u0027Given Fileset is not present at expected mount point.\u0027))"},{"line_number":568,"context_line":"        try:"},{"line_number":569,"context_line":"            out, __ \u003d self._gpfs_execute(\u0027mmlsfileset\u0027, fsdev, \u0027-J\u0027,"},{"line_number":570,"context_line":"                                         location, \u0027-L\u0027, \u0027-Y\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a8bc5a2_9ff28599","line":567,"range":{"start_line":567,"start_character":18,"end_line":567,"end_character":19},"updated":"2016-09-22 12:20:44.000000000","message":"redundant parentheses.","commit_id":"b5c7e27e1d9be541e5b5bbf9e2dfe6c19fb39ae0"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"0e7c0c9636cbed1f90e16d94c32cc2ed914cda01","unresolved":false,"context_lines":[{"line_number":576,"context_line":""},{"line_number":577,"context_line":"        lines \u003d out.splitlines()"},{"line_number":578,"context_line":"        validation_token \u003d lines[0].split(\u0027:\u0027).index(\u0027allocInodes\u0027)"},{"line_number":579,"context_line":"        AllocInodes \u003d lines[1].split(\u0027:\u0027)[validation_token]"},{"line_number":580,"context_line":""},{"line_number":581,"context_line":"        if (AllocInodes \u003d\u003d \u00270\u0027):"},{"line_number":582,"context_line":"            return False"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a8bc5a2_7f74d9ce","line":579,"range":{"start_line":579,"start_character":8,"end_line":579,"end_character":19},"updated":"2016-09-22 12:20:44.000000000","message":"suggest using lower case words","commit_id":"b5c7e27e1d9be541e5b5bbf9e2dfe6c19fb39ae0"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"0e7c0c9636cbed1f90e16d94c32cc2ed914cda01","unresolved":false,"context_lines":[{"line_number":598,"context_line":"        try:"},{"line_number":599,"context_line":"            self._gpfs_execute(\u0027mmunlinkfileset\u0027, fsdev, sharename, \u0027-f\u0027)"},{"line_number":600,"context_line":"        except exception.ProcessExecutionError as e:"},{"line_number":601,"context_line":"            msg \u003d (_(\u0027Failed unlink fileset for share %(sharename)s. \u0027"},{"line_number":602,"context_line":"                     \u0027Error: %(excmsg)s.\u0027) %"},{"line_number":603,"context_line":"                   {\u0027sharename\u0027: sharename, \u0027excmsg\u0027: e})"},{"line_number":604,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a8bc5a2_ff1c6979","line":601,"range":{"start_line":601,"start_character":28,"end_line":601,"end_character":29},"updated":"2016-09-22 12:20:44.000000000","message":"to","commit_id":"b5c7e27e1d9be541e5b5bbf9e2dfe6c19fb39ae0"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"0e7c0c9636cbed1f90e16d94c32cc2ed914cda01","unresolved":false,"context_lines":[{"line_number":656,"context_line":""},{"line_number":657,"context_line":"    def manage_existing(self, share, driver_options):"},{"line_number":658,"context_line":""},{"line_number":659,"context_line":"        old_export_location \u003d (share[\u0027export_location\u0027]).split(\u0027:\u0027)[-1]"},{"line_number":660,"context_line":"        fsdev \u003d self._get_gpfs_device()"},{"line_number":661,"context_line":""},{"line_number":662,"context_line":"        out \u003d self._is_share_valid(fsdev, old_export_location)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a8bc5a2_7a79472f","line":659,"range":{"start_line":659,"start_character":30,"end_line":659,"end_character":31},"updated":"2016-09-22 12:20:44.000000000","message":"redundant parentheses","commit_id":"b5c7e27e1d9be541e5b5bbf9e2dfe6c19fb39ae0"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"0e7c0c9636cbed1f90e16d94c32cc2ed914cda01","unresolved":false,"context_lines":[{"line_number":661,"context_line":""},{"line_number":662,"context_line":"        out \u003d self._is_share_valid(fsdev, old_export_location)"},{"line_number":663,"context_line":"        if not out:"},{"line_number":664,"context_line":"            err_msg \u003d (_(\u0027Provided share is not Valid share.\u0027))"},{"line_number":665,"context_line":"            raise exception.ManageInvalidShare(reason\u003derr_msg)"},{"line_number":666,"context_line":""},{"line_number":667,"context_line":"        out \u003d self._get_helper(share)._is_share_exported(share,"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a8bc5a2_baaaef6e","line":664,"range":{"start_line":664,"start_character":22,"end_line":664,"end_character":23},"updated":"2016-09-22 12:20:44.000000000","message":"ditto","commit_id":"b5c7e27e1d9be541e5b5bbf9e2dfe6c19fb39ae0"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"0e7c0c9636cbed1f90e16d94c32cc2ed914cda01","unresolved":false,"context_lines":[{"line_number":661,"context_line":""},{"line_number":662,"context_line":"        out \u003d self._is_share_valid(fsdev, old_export_location)"},{"line_number":663,"context_line":"        if not out:"},{"line_number":664,"context_line":"            err_msg \u003d (_(\u0027Provided share is not Valid share.\u0027))"},{"line_number":665,"context_line":"            raise exception.ManageInvalidShare(reason\u003derr_msg)"},{"line_number":666,"context_line":""},{"line_number":667,"context_line":"        out \u003d self._get_helper(share)._is_share_exported(share,"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a8bc5a2_fae1d7d1","line":664,"range":{"start_line":664,"start_character":48,"end_line":664,"end_character":53},"updated":"2016-09-22 12:20:44.000000000","message":"valid","commit_id":"b5c7e27e1d9be541e5b5bbf9e2dfe6c19fb39ae0"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"0e7c0c9636cbed1f90e16d94c32cc2ed914cda01","unresolved":false,"context_lines":[{"line_number":666,"context_line":""},{"line_number":667,"context_line":"        out \u003d self._get_helper(share)._is_share_exported(share,"},{"line_number":668,"context_line":"                                                         old_export_location)"},{"line_number":669,"context_line":"        out \u003d re.findall(old_export_location+\u0027\\\\b\u0027, out)"},{"line_number":670,"context_line":"        if out:"},{"line_number":671,"context_line":"            err_msg \u003d (_(\u0027Provided share is already in use.\u0027))"},{"line_number":672,"context_line":"            raise exception.ManageInvalidShare(reason\u003derr_msg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a8bc5a2_5a3f2b25","line":669,"range":{"start_line":669,"start_character":44,"end_line":669,"end_character":45},"updated":"2016-09-22 12:20:44.000000000","message":"add spaces beside this operator.","commit_id":"b5c7e27e1d9be541e5b5bbf9e2dfe6c19fb39ae0"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"0e7c0c9636cbed1f90e16d94c32cc2ed914cda01","unresolved":false,"context_lines":[{"line_number":668,"context_line":"                                                         old_export_location)"},{"line_number":669,"context_line":"        out \u003d re.findall(old_export_location+\u0027\\\\b\u0027, out)"},{"line_number":670,"context_line":"        if out:"},{"line_number":671,"context_line":"            err_msg \u003d (_(\u0027Provided share is already in use.\u0027))"},{"line_number":672,"context_line":"            raise exception.ManageInvalidShare(reason\u003derr_msg)"},{"line_number":673,"context_line":""},{"line_number":674,"context_line":"        share_size, new_export_location \u003d self._manage_existing("}],"source_content_type":"text/x-python","patch_set":2,"id":"5a8bc5a2_fa1637a6","line":671,"range":{"start_line":671,"start_character":22,"end_line":671,"end_character":23},"updated":"2016-09-22 12:20:44.000000000","message":"ditto","commit_id":"b5c7e27e1d9be541e5b5bbf9e2dfe6c19fb39ae0"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"0e7c0c9636cbed1f90e16d94c32cc2ed914cda01","unresolved":false,"context_lines":[{"line_number":669,"context_line":"        out \u003d re.findall(old_export_location+\u0027\\\\b\u0027, out)"},{"line_number":670,"context_line":"        if out:"},{"line_number":671,"context_line":"            err_msg \u003d (_(\u0027Provided share is already in use.\u0027))"},{"line_number":672,"context_line":"            raise exception.ManageInvalidShare(reason\u003derr_msg)"},{"line_number":673,"context_line":""},{"line_number":674,"context_line":"        share_size, new_export_location \u003d self._manage_existing("},{"line_number":675,"context_line":"            fsdev, share, old_export_location)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a8bc5a2_5a6d6b31","line":672,"updated":"2016-09-22 12:20:44.000000000","message":"suggest adding a log before exception raise.","commit_id":"b5c7e27e1d9be541e5b5bbf9e2dfe6c19fb39ae0"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"0e7c0c9636cbed1f90e16d94c32cc2ed914cda01","unresolved":false,"context_lines":[{"line_number":795,"context_line":"            out, __ \u003d self._execute(\u0027exportfs\u0027, run_as_root\u003dTrue)"},{"line_number":796,"context_line":"        except exception.ProcessExecutionError as e:"},{"line_number":797,"context_line":"            msg \u003d (_(\u0027Failed to check exports on the systems. \u0027"},{"line_number":798,"context_line":"                     \u0027 Error: %s.\u0027) % e)"},{"line_number":799,"context_line":"            LOG.error(msg)"},{"line_number":800,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":801,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5a8bc5a2_da5fbb73","line":798,"range":{"start_line":798,"start_character":22,"end_line":798,"end_character":23},"updated":"2016-09-22 12:20:44.000000000","message":"redundant space.","commit_id":"b5c7e27e1d9be541e5b5bbf9e2dfe6c19fb39ae0"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"d46c0886aa1aad1282b6830e1378f148621d8baa","unresolved":false,"context_lines":[{"line_number":574,"context_line":"            LOG.error(msg)"},{"line_number":575,"context_line":"            raise exception.ManageInvalidShare(reason\u003derr_msg)"},{"line_number":576,"context_line":""},{"line_number":577,"context_line":"        lines \u003d out.splitlines()"},{"line_number":578,"context_line":"        validation_token \u003d lines[0].split(\u0027:\u0027).index(\u0027allocInodes\u0027)"},{"line_number":579,"context_line":"        alloc_inodes \u003d lines[1].split(\u0027:\u0027)[validation_token]"},{"line_number":580,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5a8bc5a2_63cfdbb0","line":577,"range":{"start_line":577,"start_character":8,"end_line":577,"end_character":13},"updated":"2016-09-22 14:12:19.000000000","message":"How about check the length of lines?","commit_id":"302e9b32786ea1e7625294cf1cce7d60825512ac"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"8d6ab845d2bc32d023e232ffc555d133cacff667","unresolved":false,"context_lines":[{"line_number":574,"context_line":"            LOG.error(msg)"},{"line_number":575,"context_line":"            raise exception.ManageInvalidShare(reason\u003derr_msg)"},{"line_number":576,"context_line":""},{"line_number":577,"context_line":"        lines \u003d out.splitlines()"},{"line_number":578,"context_line":"        validation_token \u003d lines[0].split(\u0027:\u0027).index(\u0027allocInodes\u0027)"},{"line_number":579,"context_line":"        alloc_inodes \u003d lines[1].split(\u0027:\u0027)[validation_token]"},{"line_number":580,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5a8bc5a2_ca68978a","line":577,"range":{"start_line":577,"start_character":8,"end_line":577,"end_character":13},"in_reply_to":"5a8bc5a2_63cfdbb0","updated":"2016-09-23 14:07:41.000000000","message":"Thanks for review.\nmmlsfilest take care of negative testcase. i.e., if fileset is not present at given point, it will not execute this code.","commit_id":"302e9b32786ea1e7625294cf1cce7d60825512ac"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"d46c0886aa1aad1282b6830e1378f148621d8baa","unresolved":false,"context_lines":[{"line_number":578,"context_line":"        validation_token \u003d lines[0].split(\u0027:\u0027).index(\u0027allocInodes\u0027)"},{"line_number":579,"context_line":"        alloc_inodes \u003d lines[1].split(\u0027:\u0027)[validation_token]"},{"line_number":580,"context_line":""},{"line_number":581,"context_line":"        if (alloc_inodes \u003d\u003d \u00270\u0027):"},{"line_number":582,"context_line":"            return False"},{"line_number":583,"context_line":"        return True"},{"line_number":584,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5a8bc5a2_e3520bdd","line":581,"range":{"start_line":581,"start_character":31,"end_line":581,"end_character":32},"updated":"2016-09-22 14:12:19.000000000","message":"Redundant parenthesis","commit_id":"302e9b32786ea1e7625294cf1cce7d60825512ac"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"8d6ab845d2bc32d023e232ffc555d133cacff667","unresolved":false,"context_lines":[{"line_number":578,"context_line":"        validation_token \u003d lines[0].split(\u0027:\u0027).index(\u0027allocInodes\u0027)"},{"line_number":579,"context_line":"        alloc_inodes \u003d lines[1].split(\u0027:\u0027)[validation_token]"},{"line_number":580,"context_line":""},{"line_number":581,"context_line":"        if (alloc_inodes \u003d\u003d \u00270\u0027):"},{"line_number":582,"context_line":"            return False"},{"line_number":583,"context_line":"        return True"},{"line_number":584,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5a8bc5a2_4a0d6736","line":581,"range":{"start_line":581,"start_character":31,"end_line":581,"end_character":32},"in_reply_to":"5a8bc5a2_e3520bdd","updated":"2016-09-23 14:07:41.000000000","message":"Done","commit_id":"302e9b32786ea1e7625294cf1cce7d60825512ac"},{"author":{"_account_id":13998,"name":"Daniel Gonzalez Nothnagel","email":"daniel.gonzalez.nothnagel@sap.com","username":"dgonzalez"},"change_message_id":"c174bcb63bf7e3587b5e1f1948c7a9002424bc70","unresolved":false,"context_lines":[{"line_number":578,"context_line":"        validation_token \u003d lines[0].split(\u0027:\u0027).index(\u0027allocInodes\u0027)"},{"line_number":579,"context_line":"        alloc_inodes \u003d lines[1].split(\u0027:\u0027)[validation_token]"},{"line_number":580,"context_line":""},{"line_number":581,"context_line":"        if (alloc_inodes \u003d\u003d \u00270\u0027):"},{"line_number":582,"context_line":"            return False"},{"line_number":583,"context_line":"        return True"},{"line_number":584,"context_line":""},{"line_number":585,"context_line":"    def _manage_existing(self, fsdev, share, old_export_location):"},{"line_number":586,"context_line":"        sharename \u003d share[\u0027name\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a8bc5a2_924ddc74","line":583,"range":{"start_line":581,"start_character":8,"end_line":583,"end_character":19},"updated":"2016-09-23 11:34:52.000000000","message":"Could be shortened to\n\n  return alloc_inodes !\u003d \u00270\u0027","commit_id":"302e9b32786ea1e7625294cf1cce7d60825512ac"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"8d6ab845d2bc32d023e232ffc555d133cacff667","unresolved":false,"context_lines":[{"line_number":578,"context_line":"        validation_token \u003d lines[0].split(\u0027:\u0027).index(\u0027allocInodes\u0027)"},{"line_number":579,"context_line":"        alloc_inodes \u003d lines[1].split(\u0027:\u0027)[validation_token]"},{"line_number":580,"context_line":""},{"line_number":581,"context_line":"        if (alloc_inodes \u003d\u003d \u00270\u0027):"},{"line_number":582,"context_line":"            return False"},{"line_number":583,"context_line":"        return True"},{"line_number":584,"context_line":""},{"line_number":585,"context_line":"    def _manage_existing(self, fsdev, share, old_export_location):"},{"line_number":586,"context_line":"        sharename \u003d share[\u0027name\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a8bc5a2_b2bf385f","line":583,"range":{"start_line":581,"start_character":8,"end_line":583,"end_character":19},"in_reply_to":"5a8bc5a2_924ddc74","updated":"2016-09-23 14:07:41.000000000","message":"Done","commit_id":"302e9b32786ea1e7625294cf1cce7d60825512ac"},{"author":{"_account_id":13998,"name":"Daniel Gonzalez Nothnagel","email":"daniel.gonzalez.nothnagel@sap.com","username":"dgonzalez"},"change_message_id":"c174bcb63bf7e3587b5e1f1948c7a9002424bc70","unresolved":false,"context_lines":[{"line_number":633,"context_line":"            LOG.error(msg)"},{"line_number":634,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":635,"context_line":""},{"line_number":636,"context_line":"        lines \u003d out.splitlines()"},{"line_number":637,"context_line":"        quota_limit \u003d lines[0].split(\u0027:\u0027).index(\u0027blockLimit\u0027)"},{"line_number":638,"context_line":"        quota_status \u003d lines[1].split(\u0027:\u0027)[quota_limit]"},{"line_number":639,"context_line":"        share_size \u003d int(quota_status)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a8bc5a2_12b0ec42","line":636,"range":{"start_line":636,"start_character":8,"end_line":636,"end_character":13},"updated":"2016-09-23 11:34:52.000000000","message":"As zhongjun pointed out above, it might be a good idea to check the length of lines","commit_id":"302e9b32786ea1e7625294cf1cce7d60825512ac"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"8d6ab845d2bc32d023e232ffc555d133cacff667","unresolved":false,"context_lines":[{"line_number":633,"context_line":"            LOG.error(msg)"},{"line_number":634,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":635,"context_line":""},{"line_number":636,"context_line":"        lines \u003d out.splitlines()"},{"line_number":637,"context_line":"        quota_limit \u003d lines[0].split(\u0027:\u0027).index(\u0027blockLimit\u0027)"},{"line_number":638,"context_line":"        quota_status \u003d lines[1].split(\u0027:\u0027)[quota_limit]"},{"line_number":639,"context_line":"        share_size \u003d int(quota_status)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a8bc5a2_1d147d42","line":636,"range":{"start_line":636,"start_character":8,"end_line":636,"end_character":13},"in_reply_to":"5a8bc5a2_12b0ec42","updated":"2016-09-23 14:07:41.000000000","message":"Thanks for review. mmlsquota take care of negative testcase. i.e., if fileset is not present at given point, it will not execute this code.","commit_id":"302e9b32786ea1e7625294cf1cce7d60825512ac"},{"author":{"_account_id":13998,"name":"Daniel Gonzalez Nothnagel","email":"daniel.gonzalez.nothnagel@sap.com","username":"dgonzalez"},"change_message_id":"c174bcb63bf7e3587b5e1f1948c7a9002424bc70","unresolved":false,"context_lines":[{"line_number":637,"context_line":"        quota_limit \u003d lines[0].split(\u0027:\u0027).index(\u0027blockLimit\u0027)"},{"line_number":638,"context_line":"        quota_status \u003d lines[1].split(\u0027:\u0027)[quota_limit]"},{"line_number":639,"context_line":"        share_size \u003d int(quota_status)"},{"line_number":640,"context_line":"        if (share_size \u003c 1048576):"},{"line_number":641,"context_line":"            try:"},{"line_number":642,"context_line":"                self._gpfs_execute(\u0027mmsetquota\u0027, fsdev + \u0027:\u0027 + sharename,"},{"line_number":643,"context_line":"                                   \u0027--block\u0027, \u00270:1G\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a8bc5a2_728cd07f","line":640,"range":{"start_line":640,"start_character":11,"end_line":640,"end_character":12},"updated":"2016-09-23 11:34:52.000000000","message":"parentheses not required","commit_id":"302e9b32786ea1e7625294cf1cce7d60825512ac"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"8d6ab845d2bc32d023e232ffc555d133cacff667","unresolved":false,"context_lines":[{"line_number":637,"context_line":"        quota_limit \u003d lines[0].split(\u0027:\u0027).index(\u0027blockLimit\u0027)"},{"line_number":638,"context_line":"        quota_status \u003d lines[1].split(\u0027:\u0027)[quota_limit]"},{"line_number":639,"context_line":"        share_size \u003d int(quota_status)"},{"line_number":640,"context_line":"        if (share_size \u003c 1048576):"},{"line_number":641,"context_line":"            try:"},{"line_number":642,"context_line":"                self._gpfs_execute(\u0027mmsetquota\u0027, fsdev + \u0027:\u0027 + sharename,"},{"line_number":643,"context_line":"                                   \u0027--block\u0027, \u00270:1G\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a8bc5a2_7d190179","line":640,"range":{"start_line":640,"start_character":11,"end_line":640,"end_character":12},"in_reply_to":"5a8bc5a2_728cd07f","updated":"2016-09-23 14:07:41.000000000","message":"Done","commit_id":"302e9b32786ea1e7625294cf1cce7d60825512ac"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"d46c0886aa1aad1282b6830e1378f148621d8baa","unresolved":false,"context_lines":[{"line_number":654,"context_line":"            new_export_location)"},{"line_number":655,"context_line":"        return share_size, new_export_location"},{"line_number":656,"context_line":""},{"line_number":657,"context_line":"    def manage_existing(self, share, driver_options):"},{"line_number":658,"context_line":""},{"line_number":659,"context_line":"        old_export_location \u003d share[\u0027export_location\u0027].split(\u0027:\u0027)[-1]"},{"line_number":660,"context_line":"        fsdev \u003d self._get_gpfs_device()"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a8bc5a2_a33e43b6","line":657,"range":{"start_line":657,"start_character":30,"end_line":657,"end_character":35},"updated":"2016-09-22 14:12:19.000000000","message":"Does you need to check share host? please see this link: https://github.com/openstack/manila/blob/master/manila/share/drivers/hitachi/hnas/driver.py#L509","commit_id":"302e9b32786ea1e7625294cf1cce7d60825512ac"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"8d6ab845d2bc32d023e232ffc555d133cacff667","unresolved":false,"context_lines":[{"line_number":654,"context_line":"            new_export_location)"},{"line_number":655,"context_line":"        return share_size, new_export_location"},{"line_number":656,"context_line":""},{"line_number":657,"context_line":"    def manage_existing(self, share, driver_options):"},{"line_number":658,"context_line":""},{"line_number":659,"context_line":"        old_export_location \u003d share[\u0027export_location\u0027].split(\u0027:\u0027)[-1]"},{"line_number":660,"context_line":"        fsdev \u003d self._get_gpfs_device()"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a8bc5a2_b292d849","line":657,"range":{"start_line":657,"start_character":30,"end_line":657,"end_character":35},"in_reply_to":"5a8bc5a2_a33e43b6","updated":"2016-09-23 14:07:41.000000000","message":"Thanks for review.\nWill update it in next patch.","commit_id":"302e9b32786ea1e7625294cf1cce7d60825512ac"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"d46c0886aa1aad1282b6830e1378f148621d8baa","unresolved":false,"context_lines":[{"line_number":656,"context_line":""},{"line_number":657,"context_line":"    def manage_existing(self, share, driver_options):"},{"line_number":658,"context_line":""},{"line_number":659,"context_line":"        old_export_location \u003d share[\u0027export_location\u0027].split(\u0027:\u0027)[-1]"},{"line_number":660,"context_line":"        fsdev \u003d self._get_gpfs_device()"},{"line_number":661,"context_line":""},{"line_number":662,"context_line":"        out \u003d self._is_share_valid(fsdev, old_export_location)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a8bc5a2_887c0422","line":659,"range":{"start_line":659,"start_character":30,"end_line":659,"end_character":69},"updated":"2016-09-22 14:12:19.000000000","message":"How about check share[\u0027export_location\u0027].split(\u0027:\u0027)[0]? such as: test:/share_test and test1:/share_test","commit_id":"302e9b32786ea1e7625294cf1cce7d60825512ac"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"8d6ab845d2bc32d023e232ffc555d133cacff667","unresolved":false,"context_lines":[{"line_number":656,"context_line":""},{"line_number":657,"context_line":"    def manage_existing(self, share, driver_options):"},{"line_number":658,"context_line":""},{"line_number":659,"context_line":"        old_export_location \u003d share[\u0027export_location\u0027].split(\u0027:\u0027)[-1]"},{"line_number":660,"context_line":"        fsdev \u003d self._get_gpfs_device()"},{"line_number":661,"context_line":""},{"line_number":662,"context_line":"        out \u003d self._is_share_valid(fsdev, old_export_location)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a8bc5a2_32c6c849","line":659,"range":{"start_line":659,"start_character":30,"end_line":659,"end_character":69},"in_reply_to":"5a8bc5a2_887c0422","updated":"2016-09-23 14:07:41.000000000","message":"great suggestion.\nwill update it in next patch.","commit_id":"302e9b32786ea1e7625294cf1cce7d60825512ac"},{"author":{"_account_id":13998,"name":"Daniel Gonzalez Nothnagel","email":"daniel.gonzalez.nothnagel@sap.com","username":"dgonzalez"},"change_message_id":"c174bcb63bf7e3587b5e1f1948c7a9002424bc70","unresolved":false,"context_lines":[{"line_number":659,"context_line":"        old_export_location \u003d share[\u0027export_location\u0027].split(\u0027:\u0027)[-1]"},{"line_number":660,"context_line":"        fsdev \u003d self._get_gpfs_device()"},{"line_number":661,"context_line":""},{"line_number":662,"context_line":"        out \u003d self._is_share_valid(fsdev, old_export_location)"},{"line_number":663,"context_line":"        if not out:"},{"line_number":664,"context_line":"            err_msg \u003d _(\u0027Provided share is not valid share.\u0027)"},{"line_number":665,"context_line":"            LOG.error(err_msg)"},{"line_number":666,"context_line":"            raise exception.ManageInvalidShare(reason\u003derr_msg)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a8bc5a2_925ebce7","line":663,"range":{"start_line":662,"start_character":8,"end_line":663,"end_character":19},"updated":"2016-09-23 11:34:52.000000000","message":"Could be shortened to\n\n  if not self._is_share_valid(fsdev, old_export_location)","commit_id":"302e9b32786ea1e7625294cf1cce7d60825512ac"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"8d6ab845d2bc32d023e232ffc555d133cacff667","unresolved":false,"context_lines":[{"line_number":659,"context_line":"        old_export_location \u003d share[\u0027export_location\u0027].split(\u0027:\u0027)[-1]"},{"line_number":660,"context_line":"        fsdev \u003d self._get_gpfs_device()"},{"line_number":661,"context_line":""},{"line_number":662,"context_line":"        out \u003d self._is_share_valid(fsdev, old_export_location)"},{"line_number":663,"context_line":"        if not out:"},{"line_number":664,"context_line":"            err_msg \u003d _(\u0027Provided share is not valid share.\u0027)"},{"line_number":665,"context_line":"            LOG.error(err_msg)"},{"line_number":666,"context_line":"            raise exception.ManageInvalidShare(reason\u003derr_msg)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a8bc5a2_bd77099e","line":663,"range":{"start_line":662,"start_character":8,"end_line":663,"end_character":19},"in_reply_to":"5a8bc5a2_925ebce7","updated":"2016-09-23 14:07:41.000000000","message":"Done","commit_id":"302e9b32786ea1e7625294cf1cce7d60825512ac"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"d46c0886aa1aad1282b6830e1378f148621d8baa","unresolved":false,"context_lines":[{"line_number":792,"context_line":"            LOG.error(msg)"},{"line_number":793,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":794,"context_line":""},{"line_number":795,"context_line":"    def _is_share_exported(self, share, location):"},{"line_number":796,"context_line":"        try:"},{"line_number":797,"context_line":"            out, __ \u003d self._execute(\u0027exportfs\u0027, run_as_root\u003dTrue)"},{"line_number":798,"context_line":"        except exception.ProcessExecutionError as e:"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a8bc5a2_280a10d3","line":795,"range":{"start_line":795,"start_character":33,"end_line":795,"end_character":39},"updated":"2016-09-22 14:12:19.000000000","message":"This parameter not be used.","commit_id":"302e9b32786ea1e7625294cf1cce7d60825512ac"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"d46c0886aa1aad1282b6830e1378f148621d8baa","unresolved":false,"context_lines":[{"line_number":792,"context_line":"            LOG.error(msg)"},{"line_number":793,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":794,"context_line":""},{"line_number":795,"context_line":"    def _is_share_exported(self, share, location):"},{"line_number":796,"context_line":"        try:"},{"line_number":797,"context_line":"            out, __ \u003d self._execute(\u0027exportfs\u0027, run_as_root\u003dTrue)"},{"line_number":798,"context_line":"        except exception.ProcessExecutionError as e:"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a8bc5a2_48267c69","line":795,"range":{"start_line":795,"start_character":40,"end_line":795,"end_character":48},"updated":"2016-09-22 14:12:19.000000000","message":"above","commit_id":"302e9b32786ea1e7625294cf1cce7d60825512ac"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"8d6ab845d2bc32d023e232ffc555d133cacff667","unresolved":false,"context_lines":[{"line_number":792,"context_line":"            LOG.error(msg)"},{"line_number":793,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":794,"context_line":""},{"line_number":795,"context_line":"    def _is_share_exported(self, share, location):"},{"line_number":796,"context_line":"        try:"},{"line_number":797,"context_line":"            out, __ \u003d self._execute(\u0027exportfs\u0027, run_as_root\u003dTrue)"},{"line_number":798,"context_line":"        except exception.ProcessExecutionError as e:"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a8bc5a2_fda8b1dd","line":795,"range":{"start_line":795,"start_character":33,"end_line":795,"end_character":39},"in_reply_to":"5a8bc5a2_280a10d3","updated":"2016-09-23 14:07:41.000000000","message":"Done","commit_id":"302e9b32786ea1e7625294cf1cce7d60825512ac"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"8d6ab845d2bc32d023e232ffc555d133cacff667","unresolved":false,"context_lines":[{"line_number":792,"context_line":"            LOG.error(msg)"},{"line_number":793,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":794,"context_line":""},{"line_number":795,"context_line":"    def _is_share_exported(self, share, location):"},{"line_number":796,"context_line":"        try:"},{"line_number":797,"context_line":"            out, __ \u003d self._execute(\u0027exportfs\u0027, run_as_root\u003dTrue)"},{"line_number":798,"context_line":"        except exception.ProcessExecutionError as e:"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a8bc5a2_1db0fd42","line":795,"range":{"start_line":795,"start_character":40,"end_line":795,"end_character":48},"in_reply_to":"5a8bc5a2_48267c69","updated":"2016-09-23 14:07:41.000000000","message":"Done","commit_id":"302e9b32786ea1e7625294cf1cce7d60825512ac"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"bb118b67be9cb4327ec6aa1e2f313fb8733b156a","unresolved":false,"context_lines":[{"line_number":579,"context_line":"            validation_token \u003d lines[0].split(\u0027:\u0027).index(\u0027allocInodes\u0027)"},{"line_number":580,"context_line":"            alloc_inodes \u003d lines[1].split(\u0027:\u0027)[validation_token]"},{"line_number":581,"context_line":"        except (IndexError, ValueError) as e:"},{"line_number":582,"context_line":"            msg \u003d (_(\u0027Failed to check fileset. Error: %(excmsg)s.\u0027) %"},{"line_number":583,"context_line":"                   {\u0027excmsg\u0027: e})"},{"line_number":584,"context_line":"            LOG.error(msg)"},{"line_number":585,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":586,"context_line":""},{"line_number":587,"context_line":"        return alloc_inodes !\u003d \u00270\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a98d1f4_d667a423","line":584,"range":{"start_line":582,"start_character":12,"end_line":584,"end_character":26},"updated":"2016-09-28 14:18:43.000000000","message":"For such cases \"LOG.exception\" should be used. See:\n\"\"\"\nmsg \u003d _(\u0027Failed to check fileset.\u0027)\nLOG.exception(msg)\n\"\"\"\n\nAlso it is not covered with unit tests.","commit_id":"7ab9fa7103ee6e2ae164fe3596a75d75f9483fe3"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"c9f18097af4c5ab4c78f6ca499ab3cda1a6f5652","unresolved":false,"context_lines":[{"line_number":579,"context_line":"            validation_token \u003d lines[0].split(\u0027:\u0027).index(\u0027allocInodes\u0027)"},{"line_number":580,"context_line":"            alloc_inodes \u003d lines[1].split(\u0027:\u0027)[validation_token]"},{"line_number":581,"context_line":"        except (IndexError, ValueError) as e:"},{"line_number":582,"context_line":"            msg \u003d (_(\u0027Failed to check fileset. Error: %(excmsg)s.\u0027) %"},{"line_number":583,"context_line":"                   {\u0027excmsg\u0027: e})"},{"line_number":584,"context_line":"            LOG.error(msg)"},{"line_number":585,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":586,"context_line":""},{"line_number":587,"context_line":"        return alloc_inodes !\u003d \u00270\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a95cdbc_f442753d","line":584,"range":{"start_line":582,"start_character":12,"end_line":584,"end_character":26},"in_reply_to":"3a98d1f4_d667a423","updated":"2016-10-07 09:21:25.000000000","message":"Done","commit_id":"7ab9fa7103ee6e2ae164fe3596a75d75f9483fe3"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"bb118b67be9cb4327ec6aa1e2f313fb8733b156a","unresolved":false,"context_lines":[{"line_number":641,"context_line":"        try:"},{"line_number":642,"context_line":"            quota_limit \u003d lines[0].split(\u0027:\u0027).index(\u0027blockLimit\u0027)"},{"line_number":643,"context_line":"            quota_status \u003d lines[1].split(\u0027:\u0027)[quota_limit]"},{"line_number":644,"context_line":"        except (IndexError, ValueError) as e:"},{"line_number":645,"context_line":"            msg \u003d (_(\u0027Failed to check quota of fileset. Error: %(excmsg)s.\u0027) %"},{"line_number":646,"context_line":"                   {\u0027excmsg\u0027: e})"},{"line_number":647,"context_line":"            LOG.error(msg)"},{"line_number":648,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":649,"context_line":"        share_size \u003d int(quota_status)"},{"line_number":650,"context_line":"        if share_size \u003c 1048576:"},{"line_number":651,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a98d1f4_b6493891","line":648,"range":{"start_line":644,"start_character":8,"end_line":648,"end_character":46},"updated":"2016-09-28 14:18:43.000000000","message":"Same as above: unit tests + LOG.exception","commit_id":"7ab9fa7103ee6e2ae164fe3596a75d75f9483fe3"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"c9f18097af4c5ab4c78f6ca499ab3cda1a6f5652","unresolved":false,"context_lines":[{"line_number":641,"context_line":"        try:"},{"line_number":642,"context_line":"            quota_limit \u003d lines[0].split(\u0027:\u0027).index(\u0027blockLimit\u0027)"},{"line_number":643,"context_line":"            quota_status \u003d lines[1].split(\u0027:\u0027)[quota_limit]"},{"line_number":644,"context_line":"        except (IndexError, ValueError) as e:"},{"line_number":645,"context_line":"            msg \u003d (_(\u0027Failed to check quota of fileset. Error: %(excmsg)s.\u0027) %"},{"line_number":646,"context_line":"                   {\u0027excmsg\u0027: e})"},{"line_number":647,"context_line":"            LOG.error(msg)"},{"line_number":648,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":649,"context_line":"        share_size \u003d int(quota_status)"},{"line_number":650,"context_line":"        if share_size \u003c 1048576:"},{"line_number":651,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a95cdbc_8b3839a2","line":648,"range":{"start_line":644,"start_character":8,"end_line":648,"end_character":46},"in_reply_to":"3a98d1f4_b6493891","updated":"2016-10-07 09:21:25.000000000","message":"Done","commit_id":"7ab9fa7103ee6e2ae164fe3596a75d75f9483fe3"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"bb118b67be9cb4327ec6aa1e2f313fb8733b156a","unresolved":false,"context_lines":[{"line_number":652,"context_line":"                self._gpfs_execute(\u0027mmsetquota\u0027, fsdev + \u0027:\u0027 + sharename,"},{"line_number":653,"context_line":"                                   \u0027--block\u0027, \u00270:1G\u0027)"},{"line_number":654,"context_line":"            except exception.ProcessExecutionError as e:"},{"line_number":655,"context_line":"                msg \u003d (_(\u0027Failed to set quota for the share %(sharename)s. \u0027"},{"line_number":656,"context_line":"                         \u0027Error: %(excmsg)s.\u0027) %"},{"line_number":657,"context_line":"                       {\u0027sharename\u0027: sharename, \u0027excmsg\u0027: e})"},{"line_number":658,"context_line":"                LOG.error(msg)"},{"line_number":659,"context_line":"                raise exception.GPFSException(msg)"},{"line_number":660,"context_line":"            share_size \u003d 1"},{"line_number":661,"context_line":"        else:"},{"line_number":662,"context_line":"            share_size \u003d int(math.ceil(share_size / units.Mi))"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a98d1f4_16402c56","line":659,"range":{"start_line":655,"start_character":16,"end_line":659,"end_character":50},"updated":"2016-09-28 14:18:43.000000000","message":"Same as above: unit tests + LOG.exception","commit_id":"7ab9fa7103ee6e2ae164fe3596a75d75f9483fe3"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"c9f18097af4c5ab4c78f6ca499ab3cda1a6f5652","unresolved":false,"context_lines":[{"line_number":652,"context_line":"                self._gpfs_execute(\u0027mmsetquota\u0027, fsdev + \u0027:\u0027 + sharename,"},{"line_number":653,"context_line":"                                   \u0027--block\u0027, \u00270:1G\u0027)"},{"line_number":654,"context_line":"            except exception.ProcessExecutionError as e:"},{"line_number":655,"context_line":"                msg \u003d (_(\u0027Failed to set quota for the share %(sharename)s. \u0027"},{"line_number":656,"context_line":"                         \u0027Error: %(excmsg)s.\u0027) %"},{"line_number":657,"context_line":"                       {\u0027sharename\u0027: sharename, \u0027excmsg\u0027: e})"},{"line_number":658,"context_line":"                LOG.error(msg)"},{"line_number":659,"context_line":"                raise exception.GPFSException(msg)"},{"line_number":660,"context_line":"            share_size \u003d 1"},{"line_number":661,"context_line":"        else:"},{"line_number":662,"context_line":"            share_size \u003d int(math.ceil(share_size / units.Mi))"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a95cdbc_630944dd","line":659,"range":{"start_line":655,"start_character":16,"end_line":659,"end_character":50},"in_reply_to":"3a98d1f4_16402c56","updated":"2016-10-07 09:21:25.000000000","message":"Done","commit_id":"7ab9fa7103ee6e2ae164fe3596a75d75f9483fe3"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"bb118b67be9cb4327ec6aa1e2f313fb8733b156a","unresolved":false,"context_lines":[{"line_number":671,"context_line":"            ces_ip \u003d old_export[0]"},{"line_number":672,"context_line":"            old_export_location \u003d old_export[1]"},{"line_number":673,"context_line":"        else:"},{"line_number":674,"context_line":"            msg \u003d _(\"Incorrect path. It should have the following format: \""},{"line_number":675,"context_line":"                    \"IP:/gpfs_mount_point_base/share_id.\")"},{"line_number":676,"context_line":"            raise exception.ShareBackendException(msg\u003dmsg)"},{"line_number":677,"context_line":""},{"line_number":678,"context_line":"        if ces_ip not in self.configuration.gpfs_nfs_server_list:"},{"line_number":679,"context_line":"            msg \u003d _(\"The CES IP is not configured.\")"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a98d1f4_d61c047a","line":676,"range":{"start_line":674,"start_character":12,"end_line":676,"end_character":58},"updated":"2016-09-28 14:18:43.000000000","message":"This","commit_id":"7ab9fa7103ee6e2ae164fe3596a75d75f9483fe3"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"c9f18097af4c5ab4c78f6ca499ab3cda1a6f5652","unresolved":false,"context_lines":[{"line_number":671,"context_line":"            ces_ip \u003d old_export[0]"},{"line_number":672,"context_line":"            old_export_location \u003d old_export[1]"},{"line_number":673,"context_line":"        else:"},{"line_number":674,"context_line":"            msg \u003d _(\"Incorrect path. It should have the following format: \""},{"line_number":675,"context_line":"                    \"IP:/gpfs_mount_point_base/share_id.\")"},{"line_number":676,"context_line":"            raise exception.ShareBackendException(msg\u003dmsg)"},{"line_number":677,"context_line":""},{"line_number":678,"context_line":"        if ces_ip not in self.configuration.gpfs_nfs_server_list:"},{"line_number":679,"context_line":"            msg \u003d _(\"The CES IP is not configured.\")"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a95cdbc_d90db23f","line":676,"range":{"start_line":674,"start_character":12,"end_line":676,"end_character":58},"in_reply_to":"3a98d1f4_d61c047a","updated":"2016-10-07 09:21:25.000000000","message":"Done","commit_id":"7ab9fa7103ee6e2ae164fe3596a75d75f9483fe3"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"bb118b67be9cb4327ec6aa1e2f313fb8733b156a","unresolved":false,"context_lines":[{"line_number":676,"context_line":"            raise exception.ShareBackendException(msg\u003dmsg)"},{"line_number":677,"context_line":""},{"line_number":678,"context_line":"        if ces_ip not in self.configuration.gpfs_nfs_server_list:"},{"line_number":679,"context_line":"            msg \u003d _(\"The CES IP is not configured.\")"},{"line_number":680,"context_line":"            raise exception.ShareBackendException(msg\u003dmsg)"},{"line_number":681,"context_line":""},{"line_number":682,"context_line":"        if self.backend_name not in share[\u0027host\u0027]:"},{"line_number":683,"context_line":"            msg \u003d (_(\"The backend %(backend)s passed in the host parameter\""}],"source_content_type":"text/x-python","patch_set":6,"id":"3a98d1f4_5609d430","line":680,"range":{"start_line":679,"start_character":11,"end_line":680,"end_character":58},"updated":"2016-09-28 14:18:43.000000000","message":"and this","commit_id":"7ab9fa7103ee6e2ae164fe3596a75d75f9483fe3"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"c9f18097af4c5ab4c78f6ca499ab3cda1a6f5652","unresolved":false,"context_lines":[{"line_number":676,"context_line":"            raise exception.ShareBackendException(msg\u003dmsg)"},{"line_number":677,"context_line":""},{"line_number":678,"context_line":"        if ces_ip not in self.configuration.gpfs_nfs_server_list:"},{"line_number":679,"context_line":"            msg \u003d _(\"The CES IP is not configured.\")"},{"line_number":680,"context_line":"            raise exception.ShareBackendException(msg\u003dmsg)"},{"line_number":681,"context_line":""},{"line_number":682,"context_line":"        if self.backend_name not in share[\u0027host\u0027]:"},{"line_number":683,"context_line":"            msg \u003d (_(\"The backend %(backend)s passed in the host parameter\""}],"source_content_type":"text/x-python","patch_set":6,"id":"1a95cdbc_5919a287","line":680,"range":{"start_line":679,"start_character":11,"end_line":680,"end_character":58},"in_reply_to":"3a98d1f4_5609d430","updated":"2016-10-07 09:21:25.000000000","message":"Done","commit_id":"7ab9fa7103ee6e2ae164fe3596a75d75f9483fe3"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"bb118b67be9cb4327ec6aa1e2f313fb8733b156a","unresolved":false,"context_lines":[{"line_number":680,"context_line":"            raise exception.ShareBackendException(msg\u003dmsg)"},{"line_number":681,"context_line":""},{"line_number":682,"context_line":"        if self.backend_name not in share[\u0027host\u0027]:"},{"line_number":683,"context_line":"            msg \u003d (_(\"The backend %(backend)s passed in the host parameter\""},{"line_number":684,"context_line":"                     \"(%(shr)s) is not configured.\") %"},{"line_number":685,"context_line":"                   {\u0027backend\u0027: self.backend_name, \u0027shr\u0027: share[\u0027host\u0027]})"},{"line_number":686,"context_line":"            raise exception.ShareBackendException(msg\u003dmsg)"},{"line_number":687,"context_line":""},{"line_number":688,"context_line":"        fsdev \u003d self._get_gpfs_device()"},{"line_number":689,"context_line":"        if not self._is_share_valid(fsdev, old_export_location):"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a98d1f4_7606d021","line":686,"range":{"start_line":683,"start_character":12,"end_line":686,"end_character":58},"updated":"2016-09-28 14:18:43.000000000","message":"and this are not covered with unit tests too.","commit_id":"7ab9fa7103ee6e2ae164fe3596a75d75f9483fe3"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"c9f18097af4c5ab4c78f6ca499ab3cda1a6f5652","unresolved":false,"context_lines":[{"line_number":680,"context_line":"            raise exception.ShareBackendException(msg\u003dmsg)"},{"line_number":681,"context_line":""},{"line_number":682,"context_line":"        if self.backend_name not in share[\u0027host\u0027]:"},{"line_number":683,"context_line":"            msg \u003d (_(\"The backend %(backend)s passed in the host parameter\""},{"line_number":684,"context_line":"                     \"(%(shr)s) is not configured.\") %"},{"line_number":685,"context_line":"                   {\u0027backend\u0027: self.backend_name, \u0027shr\u0027: share[\u0027host\u0027]})"},{"line_number":686,"context_line":"            raise exception.ShareBackendException(msg\u003dmsg)"},{"line_number":687,"context_line":""},{"line_number":688,"context_line":"        fsdev \u003d self._get_gpfs_device()"},{"line_number":689,"context_line":"        if not self._is_share_valid(fsdev, old_export_location):"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a95cdbc_392cd6aa","line":686,"range":{"start_line":683,"start_character":12,"end_line":686,"end_character":58},"in_reply_to":"3a98d1f4_7606d021","updated":"2016-10-07 09:21:25.000000000","message":"Done","commit_id":"7ab9fa7103ee6e2ae164fe3596a75d75f9483fe3"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"7e2eb2ba4f0529e20c775340a44894c8b4b31862","unresolved":false,"context_lines":[{"line_number":820,"context_line":"    def _is_share_exported(self, location):"},{"line_number":821,"context_line":"        try:"},{"line_number":822,"context_line":"            out, __ \u003d self._execute(\u0027exportfs\u0027, run_as_root\u003dTrue)"},{"line_number":823,"context_line":"        except exception.ProcessExecutionError as e:"},{"line_number":824,"context_line":"            msg \u003d (_(\u0027Failed to check exports on the systems. \u0027"},{"line_number":825,"context_line":"                     \u0027Error: %s.\u0027) % e)"},{"line_number":826,"context_line":"            LOG.error(msg)"},{"line_number":827,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":828,"context_line":""},{"line_number":829,"context_line":"        return out"},{"line_number":830,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3a98d1f4_e39f81b2","line":827,"range":{"start_line":823,"start_character":8,"end_line":827,"end_character":46},"updated":"2016-09-28 15:14:38.000000000","message":"except exception.ProcessExecutionError:\n    msg \u003d _(\u0027Failed to check exports on the systems.\u0027)\n    LOG.exception(msg)\n    raise exception.GPFSException(msg)","commit_id":"7ab9fa7103ee6e2ae164fe3596a75d75f9483fe3"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"c9f18097af4c5ab4c78f6ca499ab3cda1a6f5652","unresolved":false,"context_lines":[{"line_number":820,"context_line":"    def _is_share_exported(self, location):"},{"line_number":821,"context_line":"        try:"},{"line_number":822,"context_line":"            out, __ \u003d self._execute(\u0027exportfs\u0027, run_as_root\u003dTrue)"},{"line_number":823,"context_line":"        except exception.ProcessExecutionError as e:"},{"line_number":824,"context_line":"            msg \u003d (_(\u0027Failed to check exports on the systems. \u0027"},{"line_number":825,"context_line":"                     \u0027Error: %s.\u0027) % e)"},{"line_number":826,"context_line":"            LOG.error(msg)"},{"line_number":827,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":828,"context_line":""},{"line_number":829,"context_line":"        return out"},{"line_number":830,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1a95cdbc_541a496f","line":827,"range":{"start_line":823,"start_character":8,"end_line":827,"end_character":46},"in_reply_to":"3a98d1f4_e39f81b2","updated":"2016-10-07 09:21:25.000000000","message":"Done","commit_id":"7ab9fa7103ee6e2ae164fe3596a75d75f9483fe3"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"72d9e803d27cf5a69d013497202392d53ea5b800","unresolved":false,"context_lines":[{"line_number":564,"context_line":"            raise exception.InvalidParameterValue(err\u003dmsg)"},{"line_number":565,"context_line":""},{"line_number":566,"context_line":"    def _is_share_valid(self, fsdev, location):"},{"line_number":567,"context_line":"        err_msg \u003d _(\u0027Given fileset is not present at expected mount point.\u0027)"},{"line_number":568,"context_line":"        try:"},{"line_number":569,"context_line":"            out, __ \u003d self._gpfs_execute(\u0027mmlsfileset\u0027, fsdev, \u0027-J\u0027,"},{"line_number":570,"context_line":"                                         location, \u0027-L\u0027, \u0027-Y\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa6399be_595c8625","line":567,"range":{"start_line":567,"start_character":21,"end_line":567,"end_character":74},"updated":"2016-10-11 12:05:15.000000000","message":"Which fileset? Which mount point? Both should be specified.","commit_id":"0d9f9a2f2a27d135b3afdd36b7c43580c73a2829"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"a38eac49db7a467547be86b188b5400303a5229f","unresolved":false,"context_lines":[{"line_number":564,"context_line":"            raise exception.InvalidParameterValue(err\u003dmsg)"},{"line_number":565,"context_line":""},{"line_number":566,"context_line":"    def _is_share_valid(self, fsdev, location):"},{"line_number":567,"context_line":"        err_msg \u003d _(\u0027Given fileset is not present at expected mount point.\u0027)"},{"line_number":568,"context_line":"        try:"},{"line_number":569,"context_line":"            out, __ \u003d self._gpfs_execute(\u0027mmlsfileset\u0027, fsdev, \u0027-J\u0027,"},{"line_number":570,"context_line":"                                         location, \u0027-L\u0027, \u0027-Y\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa6399be_641a4819","line":567,"range":{"start_line":567,"start_character":21,"end_line":567,"end_character":74},"in_reply_to":"fa6399be_595c8625","updated":"2016-10-20 08:43:43.000000000","message":"Done","commit_id":"0d9f9a2f2a27d135b3afdd36b7c43580c73a2829"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"72d9e803d27cf5a69d013497202392d53ea5b800","unresolved":false,"context_lines":[{"line_number":569,"context_line":"            out, __ \u003d self._gpfs_execute(\u0027mmlsfileset\u0027, fsdev, \u0027-J\u0027,"},{"line_number":570,"context_line":"                                         location, \u0027-L\u0027, \u0027-Y\u0027)"},{"line_number":571,"context_line":"        except exception.ProcessExecutionError as e:"},{"line_number":572,"context_line":"            msg \u003d (_(\u0027%(err_msg)s Error: %(e)s.\u0027)"},{"line_number":573,"context_line":"                   % {\u0027err_msg\u0027: err_msg, \u0027e\u0027: e})"},{"line_number":574,"context_line":"            LOG.error(msg)"},{"line_number":575,"context_line":"            raise exception.ManageInvalidShare(reason\u003derr_msg)"},{"line_number":576,"context_line":""},{"line_number":577,"context_line":"        lines \u003d out.splitlines()"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa6399be_d9bb360d","line":574,"range":{"start_line":572,"start_character":12,"end_line":574,"end_character":26},"updated":"2016-10-11 12:05:15.000000000","message":"replace it with following:\n\"\"\"\nLOG.exception(msg)\n\"\"\"\nWhere \u0027LOG.exception\u0027 will print trace for you. Remember, it can be used only when stacktrace exists.\n\nSame for all other such occurrences.","commit_id":"0d9f9a2f2a27d135b3afdd36b7c43580c73a2829"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"a38eac49db7a467547be86b188b5400303a5229f","unresolved":false,"context_lines":[{"line_number":569,"context_line":"            out, __ \u003d self._gpfs_execute(\u0027mmlsfileset\u0027, fsdev, \u0027-J\u0027,"},{"line_number":570,"context_line":"                                         location, \u0027-L\u0027, \u0027-Y\u0027)"},{"line_number":571,"context_line":"        except exception.ProcessExecutionError as e:"},{"line_number":572,"context_line":"            msg \u003d (_(\u0027%(err_msg)s Error: %(e)s.\u0027)"},{"line_number":573,"context_line":"                   % {\u0027err_msg\u0027: err_msg, \u0027e\u0027: e})"},{"line_number":574,"context_line":"            LOG.error(msg)"},{"line_number":575,"context_line":"            raise exception.ManageInvalidShare(reason\u003derr_msg)"},{"line_number":576,"context_line":""},{"line_number":577,"context_line":"        lines \u003d out.splitlines()"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa6399be_45c9be78","line":574,"range":{"start_line":572,"start_character":12,"end_line":574,"end_character":26},"in_reply_to":"fa6399be_d9bb360d","updated":"2016-10-20 08:43:43.000000000","message":"Done","commit_id":"0d9f9a2f2a27d135b3afdd36b7c43580c73a2829"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"72d9e803d27cf5a69d013497202392d53ea5b800","unresolved":false,"context_lines":[{"line_number":579,"context_line":"            validation_token \u003d lines[0].split(\u0027:\u0027).index(\u0027allocInodes\u0027)"},{"line_number":580,"context_line":"            alloc_inodes \u003d lines[1].split(\u0027:\u0027)[validation_token]"},{"line_number":581,"context_line":"        except (IndexError, ValueError):"},{"line_number":582,"context_line":"            msg \u003d _(\u0027Failed to check fileset.\u0027)"},{"line_number":583,"context_line":"            LOG.exception(msg)"},{"line_number":584,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":585,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"fa6399be_79686abb","line":582,"range":{"start_line":582,"start_character":21,"end_line":582,"end_character":45},"updated":"2016-10-11 12:05:15.000000000","message":"Which fileset?","commit_id":"0d9f9a2f2a27d135b3afdd36b7c43580c73a2829"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"a38eac49db7a467547be86b188b5400303a5229f","unresolved":false,"context_lines":[{"line_number":579,"context_line":"            validation_token \u003d lines[0].split(\u0027:\u0027).index(\u0027allocInodes\u0027)"},{"line_number":580,"context_line":"            alloc_inodes \u003d lines[1].split(\u0027:\u0027)[validation_token]"},{"line_number":581,"context_line":"        except (IndexError, ValueError):"},{"line_number":582,"context_line":"            msg \u003d _(\u0027Failed to check fileset.\u0027)"},{"line_number":583,"context_line":"            LOG.exception(msg)"},{"line_number":584,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":585,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"fa6399be_85c3d656","line":582,"range":{"start_line":582,"start_character":21,"end_line":582,"end_character":45},"in_reply_to":"fa6399be_79686abb","updated":"2016-10-20 08:43:43.000000000","message":"Done","commit_id":"0d9f9a2f2a27d135b3afdd36b7c43580c73a2829"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"72d9e803d27cf5a69d013497202392d53ea5b800","unresolved":false,"context_lines":[{"line_number":592,"context_line":"            self._gpfs_execute(\u0027mmchfileset\u0027, fsdev, \u0027-J\u0027, old_export_location,"},{"line_number":593,"context_line":"                               \u0027-j\u0027, sharename)"},{"line_number":594,"context_line":"        except exception.ProcessExecutionError as e:"},{"line_number":595,"context_line":"            msg \u003d (_(\u0027Failed to rename fileset for share %(sharename)s. \u0027"},{"line_number":596,"context_line":"                     \u0027Error: %(excmsg)s.\u0027) %"},{"line_number":597,"context_line":"                   {\u0027sharename\u0027: sharename, \u0027excmsg\u0027: e})"},{"line_number":598,"context_line":"            LOG.error(msg)"},{"line_number":599,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":600,"context_line":""},{"line_number":601,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa6399be_19312ea3","line":598,"range":{"start_line":595,"start_character":12,"end_line":598,"end_character":26},"updated":"2016-10-11 12:05:15.000000000","message":"ditto","commit_id":"0d9f9a2f2a27d135b3afdd36b7c43580c73a2829"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"a38eac49db7a467547be86b188b5400303a5229f","unresolved":false,"context_lines":[{"line_number":592,"context_line":"            self._gpfs_execute(\u0027mmchfileset\u0027, fsdev, \u0027-J\u0027, old_export_location,"},{"line_number":593,"context_line":"                               \u0027-j\u0027, sharename)"},{"line_number":594,"context_line":"        except exception.ProcessExecutionError as e:"},{"line_number":595,"context_line":"            msg \u003d (_(\u0027Failed to rename fileset for share %(sharename)s. \u0027"},{"line_number":596,"context_line":"                     \u0027Error: %(excmsg)s.\u0027) %"},{"line_number":597,"context_line":"                   {\u0027sharename\u0027: sharename, \u0027excmsg\u0027: e})"},{"line_number":598,"context_line":"            LOG.error(msg)"},{"line_number":599,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":600,"context_line":""},{"line_number":601,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa6399be_45c53e3b","line":598,"range":{"start_line":595,"start_character":12,"end_line":598,"end_character":26},"in_reply_to":"fa6399be_19312ea3","updated":"2016-10-20 08:43:43.000000000","message":"Done","commit_id":"0d9f9a2f2a27d135b3afdd36b7c43580c73a2829"},{"author":{"_account_id":7689,"name":"Bill Owen","email":"billowen@us.ibm.com","username":"billowen"},"change_message_id":"1002be42beb4dc6a6123b0aabbe27c7f9b364689","unresolved":false,"context_lines":[{"line_number":645,"context_line":"            LOG.exception(msg)"},{"line_number":646,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":647,"context_line":"        share_size \u003d int(quota_status)"},{"line_number":648,"context_line":"        if share_size \u003c 1048576:"},{"line_number":649,"context_line":"            try:"},{"line_number":650,"context_line":"                self._gpfs_execute(\u0027mmsetquota\u0027, fsdev + \u0027:\u0027 + sharename,"},{"line_number":651,"context_line":"                                   \u0027--block\u0027, \u00270:1G\u0027)"},{"line_number":652,"context_line":"            except exception.ProcessExecutionError:"},{"line_number":653,"context_line":"                msg \u003d _(\u0027Failed to set quota for the share.\u0027)"},{"line_number":654,"context_line":"                LOG.exception(msg)"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa6399be_017c6971","line":651,"range":{"start_line":648,"start_character":8,"end_line":651,"end_character":53},"updated":"2016-10-10 23:19:36.000000000","message":"where do you set quota for shares larger than 1G?","commit_id":"0d9f9a2f2a27d135b3afdd36b7c43580c73a2829"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"a38eac49db7a467547be86b188b5400303a5229f","unresolved":false,"context_lines":[{"line_number":645,"context_line":"            LOG.exception(msg)"},{"line_number":646,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":647,"context_line":"        share_size \u003d int(quota_status)"},{"line_number":648,"context_line":"        if share_size \u003c 1048576:"},{"line_number":649,"context_line":"            try:"},{"line_number":650,"context_line":"                self._gpfs_execute(\u0027mmsetquota\u0027, fsdev + \u0027:\u0027 + sharename,"},{"line_number":651,"context_line":"                                   \u0027--block\u0027, \u00270:1G\u0027)"},{"line_number":652,"context_line":"            except exception.ProcessExecutionError:"},{"line_number":653,"context_line":"                msg \u003d _(\u0027Failed to set quota for the share.\u0027)"},{"line_number":654,"context_line":"                LOG.exception(msg)"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa6399be_466d8f31","line":651,"range":{"start_line":648,"start_character":8,"end_line":651,"end_character":53},"in_reply_to":"fa6399be_017c6971","updated":"2016-10-20 08:43:43.000000000","message":"If the size of a share is larger than 1G, then we only return the size of share. line : #658\nWe only set quota if share size is less than 1G.","commit_id":"0d9f9a2f2a27d135b3afdd36b7c43580c73a2829"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"72d9e803d27cf5a69d013497202392d53ea5b800","unresolved":false,"context_lines":[{"line_number":672,"context_line":"            raise exception.ShareBackendException(msg\u003dmsg)"},{"line_number":673,"context_line":""},{"line_number":674,"context_line":"        if ces_ip not in self.configuration.gpfs_nfs_server_list:"},{"line_number":675,"context_line":"            msg \u003d _(\"The CES IP is not configured.\")"},{"line_number":676,"context_line":"            raise exception.ShareBackendException(msg\u003dmsg)"},{"line_number":677,"context_line":""},{"line_number":678,"context_line":"        if self.backend_name not in share[\u0027host\u0027]:"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa6399be_7995ca3e","line":675,"range":{"start_line":675,"start_character":21,"end_line":675,"end_character":50},"updated":"2016-10-11 12:05:15.000000000","message":"Which IP?","commit_id":"0d9f9a2f2a27d135b3afdd36b7c43580c73a2829"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"a38eac49db7a467547be86b188b5400303a5229f","unresolved":false,"context_lines":[{"line_number":672,"context_line":"            raise exception.ShareBackendException(msg\u003dmsg)"},{"line_number":673,"context_line":""},{"line_number":674,"context_line":"        if ces_ip not in self.configuration.gpfs_nfs_server_list:"},{"line_number":675,"context_line":"            msg \u003d _(\"The CES IP is not configured.\")"},{"line_number":676,"context_line":"            raise exception.ShareBackendException(msg\u003dmsg)"},{"line_number":677,"context_line":""},{"line_number":678,"context_line":"        if self.backend_name not in share[\u0027host\u0027]:"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa6399be_f7a369af","line":675,"range":{"start_line":675,"start_character":21,"end_line":675,"end_character":50},"in_reply_to":"fa6399be_7995ca3e","updated":"2016-10-20 08:43:43.000000000","message":"Done","commit_id":"0d9f9a2f2a27d135b3afdd36b7c43580c73a2829"},{"author":{"_account_id":7689,"name":"Bill Owen","email":"billowen@us.ibm.com","username":"billowen"},"change_message_id":"1002be42beb4dc6a6123b0aabbe27c7f9b364689","unresolved":false,"context_lines":[{"line_number":813,"context_line":"            LOG.error(msg)"},{"line_number":814,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":815,"context_line":""},{"line_number":816,"context_line":"    def _is_share_exported(self, location):"},{"line_number":817,"context_line":"        try:"},{"line_number":818,"context_line":"            out, __ \u003d self._execute(\u0027exportfs\u0027, run_as_root\u003dTrue)"},{"line_number":819,"context_line":"        except exception.ProcessExecutionError:"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa6399be_0f401556","line":816,"range":{"start_line":816,"start_character":33,"end_line":816,"end_character":41},"updated":"2016-10-10 23:19:36.000000000","message":"why is location passed to method?","commit_id":"0d9f9a2f2a27d135b3afdd36b7c43580c73a2829"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"a38eac49db7a467547be86b188b5400303a5229f","unresolved":false,"context_lines":[{"line_number":813,"context_line":"            LOG.error(msg)"},{"line_number":814,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":815,"context_line":""},{"line_number":816,"context_line":"    def _is_share_exported(self, location):"},{"line_number":817,"context_line":"        try:"},{"line_number":818,"context_line":"            out, __ \u003d self._execute(\u0027exportfs\u0027, run_as_root\u003dTrue)"},{"line_number":819,"context_line":"        except exception.ProcessExecutionError:"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa6399be_70aaffd3","line":816,"range":{"start_line":816,"start_character":33,"end_line":816,"end_character":41},"in_reply_to":"fa6399be_0f401556","updated":"2016-10-20 08:43:43.000000000","message":"Done","commit_id":"0d9f9a2f2a27d135b3afdd36b7c43580c73a2829"},{"author":{"_account_id":7689,"name":"Bill Owen","email":"billowen@us.ibm.com","username":"billowen"},"change_message_id":"1002be42beb4dc6a6123b0aabbe27c7f9b364689","unresolved":false,"context_lines":[{"line_number":821,"context_line":"            LOG.exception(msg)"},{"line_number":822,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":823,"context_line":""},{"line_number":824,"context_line":"        return out"},{"line_number":825,"context_line":""},{"line_number":826,"context_line":"    def _publish_access(self, *cmd):"},{"line_number":827,"context_line":"        for server in self.configuration.gpfs_nfs_server_list:"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa6399be_2f0cf941","line":824,"range":{"start_line":824,"start_character":15,"end_line":824,"end_character":18},"updated":"2016-10-10 23:19:36.000000000","message":"methods named  _is_... typically return a boolean.  Would be cleaner to check out and return True or False","commit_id":"0d9f9a2f2a27d135b3afdd36b7c43580c73a2829"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"72d9e803d27cf5a69d013497202392d53ea5b800","unresolved":false,"context_lines":[{"line_number":821,"context_line":"            LOG.exception(msg)"},{"line_number":822,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":823,"context_line":""},{"line_number":824,"context_line":"        return out"},{"line_number":825,"context_line":""},{"line_number":826,"context_line":"    def _publish_access(self, *cmd):"},{"line_number":827,"context_line":"        for server in self.configuration.gpfs_nfs_server_list:"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa6399be_f4b9dfed","line":824,"range":{"start_line":824,"start_character":15,"end_line":824,"end_character":18},"in_reply_to":"fa6399be_2f0cf941","updated":"2016-10-11 12:05:15.000000000","message":"+1","commit_id":"0d9f9a2f2a27d135b3afdd36b7c43580c73a2829"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"a38eac49db7a467547be86b188b5400303a5229f","unresolved":false,"context_lines":[{"line_number":821,"context_line":"            LOG.exception(msg)"},{"line_number":822,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":823,"context_line":""},{"line_number":824,"context_line":"        return out"},{"line_number":825,"context_line":""},{"line_number":826,"context_line":"    def _publish_access(self, *cmd):"},{"line_number":827,"context_line":"        for server in self.configuration.gpfs_nfs_server_list:"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa6399be_90b95331","line":824,"range":{"start_line":824,"start_character":15,"end_line":824,"end_character":18},"in_reply_to":"fa6399be_2f0cf941","updated":"2016-10-20 08:43:43.000000000","message":"Done","commit_id":"0d9f9a2f2a27d135b3afdd36b7c43580c73a2829"},{"author":{"_account_id":7689,"name":"Bill Owen","email":"billowen@us.ibm.com","username":"billowen"},"change_message_id":"1002be42beb4dc6a6123b0aabbe27c7f9b364689","unresolved":false,"context_lines":[{"line_number":851,"context_line":"                                                      \u0027supported.\u0027)"},{"line_number":852,"context_line":""},{"line_number":853,"context_line":"        out \u003d self._is_share_exported(local_path)"},{"line_number":854,"context_line":"        out \u003d re.search(re.escape(local_path) + \u0027[\\s\\n]*\u0027"},{"line_number":855,"context_line":"                        + re.escape(access[\u0027access_to\u0027]), out)"},{"line_number":856,"context_line":""},{"line_number":857,"context_line":"        if out is not None:"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa6399be_4113c15c","line":854,"range":{"start_line":854,"start_character":8,"end_line":854,"end_character":11},"updated":"2016-10-10 23:19:36.000000000","message":"move this into _is_share_exported","commit_id":"0d9f9a2f2a27d135b3afdd36b7c43580c73a2829"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"a38eac49db7a467547be86b188b5400303a5229f","unresolved":false,"context_lines":[{"line_number":851,"context_line":"                                                      \u0027supported.\u0027)"},{"line_number":852,"context_line":""},{"line_number":853,"context_line":"        out \u003d self._is_share_exported(local_path)"},{"line_number":854,"context_line":"        out \u003d re.search(re.escape(local_path) + \u0027[\\s\\n]*\u0027"},{"line_number":855,"context_line":"                        + re.escape(access[\u0027access_to\u0027]), out)"},{"line_number":856,"context_line":""},{"line_number":857,"context_line":"        if out is not None:"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa6399be_f0844f5e","line":854,"range":{"start_line":854,"start_character":8,"end_line":854,"end_character":11},"in_reply_to":"fa6399be_4113c15c","updated":"2016-10-20 08:43:43.000000000","message":"Done","commit_id":"0d9f9a2f2a27d135b3afdd36b7c43580c73a2829"},{"author":{"_account_id":7689,"name":"Bill Owen","email":"billowen@us.ibm.com","username":"billowen"},"change_message_id":"1002be42beb4dc6a6123b0aabbe27c7f9b364689","unresolved":false,"context_lines":[{"line_number":896,"context_line":"        super(CESHelper, self).__init__(execute, config_object)"},{"line_number":897,"context_line":"        self._execute \u003d execute"},{"line_number":898,"context_line":""},{"line_number":899,"context_line":"    def _is_share_exported(self, location):"},{"line_number":900,"context_line":"        err_msg \u003d \u0027Failed to check exports on the system.\u0027"},{"line_number":901,"context_line":"        out \u003d self._execute_mmnfs_command((\u0027list\u0027, \u0027-n\u0027, location, \u0027-Y\u0027),"},{"line_number":902,"context_line":"                                          err_msg)"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa6399be_2125edaa","line":899,"range":{"start_line":899,"start_character":8,"end_line":899,"end_character":26},"updated":"2016-10-10 23:19:36.000000000","message":"same comment as above","commit_id":"0d9f9a2f2a27d135b3afdd36b7c43580c73a2829"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"a38eac49db7a467547be86b188b5400303a5229f","unresolved":false,"context_lines":[{"line_number":896,"context_line":"        super(CESHelper, self).__init__(execute, config_object)"},{"line_number":897,"context_line":"        self._execute \u003d execute"},{"line_number":898,"context_line":""},{"line_number":899,"context_line":"    def _is_share_exported(self, location):"},{"line_number":900,"context_line":"        err_msg \u003d \u0027Failed to check exports on the system.\u0027"},{"line_number":901,"context_line":"        out \u003d self._execute_mmnfs_command((\u0027list\u0027, \u0027-n\u0027, location, \u0027-Y\u0027),"},{"line_number":902,"context_line":"                                          err_msg)"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa6399be_5096db94","line":899,"range":{"start_line":899,"start_character":8,"end_line":899,"end_character":26},"in_reply_to":"fa6399be_2125edaa","updated":"2016-10-20 08:43:43.000000000","message":"Done","commit_id":"0d9f9a2f2a27d135b3afdd36b7c43580c73a2829"},{"author":{"_account_id":7689,"name":"Bill Owen","email":"billowen@us.ibm.com","username":"billowen"},"change_message_id":"1002be42beb4dc6a6123b0aabbe27c7f9b364689","unresolved":false,"context_lines":[{"line_number":915,"context_line":"    def remove_export(self, local_path, share):"},{"line_number":916,"context_line":"        \"\"\"Remove export.\"\"\""},{"line_number":917,"context_line":"        out \u003d self._is_share_exported(local_path)"},{"line_number":918,"context_line":"        out \u003d re.search(re.escape(local_path), out)"},{"line_number":919,"context_line":""},{"line_number":920,"context_line":"        if out is not None:"},{"line_number":921,"context_line":"            err_msg \u003d (\u0027Failed to remove export for share %s.\u0027"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa6399be_c14c3179","line":918,"range":{"start_line":918,"start_character":8,"end_line":918,"end_character":51},"updated":"2016-10-10 23:19:36.000000000","message":"as above, would be cleaner to move into _is_share_exported, and have it return boolean value.","commit_id":"0d9f9a2f2a27d135b3afdd36b7c43580c73a2829"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"a38eac49db7a467547be86b188b5400303a5229f","unresolved":false,"context_lines":[{"line_number":915,"context_line":"    def remove_export(self, local_path, share):"},{"line_number":916,"context_line":"        \"\"\"Remove export.\"\"\""},{"line_number":917,"context_line":"        out \u003d self._is_share_exported(local_path)"},{"line_number":918,"context_line":"        out \u003d re.search(re.escape(local_path), out)"},{"line_number":919,"context_line":""},{"line_number":920,"context_line":"        if out is not None:"},{"line_number":921,"context_line":"            err_msg \u003d (\u0027Failed to remove export for share %s.\u0027"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa6399be_b08bb767","line":918,"range":{"start_line":918,"start_character":8,"end_line":918,"end_character":51},"in_reply_to":"fa6399be_c14c3179","updated":"2016-10-20 08:43:43.000000000","message":"Done","commit_id":"0d9f9a2f2a27d135b3afdd36b7c43580c73a2829"},{"author":{"_account_id":7689,"name":"Bill Owen","email":"billowen@us.ibm.com","username":"billowen"},"change_message_id":"1002be42beb4dc6a6123b0aabbe27c7f9b364689","unresolved":false,"context_lines":[{"line_number":933,"context_line":"        export_opts \u003d self.get_export_options(share, access, \u0027CES\u0027,"},{"line_number":934,"context_line":"                                              options_not_allowed)"},{"line_number":935,"context_line":""},{"line_number":936,"context_line":"        out \u003d re.search(re.escape(local_path), out)"},{"line_number":937,"context_line":"        if out is None:"},{"line_number":938,"context_line":"            cmd \u003d [\u0027add\u0027, local_path, \u0027-c\u0027,"},{"line_number":939,"context_line":"                   access[\u0027access_to\u0027] +"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa6399be_613e05ba","line":936,"range":{"start_line":936,"start_character":8,"end_line":936,"end_character":51},"updated":"2016-10-10 23:19:36.000000000","message":"same as above","commit_id":"0d9f9a2f2a27d135b3afdd36b7c43580c73a2829"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"a38eac49db7a467547be86b188b5400303a5229f","unresolved":false,"context_lines":[{"line_number":933,"context_line":"        export_opts \u003d self.get_export_options(share, access, \u0027CES\u0027,"},{"line_number":934,"context_line":"                                              options_not_allowed)"},{"line_number":935,"context_line":""},{"line_number":936,"context_line":"        out \u003d re.search(re.escape(local_path), out)"},{"line_number":937,"context_line":"        if out is None:"},{"line_number":938,"context_line":"            cmd \u003d [\u0027add\u0027, local_path, \u0027-c\u0027,"},{"line_number":939,"context_line":"                   access[\u0027access_to\u0027] +"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa6399be_30f6c7f9","line":936,"range":{"start_line":936,"start_character":8,"end_line":936,"end_character":51},"in_reply_to":"fa6399be_613e05ba","updated":"2016-10-20 08:43:43.000000000","message":"Done","commit_id":"0d9f9a2f2a27d135b3afdd36b7c43580c73a2829"},{"author":{"_account_id":7689,"name":"Bill Owen","email":"billowen@us.ibm.com","username":"billowen"},"change_message_id":"1002be42beb4dc6a6123b0aabbe27c7f9b364689","unresolved":false,"context_lines":[{"line_number":950,"context_line":"    def deny_access(self, local_path, share, access, force\u003dFalse):"},{"line_number":951,"context_line":"        \"\"\"Deny access to the host.\"\"\""},{"line_number":952,"context_line":"        out \u003d self._is_share_exported(local_path)"},{"line_number":953,"context_line":"        out \u003d re.search(re.escape(access[\u0027access_to\u0027]), out)"},{"line_number":954,"context_line":""},{"line_number":955,"context_line":"        if out is not None:"},{"line_number":956,"context_line":"            err_msg \u003d (\u0027Failed to remove access for share %s.\u0027"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa6399be_a1481d5d","line":953,"range":{"start_line":953,"start_character":8,"end_line":953,"end_character":60},"updated":"2016-10-10 23:19:36.000000000","message":"same as above.","commit_id":"0d9f9a2f2a27d135b3afdd36b7c43580c73a2829"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"a38eac49db7a467547be86b188b5400303a5229f","unresolved":false,"context_lines":[{"line_number":950,"context_line":"    def deny_access(self, local_path, share, access, force\u003dFalse):"},{"line_number":951,"context_line":"        \"\"\"Deny access to the host.\"\"\""},{"line_number":952,"context_line":"        out \u003d self._is_share_exported(local_path)"},{"line_number":953,"context_line":"        out \u003d re.search(re.escape(access[\u0027access_to\u0027]), out)"},{"line_number":954,"context_line":""},{"line_number":955,"context_line":"        if out is not None:"},{"line_number":956,"context_line":"            err_msg \u003d (\u0027Failed to remove access for share %s.\u0027"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa6399be_70d83f80","line":953,"range":{"start_line":953,"start_character":8,"end_line":953,"end_character":60},"in_reply_to":"fa6399be_a1481d5d","updated":"2016-10-20 08:43:43.000000000","message":"Done","commit_id":"0d9f9a2f2a27d135b3afdd36b7c43580c73a2829"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"09b53ced287c35c839481057bba4ce76e2ecffa4","unresolved":false,"context_lines":[{"line_number":564,"context_line":"            raise exception.InvalidParameterValue(err\u003dmsg)"},{"line_number":565,"context_line":""},{"line_number":566,"context_line":"    def _is_share_valid(self, fsdev, location):"},{"line_number":567,"context_line":"        err_msg \u003d (_(\u0027Given share path %(share_path)s does not exist at\u0027"},{"line_number":568,"context_line":"                     \u0027mount point %(mount_point)s.\u0027)"},{"line_number":569,"context_line":"                   % {\u0027share_path\u0027: location, \u0027mount_point\u0027: fsdev})"},{"line_number":570,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa6399be_255d7515","line":567,"range":{"start_line":567,"start_character":71,"end_line":567,"end_character":72},"updated":"2016-10-20 12:29:49.000000000","message":"add a space","commit_id":"0a23eb6ba4f3c4c853ba2eef5daf35518a7bf8b8"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"03cddbf42672b0c64dfa2598137232621c57ddad","unresolved":false,"context_lines":[{"line_number":564,"context_line":"            raise exception.InvalidParameterValue(err\u003dmsg)"},{"line_number":565,"context_line":""},{"line_number":566,"context_line":"    def _is_share_valid(self, fsdev, location):"},{"line_number":567,"context_line":"        err_msg \u003d (_(\u0027Given share path %(share_path)s does not exist at\u0027"},{"line_number":568,"context_line":"                     \u0027mount point %(mount_point)s.\u0027)"},{"line_number":569,"context_line":"                   % {\u0027share_path\u0027: location, \u0027mount_point\u0027: fsdev})"},{"line_number":570,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa6399be_58d16f56","line":567,"range":{"start_line":567,"start_character":71,"end_line":567,"end_character":72},"in_reply_to":"fa6399be_255d7515","updated":"2016-10-20 15:49:04.000000000","message":"Done","commit_id":"0a23eb6ba4f3c4c853ba2eef5daf35518a7bf8b8"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"09b53ced287c35c839481057bba4ce76e2ecffa4","unresolved":false,"context_lines":[{"line_number":646,"context_line":"            msg \u003d _(\u0027Failed to check quota of share.\u0027)"},{"line_number":647,"context_line":"            LOG.exception(msg)"},{"line_number":648,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":649,"context_line":"        share_size \u003d int(quota_status)"},{"line_number":650,"context_line":"        if share_size \u003c 1048576:"},{"line_number":651,"context_line":"            try:"},{"line_number":652,"context_line":"                self._gpfs_execute(\u0027mmsetquota\u0027, fsdev + \u0027:\u0027 + sharename,"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa6399be_00493f60","line":649,"updated":"2016-10-20 12:29:49.000000000","message":"add a newline before this line, it\u0027ll make code more readable.","commit_id":"0a23eb6ba4f3c4c853ba2eef5daf35518a7bf8b8"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"03cddbf42672b0c64dfa2598137232621c57ddad","unresolved":false,"context_lines":[{"line_number":646,"context_line":"            msg \u003d _(\u0027Failed to check quota of share.\u0027)"},{"line_number":647,"context_line":"            LOG.exception(msg)"},{"line_number":648,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":649,"context_line":"        share_size \u003d int(quota_status)"},{"line_number":650,"context_line":"        if share_size \u003c 1048576:"},{"line_number":651,"context_line":"            try:"},{"line_number":652,"context_line":"                self._gpfs_execute(\u0027mmsetquota\u0027, fsdev + \u0027:\u0027 + sharename,"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa6399be_585fafe4","line":649,"in_reply_to":"fa6399be_00493f60","updated":"2016-10-20 15:49:04.000000000","message":"Done","commit_id":"0a23eb6ba4f3c4c853ba2eef5daf35518a7bf8b8"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"09b53ced287c35c839481057bba4ce76e2ecffa4","unresolved":false,"context_lines":[{"line_number":658,"context_line":"            share_size \u003d 1"},{"line_number":659,"context_line":"        else:"},{"line_number":660,"context_line":"            share_size \u003d int(math.ceil(share_size / units.Mi))"},{"line_number":661,"context_line":"        new_export_location \u003d self._get_helper(share).create_export("},{"line_number":662,"context_line":"            new_export_location)"},{"line_number":663,"context_line":"        return share_size, new_export_location"},{"line_number":664,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"fa6399be_80a2affa","line":661,"updated":"2016-10-20 12:29:49.000000000","message":"ditto, add a newline before this.","commit_id":"0a23eb6ba4f3c4c853ba2eef5daf35518a7bf8b8"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"03cddbf42672b0c64dfa2598137232621c57ddad","unresolved":false,"context_lines":[{"line_number":658,"context_line":"            share_size \u003d 1"},{"line_number":659,"context_line":"        else:"},{"line_number":660,"context_line":"            share_size \u003d int(math.ceil(share_size / units.Mi))"},{"line_number":661,"context_line":"        new_export_location \u003d self._get_helper(share).create_export("},{"line_number":662,"context_line":"            new_export_location)"},{"line_number":663,"context_line":"        return share_size, new_export_location"},{"line_number":664,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"fa6399be_d8fadfbc","line":661,"in_reply_to":"fa6399be_80a2affa","updated":"2016-10-20 15:49:04.000000000","message":"Done","commit_id":"0a23eb6ba4f3c4c853ba2eef5daf35518a7bf8b8"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"09b53ced287c35c839481057bba4ce76e2ecffa4","unresolved":false,"context_lines":[{"line_number":674,"context_line":"            raise exception.ShareBackendException(msg\u003dmsg)"},{"line_number":675,"context_line":""},{"line_number":676,"context_line":"        if ces_ip not in self.configuration.gpfs_nfs_server_list:"},{"line_number":677,"context_line":"            msg \u003d (_(\u0027The CES IP %s is not configured.\u0027) % ces_ip)"},{"line_number":678,"context_line":"            raise exception.ShareBackendException(msg\u003dmsg)"},{"line_number":679,"context_line":""},{"line_number":680,"context_line":"        if self.backend_name not in share[\u0027host\u0027]:"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa6399be_603d9b8e","line":677,"range":{"start_line":677,"start_character":18,"end_line":677,"end_character":19},"updated":"2016-10-20 12:29:49.000000000","message":"redundant parenthese","commit_id":"0a23eb6ba4f3c4c853ba2eef5daf35518a7bf8b8"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"03cddbf42672b0c64dfa2598137232621c57ddad","unresolved":false,"context_lines":[{"line_number":674,"context_line":"            raise exception.ShareBackendException(msg\u003dmsg)"},{"line_number":675,"context_line":""},{"line_number":676,"context_line":"        if ces_ip not in self.configuration.gpfs_nfs_server_list:"},{"line_number":677,"context_line":"            msg \u003d (_(\u0027The CES IP %s is not configured.\u0027) % ces_ip)"},{"line_number":678,"context_line":"            raise exception.ShareBackendException(msg\u003dmsg)"},{"line_number":679,"context_line":""},{"line_number":680,"context_line":"        if self.backend_name not in share[\u0027host\u0027]:"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa6399be_38ed9bb7","line":677,"range":{"start_line":677,"start_character":18,"end_line":677,"end_character":19},"in_reply_to":"fa6399be_603d9b8e","updated":"2016-10-20 15:49:04.000000000","message":"Done","commit_id":"0a23eb6ba4f3c4c853ba2eef5daf35518a7bf8b8"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"09b53ced287c35c839481057bba4ce76e2ecffa4","unresolved":false,"context_lines":[{"line_number":678,"context_line":"            raise exception.ShareBackendException(msg\u003dmsg)"},{"line_number":679,"context_line":""},{"line_number":680,"context_line":"        if self.backend_name not in share[\u0027host\u0027]:"},{"line_number":681,"context_line":"            msg \u003d (_(\u0027The backend %(backend)s passed in the host parameter\u0027"},{"line_number":682,"context_line":"                     \u0027(%(shr)s) is not configured.\u0027) %"},{"line_number":683,"context_line":"                   {\u0027backend\u0027: self.backend_name, \u0027shr\u0027: share[\u0027host\u0027]})"},{"line_number":684,"context_line":"            raise exception.ShareBackendException(msg\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa6399be_ea734c4c","line":681,"range":{"start_line":681,"start_character":74,"end_line":681,"end_character":75},"updated":"2016-10-20 12:29:49.000000000","message":"add a space","commit_id":"0a23eb6ba4f3c4c853ba2eef5daf35518a7bf8b8"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"03cddbf42672b0c64dfa2598137232621c57ddad","unresolved":false,"context_lines":[{"line_number":678,"context_line":"            raise exception.ShareBackendException(msg\u003dmsg)"},{"line_number":679,"context_line":""},{"line_number":680,"context_line":"        if self.backend_name not in share[\u0027host\u0027]:"},{"line_number":681,"context_line":"            msg \u003d (_(\u0027The backend %(backend)s passed in the host parameter\u0027"},{"line_number":682,"context_line":"                     \u0027(%(shr)s) is not configured.\u0027) %"},{"line_number":683,"context_line":"                   {\u0027backend\u0027: self.backend_name, \u0027shr\u0027: share[\u0027host\u0027]})"},{"line_number":684,"context_line":"            raise exception.ShareBackendException(msg\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa6399be_f8932359","line":681,"range":{"start_line":681,"start_character":74,"end_line":681,"end_character":75},"in_reply_to":"fa6399be_ea734c4c","updated":"2016-10-20 15:49:04.000000000","message":"Done","commit_id":"0a23eb6ba4f3c4c853ba2eef5daf35518a7bf8b8"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"09b53ced287c35c839481057bba4ce76e2ecffa4","unresolved":false,"context_lines":[{"line_number":685,"context_line":""},{"line_number":686,"context_line":"        fsdev \u003d self._get_gpfs_device()"},{"line_number":687,"context_line":"        if not self._is_share_valid(fsdev, old_export_location):"},{"line_number":688,"context_line":"            err_msg \u003d (_(\u0027%s share is not valid share.\u0027) % old_export_location)"},{"line_number":689,"context_line":"            LOG.error(err_msg)"},{"line_number":690,"context_line":"            raise exception.ManageInvalidShare(reason\u003derr_msg)"},{"line_number":691,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"fa6399be_c04ca744","line":688,"range":{"start_line":688,"start_character":22,"end_line":688,"end_character":23},"updated":"2016-10-20 12:29:49.000000000","message":"ditto","commit_id":"0a23eb6ba4f3c4c853ba2eef5daf35518a7bf8b8"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"03cddbf42672b0c64dfa2598137232621c57ddad","unresolved":false,"context_lines":[{"line_number":685,"context_line":""},{"line_number":686,"context_line":"        fsdev \u003d self._get_gpfs_device()"},{"line_number":687,"context_line":"        if not self._is_share_valid(fsdev, old_export_location):"},{"line_number":688,"context_line":"            err_msg \u003d (_(\u0027%s share is not valid share.\u0027) % old_export_location)"},{"line_number":689,"context_line":"            LOG.error(err_msg)"},{"line_number":690,"context_line":"            raise exception.ManageInvalidShare(reason\u003derr_msg)"},{"line_number":691,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"fa6399be_582c0f02","line":688,"range":{"start_line":688,"start_character":22,"end_line":688,"end_character":23},"in_reply_to":"fa6399be_c04ca744","updated":"2016-10-20 15:49:04.000000000","message":"Done","commit_id":"0a23eb6ba4f3c4c853ba2eef5daf35518a7bf8b8"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"09b53ced287c35c839481057bba4ce76e2ecffa4","unresolved":false,"context_lines":[{"line_number":691,"context_line":""},{"line_number":692,"context_line":"        out \u003d self._get_helper(share)._is_share_exported(old_export_location)"},{"line_number":693,"context_line":"        if out:"},{"line_number":694,"context_line":"            err_msg \u003d (_(\u0027%s share is already in use.\u0027) % old_export_location)"},{"line_number":695,"context_line":"            LOG.error(err_msg)"},{"line_number":696,"context_line":"            raise exception.ManageInvalidShare(reason\u003derr_msg)"},{"line_number":697,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"fa6399be_80554fc3","line":694,"range":{"start_line":694,"start_character":22,"end_line":694,"end_character":23},"updated":"2016-10-20 12:29:49.000000000","message":"ditto","commit_id":"0a23eb6ba4f3c4c853ba2eef5daf35518a7bf8b8"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"03cddbf42672b0c64dfa2598137232621c57ddad","unresolved":false,"context_lines":[{"line_number":691,"context_line":""},{"line_number":692,"context_line":"        out \u003d self._get_helper(share)._is_share_exported(old_export_location)"},{"line_number":693,"context_line":"        if out:"},{"line_number":694,"context_line":"            err_msg \u003d (_(\u0027%s share is already in use.\u0027) % old_export_location)"},{"line_number":695,"context_line":"            LOG.error(err_msg)"},{"line_number":696,"context_line":"            raise exception.ManageInvalidShare(reason\u003derr_msg)"},{"line_number":697,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"fa6399be_9832275d","line":694,"range":{"start_line":694,"start_character":22,"end_line":694,"end_character":23},"in_reply_to":"fa6399be_80554fc3","updated":"2016-10-20 15:49:04.000000000","message":"Done","commit_id":"0a23eb6ba4f3c4c853ba2eef5daf35518a7bf8b8"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"09b53ced287c35c839481057bba4ce76e2ecffa4","unresolved":false,"context_lines":[{"line_number":827,"context_line":"                            + re.escape(access_to), out)"},{"line_number":828,"context_line":"        else:"},{"line_number":829,"context_line":"            out \u003d re.findall(local_path + \u0027\\\\b\u0027, \u0027\u0027.join(out))"},{"line_number":830,"context_line":"        return out"},{"line_number":831,"context_line":""},{"line_number":832,"context_line":"    def _publish_access(self, *cmd):"},{"line_number":833,"context_line":"        for server in self.configuration.gpfs_nfs_server_list:"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa6399be_ca75a8cb","line":830,"range":{"start_line":830,"start_character":15,"end_line":830,"end_character":18},"updated":"2016-10-20 12:29:49.000000000","message":"looks like this method still is not return a boolean.","commit_id":"0a23eb6ba4f3c4c853ba2eef5daf35518a7bf8b8"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"03cddbf42672b0c64dfa2598137232621c57ddad","unresolved":false,"context_lines":[{"line_number":827,"context_line":"                            + re.escape(access_to), out)"},{"line_number":828,"context_line":"        else:"},{"line_number":829,"context_line":"            out \u003d re.findall(local_path + \u0027\\\\b\u0027, \u0027\u0027.join(out))"},{"line_number":830,"context_line":"        return out"},{"line_number":831,"context_line":""},{"line_number":832,"context_line":"    def _publish_access(self, *cmd):"},{"line_number":833,"context_line":"        for server in self.configuration.gpfs_nfs_server_list:"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa6399be_0195be85","line":830,"range":{"start_line":830,"start_character":15,"end_line":830,"end_character":18},"in_reply_to":"fa6399be_ca75a8cb","updated":"2016-10-20 15:49:04.000000000","message":"Done","commit_id":"0a23eb6ba4f3c4c853ba2eef5daf35518a7bf8b8"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"09b53ced287c35c839481057bba4ce76e2ecffa4","unresolved":false,"context_lines":[{"line_number":900,"context_line":"        super(CESHelper, self).__init__(execute, config_object)"},{"line_number":901,"context_line":"        self._execute \u003d execute"},{"line_number":902,"context_line":""},{"line_number":903,"context_line":"    def _is_share_exported(self, local_path, access_to\u003dNone):"},{"line_number":904,"context_line":"        err_msg \u003d \u0027Failed to check exports on the system.\u0027"},{"line_number":905,"context_line":"        out \u003d self._execute_mmnfs_command((\u0027list\u0027, \u0027-n\u0027, local_path, \u0027-Y\u0027),"},{"line_number":906,"context_line":"                                          err_msg)"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa6399be_e0e52b09","line":903,"range":{"start_line":903,"start_character":8,"end_line":903,"end_character":26},"updated":"2016-10-20 12:29:49.000000000","message":"ditto, not return a boolean.","commit_id":"0a23eb6ba4f3c4c853ba2eef5daf35518a7bf8b8"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"03cddbf42672b0c64dfa2598137232621c57ddad","unresolved":false,"context_lines":[{"line_number":900,"context_line":"        super(CESHelper, self).__init__(execute, config_object)"},{"line_number":901,"context_line":"        self._execute \u003d execute"},{"line_number":902,"context_line":""},{"line_number":903,"context_line":"    def _is_share_exported(self, local_path, access_to\u003dNone):"},{"line_number":904,"context_line":"        err_msg \u003d \u0027Failed to check exports on the system.\u0027"},{"line_number":905,"context_line":"        out \u003d self._execute_mmnfs_command((\u0027list\u0027, \u0027-n\u0027, local_path, \u0027-Y\u0027),"},{"line_number":906,"context_line":"                                          err_msg)"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa6399be_c17e6669","line":903,"range":{"start_line":903,"start_character":8,"end_line":903,"end_character":26},"in_reply_to":"fa6399be_e0e52b09","updated":"2016-10-20 15:49:04.000000000","message":"Done","commit_id":"0a23eb6ba4f3c4c853ba2eef5daf35518a7bf8b8"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"09b53ced287c35c839481057bba4ce76e2ecffa4","unresolved":false,"context_lines":[{"line_number":905,"context_line":"        out \u003d self._execute_mmnfs_command((\u0027list\u0027, \u0027-n\u0027, local_path, \u0027-Y\u0027),"},{"line_number":906,"context_line":"                                          err_msg)"},{"line_number":907,"context_line":"        output \u003d re.findall(local_path + \u0027\\\\b\u0027, out)"},{"line_number":908,"context_line":"        if access_to:"},{"line_number":909,"context_line":"            out \u003d re.findall(access_to + \u0027\\\\b\u0027, \u0027\u0027.join(out))"},{"line_number":910,"context_line":"            return out"},{"line_number":911,"context_line":"        return output"},{"line_number":912,"context_line":""},{"line_number":913,"context_line":"    def _execute_mmnfs_command(self, cmd, err_msg):"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa6399be_60d91b57","line":910,"range":{"start_line":908,"start_character":7,"end_line":910,"end_character":22},"updated":"2016-10-20 12:29:49.000000000","message":"this snippet could be moved above line 907","commit_id":"0a23eb6ba4f3c4c853ba2eef5daf35518a7bf8b8"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"03cddbf42672b0c64dfa2598137232621c57ddad","unresolved":false,"context_lines":[{"line_number":905,"context_line":"        out \u003d self._execute_mmnfs_command((\u0027list\u0027, \u0027-n\u0027, local_path, \u0027-Y\u0027),"},{"line_number":906,"context_line":"                                          err_msg)"},{"line_number":907,"context_line":"        output \u003d re.findall(local_path + \u0027\\\\b\u0027, out)"},{"line_number":908,"context_line":"        if access_to:"},{"line_number":909,"context_line":"            out \u003d re.findall(access_to + \u0027\\\\b\u0027, \u0027\u0027.join(out))"},{"line_number":910,"context_line":"            return out"},{"line_number":911,"context_line":"        return output"},{"line_number":912,"context_line":""},{"line_number":913,"context_line":"    def _execute_mmnfs_command(self, cmd, err_msg):"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa6399be_e197ea8d","line":910,"range":{"start_line":908,"start_character":7,"end_line":910,"end_character":22},"in_reply_to":"fa6399be_60d91b57","updated":"2016-10-20 15:49:04.000000000","message":"Done","commit_id":"0a23eb6ba4f3c4c853ba2eef5daf35518a7bf8b8"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"1d6d6bd9e2a4af06e220c45be4e463f9c74f1eb1","unresolved":false,"context_lines":[{"line_number":571,"context_line":"            out, __ \u003d self._gpfs_execute(\u0027mmlsfileset\u0027, fsdev, \u0027-J\u0027,"},{"line_number":572,"context_line":"                                         location, \u0027-L\u0027, \u0027-Y\u0027)"},{"line_number":573,"context_line":"        except exception.ProcessExecutionError as e:"},{"line_number":574,"context_line":"            msg \u003d (_(\u0027%(err_msg)s Error: %(e)s.\u0027)"},{"line_number":575,"context_line":"                   % {\u0027err_msg\u0027: err_msg, \u0027e\u0027: e})"},{"line_number":576,"context_line":"            LOG.exception(msg)"},{"line_number":577,"context_line":"            raise exception.ManageInvalidShare(reason\u003derr_msg)"}],"source_content_type":"text/x-python","patch_set":11,"id":"ba5da102_4fd7ee4a","line":574,"range":{"start_line":574,"start_character":33,"end_line":574,"end_character":47},"updated":"2016-11-01 14:50:41.000000000","message":"\"LOG.exception\" will provide trace, no need to include it second time. Same for all other such occurrences.","commit_id":"67fb1c511027796c89191d53b48bdbad118ac18b"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"7132031f22bd341841142635f1b332ad246e3ce7","unresolved":false,"context_lines":[{"line_number":571,"context_line":"            out, __ \u003d self._gpfs_execute(\u0027mmlsfileset\u0027, fsdev, \u0027-J\u0027,"},{"line_number":572,"context_line":"                                         location, \u0027-L\u0027, \u0027-Y\u0027)"},{"line_number":573,"context_line":"        except exception.ProcessExecutionError as e:"},{"line_number":574,"context_line":"            msg \u003d (_(\u0027%(err_msg)s Error: %(e)s.\u0027)"},{"line_number":575,"context_line":"                   % {\u0027err_msg\u0027: err_msg, \u0027e\u0027: e})"},{"line_number":576,"context_line":"            LOG.exception(msg)"},{"line_number":577,"context_line":"            raise exception.ManageInvalidShare(reason\u003derr_msg)"}],"source_content_type":"text/x-python","patch_set":11,"id":"ba5da102_d0392b43","line":574,"range":{"start_line":574,"start_character":33,"end_line":574,"end_character":47},"in_reply_to":"ba5da102_4fd7ee4a","updated":"2016-11-07 14:15:07.000000000","message":"Done","commit_id":"67fb1c511027796c89191d53b48bdbad118ac18b"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"1d6d6bd9e2a4af06e220c45be4e463f9c74f1eb1","unresolved":false,"context_lines":[{"line_number":606,"context_line":"            msg \u003d (_(\u0027Failed to unlink fileset for share %(sharename)s. \u0027"},{"line_number":607,"context_line":"                     \u0027Error: %(excmsg)s.\u0027) %"},{"line_number":608,"context_line":"                   {\u0027sharename\u0027: sharename, \u0027excmsg\u0027: e})"},{"line_number":609,"context_line":"            LOG.error(msg)"},{"line_number":610,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":611,"context_line":""},{"line_number":612,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":11,"id":"ba5da102_cf6cde37","line":609,"range":{"start_line":609,"start_character":12,"end_line":609,"end_character":26},"updated":"2016-11-01 14:50:41.000000000","message":"Should be \"LOG.exception\" to avoid manual addition of exception in reported message. Same in other occurrences.","commit_id":"67fb1c511027796c89191d53b48bdbad118ac18b"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"7132031f22bd341841142635f1b332ad246e3ce7","unresolved":false,"context_lines":[{"line_number":606,"context_line":"            msg \u003d (_(\u0027Failed to unlink fileset for share %(sharename)s. \u0027"},{"line_number":607,"context_line":"                     \u0027Error: %(excmsg)s.\u0027) %"},{"line_number":608,"context_line":"                   {\u0027sharename\u0027: sharename, \u0027excmsg\u0027: e})"},{"line_number":609,"context_line":"            LOG.error(msg)"},{"line_number":610,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":611,"context_line":""},{"line_number":612,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":11,"id":"ba5da102_5046fbbf","line":609,"range":{"start_line":609,"start_character":12,"end_line":609,"end_character":26},"in_reply_to":"ba5da102_cf6cde37","updated":"2016-11-07 14:15:07.000000000","message":"Done","commit_id":"67fb1c511027796c89191d53b48bdbad118ac18b"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"1d6d6bd9e2a4af06e220c45be4e463f9c74f1eb1","unresolved":false,"context_lines":[{"line_number":641,"context_line":"        lines \u003d out.splitlines()"},{"line_number":642,"context_line":"        try:"},{"line_number":643,"context_line":"            quota_limit \u003d lines[0].split(\u0027:\u0027).index(\u0027blockLimit\u0027)"},{"line_number":644,"context_line":"            quota_status \u003d lines[1].split(\u0027:\u0027)[quota_limit]"},{"line_number":645,"context_line":"        except (IndexError, ValueError):"},{"line_number":646,"context_line":"            msg \u003d _(\u0027Failed to check quota of share.\u0027)"},{"line_number":647,"context_line":"            LOG.exception(msg)"}],"source_content_type":"text/x-python","patch_set":11,"id":"ba5da102_2f971aed","line":644,"range":{"start_line":644,"start_character":12,"end_line":644,"end_character":24},"updated":"2016-11-01 14:50:41.000000000","message":"Is it Kb?","commit_id":"67fb1c511027796c89191d53b48bdbad118ac18b"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"7132031f22bd341841142635f1b332ad246e3ce7","unresolved":false,"context_lines":[{"line_number":641,"context_line":"        lines \u003d out.splitlines()"},{"line_number":642,"context_line":"        try:"},{"line_number":643,"context_line":"            quota_limit \u003d lines[0].split(\u0027:\u0027).index(\u0027blockLimit\u0027)"},{"line_number":644,"context_line":"            quota_status \u003d lines[1].split(\u0027:\u0027)[quota_limit]"},{"line_number":645,"context_line":"        except (IndexError, ValueError):"},{"line_number":646,"context_line":"            msg \u003d _(\u0027Failed to check quota of share.\u0027)"},{"line_number":647,"context_line":"            LOG.exception(msg)"}],"source_content_type":"text/x-python","patch_set":11,"id":"ba5da102_504b5bb0","line":644,"range":{"start_line":644,"start_character":12,"end_line":644,"end_character":24},"in_reply_to":"ba5da102_2f971aed","updated":"2016-11-07 14:15:07.000000000","message":"Yes,\nmmlsquota gives the quota size in Kb.","commit_id":"67fb1c511027796c89191d53b48bdbad118ac18b"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"1d6d6bd9e2a4af06e220c45be4e463f9c74f1eb1","unresolved":false,"context_lines":[{"line_number":648,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":649,"context_line":""},{"line_number":650,"context_line":"        share_size \u003d int(quota_status)"},{"line_number":651,"context_line":"        if share_size \u003c 1048576:"},{"line_number":652,"context_line":"            try:"},{"line_number":653,"context_line":"                self._gpfs_execute(\u0027mmsetquota\u0027, fsdev + \u0027:\u0027 + sharename,"},{"line_number":654,"context_line":"                                   \u0027--block\u0027, \u00270:1G\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"ba5da102_cf885ec8","line":651,"range":{"start_line":651,"start_character":8,"end_line":651,"end_character":32},"updated":"2016-11-01 14:50:41.000000000","message":"Better to add here some note why you use that integer.","commit_id":"67fb1c511027796c89191d53b48bdbad118ac18b"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"7132031f22bd341841142635f1b332ad246e3ce7","unresolved":false,"context_lines":[{"line_number":648,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":649,"context_line":""},{"line_number":650,"context_line":"        share_size \u003d int(quota_status)"},{"line_number":651,"context_line":"        if share_size \u003c 1048576:"},{"line_number":652,"context_line":"            try:"},{"line_number":653,"context_line":"                self._gpfs_execute(\u0027mmsetquota\u0027, fsdev + \u0027:\u0027 + sharename,"},{"line_number":654,"context_line":"                                   \u0027--block\u0027, \u00270:1G\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"ba5da102_a3dc7347","line":651,"range":{"start_line":651,"start_character":8,"end_line":651,"end_character":32},"in_reply_to":"ba5da102_cf885ec8","updated":"2016-11-07 14:15:07.000000000","message":"Done","commit_id":"67fb1c511027796c89191d53b48bdbad118ac18b"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"1d6d6bd9e2a4af06e220c45be4e463f9c74f1eb1","unresolved":false,"context_lines":[{"line_number":667,"context_line":"    def manage_existing(self, share, driver_options):"},{"line_number":668,"context_line":""},{"line_number":669,"context_line":"        old_export \u003d share[\u0027export_location\u0027].split(\u0027:\u0027)"},{"line_number":670,"context_line":"        if len(old_export) \u003d\u003d 2:"},{"line_number":671,"context_line":"            ces_ip \u003d old_export[0]"},{"line_number":672,"context_line":"            old_export_location \u003d old_export[1]"},{"line_number":673,"context_line":"        else:"},{"line_number":674,"context_line":"            msg \u003d _(\u0027Incorrect path. It should have the following format: \u0027"},{"line_number":675,"context_line":"                    \u0027IP:/gpfs_mount_point_base/share_id.\u0027)"},{"line_number":676,"context_line":"            raise exception.ShareBackendException(msg\u003dmsg)"},{"line_number":677,"context_line":""},{"line_number":678,"context_line":"        if ces_ip not in self.configuration.gpfs_nfs_server_list:"},{"line_number":679,"context_line":"            msg \u003d _(\u0027The CES IP %s is not configured.\u0027) % ces_ip"}],"source_content_type":"text/x-python","patch_set":11,"id":"ba5da102_afb24a92","line":676,"range":{"start_line":670,"start_character":8,"end_line":676,"end_character":58},"updated":"2016-11-01 14:50:41.000000000","message":"Do you really need IP? Why just path is not enough for you?","commit_id":"67fb1c511027796c89191d53b48bdbad118ac18b"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"7132031f22bd341841142635f1b332ad246e3ce7","unresolved":false,"context_lines":[{"line_number":667,"context_line":"    def manage_existing(self, share, driver_options):"},{"line_number":668,"context_line":""},{"line_number":669,"context_line":"        old_export \u003d share[\u0027export_location\u0027].split(\u0027:\u0027)"},{"line_number":670,"context_line":"        if len(old_export) \u003d\u003d 2:"},{"line_number":671,"context_line":"            ces_ip \u003d old_export[0]"},{"line_number":672,"context_line":"            old_export_location \u003d old_export[1]"},{"line_number":673,"context_line":"        else:"},{"line_number":674,"context_line":"            msg \u003d _(\u0027Incorrect path. It should have the following format: \u0027"},{"line_number":675,"context_line":"                    \u0027IP:/gpfs_mount_point_base/share_id.\u0027)"},{"line_number":676,"context_line":"            raise exception.ShareBackendException(msg\u003dmsg)"},{"line_number":677,"context_line":""},{"line_number":678,"context_line":"        if ces_ip not in self.configuration.gpfs_nfs_server_list:"},{"line_number":679,"context_line":"            msg \u003d _(\u0027The CES IP %s is not configured.\u0027) % ces_ip"}],"source_content_type":"text/x-python","patch_set":11,"id":"ba5da102_f001cf3a","line":676,"range":{"start_line":670,"start_character":8,"end_line":676,"end_character":58},"in_reply_to":"ba5da102_afb24a92","updated":"2016-11-07 14:15:07.000000000","message":"Yes, IP is also necessary.\nIf manila services are not running on any of GPFS node,\nthen we need to verify that the IP given is belongs gpfs_nfs_server_list.","commit_id":"67fb1c511027796c89191d53b48bdbad118ac18b"},{"author":{"_account_id":7872,"name":"Marc Koderer","email":"marc@koderer.com","username":"mkoderer"},"change_message_id":"fc5821befda03f74cb6f796de1a1d9fc6663db46","unresolved":false,"context_lines":[{"line_number":646,"context_line":"                msg \u003d _(\u0027Failed to set quota for the share.\u0027)"},{"line_number":647,"context_line":"                LOG.exception(msg)"},{"line_number":648,"context_line":"                raise exception.GPFSException(msg)"},{"line_number":649,"context_line":"            share_size \u003d 1"},{"line_number":650,"context_line":"        else:"},{"line_number":651,"context_line":"            share_size \u003d int(math.ceil(share_size / units.Mi))"},{"line_number":652,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"9a629dbe_1d0c2f3a","line":649,"updated":"2016-11-10 10:23:09.000000000","message":"I think a warning would be good since with this mapping the data in manila is not constant with the vaule in the storage","commit_id":"2db5266ac49f32c12245a8990b37c5c86703e791"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"6b49d22756181ec86d4cc39861dd3c4ed4dbd95b","unresolved":false,"context_lines":[{"line_number":646,"context_line":"                msg \u003d _(\u0027Failed to set quota for the share.\u0027)"},{"line_number":647,"context_line":"                LOG.exception(msg)"},{"line_number":648,"context_line":"                raise exception.GPFSException(msg)"},{"line_number":649,"context_line":"            share_size \u003d 1"},{"line_number":650,"context_line":"        else:"},{"line_number":651,"context_line":"            share_size \u003d int(math.ceil(share_size / units.Mi))"},{"line_number":652,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"9a629dbe_be190b7c","line":649,"in_reply_to":"9a629dbe_1d0c2f3a","updated":"2016-11-14 11:18:34.000000000","message":"Done","commit_id":"2db5266ac49f32c12245a8990b37c5c86703e791"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"240335199ac048dfd1b650f3b9f301083b5e6c70","unresolved":false,"context_lines":[{"line_number":631,"context_line":"            quota_limit \u003d lines[0].split(\u0027:\u0027).index(\u0027blockLimit\u0027)"},{"line_number":632,"context_line":"            quota_status \u003d lines[1].split(\u0027:\u0027)[quota_limit]"},{"line_number":633,"context_line":"        except (IndexError, ValueError):"},{"line_number":634,"context_line":"            msg \u003d _(\u0027Failed to check quota of share.\u0027)"},{"line_number":635,"context_line":"            LOG.exception(msg)"},{"line_number":636,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":637,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"7a77a97e_6ec173e4","line":634,"range":{"start_line":634,"start_character":21,"end_line":634,"end_character":53},"updated":"2016-11-15 12:21:39.000000000","message":"Which share? ID?","commit_id":"42b1889ad0245e1d258d253717f4a1e7be907bc3"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"ae5cac9a2fbd84068173e261eaf8019a41c02728","unresolved":false,"context_lines":[{"line_number":631,"context_line":"            quota_limit \u003d lines[0].split(\u0027:\u0027).index(\u0027blockLimit\u0027)"},{"line_number":632,"context_line":"            quota_status \u003d lines[1].split(\u0027:\u0027)[quota_limit]"},{"line_number":633,"context_line":"        except (IndexError, ValueError):"},{"line_number":634,"context_line":"            msg \u003d _(\u0027Failed to check quota of share.\u0027)"},{"line_number":635,"context_line":"            LOG.exception(msg)"},{"line_number":636,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":637,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"7a77a97e_5e3fe2d5","line":634,"range":{"start_line":634,"start_character":21,"end_line":634,"end_character":53},"in_reply_to":"7a77a97e_6ec173e4","updated":"2016-12-01 12:02:42.000000000","message":"Done","commit_id":"42b1889ad0245e1d258d253717f4a1e7be907bc3"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"240335199ac048dfd1b650f3b9f301083b5e6c70","unresolved":false,"context_lines":[{"line_number":638,"context_line":"        share_size \u003d int(quota_status)"},{"line_number":639,"context_line":"        # Note: since share_size returns integer value in KB,"},{"line_number":640,"context_line":"        # we are checking whether share is less than 1G. (1GB \u003d 1048576KB)"},{"line_number":641,"context_line":"        if share_size \u003c 1048576:"},{"line_number":642,"context_line":"            try:"},{"line_number":643,"context_line":"                self._gpfs_execute(\u0027mmsetquota\u0027, fsdev + \u0027:\u0027 + sharename,"},{"line_number":644,"context_line":"                                   \u0027--block\u0027, \u00270:1G\u0027)"}],"source_content_type":"text/x-python","patch_set":14,"id":"7a77a97e_2e569b29","line":641,"range":{"start_line":641,"start_character":24,"end_line":641,"end_character":31},"updated":"2016-11-15 12:21:39.000000000","message":"I would use \"1024 ** 2\" value to be obvious.\n\nOr also oslo.utils lib [1] could be used.\n\n[1] https://github.com/openstack/oslo.utils/blob/master/oslo_utils/units.py","commit_id":"42b1889ad0245e1d258d253717f4a1e7be907bc3"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"3a7185e713ff774ec3fe8eefe3df4f6561e5c192","unresolved":false,"context_lines":[{"line_number":638,"context_line":"        share_size \u003d int(quota_status)"},{"line_number":639,"context_line":"        # Note: since share_size returns integer value in KB,"},{"line_number":640,"context_line":"        # we are checking whether share is less than 1G. (1GB \u003d 1048576KB)"},{"line_number":641,"context_line":"        if share_size \u003c 1048576:"},{"line_number":642,"context_line":"            try:"},{"line_number":643,"context_line":"                self._gpfs_execute(\u0027mmsetquota\u0027, fsdev + \u0027:\u0027 + sharename,"},{"line_number":644,"context_line":"                                   \u0027--block\u0027, \u00270:1G\u0027)"}],"source_content_type":"text/x-python","patch_set":14,"id":"5a74a57a_db8879ea","line":641,"range":{"start_line":641,"start_character":24,"end_line":641,"end_character":31},"updated":"2016-11-23 23:27:13.000000000","message":"I\u0027d use units.Mi like below","commit_id":"42b1889ad0245e1d258d253717f4a1e7be907bc3"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"ae5cac9a2fbd84068173e261eaf8019a41c02728","unresolved":false,"context_lines":[{"line_number":638,"context_line":"        share_size \u003d int(quota_status)"},{"line_number":639,"context_line":"        # Note: since share_size returns integer value in KB,"},{"line_number":640,"context_line":"        # we are checking whether share is less than 1G. (1GB \u003d 1048576KB)"},{"line_number":641,"context_line":"        if share_size \u003c 1048576:"},{"line_number":642,"context_line":"            try:"},{"line_number":643,"context_line":"                self._gpfs_execute(\u0027mmsetquota\u0027, fsdev + \u0027:\u0027 + sharename,"},{"line_number":644,"context_line":"                                   \u0027--block\u0027, \u00270:1G\u0027)"}],"source_content_type":"text/x-python","patch_set":14,"id":"5a74a57a_22f9504e","line":641,"range":{"start_line":641,"start_character":24,"end_line":641,"end_character":31},"in_reply_to":"5a74a57a_db8879ea","updated":"2016-12-01 12:02:42.000000000","message":"Done","commit_id":"42b1889ad0245e1d258d253717f4a1e7be907bc3"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"ae5cac9a2fbd84068173e261eaf8019a41c02728","unresolved":false,"context_lines":[{"line_number":638,"context_line":"        share_size \u003d int(quota_status)"},{"line_number":639,"context_line":"        # Note: since share_size returns integer value in KB,"},{"line_number":640,"context_line":"        # we are checking whether share is less than 1G. (1GB \u003d 1048576KB)"},{"line_number":641,"context_line":"        if share_size \u003c 1048576:"},{"line_number":642,"context_line":"            try:"},{"line_number":643,"context_line":"                self._gpfs_execute(\u0027mmsetquota\u0027, fsdev + \u0027:\u0027 + sharename,"},{"line_number":644,"context_line":"                                   \u0027--block\u0027, \u00270:1G\u0027)"}],"source_content_type":"text/x-python","patch_set":14,"id":"7a77a97e_d904ecc1","line":641,"range":{"start_line":641,"start_character":24,"end_line":641,"end_character":31},"in_reply_to":"7a77a97e_2e569b29","updated":"2016-12-01 12:02:42.000000000","message":"Done","commit_id":"42b1889ad0245e1d258d253717f4a1e7be907bc3"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"240335199ac048dfd1b650f3b9f301083b5e6c70","unresolved":false,"context_lines":[{"line_number":643,"context_line":"                self._gpfs_execute(\u0027mmsetquota\u0027, fsdev + \u0027:\u0027 + sharename,"},{"line_number":644,"context_line":"                                   \u0027--block\u0027, \u00270:1G\u0027)"},{"line_number":645,"context_line":"            except exception.ProcessExecutionError:"},{"line_number":646,"context_line":"                msg \u003d _(\u0027Failed to set quota for the share.\u0027)"},{"line_number":647,"context_line":"                LOG.exception(msg)"},{"line_number":648,"context_line":"                raise exception.GPFSException(msg)"},{"line_number":649,"context_line":"            LOG.warning(_LW(\u0027Existing share size is %s KB which is below 1G, \u0027"}],"source_content_type":"text/x-python","patch_set":14,"id":"7a77a97e_293215f2","line":646,"range":{"start_line":646,"start_character":25,"end_line":646,"end_character":59},"updated":"2016-11-15 12:21:39.000000000","message":"Which share? ID?","commit_id":"42b1889ad0245e1d258d253717f4a1e7be907bc3"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"ae5cac9a2fbd84068173e261eaf8019a41c02728","unresolved":false,"context_lines":[{"line_number":643,"context_line":"                self._gpfs_execute(\u0027mmsetquota\u0027, fsdev + \u0027:\u0027 + sharename,"},{"line_number":644,"context_line":"                                   \u0027--block\u0027, \u00270:1G\u0027)"},{"line_number":645,"context_line":"            except exception.ProcessExecutionError:"},{"line_number":646,"context_line":"                msg \u003d _(\u0027Failed to set quota for the share.\u0027)"},{"line_number":647,"context_line":"                LOG.exception(msg)"},{"line_number":648,"context_line":"                raise exception.GPFSException(msg)"},{"line_number":649,"context_line":"            LOG.warning(_LW(\u0027Existing share size is %s KB which is below 1G, \u0027"}],"source_content_type":"text/x-python","patch_set":14,"id":"7a77a97e_7e265ecf","line":646,"range":{"start_line":646,"start_character":25,"end_line":646,"end_character":59},"in_reply_to":"7a77a97e_293215f2","updated":"2016-12-01 12:02:42.000000000","message":"Done","commit_id":"42b1889ad0245e1d258d253717f4a1e7be907bc3"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"3a7185e713ff774ec3fe8eefe3df4f6561e5c192","unresolved":false,"context_lines":[{"line_number":646,"context_line":"                msg \u003d _(\u0027Failed to set quota for the share.\u0027)"},{"line_number":647,"context_line":"                LOG.exception(msg)"},{"line_number":648,"context_line":"                raise exception.GPFSException(msg)"},{"line_number":649,"context_line":"            LOG.warning(_LW(\u0027Existing share size is %s KB which is below 1G, \u0027"},{"line_number":650,"context_line":"                            \u0027so extending it to 1G.\u0027), share_size)"},{"line_number":651,"context_line":"            share_size \u003d 1"},{"line_number":652,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":14,"id":"5a74a57a_dbbb1971","line":649,"range":{"start_line":649,"start_character":16,"end_line":649,"end_character":23},"updated":"2016-11-23 23:27:13.000000000","message":"I\u0027d think that is more INFO than WARNING.  It\u0027s not likely an indicator of some impending failure.  \nnit: I\u0027d also move this before the action to say \"extending\" (or maybe change it to past tense).","commit_id":"42b1889ad0245e1d258d253717f4a1e7be907bc3"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"ae5cac9a2fbd84068173e261eaf8019a41c02728","unresolved":false,"context_lines":[{"line_number":646,"context_line":"                msg \u003d _(\u0027Failed to set quota for the share.\u0027)"},{"line_number":647,"context_line":"                LOG.exception(msg)"},{"line_number":648,"context_line":"                raise exception.GPFSException(msg)"},{"line_number":649,"context_line":"            LOG.warning(_LW(\u0027Existing share size is %s KB which is below 1G, \u0027"},{"line_number":650,"context_line":"                            \u0027so extending it to 1G.\u0027), share_size)"},{"line_number":651,"context_line":"            share_size \u003d 1"},{"line_number":652,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":14,"id":"5a74a57a_6d8c1936","line":649,"range":{"start_line":649,"start_character":16,"end_line":649,"end_character":23},"in_reply_to":"5a74a57a_dbbb1971","updated":"2016-12-01 12:02:42.000000000","message":"Done","commit_id":"42b1889ad0245e1d258d253717f4a1e7be907bc3"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"240335199ac048dfd1b650f3b9f301083b5e6c70","unresolved":false,"context_lines":[{"line_number":646,"context_line":"                msg \u003d _(\u0027Failed to set quota for the share.\u0027)"},{"line_number":647,"context_line":"                LOG.exception(msg)"},{"line_number":648,"context_line":"                raise exception.GPFSException(msg)"},{"line_number":649,"context_line":"            LOG.warning(_LW(\u0027Existing share size is %s KB which is below 1G, \u0027"},{"line_number":650,"context_line":"                            \u0027so extending it to 1G.\u0027), share_size)"},{"line_number":651,"context_line":"            share_size \u003d 1"},{"line_number":652,"context_line":"        else:"},{"line_number":653,"context_line":"            share_size \u003d int(math.ceil(share_size / units.Mi))"}],"source_content_type":"text/x-python","patch_set":14,"id":"7a77a97e_e93e5db7","line":650,"range":{"start_line":649,"start_character":11,"end_line":650,"end_character":66},"updated":"2016-11-15 12:21:39.000000000","message":"Same here too, share ID? Or share path?","commit_id":"42b1889ad0245e1d258d253717f4a1e7be907bc3"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"ae5cac9a2fbd84068173e261eaf8019a41c02728","unresolved":false,"context_lines":[{"line_number":646,"context_line":"                msg \u003d _(\u0027Failed to set quota for the share.\u0027)"},{"line_number":647,"context_line":"                LOG.exception(msg)"},{"line_number":648,"context_line":"                raise exception.GPFSException(msg)"},{"line_number":649,"context_line":"            LOG.warning(_LW(\u0027Existing share size is %s KB which is below 1G, \u0027"},{"line_number":650,"context_line":"                            \u0027so extending it to 1G.\u0027), share_size)"},{"line_number":651,"context_line":"            share_size \u003d 1"},{"line_number":652,"context_line":"        else:"},{"line_number":653,"context_line":"            share_size \u003d int(math.ceil(share_size / units.Mi))"}],"source_content_type":"text/x-python","patch_set":14,"id":"7a77a97e_99fa74bc","line":650,"range":{"start_line":649,"start_character":11,"end_line":650,"end_character":66},"in_reply_to":"7a77a97e_e93e5db7","updated":"2016-12-01 12:02:42.000000000","message":"Done","commit_id":"42b1889ad0245e1d258d253717f4a1e7be907bc3"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"3a7185e713ff774ec3fe8eefe3df4f6561e5c192","unresolved":false,"context_lines":[{"line_number":650,"context_line":"                            \u0027so extending it to 1G.\u0027), share_size)"},{"line_number":651,"context_line":"            share_size \u003d 1"},{"line_number":652,"context_line":"        else:"},{"line_number":653,"context_line":"            share_size \u003d int(math.ceil(share_size / units.Mi))"},{"line_number":654,"context_line":""},{"line_number":655,"context_line":"        new_export_location \u003d self._get_helper(share).create_export("},{"line_number":656,"context_line":"            new_export_location)"}],"source_content_type":"text/x-python","patch_set":14,"id":"5a74a57a_d60e9033","line":653,"range":{"start_line":653,"start_character":11,"end_line":653,"end_character":62},"updated":"2016-11-23 23:27:13.000000000","message":"This is floor division in python 2. You could float(share_size) or consider _future_ division.\nAlso if you do ceil to round-up, then why not mmsetquota like above?","commit_id":"42b1889ad0245e1d258d253717f4a1e7be907bc3"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"ae5cac9a2fbd84068173e261eaf8019a41c02728","unresolved":false,"context_lines":[{"line_number":650,"context_line":"                            \u0027so extending it to 1G.\u0027), share_size)"},{"line_number":651,"context_line":"            share_size \u003d 1"},{"line_number":652,"context_line":"        else:"},{"line_number":653,"context_line":"            share_size \u003d int(math.ceil(share_size / units.Mi))"},{"line_number":654,"context_line":""},{"line_number":655,"context_line":"        new_export_location \u003d self._get_helper(share).create_export("},{"line_number":656,"context_line":"            new_export_location)"}],"source_content_type":"text/x-python","patch_set":14,"id":"3a71b18c_1b25bcaa","line":653,"range":{"start_line":653,"start_character":11,"end_line":653,"end_character":62},"in_reply_to":"5a74a57a_d60e9033","updated":"2016-12-01 12:02:42.000000000","message":"Done","commit_id":"42b1889ad0245e1d258d253717f4a1e7be907bc3"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"240335199ac048dfd1b650f3b9f301083b5e6c70","unresolved":false,"context_lines":[{"line_number":683,"context_line":"            LOG.error(err_msg)"},{"line_number":684,"context_line":"            raise exception.ManageInvalidShare(reason\u003derr_msg)"},{"line_number":685,"context_line":""},{"line_number":686,"context_line":"        out \u003d self._get_helper(share)._is_share_exported(old_export_location)"},{"line_number":687,"context_line":"        if out:"},{"line_number":688,"context_line":"            err_msg \u003d _(\u0027%s share is already in use.\u0027) % old_export_location"},{"line_number":689,"context_line":"            LOG.error(err_msg)"},{"line_number":690,"context_line":"            raise exception.ManageInvalidShare(reason\u003derr_msg)"},{"line_number":691,"context_line":""},{"line_number":692,"context_line":"        share_size, new_export_location \u003d self._manage_existing("},{"line_number":693,"context_line":"            fsdev, share, old_export_location)"}],"source_content_type":"text/x-python","patch_set":14,"id":"7a77a97e_29a8551f","line":690,"range":{"start_line":686,"start_character":8,"end_line":690,"end_character":62},"updated":"2016-11-15 12:21:39.000000000","message":"Either I am missing something or you implement logic opposite to one expected to be implemented.\n\n\"Manage share\" implies that you have some existing resource (share), that is exported and used. And you should expect that it exactly exists. Then just register it in manila.","commit_id":"42b1889ad0245e1d258d253717f4a1e7be907bc3"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"968ed3eed623ea332b8cc064bf6ecad03819b061","unresolved":false,"context_lines":[{"line_number":683,"context_line":"            LOG.error(err_msg)"},{"line_number":684,"context_line":"            raise exception.ManageInvalidShare(reason\u003derr_msg)"},{"line_number":685,"context_line":""},{"line_number":686,"context_line":"        out \u003d self._get_helper(share)._is_share_exported(old_export_location)"},{"line_number":687,"context_line":"        if out:"},{"line_number":688,"context_line":"            err_msg \u003d _(\u0027%s share is already in use.\u0027) % old_export_location"},{"line_number":689,"context_line":"            LOG.error(err_msg)"},{"line_number":690,"context_line":"            raise exception.ManageInvalidShare(reason\u003derr_msg)"},{"line_number":691,"context_line":""},{"line_number":692,"context_line":"        share_size, new_export_location \u003d self._manage_existing("},{"line_number":693,"context_line":"            fsdev, share, old_export_location)"}],"source_content_type":"text/x-python","patch_set":14,"id":"5a74a57a_b21ce9c2","line":690,"range":{"start_line":686,"start_character":8,"end_line":690,"end_character":62},"in_reply_to":"5a74a57a_69eeb68c","updated":"2016-11-29 20:02:58.000000000","message":"As discussed in http://eavesdrop.openstack.org/irclogs/%23openstack-manila/%23openstack-manila.2016-11-29.log.html  There is inconsistency with how we handle existing access.  So I change my mind here. I\u0027ll agree that your fail-if-existing-access implementation might be a good first step while the disruptive/non-disruptive debate is sorted out.  I think it would help Valeriy\u0027s concern above if you clarified by s/_is_share_exported(/_has_client_access(/ and make the error message more clear about not supporting manage for shares with existing client access.","commit_id":"42b1889ad0245e1d258d253717f4a1e7be907bc3"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"ae5cac9a2fbd84068173e261eaf8019a41c02728","unresolved":false,"context_lines":[{"line_number":683,"context_line":"            LOG.error(err_msg)"},{"line_number":684,"context_line":"            raise exception.ManageInvalidShare(reason\u003derr_msg)"},{"line_number":685,"context_line":""},{"line_number":686,"context_line":"        out \u003d self._get_helper(share)._is_share_exported(old_export_location)"},{"line_number":687,"context_line":"        if out:"},{"line_number":688,"context_line":"            err_msg \u003d _(\u0027%s share is already in use.\u0027) % old_export_location"},{"line_number":689,"context_line":"            LOG.error(err_msg)"},{"line_number":690,"context_line":"            raise exception.ManageInvalidShare(reason\u003derr_msg)"},{"line_number":691,"context_line":""},{"line_number":692,"context_line":"        share_size, new_export_location \u003d self._manage_existing("},{"line_number":693,"context_line":"            fsdev, share, old_export_location)"}],"source_content_type":"text/x-python","patch_set":14,"id":"5a74a57a_cd5d2d4a","line":690,"range":{"start_line":686,"start_character":8,"end_line":690,"end_character":62},"in_reply_to":"5a74a57a_b21ce9c2","updated":"2016-12-01 12:02:42.000000000","message":"Done","commit_id":"42b1889ad0245e1d258d253717f4a1e7be907bc3"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"3a7185e713ff774ec3fe8eefe3df4f6561e5c192","unresolved":false,"context_lines":[{"line_number":683,"context_line":"            LOG.error(err_msg)"},{"line_number":684,"context_line":"            raise exception.ManageInvalidShare(reason\u003derr_msg)"},{"line_number":685,"context_line":""},{"line_number":686,"context_line":"        out \u003d self._get_helper(share)._is_share_exported(old_export_location)"},{"line_number":687,"context_line":"        if out:"},{"line_number":688,"context_line":"            err_msg \u003d _(\u0027%s share is already in use.\u0027) % old_export_location"},{"line_number":689,"context_line":"            LOG.error(err_msg)"},{"line_number":690,"context_line":"            raise exception.ManageInvalidShare(reason\u003derr_msg)"},{"line_number":691,"context_line":""},{"line_number":692,"context_line":"        share_size, new_export_location \u003d self._manage_existing("},{"line_number":693,"context_line":"            fsdev, share, old_export_location)"}],"source_content_type":"text/x-python","patch_set":14,"id":"5a74a57a_69eeb68c","line":690,"range":{"start_line":686,"start_character":8,"end_line":690,"end_character":62},"in_reply_to":"7a77a97e_29a8551f","updated":"2016-11-23 23:27:13.000000000","message":"Agree. manage_existing() should be able to manage an existing share. This impl can manage an existing fileset, but here it refuses to manage one that is actually an NFS share (exported).","commit_id":"42b1889ad0245e1d258d253717f4a1e7be907bc3"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"3a7185e713ff774ec3fe8eefe3df4f6561e5c192","unresolved":false,"context_lines":[{"line_number":817,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":818,"context_line":""},{"line_number":819,"context_line":"        if access_to:"},{"line_number":820,"context_line":"            if(re.search(re.escape(local_path) + \u0027[\\s\\n]*\u0027"},{"line_number":821,"context_line":"                         + re.escape(access_to), out)):"},{"line_number":822,"context_line":"                return True"},{"line_number":823,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":14,"id":"5a74a57a_f6dd4c71","line":820,"updated":"2016-11-23 23:27:13.000000000","message":"space after if","commit_id":"42b1889ad0245e1d258d253717f4a1e7be907bc3"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"ae5cac9a2fbd84068173e261eaf8019a41c02728","unresolved":false,"context_lines":[{"line_number":817,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":818,"context_line":""},{"line_number":819,"context_line":"        if access_to:"},{"line_number":820,"context_line":"            if(re.search(re.escape(local_path) + \u0027[\\s\\n]*\u0027"},{"line_number":821,"context_line":"                         + re.escape(access_to), out)):"},{"line_number":822,"context_line":"                return True"},{"line_number":823,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":14,"id":"5a74a57a_08ad5388","line":820,"in_reply_to":"5a74a57a_f6dd4c71","updated":"2016-12-01 12:02:42.000000000","message":"Done","commit_id":"42b1889ad0245e1d258d253717f4a1e7be907bc3"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"3a7185e713ff774ec3fe8eefe3df4f6561e5c192","unresolved":false,"context_lines":[{"line_number":821,"context_line":"                         + re.escape(access_to), out)):"},{"line_number":822,"context_line":"                return True"},{"line_number":823,"context_line":"        else:"},{"line_number":824,"context_line":"            if(re.findall(local_path + \u0027\\\\b\u0027, \u0027\u0027.join(out))):"},{"line_number":825,"context_line":"                return True"},{"line_number":826,"context_line":"        return False"},{"line_number":827,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"5a74a57a_16dba87d","line":824,"range":{"start_line":824,"start_character":14,"end_line":824,"end_character":15},"updated":"2016-11-23 23:27:13.000000000","message":"redundant parens","commit_id":"42b1889ad0245e1d258d253717f4a1e7be907bc3"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"ae5cac9a2fbd84068173e261eaf8019a41c02728","unresolved":false,"context_lines":[{"line_number":821,"context_line":"                         + re.escape(access_to), out)):"},{"line_number":822,"context_line":"                return True"},{"line_number":823,"context_line":"        else:"},{"line_number":824,"context_line":"            if(re.findall(local_path + \u0027\\\\b\u0027, \u0027\u0027.join(out))):"},{"line_number":825,"context_line":"                return True"},{"line_number":826,"context_line":"        return False"},{"line_number":827,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"5a74a57a_68ba47c2","line":824,"range":{"start_line":824,"start_character":14,"end_line":824,"end_character":15},"in_reply_to":"5a74a57a_16dba87d","updated":"2016-12-01 12:02:42.000000000","message":"Done","commit_id":"42b1889ad0245e1d258d253717f4a1e7be907bc3"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"3a7185e713ff774ec3fe8eefe3df4f6561e5c192","unresolved":false,"context_lines":[{"line_number":900,"context_line":"        err_msg \u003d \u0027Failed to check exports on the system.\u0027"},{"line_number":901,"context_line":"        out \u003d self._execute_mmnfs_command((\u0027list\u0027, \u0027-n\u0027, local_path, \u0027-Y\u0027),"},{"line_number":902,"context_line":"                                          err_msg)"},{"line_number":903,"context_line":"        if (re.findall(local_path + \u0027\\\\b\u0027, out)):"},{"line_number":904,"context_line":"            if access_to:"},{"line_number":905,"context_line":"                if (re.findall(access_to + \u0027\\\\b\u0027, \u0027\u0027.join(out))):"},{"line_number":906,"context_line":"                    return True"}],"source_content_type":"text/x-python","patch_set":14,"id":"5a74a57a_76d05c54","line":903,"range":{"start_line":903,"start_character":11,"end_line":903,"end_character":12},"updated":"2016-11-23 23:27:13.000000000","message":"redundant parens","commit_id":"42b1889ad0245e1d258d253717f4a1e7be907bc3"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"ae5cac9a2fbd84068173e261eaf8019a41c02728","unresolved":false,"context_lines":[{"line_number":900,"context_line":"        err_msg \u003d \u0027Failed to check exports on the system.\u0027"},{"line_number":901,"context_line":"        out \u003d self._execute_mmnfs_command((\u0027list\u0027, \u0027-n\u0027, local_path, \u0027-Y\u0027),"},{"line_number":902,"context_line":"                                          err_msg)"},{"line_number":903,"context_line":"        if (re.findall(local_path + \u0027\\\\b\u0027, out)):"},{"line_number":904,"context_line":"            if access_to:"},{"line_number":905,"context_line":"                if (re.findall(access_to + \u0027\\\\b\u0027, \u0027\u0027.join(out))):"},{"line_number":906,"context_line":"                    return True"}],"source_content_type":"text/x-python","patch_set":14,"id":"5a74a57a_a8eb7faf","line":903,"range":{"start_line":903,"start_character":11,"end_line":903,"end_character":12},"in_reply_to":"5a74a57a_76d05c54","updated":"2016-12-01 12:02:42.000000000","message":"Done","commit_id":"42b1889ad0245e1d258d253717f4a1e7be907bc3"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"3a7185e713ff774ec3fe8eefe3df4f6561e5c192","unresolved":false,"context_lines":[{"line_number":902,"context_line":"                                          err_msg)"},{"line_number":903,"context_line":"        if (re.findall(local_path + \u0027\\\\b\u0027, out)):"},{"line_number":904,"context_line":"            if access_to:"},{"line_number":905,"context_line":"                if (re.findall(access_to + \u0027\\\\b\u0027, \u0027\u0027.join(out))):"},{"line_number":906,"context_line":"                    return True"},{"line_number":907,"context_line":"                return False"},{"line_number":908,"context_line":"            return True"}],"source_content_type":"text/x-python","patch_set":14,"id":"5a74a57a_96d5f844","line":905,"range":{"start_line":905,"start_character":19,"end_line":905,"end_character":20},"updated":"2016-11-23 23:27:13.000000000","message":"redundant parens","commit_id":"42b1889ad0245e1d258d253717f4a1e7be907bc3"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"ae5cac9a2fbd84068173e261eaf8019a41c02728","unresolved":false,"context_lines":[{"line_number":902,"context_line":"                                          err_msg)"},{"line_number":903,"context_line":"        if (re.findall(local_path + \u0027\\\\b\u0027, out)):"},{"line_number":904,"context_line":"            if access_to:"},{"line_number":905,"context_line":"                if (re.findall(access_to + \u0027\\\\b\u0027, \u0027\u0027.join(out))):"},{"line_number":906,"context_line":"                    return True"},{"line_number":907,"context_line":"                return False"},{"line_number":908,"context_line":"            return True"}],"source_content_type":"text/x-python","patch_set":14,"id":"5a74a57a_c8d0bbfa","line":905,"range":{"start_line":905,"start_character":19,"end_line":905,"end_character":20},"in_reply_to":"5a74a57a_96d5f844","updated":"2016-12-01 12:02:42.000000000","message":"Done","commit_id":"42b1889ad0245e1d258d253717f4a1e7be907bc3"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"533fa7b99be081b5500a4764e56b8b5e62738360","unresolved":false,"context_lines":[{"line_number":637,"context_line":""},{"line_number":638,"context_line":"        share_size \u003d int(quota_status)"},{"line_number":639,"context_line":"        # Note: since share_size returns integer value in KB,"},{"line_number":640,"context_line":"        # we are checking whether share is less than 1G."},{"line_number":641,"context_line":"        # (1GB \u003d 1024 ** 2 \u003d units.Mi)"},{"line_number":642,"context_line":"        if share_size \u003c units.Mi:"},{"line_number":643,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":15,"id":"3a71b18c_3260bcce","line":640,"range":{"start_line":640,"start_character":53,"end_line":640,"end_character":55},"updated":"2016-12-01 19:04:29.000000000","message":"nit:  GiB is less ambiguous.","commit_id":"a145dba64271c13bea8059bf9e6dacc220984338"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"538ff7a7ebdacc13f8b10158469370b307663699","unresolved":false,"context_lines":[{"line_number":637,"context_line":""},{"line_number":638,"context_line":"        share_size \u003d int(quota_status)"},{"line_number":639,"context_line":"        # Note: since share_size returns integer value in KB,"},{"line_number":640,"context_line":"        # we are checking whether share is less than 1G."},{"line_number":641,"context_line":"        # (1GB \u003d 1024 ** 2 \u003d units.Mi)"},{"line_number":642,"context_line":"        if share_size \u003c units.Mi:"},{"line_number":643,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":15,"id":"3a71b18c_9cdc2d14","line":640,"range":{"start_line":640,"start_character":53,"end_line":640,"end_character":55},"in_reply_to":"3a71b18c_3260bcce","updated":"2016-12-02 10:49:07.000000000","message":"Done","commit_id":"a145dba64271c13bea8059bf9e6dacc220984338"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"533fa7b99be081b5500a4764e56b8b5e62738360","unresolved":false,"context_lines":[{"line_number":638,"context_line":"        share_size \u003d int(quota_status)"},{"line_number":639,"context_line":"        # Note: since share_size returns integer value in KB,"},{"line_number":640,"context_line":"        # we are checking whether share is less than 1G."},{"line_number":641,"context_line":"        # (1GB \u003d 1024 ** 2 \u003d units.Mi)"},{"line_number":642,"context_line":"        if share_size \u003c units.Mi:"},{"line_number":643,"context_line":"            try:"},{"line_number":644,"context_line":"                self._gpfs_execute(\u0027mmsetquota\u0027, fsdev + \u0027:\u0027 + sharename,"}],"source_content_type":"text/x-python","patch_set":15,"id":"3a71b18c_27040016","line":641,"updated":"2016-12-01 19:04:29.000000000","message":"nit: 1GB \u003d units.Mi makes it look like a mistake. Need KB in there. How about just:  (units.Mi * KB \u003d 1GB) or comment less or use the old 1048576KB comment?","commit_id":"a145dba64271c13bea8059bf9e6dacc220984338"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"538ff7a7ebdacc13f8b10158469370b307663699","unresolved":false,"context_lines":[{"line_number":638,"context_line":"        share_size \u003d int(quota_status)"},{"line_number":639,"context_line":"        # Note: since share_size returns integer value in KB,"},{"line_number":640,"context_line":"        # we are checking whether share is less than 1G."},{"line_number":641,"context_line":"        # (1GB \u003d 1024 ** 2 \u003d units.Mi)"},{"line_number":642,"context_line":"        if share_size \u003c units.Mi:"},{"line_number":643,"context_line":"            try:"},{"line_number":644,"context_line":"                self._gpfs_execute(\u0027mmsetquota\u0027, fsdev + \u0027:\u0027 + sharename,"}],"source_content_type":"text/x-python","patch_set":15,"id":"3a71b18c_5cf9b57f","line":641,"in_reply_to":"3a71b18c_27040016","updated":"2016-12-02 10:49:07.000000000","message":"Done","commit_id":"a145dba64271c13bea8059bf9e6dacc220984338"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"533fa7b99be081b5500a4764e56b8b5e62738360","unresolved":false,"context_lines":[{"line_number":647,"context_line":"                msg \u003d (_(\u0027Failed to set quota for share %s.\u0027) % sharename)"},{"line_number":648,"context_line":"                LOG.exception(msg)"},{"line_number":649,"context_line":"                raise exception.GPFSException(msg)"},{"line_number":650,"context_line":"            LOG.info(_LI(\u0027Existing share %(shr)s have size %(size)s KB \u0027"},{"line_number":651,"context_line":"                         \u0027which is below 1G, so extended it to 1G.\u0027) %"},{"line_number":652,"context_line":"                     {\u0027shr\u0027: sharename, \u0027size\u0027: share_size})"},{"line_number":653,"context_line":"            share_size \u003d 1"}],"source_content_type":"text/x-python","patch_set":15,"id":"3a71b18c_123580d9","line":650,"range":{"start_line":650,"start_character":49,"end_line":650,"end_character":53},"updated":"2016-12-01 19:04:29.000000000","message":"s/have/has/","commit_id":"a145dba64271c13bea8059bf9e6dacc220984338"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"538ff7a7ebdacc13f8b10158469370b307663699","unresolved":false,"context_lines":[{"line_number":647,"context_line":"                msg \u003d (_(\u0027Failed to set quota for share %s.\u0027) % sharename)"},{"line_number":648,"context_line":"                LOG.exception(msg)"},{"line_number":649,"context_line":"                raise exception.GPFSException(msg)"},{"line_number":650,"context_line":"            LOG.info(_LI(\u0027Existing share %(shr)s have size %(size)s KB \u0027"},{"line_number":651,"context_line":"                         \u0027which is below 1G, so extended it to 1G.\u0027) %"},{"line_number":652,"context_line":"                     {\u0027shr\u0027: sharename, \u0027size\u0027: share_size})"},{"line_number":653,"context_line":"            share_size \u003d 1"}],"source_content_type":"text/x-python","patch_set":15,"id":"3a71b18c_9cf34d9e","line":650,"range":{"start_line":650,"start_character":49,"end_line":650,"end_character":53},"in_reply_to":"3a71b18c_123580d9","updated":"2016-12-02 10:49:07.000000000","message":"Done","commit_id":"a145dba64271c13bea8059bf9e6dacc220984338"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"533fa7b99be081b5500a4764e56b8b5e62738360","unresolved":false,"context_lines":[{"line_number":648,"context_line":"                LOG.exception(msg)"},{"line_number":649,"context_line":"                raise exception.GPFSException(msg)"},{"line_number":650,"context_line":"            LOG.info(_LI(\u0027Existing share %(shr)s have size %(size)s KB \u0027"},{"line_number":651,"context_line":"                         \u0027which is below 1G, so extended it to 1G.\u0027) %"},{"line_number":652,"context_line":"                     {\u0027shr\u0027: sharename, \u0027size\u0027: share_size})"},{"line_number":653,"context_line":"            share_size \u003d 1"},{"line_number":654,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":15,"id":"3a71b18c_32ab5c76","line":651,"range":{"start_line":651,"start_character":63,"end_line":651,"end_character":65},"updated":"2016-12-01 19:04:29.000000000","message":"here I\u0027m OK with 1G because it matches IBM docs -- but IBM should use GiB to be clear.","commit_id":"a145dba64271c13bea8059bf9e6dacc220984338"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"538ff7a7ebdacc13f8b10158469370b307663699","unresolved":false,"context_lines":[{"line_number":648,"context_line":"                LOG.exception(msg)"},{"line_number":649,"context_line":"                raise exception.GPFSException(msg)"},{"line_number":650,"context_line":"            LOG.info(_LI(\u0027Existing share %(shr)s have size %(size)s KB \u0027"},{"line_number":651,"context_line":"                         \u0027which is below 1G, so extended it to 1G.\u0027) %"},{"line_number":652,"context_line":"                     {\u0027shr\u0027: sharename, \u0027size\u0027: share_size})"},{"line_number":653,"context_line":"            share_size \u003d 1"},{"line_number":654,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":15,"id":"3a71b18c_fc2e01f9","line":651,"range":{"start_line":651,"start_character":63,"end_line":651,"end_character":65},"in_reply_to":"3a71b18c_32ab5c76","updated":"2016-12-02 10:49:07.000000000","message":"Done","commit_id":"a145dba64271c13bea8059bf9e6dacc220984338"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"533fa7b99be081b5500a4764e56b8b5e62738360","unresolved":false,"context_lines":[{"line_number":652,"context_line":"                     {\u0027shr\u0027: sharename, \u0027size\u0027: share_size})"},{"line_number":653,"context_line":"            share_size \u003d 1"},{"line_number":654,"context_line":"        else:"},{"line_number":655,"context_line":"            share_size \u003d int(math.ceil(float(share_size) / units.Mi))"},{"line_number":656,"context_line":""},{"line_number":657,"context_line":"        new_export_location \u003d self._get_helper(share).create_export("},{"line_number":658,"context_line":"            new_export_location)"}],"source_content_type":"text/x-python","patch_set":15,"id":"3a71b18c_122100fc","line":655,"range":{"start_line":655,"start_character":12,"end_line":655,"end_character":69},"updated":"2016-12-01 19:04:29.000000000","message":"if new share_size \u003e orig share_size then you should mmsetquota to update it like above.","commit_id":"a145dba64271c13bea8059bf9e6dacc220984338"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"538ff7a7ebdacc13f8b10158469370b307663699","unresolved":false,"context_lines":[{"line_number":652,"context_line":"                     {\u0027shr\u0027: sharename, \u0027size\u0027: share_size})"},{"line_number":653,"context_line":"            share_size \u003d 1"},{"line_number":654,"context_line":"        else:"},{"line_number":655,"context_line":"            share_size \u003d int(math.ceil(float(share_size) / units.Mi))"},{"line_number":656,"context_line":""},{"line_number":657,"context_line":"        new_export_location \u003d self._get_helper(share).create_export("},{"line_number":658,"context_line":"            new_export_location)"}],"source_content_type":"text/x-python","patch_set":15,"id":"3a71b18c_19990420","line":655,"range":{"start_line":655,"start_character":12,"end_line":655,"end_character":69},"in_reply_to":"3a71b18c_122100fc","updated":"2016-12-02 10:49:07.000000000","message":"Done","commit_id":"a145dba64271c13bea8059bf9e6dacc220984338"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"533fa7b99be081b5500a4764e56b8b5e62738360","unresolved":false,"context_lines":[{"line_number":687,"context_line":""},{"line_number":688,"context_line":"        out \u003d self._get_helper(share)._has_client_access(old_export_location)"},{"line_number":689,"context_line":"        if out:"},{"line_number":690,"context_line":"            err_msg \u003d (_(\u0027%s share already have existing client access.\u0027) %"},{"line_number":691,"context_line":"                       old_export_location)"},{"line_number":692,"context_line":"            LOG.error(err_msg)"},{"line_number":693,"context_line":"            raise exception.ManageInvalidShare(reason\u003derr_msg)"}],"source_content_type":"text/x-python","patch_set":15,"id":"3a71b18c_72e234d7","line":690,"range":{"start_line":690,"start_character":43,"end_line":690,"end_character":47},"updated":"2016-12-01 19:04:29.000000000","message":"s/have/has/","commit_id":"a145dba64271c13bea8059bf9e6dacc220984338"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"538ff7a7ebdacc13f8b10158469370b307663699","unresolved":false,"context_lines":[{"line_number":687,"context_line":""},{"line_number":688,"context_line":"        out \u003d self._get_helper(share)._has_client_access(old_export_location)"},{"line_number":689,"context_line":"        if out:"},{"line_number":690,"context_line":"            err_msg \u003d (_(\u0027%s share already have existing client access.\u0027) %"},{"line_number":691,"context_line":"                       old_export_location)"},{"line_number":692,"context_line":"            LOG.error(err_msg)"},{"line_number":693,"context_line":"            raise exception.ManageInvalidShare(reason\u003derr_msg)"}],"source_content_type":"text/x-python","patch_set":15,"id":"3a71b18c_1c0d7d90","line":690,"range":{"start_line":690,"start_character":43,"end_line":690,"end_character":47},"in_reply_to":"3a71b18c_72e234d7","updated":"2016-12-02 10:49:07.000000000","message":"Done","commit_id":"a145dba64271c13bea8059bf9e6dacc220984338"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7a6a13a2a50b0ac3fb41a197b1f0f4403df25f60","unresolved":false,"context_lines":[{"line_number":592,"context_line":"            self._gpfs_execute(\u0027mmchfileset\u0027, fsdev, \u0027-J\u0027, old_export_location,"},{"line_number":593,"context_line":"                               \u0027-j\u0027, sharename)"},{"line_number":594,"context_line":"        except exception.ProcessExecutionError:"},{"line_number":595,"context_line":"            msg \u003d (_(\u0027Failed to rename fileset for share %s.\u0027) % sharename)"},{"line_number":596,"context_line":"            LOG.exception(msg)"},{"line_number":597,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":598,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"3a71b18c_b23d85bd","line":595,"range":{"start_line":595,"start_character":17,"end_line":595,"end_character":19},"updated":"2016-12-02 11:26:40.000000000","message":"redundant braces.","commit_id":"b8d8127ee3649b8be48b93cfff182e3b64deaf03"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"9a804ecf7f42bb6200dbe8fbfe3357e71e05f5d2","unresolved":false,"context_lines":[{"line_number":592,"context_line":"            self._gpfs_execute(\u0027mmchfileset\u0027, fsdev, \u0027-J\u0027, old_export_location,"},{"line_number":593,"context_line":"                               \u0027-j\u0027, sharename)"},{"line_number":594,"context_line":"        except exception.ProcessExecutionError:"},{"line_number":595,"context_line":"            msg \u003d (_(\u0027Failed to rename fileset for share %s.\u0027) % sharename)"},{"line_number":596,"context_line":"            LOG.exception(msg)"},{"line_number":597,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":598,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"3a71b18c_a2e15e2c","line":595,"range":{"start_line":595,"start_character":17,"end_line":595,"end_character":19},"in_reply_to":"3a71b18c_b23d85bd","updated":"2016-12-13 19:42:49.000000000","message":"Done","commit_id":"b8d8127ee3649b8be48b93cfff182e3b64deaf03"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7a6a13a2a50b0ac3fb41a197b1f0f4403df25f60","unresolved":false,"context_lines":[{"line_number":599,"context_line":"        try:"},{"line_number":600,"context_line":"            self._gpfs_execute(\u0027mmunlinkfileset\u0027, fsdev, sharename, \u0027-f\u0027)"},{"line_number":601,"context_line":"        except exception.ProcessExecutionError:"},{"line_number":602,"context_line":"            msg \u003d (_(\u0027Failed to unlink fileset for share %s.\u0027) % sharename)"},{"line_number":603,"context_line":"            LOG.exception(msg)"},{"line_number":604,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":605,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"3a71b18c_926969c1","line":602,"range":{"start_line":602,"start_character":18,"end_line":602,"end_character":19},"updated":"2016-12-02 11:26:40.000000000","message":"same","commit_id":"b8d8127ee3649b8be48b93cfff182e3b64deaf03"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"9a804ecf7f42bb6200dbe8fbfe3357e71e05f5d2","unresolved":false,"context_lines":[{"line_number":599,"context_line":"        try:"},{"line_number":600,"context_line":"            self._gpfs_execute(\u0027mmunlinkfileset\u0027, fsdev, sharename, \u0027-f\u0027)"},{"line_number":601,"context_line":"        except exception.ProcessExecutionError:"},{"line_number":602,"context_line":"            msg \u003d (_(\u0027Failed to unlink fileset for share %s.\u0027) % sharename)"},{"line_number":603,"context_line":"            LOG.exception(msg)"},{"line_number":604,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":605,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"3a71b18c_c2d01a56","line":602,"range":{"start_line":602,"start_character":18,"end_line":602,"end_character":19},"in_reply_to":"3a71b18c_926969c1","updated":"2016-12-13 19:42:49.000000000","message":"Done","commit_id":"b8d8127ee3649b8be48b93cfff182e3b64deaf03"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7a6a13a2a50b0ac3fb41a197b1f0f4403df25f60","unresolved":false,"context_lines":[{"line_number":607,"context_line":"            self._gpfs_execute(\u0027mmlinkfileset\u0027, fsdev, sharename, \u0027-J\u0027,"},{"line_number":608,"context_line":"                               new_export_location)"},{"line_number":609,"context_line":"        except exception.ProcessExecutionError:"},{"line_number":610,"context_line":"            msg \u003d (_(\u0027Failed to link fileset for the share %s.\u0027) % sharename)"},{"line_number":611,"context_line":"            LOG.exception(msg)"},{"line_number":612,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":613,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"3a71b18c_b264a5e5","line":610,"range":{"start_line":610,"start_character":18,"end_line":610,"end_character":19},"updated":"2016-12-02 11:26:40.000000000","message":"same","commit_id":"b8d8127ee3649b8be48b93cfff182e3b64deaf03"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"9a804ecf7f42bb6200dbe8fbfe3357e71e05f5d2","unresolved":false,"context_lines":[{"line_number":607,"context_line":"            self._gpfs_execute(\u0027mmlinkfileset\u0027, fsdev, sharename, \u0027-J\u0027,"},{"line_number":608,"context_line":"                               new_export_location)"},{"line_number":609,"context_line":"        except exception.ProcessExecutionError:"},{"line_number":610,"context_line":"            msg \u003d (_(\u0027Failed to link fileset for the share %s.\u0027) % sharename)"},{"line_number":611,"context_line":"            LOG.exception(msg)"},{"line_number":612,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":613,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"3a71b18c_02c77298","line":610,"range":{"start_line":610,"start_character":18,"end_line":610,"end_character":19},"in_reply_to":"3a71b18c_b264a5e5","updated":"2016-12-13 19:42:49.000000000","message":"Done","commit_id":"b8d8127ee3649b8be48b93cfff182e3b64deaf03"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7a6a13a2a50b0ac3fb41a197b1f0f4403df25f60","unresolved":false,"context_lines":[{"line_number":632,"context_line":"            quota_status \u003d lines[1].split(\u0027:\u0027)[quota_limit]"},{"line_number":633,"context_line":"        except (IndexError, ValueError):"},{"line_number":634,"context_line":"            msg \u003d (_(\u0027Failed to check quota for share %s.\u0027) % sharename)"},{"line_number":635,"context_line":"            LOG.exception(msg)"},{"line_number":636,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":637,"context_line":""},{"line_number":638,"context_line":"        share_size \u003d int(quota_status)"}],"source_content_type":"text/x-python","patch_set":16,"id":"3a71b18c_f2729d48","line":635,"range":{"start_line":635,"start_character":12,"end_line":635,"end_character":30},"updated":"2016-12-02 11:26:40.000000000","message":"Here and above, you\u0027re logging the exception with the traceback, and raising the exception again... However, you\u0027re not handling the exception anywhere below. Why not just LOG.error here and raise the exception, the handler can handle the traceback if necessary.","commit_id":"b8d8127ee3649b8be48b93cfff182e3b64deaf03"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"9a804ecf7f42bb6200dbe8fbfe3357e71e05f5d2","unresolved":false,"context_lines":[{"line_number":632,"context_line":"            quota_status \u003d lines[1].split(\u0027:\u0027)[quota_limit]"},{"line_number":633,"context_line":"        except (IndexError, ValueError):"},{"line_number":634,"context_line":"            msg \u003d (_(\u0027Failed to check quota for share %s.\u0027) % sharename)"},{"line_number":635,"context_line":"            LOG.exception(msg)"},{"line_number":636,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":637,"context_line":""},{"line_number":638,"context_line":"        share_size \u003d int(quota_status)"}],"source_content_type":"text/x-python","patch_set":16,"id":"1a6eadb0_8a14f2f5","line":635,"range":{"start_line":635,"start_character":12,"end_line":635,"end_character":30},"in_reply_to":"1a6eadb0_d72220b9","updated":"2016-12-13 19:42:49.000000000","message":"Agree with you Mark. Will submit a separate patch addressing logging concern to make it consistent.","commit_id":"b8d8127ee3649b8be48b93cfff182e3b64deaf03"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"9a804ecf7f42bb6200dbe8fbfe3357e71e05f5d2","unresolved":false,"context_lines":[{"line_number":632,"context_line":"            quota_status \u003d lines[1].split(\u0027:\u0027)[quota_limit]"},{"line_number":633,"context_line":"        except (IndexError, ValueError):"},{"line_number":634,"context_line":"            msg \u003d (_(\u0027Failed to check quota for share %s.\u0027) % sharename)"},{"line_number":635,"context_line":"            LOG.exception(msg)"},{"line_number":636,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":637,"context_line":""},{"line_number":638,"context_line":"        share_size \u003d int(quota_status)"}],"source_content_type":"text/x-python","patch_set":16,"id":"1a6eadb0_4ad57a41","line":635,"range":{"start_line":635,"start_character":12,"end_line":635,"end_character":30},"in_reply_to":"3a71b18c_f2729d48","updated":"2016-12-13 19:42:49.000000000","message":"Done","commit_id":"b8d8127ee3649b8be48b93cfff182e3b64deaf03"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"d3143419cff493b782f376f9d11437121cdb34ce","unresolved":false,"context_lines":[{"line_number":632,"context_line":"            quota_status \u003d lines[1].split(\u0027:\u0027)[quota_limit]"},{"line_number":633,"context_line":"        except (IndexError, ValueError):"},{"line_number":634,"context_line":"            msg \u003d (_(\u0027Failed to check quota for share %s.\u0027) % sharename)"},{"line_number":635,"context_line":"            LOG.exception(msg)"},{"line_number":636,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":637,"context_line":""},{"line_number":638,"context_line":"        share_size \u003d int(quota_status)"}],"source_content_type":"text/x-python","patch_set":16,"id":"1a6eadb0_d72220b9","line":635,"range":{"start_line":635,"start_character":12,"end_line":635,"end_character":30},"in_reply_to":"3a71b18c_f2729d48","updated":"2016-12-13 07:38:30.000000000","message":"It\u0027s probably best to try to be consistent with the rest of the file. I think that is except... LOG.error() raise  in this case. If you think log exception is needed that is fine, but it might be worth revisiting all the similar log/raise code in a separate patch.","commit_id":"b8d8127ee3649b8be48b93cfff182e3b64deaf03"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"dadfe1efef07f8290ba0f55743332ea4d3976736","unresolved":false,"context_lines":[{"line_number":652,"context_line":"                     {\u0027shr\u0027: sharename, \u0027size\u0027: share_size})"},{"line_number":653,"context_line":"            share_size \u003d 1"},{"line_number":654,"context_line":"        else:"},{"line_number":655,"context_line":"            share_size \u003d int(math.ceil(float(share_size) / units.Mi))"},{"line_number":656,"context_line":"            try:"},{"line_number":657,"context_line":"                self._gpfs_execute(\u0027mmsetquota\u0027, fsdev + \u0027:\u0027 + sharename,"},{"line_number":658,"context_line":"                                   \u0027--block\u0027, \u00270:\u0027 + str(share_size) + \u0027G\u0027)"}],"source_content_type":"text/x-python","patch_set":16,"id":"3a71b18c_2bdc0645","line":655,"range":{"start_line":655,"start_character":12,"end_line":655,"end_character":56},"updated":"2016-12-07 01:56:13.000000000","message":"I\u0027d suggest saving share_size before this so that you only have to do the below execute if orig_share_size !\u003d share_size .","commit_id":"b8d8127ee3649b8be48b93cfff182e3b64deaf03"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"9a804ecf7f42bb6200dbe8fbfe3357e71e05f5d2","unresolved":false,"context_lines":[{"line_number":652,"context_line":"                     {\u0027shr\u0027: sharename, \u0027size\u0027: share_size})"},{"line_number":653,"context_line":"            share_size \u003d 1"},{"line_number":654,"context_line":"        else:"},{"line_number":655,"context_line":"            share_size \u003d int(math.ceil(float(share_size) / units.Mi))"},{"line_number":656,"context_line":"            try:"},{"line_number":657,"context_line":"                self._gpfs_execute(\u0027mmsetquota\u0027, fsdev + \u0027:\u0027 + sharename,"},{"line_number":658,"context_line":"                                   \u0027--block\u0027, \u00270:\u0027 + str(share_size) + \u0027G\u0027)"}],"source_content_type":"text/x-python","patch_set":16,"id":"3a71b18c_c2ee5a8a","line":655,"range":{"start_line":655,"start_character":12,"end_line":655,"end_character":56},"in_reply_to":"3a71b18c_2bdc0645","updated":"2016-12-13 19:42:49.000000000","message":"great idea. Thanks. :)","commit_id":"b8d8127ee3649b8be48b93cfff182e3b64deaf03"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7a6a13a2a50b0ac3fb41a197b1f0f4403df25f60","unresolved":false,"context_lines":[{"line_number":677,"context_line":"            raise exception.ShareBackendException(msg\u003dmsg)"},{"line_number":678,"context_line":""},{"line_number":679,"context_line":"        if ces_ip not in self.configuration.gpfs_nfs_server_list:"},{"line_number":680,"context_line":"            msg \u003d _(\u0027The CES IP %s is not configured.\u0027) % ces_ip"},{"line_number":681,"context_line":"            raise exception.ShareBackendException(msg\u003dmsg)"},{"line_number":682,"context_line":""},{"line_number":683,"context_line":"        if self.backend_name not in share[\u0027host\u0027]:"}],"source_content_type":"text/x-python","patch_set":16,"id":"3a71b18c_37d40746","line":680,"range":{"start_line":680,"start_character":42,"end_line":680,"end_character":52},"updated":"2016-12-02 11:26:40.000000000","message":"Since the config opt does not have \"CES IP\" in it, could you mention the configuration option too?\n \n\n msg \u003d _(\u0027The CES IP %s is not present in the \u0027\n         \u0027configuration option \"gpfs_nfs_server_list\".\u0027) % ces_ip","commit_id":"b8d8127ee3649b8be48b93cfff182e3b64deaf03"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"9a804ecf7f42bb6200dbe8fbfe3357e71e05f5d2","unresolved":false,"context_lines":[{"line_number":677,"context_line":"            raise exception.ShareBackendException(msg\u003dmsg)"},{"line_number":678,"context_line":""},{"line_number":679,"context_line":"        if ces_ip not in self.configuration.gpfs_nfs_server_list:"},{"line_number":680,"context_line":"            msg \u003d _(\u0027The CES IP %s is not configured.\u0027) % ces_ip"},{"line_number":681,"context_line":"            raise exception.ShareBackendException(msg\u003dmsg)"},{"line_number":682,"context_line":""},{"line_number":683,"context_line":"        if self.backend_name not in share[\u0027host\u0027]:"}],"source_content_type":"text/x-python","patch_set":16,"id":"3a71b18c_026a12ed","line":680,"range":{"start_line":680,"start_character":42,"end_line":680,"end_character":52},"in_reply_to":"3a71b18c_37d40746","updated":"2016-12-13 19:42:49.000000000","message":"Done","commit_id":"b8d8127ee3649b8be48b93cfff182e3b64deaf03"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7a6a13a2a50b0ac3fb41a197b1f0f4403df25f60","unresolved":false,"context_lines":[{"line_number":681,"context_line":"            raise exception.ShareBackendException(msg\u003dmsg)"},{"line_number":682,"context_line":""},{"line_number":683,"context_line":"        if self.backend_name not in share[\u0027host\u0027]:"},{"line_number":684,"context_line":"            msg \u003d (_(\u0027The backend %(backend)s passed in the host parameter \u0027"},{"line_number":685,"context_line":"                     \u0027(%(shr)s) is not configured.\u0027) %"},{"line_number":686,"context_line":"                   {\u0027backend\u0027: self.backend_name, \u0027shr\u0027: share[\u0027host\u0027]})"},{"line_number":687,"context_line":"            raise exception.ShareBackendException(msg\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":16,"id":"3a71b18c_97731b80","line":684,"range":{"start_line":684,"start_character":46,"end_line":684,"end_character":52},"updated":"2016-12-02 11:26:40.000000000","message":"provided","commit_id":"b8d8127ee3649b8be48b93cfff182e3b64deaf03"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7a6a13a2a50b0ac3fb41a197b1f0f4403df25f60","unresolved":false,"context_lines":[{"line_number":681,"context_line":"            raise exception.ShareBackendException(msg\u003dmsg)"},{"line_number":682,"context_line":""},{"line_number":683,"context_line":"        if self.backend_name not in share[\u0027host\u0027]:"},{"line_number":684,"context_line":"            msg \u003d (_(\u0027The backend %(backend)s passed in the host parameter \u0027"},{"line_number":685,"context_line":"                     \u0027(%(shr)s) is not configured.\u0027) %"},{"line_number":686,"context_line":"                   {\u0027backend\u0027: self.backend_name, \u0027shr\u0027: share[\u0027host\u0027]})"},{"line_number":687,"context_line":"            raise exception.ShareBackendException(msg\u003dmsg)"},{"line_number":688,"context_line":""},{"line_number":689,"context_line":"        fsdev \u003d self._get_gpfs_device()"}],"source_content_type":"text/x-python","patch_set":16,"id":"3a71b18c_b7501760","line":686,"range":{"start_line":684,"start_character":19,"end_line":686,"end_character":72},"updated":"2016-12-02 11:26:40.000000000","message":"This error message seems confusing. \n\nDo you mean to say that the host is unknown? If yes, why? We validate the host in the scheduler, the RPC call would never reach this host if it wasn\u0027t the host intended. \n\nAlso, the parameter in the API is called \"service_host\"","commit_id":"b8d8127ee3649b8be48b93cfff182e3b64deaf03"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"9a804ecf7f42bb6200dbe8fbfe3357e71e05f5d2","unresolved":false,"context_lines":[{"line_number":681,"context_line":"            raise exception.ShareBackendException(msg\u003dmsg)"},{"line_number":682,"context_line":""},{"line_number":683,"context_line":"        if self.backend_name not in share[\u0027host\u0027]:"},{"line_number":684,"context_line":"            msg \u003d (_(\u0027The backend %(backend)s passed in the host parameter \u0027"},{"line_number":685,"context_line":"                     \u0027(%(shr)s) is not configured.\u0027) %"},{"line_number":686,"context_line":"                   {\u0027backend\u0027: self.backend_name, \u0027shr\u0027: share[\u0027host\u0027]})"},{"line_number":687,"context_line":"            raise exception.ShareBackendException(msg\u003dmsg)"},{"line_number":688,"context_line":""},{"line_number":689,"context_line":"        fsdev \u003d self._get_gpfs_device()"}],"source_content_type":"text/x-python","patch_set":16,"id":"1a6eadb0_4abf3ad0","line":686,"range":{"start_line":684,"start_character":19,"end_line":686,"end_character":72},"in_reply_to":"3a71b18c_b7501760","updated":"2016-12-13 19:42:49.000000000","message":"Thanks for suggestion. You are right, no need to check the service_host as scheduler take care of it.","commit_id":"b8d8127ee3649b8be48b93cfff182e3b64deaf03"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7a6a13a2a50b0ac3fb41a197b1f0f4403df25f60","unresolved":false,"context_lines":[{"line_number":694,"context_line":""},{"line_number":695,"context_line":"        out \u003d self._get_helper(share)._has_client_access(old_export_location)"},{"line_number":696,"context_line":"        if out:"},{"line_number":697,"context_line":"            err_msg \u003d (_(\u0027%s share already has existing client access.\u0027) %"},{"line_number":698,"context_line":"                       old_export_location)"},{"line_number":699,"context_line":"            LOG.error(err_msg)"},{"line_number":700,"context_line":"            raise exception.ManageInvalidShare(reason\u003derr_msg)"}],"source_content_type":"text/x-python","patch_set":16,"id":"3a71b18c_d7fd933b","line":697,"range":{"start_line":697,"start_character":35,"end_line":697,"end_character":42},"updated":"2016-12-02 11:26:40.000000000","message":"remove\n\nAlso, suggest rephrasing a bit to \"Clients have access to %s share currently. Evict any clients before trying again.\" or something along those lines...","commit_id":"b8d8127ee3649b8be48b93cfff182e3b64deaf03"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"9a804ecf7f42bb6200dbe8fbfe3357e71e05f5d2","unresolved":false,"context_lines":[{"line_number":694,"context_line":""},{"line_number":695,"context_line":"        out \u003d self._get_helper(share)._has_client_access(old_export_location)"},{"line_number":696,"context_line":"        if out:"},{"line_number":697,"context_line":"            err_msg \u003d (_(\u0027%s share already has existing client access.\u0027) %"},{"line_number":698,"context_line":"                       old_export_location)"},{"line_number":699,"context_line":"            LOG.error(err_msg)"},{"line_number":700,"context_line":"            raise exception.ManageInvalidShare(reason\u003derr_msg)"}],"source_content_type":"text/x-python","patch_set":16,"id":"3a71b18c_22146e4b","line":697,"range":{"start_line":697,"start_character":35,"end_line":697,"end_character":42},"in_reply_to":"3a71b18c_d7fd933b","updated":"2016-12-13 19:42:49.000000000","message":"Done","commit_id":"b8d8127ee3649b8be48b93cfff182e3b64deaf03"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7a6a13a2a50b0ac3fb41a197b1f0f4403df25f60","unresolved":false,"context_lines":[{"line_number":695,"context_line":"        out \u003d self._get_helper(share)._has_client_access(old_export_location)"},{"line_number":696,"context_line":"        if out:"},{"line_number":697,"context_line":"            err_msg \u003d (_(\u0027%s share already has existing client access.\u0027) %"},{"line_number":698,"context_line":"                       old_export_location)"},{"line_number":699,"context_line":"            LOG.error(err_msg)"},{"line_number":700,"context_line":"            raise exception.ManageInvalidShare(reason\u003derr_msg)"},{"line_number":701,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"3a71b18c_1200f900","line":698,"range":{"start_line":698,"start_character":23,"end_line":698,"end_character":42},"updated":"2016-12-02 11:26:40.000000000","message":"Also, in all of the messages in  self._manage_existing, you have used share[\u0027name\u0027] to refer to the share. Why use old_export_location here? I suggest using one, or both in each message, but consistently.","commit_id":"b8d8127ee3649b8be48b93cfff182e3b64deaf03"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"9a804ecf7f42bb6200dbe8fbfe3357e71e05f5d2","unresolved":false,"context_lines":[{"line_number":695,"context_line":"        out \u003d self._get_helper(share)._has_client_access(old_export_location)"},{"line_number":696,"context_line":"        if out:"},{"line_number":697,"context_line":"            err_msg \u003d (_(\u0027%s share already has existing client access.\u0027) %"},{"line_number":698,"context_line":"                       old_export_location)"},{"line_number":699,"context_line":"            LOG.error(err_msg)"},{"line_number":700,"context_line":"            raise exception.ManageInvalidShare(reason\u003derr_msg)"},{"line_number":701,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"3a71b18c_5d6b0b1e","line":698,"range":{"start_line":698,"start_character":23,"end_line":698,"end_character":42},"in_reply_to":"3a71b18c_1200f900","updated":"2016-12-13 19:42:49.000000000","message":"Agree.\nbut the share name in manage_existing() is different from share name in _manage_existing().\nAdding sharename instead of old_export_location for more clarity.","commit_id":"b8d8127ee3649b8be48b93cfff182e3b64deaf03"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"73e6cd55c7d4888067634befb10eb5a8ef5ce113","unresolved":false,"context_lines":[{"line_number":909,"context_line":"        err_msg \u003d \u0027Failed to check exports on the system.\u0027"},{"line_number":910,"context_line":"        out \u003d self._execute_mmnfs_command((\u0027list\u0027, \u0027-n\u0027, local_path, \u0027-Y\u0027),"},{"line_number":911,"context_line":"                                          err_msg)"},{"line_number":912,"context_line":"        if re.findall(local_path + \u0027\\\\b\u0027, out):"},{"line_number":913,"context_line":"            if access_to:"},{"line_number":914,"context_line":"                if re.findall(access_to + \u0027\\\\b\u0027, \u0027\u0027.join(out)):"},{"line_number":915,"context_line":"                    return True"}],"source_content_type":"text/x-python","patch_set":17,"id":"1a6eadb0_6d4cef70","line":912,"range":{"start_line":912,"start_character":22,"end_line":912,"end_character":32},"updated":"2016-12-14 01:04:41.000000000","message":"ideally the front of this should be anchored so it doesn\u0027t match a subset path to a longer path -- but since we\u0027ll have guids this won\u0027t be a problem.","commit_id":"18ef49aff5861935333df4deee2f7e79a5fe8efe"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"5f94ecc4d0f7148a148aeab451361cc9db548bdf","unresolved":false,"context_lines":[{"line_number":909,"context_line":"        err_msg \u003d \u0027Failed to check exports on the system.\u0027"},{"line_number":910,"context_line":"        out \u003d self._execute_mmnfs_command((\u0027list\u0027, \u0027-n\u0027, local_path, \u0027-Y\u0027),"},{"line_number":911,"context_line":"                                          err_msg)"},{"line_number":912,"context_line":"        if re.findall(local_path + \u0027\\\\b\u0027, out):"},{"line_number":913,"context_line":"            if access_to:"},{"line_number":914,"context_line":"                if re.findall(access_to + \u0027\\\\b\u0027, \u0027\u0027.join(out)):"},{"line_number":915,"context_line":"                    return True"}],"source_content_type":"text/x-python","patch_set":17,"id":"1a6eadb0_116e1695","line":912,"range":{"start_line":912,"start_character":22,"end_line":912,"end_character":32},"in_reply_to":"1a6eadb0_6d4cef70","updated":"2016-12-14 14:14:38.000000000","message":"adding \":\" to both ends, since output of nfs list is in parsed form separated by \":\".","commit_id":"18ef49aff5861935333df4deee2f7e79a5fe8efe"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"73e6cd55c7d4888067634befb10eb5a8ef5ce113","unresolved":false,"context_lines":[{"line_number":911,"context_line":"                                          err_msg)"},{"line_number":912,"context_line":"        if re.findall(local_path + \u0027\\\\b\u0027, out):"},{"line_number":913,"context_line":"            if access_to:"},{"line_number":914,"context_line":"                if re.findall(access_to + \u0027\\\\b\u0027, \u0027\u0027.join(out)):"},{"line_number":915,"context_line":"                    return True"},{"line_number":916,"context_line":"                return False"},{"line_number":917,"context_line":"            return True"}],"source_content_type":"text/x-python","patch_set":17,"id":"1a6eadb0_29f2ec6f","line":914,"range":{"start_line":914,"start_character":30,"end_line":914,"end_character":39},"updated":"2016-12-14 01:04:41.000000000","message":"The front of the IP isn\u0027t anchored so 1.2.3.4 matches 11.2.3.4. Also the dots are treated as wildcards here. This might work for now, but we\u0027d want to escape the dots if IPv6 was involved.","commit_id":"18ef49aff5861935333df4deee2f7e79a5fe8efe"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"5f94ecc4d0f7148a148aeab451361cc9db548bdf","unresolved":false,"context_lines":[{"line_number":911,"context_line":"                                          err_msg)"},{"line_number":912,"context_line":"        if re.findall(local_path + \u0027\\\\b\u0027, out):"},{"line_number":913,"context_line":"            if access_to:"},{"line_number":914,"context_line":"                if re.findall(access_to + \u0027\\\\b\u0027, \u0027\u0027.join(out)):"},{"line_number":915,"context_line":"                    return True"},{"line_number":916,"context_line":"                return False"},{"line_number":917,"context_line":"            return True"}],"source_content_type":"text/x-python","patch_set":17,"id":"1a6eadb0_b1b802e7","line":914,"range":{"start_line":914,"start_character":30,"end_line":914,"end_character":39},"in_reply_to":"1a6eadb0_29f2ec6f","updated":"2016-12-14 14:14:38.000000000","message":"Done","commit_id":"18ef49aff5861935333df4deee2f7e79a5fe8efe"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"bd6b3edae1f5fae249e7b0fb457d6c3b37d9edd8","unresolved":false,"context_lines":[{"line_number":580,"context_line":"            alloc_inodes \u003d lines[1].split(\u0027:\u0027)[validation_token]"},{"line_number":581,"context_line":"        except (IndexError, ValueError):"},{"line_number":582,"context_line":"            msg \u003d (_(\u0027Failed to check share at %s.\u0027) % location)"},{"line_number":583,"context_line":"            LOG.error(msg)"},{"line_number":584,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":585,"context_line":""},{"line_number":586,"context_line":"        return alloc_inodes !\u003d \u00270\u0027"}],"source_content_type":"text/x-python","patch_set":18,"id":"1a6eadb0_f7d7cabc","line":583,"range":{"start_line":583,"start_character":12,"end_line":583,"end_character":26},"updated":"2016-12-14 15:10:53.000000000","message":"Inconsistent log levels as noted before. Suggest changing all log levels from your changeset to LOG.error, or keep them all as LOG.exception so that you can refactor this file in a later change..","commit_id":"e85326ac653595c1d8eae9fbb74e9e3ddcecfe6a"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"bdf834c20d906d2658c5c5592cc366cd8ab0592b","unresolved":false,"context_lines":[{"line_number":580,"context_line":"            alloc_inodes \u003d lines[1].split(\u0027:\u0027)[validation_token]"},{"line_number":581,"context_line":"        except (IndexError, ValueError):"},{"line_number":582,"context_line":"            msg \u003d (_(\u0027Failed to check share at %s.\u0027) % location)"},{"line_number":583,"context_line":"            LOG.error(msg)"},{"line_number":584,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":585,"context_line":""},{"line_number":586,"context_line":"        return alloc_inodes !\u003d \u00270\u0027"}],"source_content_type":"text/x-python","patch_set":18,"id":"1a6eadb0_dc0b9dd4","line":583,"range":{"start_line":583,"start_character":12,"end_line":583,"end_character":26},"in_reply_to":"1a6eadb0_f7d7cabc","updated":"2016-12-21 13:45:05.000000000","message":"Keeping all of them as LOG.exception.\nWill add separate patch to make Logging consistent.","commit_id":"e85326ac653595c1d8eae9fbb74e9e3ddcecfe6a"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"bd6b3edae1f5fae249e7b0fb457d6c3b37d9edd8","unresolved":false,"context_lines":[{"line_number":616,"context_line":"        except exception.ProcessExecutionError:"},{"line_number":617,"context_line":"            msg \u003d _(\u0027Failed to set permissions for share %s.\u0027) % sharename"},{"line_number":618,"context_line":"            LOG.exception(msg)"},{"line_number":619,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":620,"context_line":""},{"line_number":621,"context_line":"        try:"},{"line_number":622,"context_line":"            out, __ \u003d self._gpfs_execute(\u0027mmlsquota\u0027, \u0027-j\u0027, sharename, \u0027-Y\u0027,"}],"source_content_type":"text/x-python","patch_set":18,"id":"1a6eadb0_5a4ee36f","line":619,"range":{"start_line":619,"start_character":0,"end_line":619,"end_character":46},"updated":"2016-12-14 15:10:53.000000000","message":"You have distinct changes that happen in this path afaics... What if some steps pass and some fail, will the administrator know how to revert to a previous state, easily?\n\nIf not, you may either try undoing the changes you made to the existing fileset, or log that these changes were made so it is easier for an administrator to manually revert... \n\nEx:\n\n* rename fileset - OK\n* unlink fileset - OK\n* link fileset - OK\n* Change permissions - Failed\n* Find size\n* Check quota\n* Validate size and set quota\n\nI would suggest logging what happens after each step at debug level at least.","commit_id":"e85326ac653595c1d8eae9fbb74e9e3ddcecfe6a"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"bdf834c20d906d2658c5c5592cc366cd8ab0592b","unresolved":false,"context_lines":[{"line_number":616,"context_line":"        except exception.ProcessExecutionError:"},{"line_number":617,"context_line":"            msg \u003d _(\u0027Failed to set permissions for share %s.\u0027) % sharename"},{"line_number":618,"context_line":"            LOG.exception(msg)"},{"line_number":619,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":620,"context_line":""},{"line_number":621,"context_line":"        try:"},{"line_number":622,"context_line":"            out, __ \u003d self._gpfs_execute(\u0027mmlsquota\u0027, \u0027-j\u0027, sharename, \u0027-Y\u0027,"}],"source_content_type":"text/x-python","patch_set":18,"id":"1a6eadb0_5ccdcd83","line":619,"range":{"start_line":619,"start_character":0,"end_line":619,"end_character":46},"in_reply_to":"1a6eadb0_5a4ee36f","updated":"2016-12-21 13:45:05.000000000","message":"Great suggestion Goutham... Will add log after each step to make debugging easier.","commit_id":"e85326ac653595c1d8eae9fbb74e9e3ddcecfe6a"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"bd6b3edae1f5fae249e7b0fb457d6c3b37d9edd8","unresolved":false,"context_lines":[{"line_number":670,"context_line":"    def manage_existing(self, share, driver_options):"},{"line_number":671,"context_line":""},{"line_number":672,"context_line":"        old_export \u003d share[\u0027export_location\u0027].split(\u0027:\u0027)"},{"line_number":673,"context_line":"        if len(old_export) \u003d\u003d 2:"},{"line_number":674,"context_line":"            ces_ip \u003d old_export[0]"},{"line_number":675,"context_line":"            old_export_location \u003d old_export[1]"},{"line_number":676,"context_line":"            sharename \u003d old_export_location.split(\u0027/\u0027)"},{"line_number":677,"context_line":"            sharename \u003d sharename[-1]"},{"line_number":678,"context_line":"        else:"},{"line_number":679,"context_line":"            msg \u003d _(\u0027Incorrect path. It should have the following format: \u0027"},{"line_number":680,"context_line":"                    \u0027IP:/gpfs_mount_point_base/share_id.\u0027)"},{"line_number":681,"context_line":"            raise exception.ShareBackendException(msg\u003dmsg)"},{"line_number":682,"context_line":""},{"line_number":683,"context_line":"        if ces_ip not in self.configuration.gpfs_nfs_server_list:"},{"line_number":684,"context_line":"            msg \u003d _(\u0027The CES IP %s is not present in the \u0027"}],"source_content_type":"text/x-python","patch_set":18,"id":"1a6eadb0_3a1767ee","line":681,"range":{"start_line":673,"start_character":0,"end_line":681,"end_character":58},"updated":"2016-12-14 15:10:53.000000000","message":"EAFP - Easier to ask for forgiveness than permission\n\n   try:\n        ces_ip \u003d old_export[0]\n        old_export_location \u003d old_export[1]\n        sharename \u003d old_export_location.split(\u0027/\u0027)\n        sharename \u003d sharename[-1]\n   except IndexError:\n        msg \u003d _(\u0027Incorrect export path. Expected format: \u0027\n               \u0027IP:/gpfs_mount_point_base/share_id.\u0027)\n        raise exception.ShareBackendException(msg\u003dmsg)","commit_id":"e85326ac653595c1d8eae9fbb74e9e3ddcecfe6a"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"bdf834c20d906d2658c5c5592cc366cd8ab0592b","unresolved":false,"context_lines":[{"line_number":670,"context_line":"    def manage_existing(self, share, driver_options):"},{"line_number":671,"context_line":""},{"line_number":672,"context_line":"        old_export \u003d share[\u0027export_location\u0027].split(\u0027:\u0027)"},{"line_number":673,"context_line":"        if len(old_export) \u003d\u003d 2:"},{"line_number":674,"context_line":"            ces_ip \u003d old_export[0]"},{"line_number":675,"context_line":"            old_export_location \u003d old_export[1]"},{"line_number":676,"context_line":"            sharename \u003d old_export_location.split(\u0027/\u0027)"},{"line_number":677,"context_line":"            sharename \u003d sharename[-1]"},{"line_number":678,"context_line":"        else:"},{"line_number":679,"context_line":"            msg \u003d _(\u0027Incorrect path. It should have the following format: \u0027"},{"line_number":680,"context_line":"                    \u0027IP:/gpfs_mount_point_base/share_id.\u0027)"},{"line_number":681,"context_line":"            raise exception.ShareBackendException(msg\u003dmsg)"},{"line_number":682,"context_line":""},{"line_number":683,"context_line":"        if ces_ip not in self.configuration.gpfs_nfs_server_list:"},{"line_number":684,"context_line":"            msg \u003d _(\u0027The CES IP %s is not present in the \u0027"}],"source_content_type":"text/x-python","patch_set":18,"id":"1a6eadb0_d03e218a","line":681,"range":{"start_line":673,"start_character":0,"end_line":681,"end_character":58},"in_reply_to":"1a6eadb0_3a1767ee","updated":"2016-12-21 13:45:05.000000000","message":"EAFP - hahaha.. Great suggestion.","commit_id":"e85326ac653595c1d8eae9fbb74e9e3ddcecfe6a"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"bd6b3edae1f5fae249e7b0fb457d6c3b37d9edd8","unresolved":false,"context_lines":[{"line_number":688,"context_line":"        fsdev \u003d self._get_gpfs_device()"},{"line_number":689,"context_line":"        if not self._is_share_valid(fsdev, old_export_location):"},{"line_number":690,"context_line":"            err_msg \u003d _(\u0027%s share is not valid share.\u0027) % sharename"},{"line_number":691,"context_line":"            LOG.error(err_msg)"},{"line_number":692,"context_line":"            raise exception.ManageInvalidShare(reason\u003derr_msg)"},{"line_number":693,"context_line":""},{"line_number":694,"context_line":"        out \u003d self._get_helper(share)._has_client_access(old_export_location)"}],"source_content_type":"text/x-python","patch_set":18,"id":"1a6eadb0_7abe3fd5","line":691,"range":{"start_line":691,"start_character":0,"end_line":691,"end_character":30},"updated":"2016-12-14 15:10:53.000000000","message":"no need. No handlers are there for the exception raised. It will be logged when it is raised","commit_id":"e85326ac653595c1d8eae9fbb74e9e3ddcecfe6a"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"bdf834c20d906d2658c5c5592cc366cd8ab0592b","unresolved":false,"context_lines":[{"line_number":688,"context_line":"        fsdev \u003d self._get_gpfs_device()"},{"line_number":689,"context_line":"        if not self._is_share_valid(fsdev, old_export_location):"},{"line_number":690,"context_line":"            err_msg \u003d _(\u0027%s share is not valid share.\u0027) % sharename"},{"line_number":691,"context_line":"            LOG.error(err_msg)"},{"line_number":692,"context_line":"            raise exception.ManageInvalidShare(reason\u003derr_msg)"},{"line_number":693,"context_line":""},{"line_number":694,"context_line":"        out \u003d self._get_helper(share)._has_client_access(old_export_location)"}],"source_content_type":"text/x-python","patch_set":18,"id":"1a6eadb0_9083c955","line":691,"range":{"start_line":691,"start_character":0,"end_line":691,"end_character":30},"in_reply_to":"1a6eadb0_7abe3fd5","updated":"2016-12-21 13:45:05.000000000","message":"Done","commit_id":"e85326ac653595c1d8eae9fbb74e9e3ddcecfe6a"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"bd6b3edae1f5fae249e7b0fb457d6c3b37d9edd8","unresolved":false,"context_lines":[{"line_number":694,"context_line":"        out \u003d self._get_helper(share)._has_client_access(old_export_location)"},{"line_number":695,"context_line":"        if out:"},{"line_number":696,"context_line":"            err_msg \u003d _(\u0027Clients have access to %s share currently. Evict any \u0027"},{"line_number":697,"context_line":"                        \u0027clients before trying again\u0027) % sharename"},{"line_number":698,"context_line":"            LOG.error(err_msg)"},{"line_number":699,"context_line":"            raise exception.ManageInvalidShare(reason\u003derr_msg)"},{"line_number":700,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"1a6eadb0_1acaab6d","line":697,"range":{"start_line":697,"start_character":47,"end_line":697,"end_character":52},"updated":"2016-12-14 15:10:53.000000000","message":"nit: missing trailing period","commit_id":"e85326ac653595c1d8eae9fbb74e9e3ddcecfe6a"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"bdf834c20d906d2658c5c5592cc366cd8ab0592b","unresolved":false,"context_lines":[{"line_number":694,"context_line":"        out \u003d self._get_helper(share)._has_client_access(old_export_location)"},{"line_number":695,"context_line":"        if out:"},{"line_number":696,"context_line":"            err_msg \u003d _(\u0027Clients have access to %s share currently. Evict any \u0027"},{"line_number":697,"context_line":"                        \u0027clients before trying again\u0027) % sharename"},{"line_number":698,"context_line":"            LOG.error(err_msg)"},{"line_number":699,"context_line":"            raise exception.ManageInvalidShare(reason\u003derr_msg)"},{"line_number":700,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"1a6eadb0_bc05017b","line":697,"range":{"start_line":697,"start_character":47,"end_line":697,"end_character":52},"in_reply_to":"1a6eadb0_1acaab6d","updated":"2016-12-21 13:45:05.000000000","message":"Done","commit_id":"e85326ac653595c1d8eae9fbb74e9e3ddcecfe6a"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"f6b22d15676c007950893b770fe69f9ae0d3c4eb","unresolved":false,"context_lines":[{"line_number":580,"context_line":"            alloc_inodes \u003d lines[1].split(\u0027:\u0027)[validation_token]"},{"line_number":581,"context_line":"        except (IndexError, ValueError):"},{"line_number":582,"context_line":"            msg \u003d (_(\u0027Failed to check share at %s.\u0027) % location)"},{"line_number":583,"context_line":"            LOG.error(msg)"},{"line_number":584,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":585,"context_line":""},{"line_number":586,"context_line":"        return alloc_inodes !\u003d \u00270\u0027"}],"source_content_type":"text/x-python","patch_set":19,"id":"1a6eadb0_e3228351","line":583,"range":{"start_line":583,"start_character":16,"end_line":583,"end_character":21},"updated":"2016-12-15 10:46:46.000000000","message":"could use LOG.exception here","commit_id":"99698a44a8a897c0d3565487ca4ad1da8a1e6eea"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"c102709ab1706853bfb23ac08f03d25352858327","unresolved":false,"context_lines":[{"line_number":580,"context_line":"            alloc_inodes \u003d lines[1].split(\u0027:\u0027)[validation_token]"},{"line_number":581,"context_line":"        except (IndexError, ValueError):"},{"line_number":582,"context_line":"            msg \u003d (_(\u0027Failed to check share at %s.\u0027) % location)"},{"line_number":583,"context_line":"            LOG.error(msg)"},{"line_number":584,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":585,"context_line":""},{"line_number":586,"context_line":"        return alloc_inodes !\u003d \u00270\u0027"}],"source_content_type":"text/x-python","patch_set":19,"id":"1a6eadb0_41e96ae5","line":583,"range":{"start_line":583,"start_character":16,"end_line":583,"end_character":21},"in_reply_to":"1a6eadb0_e3228351","updated":"2016-12-21 13:45:18.000000000","message":"Done","commit_id":"99698a44a8a897c0d3565487ca4ad1da8a1e6eea"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"f6b22d15676c007950893b770fe69f9ae0d3c4eb","unresolved":false,"context_lines":[{"line_number":586,"context_line":"        return alloc_inodes !\u003d \u00270\u0027"},{"line_number":587,"context_line":""},{"line_number":588,"context_line":"    def _manage_existing(self, fsdev, share, old_export_location):"},{"line_number":589,"context_line":"        sharename \u003d share[\u0027name\u0027]"},{"line_number":590,"context_line":"        new_export_location \u003d self._local_path(sharename)"},{"line_number":591,"context_line":"        try:"},{"line_number":592,"context_line":"            self._gpfs_execute(\u0027mmchfileset\u0027, fsdev, \u0027-J\u0027, old_export_location,"}],"source_content_type":"text/x-python","patch_set":19,"id":"1a6eadb0_83daaf4a","line":589,"range":{"start_line":589,"start_character":8,"end_line":589,"end_character":17},"updated":"2016-12-15 10:46:46.000000000","message":"use \"share_name\" for readability","commit_id":"99698a44a8a897c0d3565487ca4ad1da8a1e6eea"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"c102709ab1706853bfb23ac08f03d25352858327","unresolved":false,"context_lines":[{"line_number":586,"context_line":"        return alloc_inodes !\u003d \u00270\u0027"},{"line_number":587,"context_line":""},{"line_number":588,"context_line":"    def _manage_existing(self, fsdev, share, old_export_location):"},{"line_number":589,"context_line":"        sharename \u003d share[\u0027name\u0027]"},{"line_number":590,"context_line":"        new_export_location \u003d self._local_path(sharename)"},{"line_number":591,"context_line":"        try:"},{"line_number":592,"context_line":"            self._gpfs_execute(\u0027mmchfileset\u0027, fsdev, \u0027-J\u0027, old_export_location,"}],"source_content_type":"text/x-python","patch_set":19,"id":"1a6eadb0_bc4ee16c","line":589,"range":{"start_line":589,"start_character":8,"end_line":589,"end_character":17},"in_reply_to":"1a6eadb0_83daaf4a","updated":"2016-12-21 13:45:18.000000000","message":"Done","commit_id":"99698a44a8a897c0d3565487ca4ad1da8a1e6eea"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"f6b22d15676c007950893b770fe69f9ae0d3c4eb","unresolved":false,"context_lines":[{"line_number":599,"context_line":"        try:"},{"line_number":600,"context_line":"            self._gpfs_execute(\u0027mmunlinkfileset\u0027, fsdev, sharename, \u0027-f\u0027)"},{"line_number":601,"context_line":"        except exception.ProcessExecutionError:"},{"line_number":602,"context_line":"            msg \u003d _(\u0027Failed to unlink fileset for share %s.\u0027) % sharename"},{"line_number":603,"context_line":"            LOG.exception(msg)"},{"line_number":604,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":605,"context_line":""},{"line_number":606,"context_line":"        try:"},{"line_number":607,"context_line":"            self._gpfs_execute(\u0027mmlinkfileset\u0027, fsdev, sharename, \u0027-J\u0027,"}],"source_content_type":"text/x-python","patch_set":19,"id":"1a6eadb0_e3cc436c","line":604,"range":{"start_line":602,"start_character":11,"end_line":604,"end_character":46},"updated":"2016-12-15 10:46:46.000000000","message":"if the above succeeds to rename the fileset, and this fails, you are not doing any cleanup for the error above, so I suppose this will leave your existing share in an inconsistent state to be managed again or to be used as it was. Is this expected?","commit_id":"99698a44a8a897c0d3565487ca4ad1da8a1e6eea"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"c102709ab1706853bfb23ac08f03d25352858327","unresolved":false,"context_lines":[{"line_number":599,"context_line":"        try:"},{"line_number":600,"context_line":"            self._gpfs_execute(\u0027mmunlinkfileset\u0027, fsdev, sharename, \u0027-f\u0027)"},{"line_number":601,"context_line":"        except exception.ProcessExecutionError:"},{"line_number":602,"context_line":"            msg \u003d _(\u0027Failed to unlink fileset for share %s.\u0027) % sharename"},{"line_number":603,"context_line":"            LOG.exception(msg)"},{"line_number":604,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":605,"context_line":""},{"line_number":606,"context_line":"        try:"},{"line_number":607,"context_line":"            self._gpfs_execute(\u0027mmlinkfileset\u0027, fsdev, sharename, \u0027-J\u0027,"}],"source_content_type":"text/x-python","patch_set":19,"id":"1a6eadb0_6a648db8","line":604,"range":{"start_line":602,"start_character":11,"end_line":604,"end_character":46},"in_reply_to":"1a6eadb0_e3cc436c","updated":"2016-12-21 13:45:18.000000000","message":"grate question. No that is not expected; so moving unlinking fileset before we change the fileset name. It will resolve the inconsistency.","commit_id":"99698a44a8a897c0d3565487ca4ad1da8a1e6eea"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"f6b22d15676c007950893b770fe69f9ae0d3c4eb","unresolved":false,"context_lines":[{"line_number":632,"context_line":"            quota_status \u003d lines[1].split(\u0027:\u0027)[quota_limit]"},{"line_number":633,"context_line":"        except (IndexError, ValueError):"},{"line_number":634,"context_line":"            msg \u003d _(\u0027Failed to check quota for share %s.\u0027) % sharename"},{"line_number":635,"context_line":"            LOG.error(msg)"},{"line_number":636,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":637,"context_line":""},{"line_number":638,"context_line":"        share_size \u003d int(quota_status)"}],"source_content_type":"text/x-python","patch_set":19,"id":"1a6eadb0_83962f3d","line":635,"range":{"start_line":635,"start_character":16,"end_line":635,"end_character":21},"updated":"2016-12-15 10:46:46.000000000","message":"could use LOG.exception here","commit_id":"99698a44a8a897c0d3565487ca4ad1da8a1e6eea"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"c102709ab1706853bfb23ac08f03d25352858327","unresolved":false,"context_lines":[{"line_number":632,"context_line":"            quota_status \u003d lines[1].split(\u0027:\u0027)[quota_limit]"},{"line_number":633,"context_line":"        except (IndexError, ValueError):"},{"line_number":634,"context_line":"            msg \u003d _(\u0027Failed to check quota for share %s.\u0027) % sharename"},{"line_number":635,"context_line":"            LOG.error(msg)"},{"line_number":636,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":637,"context_line":""},{"line_number":638,"context_line":"        share_size \u003d int(quota_status)"}],"source_content_type":"text/x-python","patch_set":19,"id":"1a6eadb0_c1d49a21","line":635,"range":{"start_line":635,"start_character":16,"end_line":635,"end_character":21},"in_reply_to":"1a6eadb0_83962f3d","updated":"2016-12-21 13:45:18.000000000","message":"Done","commit_id":"99698a44a8a897c0d3565487ca4ad1da8a1e6eea"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"f6b22d15676c007950893b770fe69f9ae0d3c4eb","unresolved":false,"context_lines":[{"line_number":673,"context_line":"        if len(old_export) \u003d\u003d 2:"},{"line_number":674,"context_line":"            ces_ip \u003d old_export[0]"},{"line_number":675,"context_line":"            old_export_location \u003d old_export[1]"},{"line_number":676,"context_line":"            sharename \u003d old_export_location.split(\u0027/\u0027)"},{"line_number":677,"context_line":"            sharename \u003d sharename[-1]"},{"line_number":678,"context_line":"        else:"},{"line_number":679,"context_line":"            msg \u003d _(\u0027Incorrect path. It should have the following format: \u0027"}],"source_content_type":"text/x-python","patch_set":19,"id":"1a6eadb0_0354df50","line":676,"range":{"start_line":676,"start_character":12,"end_line":676,"end_character":21},"updated":"2016-12-15 10:46:46.000000000","message":"share_name","commit_id":"99698a44a8a897c0d3565487ca4ad1da8a1e6eea"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"c102709ab1706853bfb23ac08f03d25352858327","unresolved":false,"context_lines":[{"line_number":673,"context_line":"        if len(old_export) \u003d\u003d 2:"},{"line_number":674,"context_line":"            ces_ip \u003d old_export[0]"},{"line_number":675,"context_line":"            old_export_location \u003d old_export[1]"},{"line_number":676,"context_line":"            sharename \u003d old_export_location.split(\u0027/\u0027)"},{"line_number":677,"context_line":"            sharename \u003d sharename[-1]"},{"line_number":678,"context_line":"        else:"},{"line_number":679,"context_line":"            msg \u003d _(\u0027Incorrect path. It should have the following format: \u0027"}],"source_content_type":"text/x-python","patch_set":19,"id":"1a6eadb0_1c7fd566","line":676,"range":{"start_line":676,"start_character":12,"end_line":676,"end_character":21},"in_reply_to":"1a6eadb0_0354df50","updated":"2016-12-21 13:45:18.000000000","message":"Done","commit_id":"99698a44a8a897c0d3565487ca4ad1da8a1e6eea"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"f6b22d15676c007950893b770fe69f9ae0d3c4eb","unresolved":false,"context_lines":[{"line_number":687,"context_line":""},{"line_number":688,"context_line":"        fsdev \u003d self._get_gpfs_device()"},{"line_number":689,"context_line":"        if not self._is_share_valid(fsdev, old_export_location):"},{"line_number":690,"context_line":"            err_msg \u003d _(\u0027%s share is not valid share.\u0027) % sharename"},{"line_number":691,"context_line":"            LOG.error(err_msg)"},{"line_number":692,"context_line":"            raise exception.ManageInvalidShare(reason\u003derr_msg)"},{"line_number":693,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"1a6eadb0_a3588b8b","line":690,"range":{"start_line":690,"start_character":37,"end_line":690,"end_character":46},"updated":"2016-12-15 10:46:46.000000000","message":"not a valid","commit_id":"99698a44a8a897c0d3565487ca4ad1da8a1e6eea"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"c102709ab1706853bfb23ac08f03d25352858327","unresolved":false,"context_lines":[{"line_number":687,"context_line":""},{"line_number":688,"context_line":"        fsdev \u003d self._get_gpfs_device()"},{"line_number":689,"context_line":"        if not self._is_share_valid(fsdev, old_export_location):"},{"line_number":690,"context_line":"            err_msg \u003d _(\u0027%s share is not valid share.\u0027) % sharename"},{"line_number":691,"context_line":"            LOG.error(err_msg)"},{"line_number":692,"context_line":"            raise exception.ManageInvalidShare(reason\u003derr_msg)"},{"line_number":693,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"1a6eadb0_8101c2b1","line":690,"range":{"start_line":690,"start_character":37,"end_line":690,"end_character":46},"in_reply_to":"1a6eadb0_a3588b8b","updated":"2016-12-21 13:45:18.000000000","message":"Done","commit_id":"99698a44a8a897c0d3565487ca4ad1da8a1e6eea"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"f6b22d15676c007950893b770fe69f9ae0d3c4eb","unresolved":false,"context_lines":[{"line_number":694,"context_line":"        out \u003d self._get_helper(share)._has_client_access(old_export_location)"},{"line_number":695,"context_line":"        if out:"},{"line_number":696,"context_line":"            err_msg \u003d _(\u0027Clients have access to %s share currently. Evict any \u0027"},{"line_number":697,"context_line":"                        \u0027clients before trying again\u0027) % sharename"},{"line_number":698,"context_line":"            LOG.error(err_msg)"},{"line_number":699,"context_line":"            raise exception.ManageInvalidShare(reason\u003derr_msg)"},{"line_number":700,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"1a6eadb0_c72cb29b","line":697,"range":{"start_line":697,"start_character":51,"end_line":697,"end_character":53},"updated":"2016-12-15 10:46:46.000000000","message":"period","commit_id":"99698a44a8a897c0d3565487ca4ad1da8a1e6eea"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"c102709ab1706853bfb23ac08f03d25352858327","unresolved":false,"context_lines":[{"line_number":694,"context_line":"        out \u003d self._get_helper(share)._has_client_access(old_export_location)"},{"line_number":695,"context_line":"        if out:"},{"line_number":696,"context_line":"            err_msg \u003d _(\u0027Clients have access to %s share currently. Evict any \u0027"},{"line_number":697,"context_line":"                        \u0027clients before trying again\u0027) % sharename"},{"line_number":698,"context_line":"            LOG.error(err_msg)"},{"line_number":699,"context_line":"            raise exception.ManageInvalidShare(reason\u003derr_msg)"},{"line_number":700,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"1a6eadb0_61f826c4","line":697,"range":{"start_line":697,"start_character":51,"end_line":697,"end_character":53},"in_reply_to":"1a6eadb0_c72cb29b","updated":"2016-12-21 13:45:18.000000000","message":"Done","commit_id":"99698a44a8a897c0d3565487ca4ad1da8a1e6eea"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"a4f5e98d02685e77c495adc6bf0cf5a0173a9276","unresolved":false,"context_lines":[{"line_number":616,"context_line":"            msg \u003d _(\u0027Failed to unlink fileset for share %s.\u0027) % new_share_name"},{"line_number":617,"context_line":"            LOG.exception(msg)"},{"line_number":618,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":619,"context_line":"        LOG.info(_LI(\u0027Unlinked the fileset of share %s.\u0027) % old_share_name)"},{"line_number":620,"context_line":""},{"line_number":621,"context_line":"        try:"},{"line_number":622,"context_line":"            self._gpfs_execute(\u0027mmchfileset\u0027, fsdev, old_share_name,"}],"source_content_type":"text/x-python","patch_set":20,"id":"1a6eadb0_e8f98081","line":619,"range":{"start_line":619,"start_character":12,"end_line":619,"end_character":16},"updated":"2016-12-21 15:25:40.000000000","message":"ideally this should be LOG.debug, only when method starts/completes should be LOG.info","commit_id":"c46ba49a41a6e3c03b4904a13d2f5a78116a2d15"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"fd70796d74fb47b3b8b6ab59a55d8af8f94fbb8b","unresolved":false,"context_lines":[{"line_number":616,"context_line":"            msg \u003d _(\u0027Failed to unlink fileset for share %s.\u0027) % new_share_name"},{"line_number":617,"context_line":"            LOG.exception(msg)"},{"line_number":618,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":619,"context_line":"        LOG.info(_LI(\u0027Unlinked the fileset of share %s.\u0027) % old_share_name)"},{"line_number":620,"context_line":""},{"line_number":621,"context_line":"        try:"},{"line_number":622,"context_line":"            self._gpfs_execute(\u0027mmchfileset\u0027, fsdev, old_share_name,"}],"source_content_type":"text/x-python","patch_set":20,"id":"da4df55a_33bb8274","line":619,"range":{"start_line":619,"start_character":12,"end_line":619,"end_character":16},"in_reply_to":"1a6eadb0_e8f98081","updated":"2016-12-22 07:47:26.000000000","message":"Done","commit_id":"c46ba49a41a6e3c03b4904a13d2f5a78116a2d15"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"a4f5e98d02685e77c495adc6bf0cf5a0173a9276","unresolved":false,"context_lines":[{"line_number":625,"context_line":"            msg \u003d _(\u0027Failed to rename fileset for share %s.\u0027) % new_share_name"},{"line_number":626,"context_line":"            LOG.exception(msg)"},{"line_number":627,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":628,"context_line":"        LOG.info(_LI(\u0027Renamed the fileset from %(old_share)s to \u0027"},{"line_number":629,"context_line":"                     \u0027%(new_share)s.\u0027) %"},{"line_number":630,"context_line":"                 {\u0027old_share\u0027: old_share_name, \u0027new_share\u0027: new_share_name})"},{"line_number":631,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"1a6eadb0_28f0d890","line":628,"range":{"start_line":628,"start_character":12,"end_line":628,"end_character":16},"updated":"2016-12-21 15:25:40.000000000","message":"same as above","commit_id":"c46ba49a41a6e3c03b4904a13d2f5a78116a2d15"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"fd70796d74fb47b3b8b6ab59a55d8af8f94fbb8b","unresolved":false,"context_lines":[{"line_number":625,"context_line":"            msg \u003d _(\u0027Failed to rename fileset for share %s.\u0027) % new_share_name"},{"line_number":626,"context_line":"            LOG.exception(msg)"},{"line_number":627,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":628,"context_line":"        LOG.info(_LI(\u0027Renamed the fileset from %(old_share)s to \u0027"},{"line_number":629,"context_line":"                     \u0027%(new_share)s.\u0027) %"},{"line_number":630,"context_line":"                 {\u0027old_share\u0027: old_share_name, \u0027new_share\u0027: new_share_name})"},{"line_number":631,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"da4df55a_b3a7724e","line":628,"range":{"start_line":628,"start_character":12,"end_line":628,"end_character":16},"in_reply_to":"1a6eadb0_28f0d890","updated":"2016-12-22 07:47:26.000000000","message":"Done","commit_id":"c46ba49a41a6e3c03b4904a13d2f5a78116a2d15"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"a4f5e98d02685e77c495adc6bf0cf5a0173a9276","unresolved":false,"context_lines":[{"line_number":628,"context_line":"        LOG.info(_LI(\u0027Renamed the fileset from %(old_share)s to \u0027"},{"line_number":629,"context_line":"                     \u0027%(new_share)s.\u0027) %"},{"line_number":630,"context_line":"                 {\u0027old_share\u0027: old_share_name, \u0027new_share\u0027: new_share_name})"},{"line_number":631,"context_line":""},{"line_number":632,"context_line":"        try:"},{"line_number":633,"context_line":"            self._gpfs_execute(\u0027mmlinkfileset\u0027, fsdev, new_share_name, \u0027-J\u0027,"},{"line_number":634,"context_line":"                               new_export_location)"},{"line_number":635,"context_line":"        except exception.ProcessExecutionError:"},{"line_number":636,"context_line":"            msg \u003d _(\u0027Failed to link fileset for the share %s.\u0027"},{"line_number":637,"context_line":"                    ) % new_share_name"}],"source_content_type":"text/x-python","patch_set":20,"id":"1a6eadb0_48e0b496","line":634,"range":{"start_line":631,"start_character":0,"end_line":634,"end_character":51},"updated":"2016-12-21 15:25:40.000000000","message":"here you have the same problem as before. You renamed a fileset, if this fails, this will render the share unusable and will not work again because you haven\u0027t cleaned up the rename.","commit_id":"c46ba49a41a6e3c03b4904a13d2f5a78116a2d15"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"fd70796d74fb47b3b8b6ab59a55d8af8f94fbb8b","unresolved":false,"context_lines":[{"line_number":628,"context_line":"        LOG.info(_LI(\u0027Renamed the fileset from %(old_share)s to \u0027"},{"line_number":629,"context_line":"                     \u0027%(new_share)s.\u0027) %"},{"line_number":630,"context_line":"                 {\u0027old_share\u0027: old_share_name, \u0027new_share\u0027: new_share_name})"},{"line_number":631,"context_line":""},{"line_number":632,"context_line":"        try:"},{"line_number":633,"context_line":"            self._gpfs_execute(\u0027mmlinkfileset\u0027, fsdev, new_share_name, \u0027-J\u0027,"},{"line_number":634,"context_line":"                               new_export_location)"},{"line_number":635,"context_line":"        except exception.ProcessExecutionError:"},{"line_number":636,"context_line":"            msg \u003d _(\u0027Failed to link fileset for the share %s.\u0027"},{"line_number":637,"context_line":"                    ) % new_share_name"}],"source_content_type":"text/x-python","patch_set":20,"id":"da4df55a_ae48e55c","line":634,"range":{"start_line":631,"start_character":0,"end_line":634,"end_character":51},"in_reply_to":"1a6eadb0_48e0b496","updated":"2016-12-22 07:47:26.000000000","message":"From log messages, admin can take care of the failed fileset.\nIt can revert it back easily.","commit_id":"c46ba49a41a6e3c03b4904a13d2f5a78116a2d15"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"a4f5e98d02685e77c495adc6bf0cf5a0173a9276","unresolved":false,"context_lines":[{"line_number":637,"context_line":"                    ) % new_share_name"},{"line_number":638,"context_line":"            LOG.exception(msg)"},{"line_number":639,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":640,"context_line":"        LOG.info(_LI(\u0027Linked the fileset of share %(share_name)s at location \u0027"},{"line_number":641,"context_line":"                     \u0027%(export_location)s.\u0027) %"},{"line_number":642,"context_line":"                 {\u0027share_name\u0027: new_share_name,"},{"line_number":643,"context_line":"                  \u0027export_location\u0027: new_export_location})"}],"source_content_type":"text/x-python","patch_set":20,"id":"1a6eadb0_a832285c","line":640,"range":{"start_line":640,"start_character":12,"end_line":640,"end_character":16},"updated":"2016-12-21 15:25:40.000000000","message":"same as above","commit_id":"c46ba49a41a6e3c03b4904a13d2f5a78116a2d15"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"fd70796d74fb47b3b8b6ab59a55d8af8f94fbb8b","unresolved":false,"context_lines":[{"line_number":637,"context_line":"                    ) % new_share_name"},{"line_number":638,"context_line":"            LOG.exception(msg)"},{"line_number":639,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":640,"context_line":"        LOG.info(_LI(\u0027Linked the fileset of share %(share_name)s at location \u0027"},{"line_number":641,"context_line":"                     \u0027%(export_location)s.\u0027) %"},{"line_number":642,"context_line":"                 {\u0027share_name\u0027: new_share_name,"},{"line_number":643,"context_line":"                  \u0027export_location\u0027: new_export_location})"}],"source_content_type":"text/x-python","patch_set":20,"id":"da4df55a_d3623616","line":640,"range":{"start_line":640,"start_character":12,"end_line":640,"end_character":16},"in_reply_to":"1a6eadb0_a832285c","updated":"2016-12-22 07:47:26.000000000","message":"Done","commit_id":"c46ba49a41a6e3c03b4904a13d2f5a78116a2d15"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"a4f5e98d02685e77c495adc6bf0cf5a0173a9276","unresolved":false,"context_lines":[{"line_number":648,"context_line":"            msg \u003d _(\u0027Failed to set permissions for share %s.\u0027) % new_share_name"},{"line_number":649,"context_line":"            LOG.exception(msg)"},{"line_number":650,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":651,"context_line":"        LOG.info(_LI(\u0027Changed the permission of share %s.\u0027) % new_share_name)"},{"line_number":652,"context_line":""},{"line_number":653,"context_line":"        try:"},{"line_number":654,"context_line":"            out, __ \u003d self._gpfs_execute(\u0027mmlsquota\u0027, \u0027-j\u0027, new_share_name,"}],"source_content_type":"text/x-python","patch_set":20,"id":"1a6eadb0_a8e5c8a4","line":651,"range":{"start_line":651,"start_character":12,"end_line":651,"end_character":16},"updated":"2016-12-21 15:25:40.000000000","message":"same as above","commit_id":"c46ba49a41a6e3c03b4904a13d2f5a78116a2d15"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"fd70796d74fb47b3b8b6ab59a55d8af8f94fbb8b","unresolved":false,"context_lines":[{"line_number":648,"context_line":"            msg \u003d _(\u0027Failed to set permissions for share %s.\u0027) % new_share_name"},{"line_number":649,"context_line":"            LOG.exception(msg)"},{"line_number":650,"context_line":"            raise exception.GPFSException(msg)"},{"line_number":651,"context_line":"        LOG.info(_LI(\u0027Changed the permission of share %s.\u0027) % new_share_name)"},{"line_number":652,"context_line":""},{"line_number":653,"context_line":"        try:"},{"line_number":654,"context_line":"            out, __ \u003d self._gpfs_execute(\u0027mmlsquota\u0027, \u0027-j\u0027, new_share_name,"}],"source_content_type":"text/x-python","patch_set":20,"id":"da4df55a_136d9e04","line":651,"range":{"start_line":651,"start_character":12,"end_line":651,"end_character":16},"in_reply_to":"1a6eadb0_a8e5c8a4","updated":"2016-12-22 07:47:26.000000000","message":"Done","commit_id":"c46ba49a41a6e3c03b4904a13d2f5a78116a2d15"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"a4f5e98d02685e77c495adc6bf0cf5a0173a9276","unresolved":false,"context_lines":[{"line_number":708,"context_line":"            ces_ip \u003d old_export[0]"},{"line_number":709,"context_line":"            old_export_location \u003d old_export[1]"},{"line_number":710,"context_line":"        except IndexError:"},{"line_number":711,"context_line":"            msg \u003d _(\u0027Incorrect export path. Expected format: \u0027"},{"line_number":712,"context_line":"                    \u0027IP:/gpfs_mount_point_base/share_id.\u0027)"},{"line_number":713,"context_line":"            raise exception.ShareBackendException(msg\u003dmsg)"},{"line_number":714,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"1a6eadb0_889bac17","line":711,"updated":"2016-12-21 15:25:40.000000000","message":"could use a LOG.exception here","commit_id":"c46ba49a41a6e3c03b4904a13d2f5a78116a2d15"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"fd70796d74fb47b3b8b6ab59a55d8af8f94fbb8b","unresolved":false,"context_lines":[{"line_number":708,"context_line":"            ces_ip \u003d old_export[0]"},{"line_number":709,"context_line":"            old_export_location \u003d old_export[1]"},{"line_number":710,"context_line":"        except IndexError:"},{"line_number":711,"context_line":"            msg \u003d _(\u0027Incorrect export path. Expected format: \u0027"},{"line_number":712,"context_line":"                    \u0027IP:/gpfs_mount_point_base/share_id.\u0027)"},{"line_number":713,"context_line":"            raise exception.ShareBackendException(msg\u003dmsg)"},{"line_number":714,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"da4df55a_f3357af7","line":711,"in_reply_to":"1a6eadb0_889bac17","updated":"2016-12-22 07:47:26.000000000","message":"Done","commit_id":"c46ba49a41a6e3c03b4904a13d2f5a78116a2d15"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"a4f5e98d02685e77c495adc6bf0cf5a0173a9276","unresolved":false,"context_lines":[{"line_number":719,"context_line":""},{"line_number":720,"context_line":"        fsdev \u003d self._get_gpfs_device()"},{"line_number":721,"context_line":"        if not self._is_share_valid(fsdev, old_export_location):"},{"line_number":722,"context_line":"            err_msg \u003d _(\u0027Given share path %s does not have valid share.\u0027"},{"line_number":723,"context_line":"                        ) % old_export_location"},{"line_number":724,"context_line":"            raise exception.ManageInvalidShare(reason\u003derr_msg)"},{"line_number":725,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"1a6eadb0_488ef4d0","line":722,"range":{"start_line":722,"start_character":54,"end_line":722,"end_character":64},"updated":"2016-12-21 15:25:40.000000000","message":"have a valid","commit_id":"c46ba49a41a6e3c03b4904a13d2f5a78116a2d15"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"fd70796d74fb47b3b8b6ab59a55d8af8f94fbb8b","unresolved":false,"context_lines":[{"line_number":719,"context_line":""},{"line_number":720,"context_line":"        fsdev \u003d self._get_gpfs_device()"},{"line_number":721,"context_line":"        if not self._is_share_valid(fsdev, old_export_location):"},{"line_number":722,"context_line":"            err_msg \u003d _(\u0027Given share path %s does not have valid share.\u0027"},{"line_number":723,"context_line":"                        ) % old_export_location"},{"line_number":724,"context_line":"            raise exception.ManageInvalidShare(reason\u003derr_msg)"},{"line_number":725,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"da4df55a_735b4a55","line":722,"range":{"start_line":722,"start_character":54,"end_line":722,"end_character":64},"in_reply_to":"1a6eadb0_488ef4d0","updated":"2016-12-22 07:47:26.000000000","message":"Done","commit_id":"c46ba49a41a6e3c03b4904a13d2f5a78116a2d15"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"ee2211a8db205a941e820e6a413508591d419297","unresolved":false,"context_lines":[{"line_number":719,"context_line":""},{"line_number":720,"context_line":"        fsdev \u003d self._get_gpfs_device()"},{"line_number":721,"context_line":"        if not self._is_share_valid(fsdev, old_export_location):"},{"line_number":722,"context_line":"            err_msg \u003d _(\u0027Given share path %s does not have a valid share.\u0027"},{"line_number":723,"context_line":"                        ) % old_export_location"},{"line_number":724,"context_line":"            raise exception.ManageInvalidShare(reason\u003derr_msg)"},{"line_number":725,"context_line":""}],"source_content_type":"text/x-python","patch_set":23,"id":"da4df55a_c6881f74","line":722,"range":{"start_line":722,"start_character":66,"end_line":722,"end_character":67},"updated":"2016-12-27 21:39:39.000000000","message":"nit: break line here","commit_id":"8fe5f1b1a06e580405141b5f121c2bd82575226f"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"6a6dbf2c892ff5b1577d6faa2b5ae457ce3fa64d","unresolved":false,"context_lines":[{"line_number":719,"context_line":""},{"line_number":720,"context_line":"        fsdev \u003d self._get_gpfs_device()"},{"line_number":721,"context_line":"        if not self._is_share_valid(fsdev, old_export_location):"},{"line_number":722,"context_line":"            err_msg \u003d _(\u0027Given share path %s does not have a valid share.\u0027"},{"line_number":723,"context_line":"                        ) % old_export_location"},{"line_number":724,"context_line":"            raise exception.ManageInvalidShare(reason\u003derr_msg)"},{"line_number":725,"context_line":""}],"source_content_type":"text/x-python","patch_set":23,"id":"da4df55a_2b044c48","line":722,"range":{"start_line":722,"start_character":66,"end_line":722,"end_character":67},"in_reply_to":"da4df55a_c6881f74","updated":"2016-12-28 09:41:39.000000000","message":"Done","commit_id":"8fe5f1b1a06e580405141b5f121c2bd82575226f"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"ee2211a8db205a941e820e6a413508591d419297","unresolved":false,"context_lines":[{"line_number":967,"context_line":"            self._execute_mmnfs_command((\u0027remove\u0027, local_path), err_msg)"},{"line_number":968,"context_line":""},{"line_number":969,"context_line":"    def allow_access(self, local_path, share, access):"},{"line_number":970,"context_line":"        \"\"\"Allow access to the host.\"\"\""},{"line_number":971,"context_line":"        if access[\u0027access_type\u0027] !\u003d \u0027ip\u0027:"},{"line_number":972,"context_line":"            raise exception.InvalidShareAccess(reason\u003d\u0027Only ip access type \u0027"},{"line_number":973,"context_line":"                                                      \u0027supported.\u0027)"}],"source_content_type":"text/x-python","patch_set":23,"id":"da4df55a_46dc2f73","line":970,"range":{"start_line":970,"start_character":0,"end_line":970,"end_character":39},"updated":"2016-12-27 21:39:39.000000000","message":"Why was the blank line below removed?","commit_id":"8fe5f1b1a06e580405141b5f121c2bd82575226f"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"6a6dbf2c892ff5b1577d6faa2b5ae457ce3fa64d","unresolved":false,"context_lines":[{"line_number":967,"context_line":"            self._execute_mmnfs_command((\u0027remove\u0027, local_path), err_msg)"},{"line_number":968,"context_line":""},{"line_number":969,"context_line":"    def allow_access(self, local_path, share, access):"},{"line_number":970,"context_line":"        \"\"\"Allow access to the host.\"\"\""},{"line_number":971,"context_line":"        if access[\u0027access_type\u0027] !\u003d \u0027ip\u0027:"},{"line_number":972,"context_line":"            raise exception.InvalidShareAccess(reason\u003d\u0027Only ip access type \u0027"},{"line_number":973,"context_line":"                                                      \u0027supported.\u0027)"}],"source_content_type":"text/x-python","patch_set":23,"id":"da4df55a_cb9bc016","line":970,"range":{"start_line":970,"start_character":0,"end_line":970,"end_character":39},"in_reply_to":"da4df55a_46dc2f73","updated":"2016-12-28 09:41:39.000000000","message":"Done","commit_id":"8fe5f1b1a06e580405141b5f121c2bd82575226f"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"8b4a3f28ba0f386448d820421d850a475c58bfaf","unresolved":false,"context_lines":[{"line_number":720,"context_line":""},{"line_number":721,"context_line":"        fsdev \u003d self._get_gpfs_device()"},{"line_number":722,"context_line":"        if not self._is_share_valid(fsdev, old_export_location):"},{"line_number":723,"context_line":"            err_msg \u003d _(\u0027Given share path %s does not have a valid\u0027"},{"line_number":724,"context_line":"                        \u0027share.\u0027) % old_export_location"},{"line_number":725,"context_line":"            raise exception.ManageInvalidShare(reason\u003derr_msg)"},{"line_number":726,"context_line":""}],"source_content_type":"text/x-python","patch_set":24,"id":"da4df55a_6e5d8178","line":723,"range":{"start_line":723,"start_character":61,"end_line":723,"end_character":66},"updated":"2016-12-28 08:17:00.000000000","message":"you\u0027re missing a space","commit_id":"92f9b035e35be1fab9da26ed9005b760c667f3ee"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"9f8d8ee90b1e4cecfdac5662dc67bb1f02074f02","unresolved":false,"context_lines":[{"line_number":720,"context_line":""},{"line_number":721,"context_line":"        fsdev \u003d self._get_gpfs_device()"},{"line_number":722,"context_line":"        if not self._is_share_valid(fsdev, old_export_location):"},{"line_number":723,"context_line":"            err_msg \u003d _(\u0027Given share path %s does not have a valid\u0027"},{"line_number":724,"context_line":"                        \u0027share.\u0027) % old_export_location"},{"line_number":725,"context_line":"            raise exception.ManageInvalidShare(reason\u003derr_msg)"},{"line_number":726,"context_line":""}],"source_content_type":"text/x-python","patch_set":24,"id":"da4df55a_9479d8ca","line":723,"range":{"start_line":723,"start_character":61,"end_line":723,"end_character":66},"in_reply_to":"da4df55a_6e5d8178","updated":"2016-12-28 09:42:17.000000000","message":"Done","commit_id":"92f9b035e35be1fab9da26ed9005b760c667f3ee"}],"manila/tests/share/drivers/ibm/test_gpfs.py":[{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"afa641f6b4b3127599ec5f420bd6030bf650a449","unresolved":false,"context_lines":[{"line_number":663,"context_line":"        result \u003d self._driver._is_share_valid(self.fakedev, self.fakesharepath)"},{"line_number":664,"context_line":"        self._driver._gpfs_execute.assert_called_once_with("},{"line_number":665,"context_line":"            \u0027mmlsfileset\u0027, self.fakedev, \u0027-J\u0027, self.fakesharepath, \u0027-L\u0027, \u0027-Y\u0027)"},{"line_number":666,"context_line":"        self.assertEqual(result, True)"},{"line_number":667,"context_line":""},{"line_number":668,"context_line":"    def test__is_share_invalid(self):"},{"line_number":669,"context_line":"        fakeout \u003d \"mmlsfileset::allocInodes:\\nmmlsfileset::0:\""}],"source_content_type":"text/x-python","patch_set":3,"id":"5a8bc5a2_03dd3714","line":666,"range":{"start_line":666,"start_character":8,"end_line":666,"end_character":38},"updated":"2016-09-22 14:17:09.000000000","message":"s/self.assertEqual(result, True) / self.assertTrue(result)","commit_id":"302e9b32786ea1e7625294cf1cce7d60825512ac"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"8d6ab845d2bc32d023e232ffc555d133cacff667","unresolved":false,"context_lines":[{"line_number":663,"context_line":"        result \u003d self._driver._is_share_valid(self.fakedev, self.fakesharepath)"},{"line_number":664,"context_line":"        self._driver._gpfs_execute.assert_called_once_with("},{"line_number":665,"context_line":"            \u0027mmlsfileset\u0027, self.fakedev, \u0027-J\u0027, self.fakesharepath, \u0027-L\u0027, \u0027-Y\u0027)"},{"line_number":666,"context_line":"        self.assertEqual(result, True)"},{"line_number":667,"context_line":""},{"line_number":668,"context_line":"    def test__is_share_invalid(self):"},{"line_number":669,"context_line":"        fakeout \u003d \"mmlsfileset::allocInodes:\\nmmlsfileset::0:\""}],"source_content_type":"text/x-python","patch_set":3,"id":"5a8bc5a2_8726ae66","line":666,"range":{"start_line":666,"start_character":8,"end_line":666,"end_character":38},"in_reply_to":"5a8bc5a2_03dd3714","updated":"2016-09-23 14:07:41.000000000","message":"Done","commit_id":"302e9b32786ea1e7625294cf1cce7d60825512ac"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"afa641f6b4b3127599ec5f420bd6030bf650a449","unresolved":false,"context_lines":[{"line_number":706,"context_line":"                                                   self.fakesharepath)"},{"line_number":707,"context_line":"        self._driver._gpfs_execute.assert_called_with("},{"line_number":708,"context_line":"            \u0027mmlsquota\u0027, \u0027-j\u0027, self.share[\u0027name\u0027], \u0027-Y\u0027, self.fakedev)"},{"line_number":709,"context_line":"        self.assertEqual(actual_size, 1)"},{"line_number":710,"context_line":"        self.assertEqual(actual_path, \u0027fakelocation\u0027)"},{"line_number":711,"context_line":""},{"line_number":712,"context_line":"    def test__manage_existing_with_undefined_quota(self):"},{"line_number":713,"context_line":"        fakeout \u003d \"mmlsquota::blockLimit:\\nmmlsquota::0\""}],"source_content_type":"text/x-python","patch_set":3,"id":"5a8bc5a2_231793a4","line":710,"range":{"start_line":709,"start_character":8,"end_line":710,"end_character":53},"updated":"2016-09-22 14:17:09.000000000","message":"Please fix incorrect order assertEqual(observed, expected) as below.\n  assertEqual(observed, expected) \u003d\u003e assertEqual(expected, observed)","commit_id":"302e9b32786ea1e7625294cf1cce7d60825512ac"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"8d6ab845d2bc32d023e232ffc555d133cacff667","unresolved":false,"context_lines":[{"line_number":706,"context_line":"                                                   self.fakesharepath)"},{"line_number":707,"context_line":"        self._driver._gpfs_execute.assert_called_with("},{"line_number":708,"context_line":"            \u0027mmlsquota\u0027, \u0027-j\u0027, self.share[\u0027name\u0027], \u0027-Y\u0027, self.fakedev)"},{"line_number":709,"context_line":"        self.assertEqual(actual_size, 1)"},{"line_number":710,"context_line":"        self.assertEqual(actual_path, \u0027fakelocation\u0027)"},{"line_number":711,"context_line":""},{"line_number":712,"context_line":"    def test__manage_existing_with_undefined_quota(self):"},{"line_number":713,"context_line":"        fakeout \u003d \"mmlsquota::blockLimit:\\nmmlsquota::0\""}],"source_content_type":"text/x-python","patch_set":3,"id":"5a8bc5a2_e71db210","line":710,"range":{"start_line":709,"start_character":8,"end_line":710,"end_character":53},"in_reply_to":"5a8bc5a2_231793a4","updated":"2016-09-23 14:07:41.000000000","message":"Done","commit_id":"302e9b32786ea1e7625294cf1cce7d60825512ac"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"afa641f6b4b3127599ec5f420bd6030bf650a449","unresolved":false,"context_lines":[{"line_number":739,"context_line":"                                                      self.share[\u0027name\u0027],"},{"line_number":740,"context_line":"                                                      \u0027--block\u0027,"},{"line_number":741,"context_line":"                                                      \u00270:\u0027 + sizestr)"},{"line_number":742,"context_line":"        self.assertEqual(actual_size, 1)"},{"line_number":743,"context_line":"        self.assertEqual(actual_path, \u0027fakelocation\u0027)"},{"line_number":744,"context_line":""},{"line_number":745,"context_line":"    def test__manage_existing_exception(self):"},{"line_number":746,"context_line":"        self._driver._local_path \u003d mock.Mock(return_value\u003dself.fakesharepath)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a8bc5a2_c320affa","line":743,"range":{"start_line":742,"start_character":8,"end_line":743,"end_character":53},"updated":"2016-09-22 14:17:09.000000000","message":"above","commit_id":"302e9b32786ea1e7625294cf1cce7d60825512ac"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"8d6ab845d2bc32d023e232ffc555d133cacff667","unresolved":false,"context_lines":[{"line_number":739,"context_line":"                                                      self.share[\u0027name\u0027],"},{"line_number":740,"context_line":"                                                      \u0027--block\u0027,"},{"line_number":741,"context_line":"                                                      \u00270:\u0027 + sizestr)"},{"line_number":742,"context_line":"        self.assertEqual(actual_size, 1)"},{"line_number":743,"context_line":"        self.assertEqual(actual_path, \u0027fakelocation\u0027)"},{"line_number":744,"context_line":""},{"line_number":745,"context_line":"    def test__manage_existing_exception(self):"},{"line_number":746,"context_line":"        self._driver._local_path \u003d mock.Mock(return_value\u003dself.fakesharepath)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a8bc5a2_47d3c638","line":743,"range":{"start_line":742,"start_character":8,"end_line":743,"end_character":53},"in_reply_to":"5a8bc5a2_c320affa","updated":"2016-09-23 14:07:41.000000000","message":"Done","commit_id":"302e9b32786ea1e7625294cf1cce7d60825512ac"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"afa641f6b4b3127599ec5f420bd6030bf650a449","unresolved":false,"context_lines":[{"line_number":763,"context_line":"        self._helper_fake._is_share_exported \u003d mock.Mock()"},{"line_number":764,"context_line":"        re.findall \u003d mock.Mock(return_value\u003dNone)"},{"line_number":765,"context_line":"        result \u003d self._driver.manage_existing(self.share, {})"},{"line_number":766,"context_line":"        self.assertEqual(result[\u0027size\u0027], \u00271\u0027)"},{"line_number":767,"context_line":"        self.assertEqual(result[\u0027export_locations\u0027], \u0027fakelocation\u0027)"},{"line_number":768,"context_line":""},{"line_number":769,"context_line":"    def test__gpfs_local_execute(self):"},{"line_number":770,"context_line":"        self.mock_object(utils, \u0027execute\u0027, mock.Mock(return_value\u003dTrue))"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a8bc5a2_237eb3e4","line":767,"range":{"start_line":766,"start_character":8,"end_line":767,"end_character":68},"updated":"2016-09-22 14:17:09.000000000","message":"above","commit_id":"302e9b32786ea1e7625294cf1cce7d60825512ac"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"8d6ab845d2bc32d023e232ffc555d133cacff667","unresolved":false,"context_lines":[{"line_number":763,"context_line":"        self._helper_fake._is_share_exported \u003d mock.Mock()"},{"line_number":764,"context_line":"        re.findall \u003d mock.Mock(return_value\u003dNone)"},{"line_number":765,"context_line":"        result \u003d self._driver.manage_existing(self.share, {})"},{"line_number":766,"context_line":"        self.assertEqual(result[\u0027size\u0027], \u00271\u0027)"},{"line_number":767,"context_line":"        self.assertEqual(result[\u0027export_locations\u0027], \u0027fakelocation\u0027)"},{"line_number":768,"context_line":""},{"line_number":769,"context_line":"    def test__gpfs_local_execute(self):"},{"line_number":770,"context_line":"        self.mock_object(utils, \u0027execute\u0027, mock.Mock(return_value\u003dTrue))"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a8bc5a2_67d8c254","line":767,"range":{"start_line":766,"start_character":8,"end_line":767,"end_character":68},"in_reply_to":"5a8bc5a2_237eb3e4","updated":"2016-09-23 14:07:41.000000000","message":"Done","commit_id":"302e9b32786ea1e7625294cf1cce7d60825512ac"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"70768fc4394f98f513672f6a91c68bc42118cfcb","unresolved":false,"context_lines":[{"line_number":744,"context_line":"        self.assertEqual(1, actual_size)"},{"line_number":745,"context_line":"        self.assertEqual(\u0027fakelocation\u0027, actual_path)"},{"line_number":746,"context_line":""},{"line_number":747,"context_line":"    def test__manage_existing_exception(self):"},{"line_number":748,"context_line":"        self._driver._local_path \u003d mock.Mock(return_value\u003dself.fakesharepath)"},{"line_number":749,"context_line":"        self._driver._gpfs_execute \u003d mock.Mock("},{"line_number":750,"context_line":"            side_effect\u003dexception.ProcessExecutionError"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a8bc5a2_049081eb","line":747,"updated":"2016-09-24 08:37:07.000000000","message":"this test looks like only covering the first _gpfs_execute exception while executing \u0027mmchfileset\u0027 command.\nSuggest also covering other raise exception branches.","commit_id":"e001986c2c160ef5878c5d27fd74494d35a14131"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"72e5ede6bada1dc975c2175ff6c0d57844f11bf4","unresolved":false,"context_lines":[{"line_number":744,"context_line":"        self.assertEqual(1, actual_size)"},{"line_number":745,"context_line":"        self.assertEqual(\u0027fakelocation\u0027, actual_path)"},{"line_number":746,"context_line":""},{"line_number":747,"context_line":"    def test__manage_existing_exception(self):"},{"line_number":748,"context_line":"        self._driver._local_path \u003d mock.Mock(return_value\u003dself.fakesharepath)"},{"line_number":749,"context_line":"        self._driver._gpfs_execute \u003d mock.Mock("},{"line_number":750,"context_line":"            side_effect\u003dexception.ProcessExecutionError"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a8bc5a2_2846c27a","line":747,"in_reply_to":"5a8bc5a2_049081eb","updated":"2016-09-27 12:03:57.000000000","message":"Done","commit_id":"e001986c2c160ef5878c5d27fd74494d35a14131"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"70768fc4394f98f513672f6a91c68bc42118cfcb","unresolved":false,"context_lines":[{"line_number":757,"context_line":"            \u0027mmchfileset\u0027, self.fakedev, \u0027-J\u0027, self.fakeexistingsharepath,"},{"line_number":758,"context_line":"            \u0027-j\u0027, self.share[\u0027name\u0027])"},{"line_number":759,"context_line":""},{"line_number":760,"context_line":"    def test_manage_existing(self):"},{"line_number":761,"context_line":"        self._driver._manage_existing \u003d mock.Mock(return_value\u003d(\u00271\u0027,"},{"line_number":762,"context_line":"                                                  \u0027fakelocation\u0027))"},{"line_number":763,"context_line":"        self._driver._get_gpfs_device \u003d mock.Mock(return_value\u003dself.fakedev)"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a8bc5a2_84bad16c","line":760,"updated":"2016-09-24 08:37:07.000000000","message":"please add the manage_existing exception tests.","commit_id":"e001986c2c160ef5878c5d27fd74494d35a14131"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"72e5ede6bada1dc975c2175ff6c0d57844f11bf4","unresolved":false,"context_lines":[{"line_number":757,"context_line":"            \u0027mmchfileset\u0027, self.fakedev, \u0027-J\u0027, self.fakeexistingsharepath,"},{"line_number":758,"context_line":"            \u0027-j\u0027, self.share[\u0027name\u0027])"},{"line_number":759,"context_line":""},{"line_number":760,"context_line":"    def test_manage_existing(self):"},{"line_number":761,"context_line":"        self._driver._manage_existing \u003d mock.Mock(return_value\u003d(\u00271\u0027,"},{"line_number":762,"context_line":"                                                  \u0027fakelocation\u0027))"},{"line_number":763,"context_line":"        self._driver._get_gpfs_device \u003d mock.Mock(return_value\u003dself.fakedev)"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a8bc5a2_685c4a4b","line":760,"in_reply_to":"5a8bc5a2_84bad16c","updated":"2016-09-27 12:03:57.000000000","message":"Done","commit_id":"e001986c2c160ef5878c5d27fd74494d35a14131"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"72d9e803d27cf5a69d013497202392d53ea5b800","unresolved":false,"context_lines":[{"line_number":667,"context_line":"            \u0027mmlsfileset\u0027, self.fakedev, \u0027-J\u0027, self.fakesharepath, \u0027-L\u0027, \u0027-Y\u0027)"},{"line_number":668,"context_line":"        self.assertTrue(result)"},{"line_number":669,"context_line":""},{"line_number":670,"context_line":"    def test__is_share_invalid(self):"},{"line_number":671,"context_line":"        fakeout \u003d \"mmlsfileset::allocInodes:\\nmmlsfileset::0:\""},{"line_number":672,"context_line":"        self._driver._gpfs_execute \u003d mock.Mock(return_value\u003d(fakeout, \u0027\u0027))"},{"line_number":673,"context_line":"        result \u003d self._driver._is_share_valid(self.fakedev, self.fakesharepath)"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa6399be_3499976f","line":670,"range":{"start_line":670,"start_character":13,"end_line":670,"end_character":30},"updated":"2016-10-11 12:05:15.000000000","message":"That part is expected to be a method name.","commit_id":"0d9f9a2f2a27d135b3afdd36b7c43580c73a2829"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"a38eac49db7a467547be86b188b5400303a5229f","unresolved":false,"context_lines":[{"line_number":667,"context_line":"            \u0027mmlsfileset\u0027, self.fakedev, \u0027-J\u0027, self.fakesharepath, \u0027-L\u0027, \u0027-Y\u0027)"},{"line_number":668,"context_line":"        self.assertTrue(result)"},{"line_number":669,"context_line":""},{"line_number":670,"context_line":"    def test__is_share_invalid(self):"},{"line_number":671,"context_line":"        fakeout \u003d \"mmlsfileset::allocInodes:\\nmmlsfileset::0:\""},{"line_number":672,"context_line":"        self._driver._gpfs_execute \u003d mock.Mock(return_value\u003d(fakeout, \u0027\u0027))"},{"line_number":673,"context_line":"        result \u003d self._driver._is_share_valid(self.fakedev, self.fakesharepath)"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa6399be_563b3e38","line":670,"range":{"start_line":670,"start_character":13,"end_line":670,"end_character":30},"in_reply_to":"fa6399be_3499976f","updated":"2016-10-20 08:43:43.000000000","message":"Done","commit_id":"0d9f9a2f2a27d135b3afdd36b7c43580c73a2829"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"72d9e803d27cf5a69d013497202392d53ea5b800","unresolved":false,"context_lines":[{"line_number":699,"context_line":"        self._driver._gpfs_execute \u003d mock.Mock(return_value\u003d(fakeout, \u0027\u0027))"},{"line_number":700,"context_line":"        self._helper_fake.create_export.return_value \u003d \u0027fakelocation\u0027"},{"line_number":701,"context_line":"        self._driver._local_path \u003d mock.Mock(return_value\u003dself.fakesharepath)"},{"line_number":702,"context_line":"        actual_size, actual_path \u003d self._driver._manage_existing("},{"line_number":703,"context_line":"            self.fakedev, self.share, self.fakeexistingsharepath)"},{"line_number":704,"context_line":"        self._driver._gpfs_execute.assert_any_call(\u0027mmchfileset\u0027,"},{"line_number":705,"context_line":"                                                   self.fakedev, \u0027-J\u0027,"},{"line_number":706,"context_line":"                                                   self.fakeexistingsharepath,"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa6399be_34b0b7dd","line":703,"range":{"start_line":702,"start_character":8,"end_line":703,"end_character":65},"updated":"2016-10-11 12:05:15.000000000","message":"Please, separate all such lines with empty lines beyond and above. Readability will be improved in that case.","commit_id":"0d9f9a2f2a27d135b3afdd36b7c43580c73a2829"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"a38eac49db7a467547be86b188b5400303a5229f","unresolved":false,"context_lines":[{"line_number":699,"context_line":"        self._driver._gpfs_execute \u003d mock.Mock(return_value\u003d(fakeout, \u0027\u0027))"},{"line_number":700,"context_line":"        self._helper_fake.create_export.return_value \u003d \u0027fakelocation\u0027"},{"line_number":701,"context_line":"        self._driver._local_path \u003d mock.Mock(return_value\u003dself.fakesharepath)"},{"line_number":702,"context_line":"        actual_size, actual_path \u003d self._driver._manage_existing("},{"line_number":703,"context_line":"            self.fakedev, self.share, self.fakeexistingsharepath)"},{"line_number":704,"context_line":"        self._driver._gpfs_execute.assert_any_call(\u0027mmchfileset\u0027,"},{"line_number":705,"context_line":"                                                   self.fakedev, \u0027-J\u0027,"},{"line_number":706,"context_line":"                                                   self.fakeexistingsharepath,"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa6399be_1610e6a7","line":703,"range":{"start_line":702,"start_character":8,"end_line":703,"end_character":65},"in_reply_to":"fa6399be_34b0b7dd","updated":"2016-10-20 08:43:43.000000000","message":"Done","commit_id":"0d9f9a2f2a27d135b3afdd36b7c43580c73a2829"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"72d9e803d27cf5a69d013497202392d53ea5b800","unresolved":false,"context_lines":[{"line_number":922,"context_line":"        self._driver._get_gpfs_device \u003d mock.Mock(return_value\u003dself.fakedev)"},{"line_number":923,"context_line":"        self._driver._is_share_valid \u003d mock.Mock(return_value\u003dTrue)"},{"line_number":924,"context_line":"        self._helper_fake._is_share_exported \u003d mock.Mock()"},{"line_number":925,"context_line":"        re.findall \u003d mock.Mock(return_value\u003dself.fakeexistingsharepath)"},{"line_number":926,"context_line":"        self.assertRaises(exception.ManageInvalidShare,"},{"line_number":927,"context_line":"                          self._driver.manage_existing, self.share, {})"},{"line_number":928,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"fa6399be_946a6319","line":925,"range":{"start_line":925,"start_character":8,"end_line":925,"end_character":71},"updated":"2016-10-11 12:05:15.000000000","message":"It is global mock. Completely unacceptable to do so! Use only \"self.mock_object(FOO)\" in such cases.","commit_id":"0d9f9a2f2a27d135b3afdd36b7c43580c73a2829"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"a38eac49db7a467547be86b188b5400303a5229f","unresolved":false,"context_lines":[{"line_number":922,"context_line":"        self._driver._get_gpfs_device \u003d mock.Mock(return_value\u003dself.fakedev)"},{"line_number":923,"context_line":"        self._driver._is_share_valid \u003d mock.Mock(return_value\u003dTrue)"},{"line_number":924,"context_line":"        self._helper_fake._is_share_exported \u003d mock.Mock()"},{"line_number":925,"context_line":"        re.findall \u003d mock.Mock(return_value\u003dself.fakeexistingsharepath)"},{"line_number":926,"context_line":"        self.assertRaises(exception.ManageInvalidShare,"},{"line_number":927,"context_line":"                          self._driver.manage_existing, self.share, {})"},{"line_number":928,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"fa6399be_8106631e","line":925,"range":{"start_line":925,"start_character":8,"end_line":925,"end_character":71},"in_reply_to":"fa6399be_946a6319","updated":"2016-10-20 08:43:43.000000000","message":"Done","commit_id":"0d9f9a2f2a27d135b3afdd36b7c43580c73a2829"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"34eebcd413bdb82667a70653005be844f60f63ce","unresolved":false,"context_lines":[{"line_number":1262,"context_line":"    def test_ces_remove_export_valid_export(self):"},{"line_number":1263,"context_line":"        mock_out \u003d \"mmcesnfslsexport::Path:Delegations:Clients:\\n\"\\"},{"line_number":1264,"context_line":"                   \"mmcesnfslsexport::/gpfs0/share-fakeid:none:10.0.0.1\""},{"line_number":1265,"context_line":"        self._ces_helper._execute \u003d mock.Mock(return_value\u003d[mock_out, 0])"},{"line_number":1266,"context_line":"        self._ces_helper._is_share_exported \u003d mock.Mock(return_value\u003dmock_out)"},{"line_number":1267,"context_line":""},{"line_number":1268,"context_line":"        self._ces_helper.remove_export(self.fakesharepath, self.share)"}],"source_content_type":"text/x-python","patch_set":10,"id":"da6895a0_a07377e6","line":1265,"range":{"start_line":1265,"start_character":46,"end_line":1265,"end_character":72},"updated":"2016-10-24 11:26:44.000000000","message":"Seems this mock is no need to return a real value, cause it\u0027ll never be used in the following flow, a raw mock.Mock() is enough.","commit_id":"a0ebbb7728fe02257568572c913a3847bd4aad9e"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"6dc94365b0c50710f2d74af6cbfa84d00b4587f2","unresolved":false,"context_lines":[{"line_number":1262,"context_line":"    def test_ces_remove_export_valid_export(self):"},{"line_number":1263,"context_line":"        mock_out \u003d \"mmcesnfslsexport::Path:Delegations:Clients:\\n\"\\"},{"line_number":1264,"context_line":"                   \"mmcesnfslsexport::/gpfs0/share-fakeid:none:10.0.0.1\""},{"line_number":1265,"context_line":"        self._ces_helper._execute \u003d mock.Mock(return_value\u003d[mock_out, 0])"},{"line_number":1266,"context_line":"        self._ces_helper._is_share_exported \u003d mock.Mock(return_value\u003dmock_out)"},{"line_number":1267,"context_line":""},{"line_number":1268,"context_line":"        self._ces_helper.remove_export(self.fakesharepath, self.share)"}],"source_content_type":"text/x-python","patch_set":10,"id":"da6895a0_346249ae","line":1265,"range":{"start_line":1265,"start_character":46,"end_line":1265,"end_character":72},"in_reply_to":"da6895a0_a07377e6","updated":"2016-10-24 13:59:25.000000000","message":"Thanks for review.\nLine#921 : out, __ \u003d self._execute(\u0027mmnfs\u0027, \u0027export\u0027, *cmd) in gpfs.py\nSince _execute returns two values, adding them.","commit_id":"a0ebbb7728fe02257568572c913a3847bd4aad9e"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"34eebcd413bdb82667a70653005be844f60f63ce","unresolved":false,"context_lines":[{"line_number":1263,"context_line":"        mock_out \u003d \"mmcesnfslsexport::Path:Delegations:Clients:\\n\"\\"},{"line_number":1264,"context_line":"                   \"mmcesnfslsexport::/gpfs0/share-fakeid:none:10.0.0.1\""},{"line_number":1265,"context_line":"        self._ces_helper._execute \u003d mock.Mock(return_value\u003d[mock_out, 0])"},{"line_number":1266,"context_line":"        self._ces_helper._is_share_exported \u003d mock.Mock(return_value\u003dmock_out)"},{"line_number":1267,"context_line":""},{"line_number":1268,"context_line":"        self._ces_helper.remove_export(self.fakesharepath, self.share)"},{"line_number":1269,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"da6895a0_204e8796","line":1266,"range":{"start_line":1266,"start_character":69,"end_line":1266,"end_character":77},"updated":"2016-10-24 11:26:44.000000000","message":"True","commit_id":"a0ebbb7728fe02257568572c913a3847bd4aad9e"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"6dc94365b0c50710f2d74af6cbfa84d00b4587f2","unresolved":false,"context_lines":[{"line_number":1263,"context_line":"        mock_out \u003d \"mmcesnfslsexport::Path:Delegations:Clients:\\n\"\\"},{"line_number":1264,"context_line":"                   \"mmcesnfslsexport::/gpfs0/share-fakeid:none:10.0.0.1\""},{"line_number":1265,"context_line":"        self._ces_helper._execute \u003d mock.Mock(return_value\u003d[mock_out, 0])"},{"line_number":1266,"context_line":"        self._ces_helper._is_share_exported \u003d mock.Mock(return_value\u003dmock_out)"},{"line_number":1267,"context_line":""},{"line_number":1268,"context_line":"        self._ces_helper.remove_export(self.fakesharepath, self.share)"},{"line_number":1269,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"da6895a0_54597dfd","line":1266,"range":{"start_line":1266,"start_character":69,"end_line":1266,"end_character":77},"in_reply_to":"da6895a0_204e8796","updated":"2016-10-24 13:59:25.000000000","message":"Done","commit_id":"a0ebbb7728fe02257568572c913a3847bd4aad9e"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"34eebcd413bdb82667a70653005be844f60f63ce","unresolved":false,"context_lines":[{"line_number":1273,"context_line":""},{"line_number":1274,"context_line":"    def test_ces_remove_export_invalid_export(self):"},{"line_number":1275,"context_line":"        mock_out \u003d \"mmcesnfslsexport::Path:Delegations:Clients:\""},{"line_number":1276,"context_line":"        self._ces_helper._execute \u003d mock.Mock(return_value\u003d[mock_out, 0])"},{"line_number":1277,"context_line":"        self._ces_helper._is_share_exported \u003d mock.Mock(return_value\u003d[])"},{"line_number":1278,"context_line":""},{"line_number":1279,"context_line":"        self._ces_helper.remove_export(self.fakesharepath, self.share)"}],"source_content_type":"text/x-python","patch_set":10,"id":"da6895a0_406e1b02","line":1276,"range":{"start_line":1276,"start_character":46,"end_line":1276,"end_character":72},"updated":"2016-10-24 11:26:44.000000000","message":"ditto","commit_id":"a0ebbb7728fe02257568572c913a3847bd4aad9e"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"6dc94365b0c50710f2d74af6cbfa84d00b4587f2","unresolved":false,"context_lines":[{"line_number":1273,"context_line":""},{"line_number":1274,"context_line":"    def test_ces_remove_export_invalid_export(self):"},{"line_number":1275,"context_line":"        mock_out \u003d \"mmcesnfslsexport::Path:Delegations:Clients:\""},{"line_number":1276,"context_line":"        self._ces_helper._execute \u003d mock.Mock(return_value\u003d[mock_out, 0])"},{"line_number":1277,"context_line":"        self._ces_helper._is_share_exported \u003d mock.Mock(return_value\u003d[])"},{"line_number":1278,"context_line":""},{"line_number":1279,"context_line":"        self._ces_helper.remove_export(self.fakesharepath, self.share)"}],"source_content_type":"text/x-python","patch_set":10,"id":"da6895a0_54109d01","line":1276,"range":{"start_line":1276,"start_character":46,"end_line":1276,"end_character":72},"in_reply_to":"da6895a0_406e1b02","updated":"2016-10-24 13:59:25.000000000","message":"Done","commit_id":"a0ebbb7728fe02257568572c913a3847bd4aad9e"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"34eebcd413bdb82667a70653005be844f60f63ce","unresolved":false,"context_lines":[{"line_number":1274,"context_line":"    def test_ces_remove_export_invalid_export(self):"},{"line_number":1275,"context_line":"        mock_out \u003d \"mmcesnfslsexport::Path:Delegations:Clients:\""},{"line_number":1276,"context_line":"        self._ces_helper._execute \u003d mock.Mock(return_value\u003d[mock_out, 0])"},{"line_number":1277,"context_line":"        self._ces_helper._is_share_exported \u003d mock.Mock(return_value\u003d[])"},{"line_number":1278,"context_line":""},{"line_number":1279,"context_line":"        self._ces_helper.remove_export(self.fakesharepath, self.share)"},{"line_number":1280,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"da6895a0_e08f2fca","line":1277,"range":{"start_line":1277,"start_character":69,"end_line":1277,"end_character":71},"updated":"2016-10-24 11:26:44.000000000","message":"False","commit_id":"a0ebbb7728fe02257568572c913a3847bd4aad9e"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"6dc94365b0c50710f2d74af6cbfa84d00b4587f2","unresolved":false,"context_lines":[{"line_number":1274,"context_line":"    def test_ces_remove_export_invalid_export(self):"},{"line_number":1275,"context_line":"        mock_out \u003d \"mmcesnfslsexport::Path:Delegations:Clients:\""},{"line_number":1276,"context_line":"        self._ces_helper._execute \u003d mock.Mock(return_value\u003d[mock_out, 0])"},{"line_number":1277,"context_line":"        self._ces_helper._is_share_exported \u003d mock.Mock(return_value\u003d[])"},{"line_number":1278,"context_line":""},{"line_number":1279,"context_line":"        self._ces_helper.remove_export(self.fakesharepath, self.share)"},{"line_number":1280,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"da6895a0_7413e10d","line":1277,"range":{"start_line":1277,"start_character":69,"end_line":1277,"end_character":71},"in_reply_to":"da6895a0_e08f2fca","updated":"2016-10-24 13:59:25.000000000","message":"Done","commit_id":"a0ebbb7728fe02257568572c913a3847bd4aad9e"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"34eebcd413bdb82667a70653005be844f60f63ce","unresolved":false,"context_lines":[{"line_number":1277,"context_line":"        self._ces_helper._is_share_exported \u003d mock.Mock(return_value\u003d[])"},{"line_number":1278,"context_line":""},{"line_number":1279,"context_line":"        self._ces_helper.remove_export(self.fakesharepath, self.share)"},{"line_number":1280,"context_line":""},{"line_number":1281,"context_line":"    def test_ces_remove_export_exception(self):"},{"line_number":1282,"context_line":"        local_path \u003d self.fakesharepath"},{"line_number":1283,"context_line":"        self._ces_helper._execute \u003d mock.Mock("}],"source_content_type":"text/x-python","patch_set":10,"id":"da6895a0_80b11392","line":1280,"updated":"2016-10-24 11:26:44.000000000","message":"Assert self._ces_helper._execute not called.","commit_id":"a0ebbb7728fe02257568572c913a3847bd4aad9e"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"6dc94365b0c50710f2d74af6cbfa84d00b4587f2","unresolved":false,"context_lines":[{"line_number":1277,"context_line":"        self._ces_helper._is_share_exported \u003d mock.Mock(return_value\u003d[])"},{"line_number":1278,"context_line":""},{"line_number":1279,"context_line":"        self._ces_helper.remove_export(self.fakesharepath, self.share)"},{"line_number":1280,"context_line":""},{"line_number":1281,"context_line":"    def test_ces_remove_export_exception(self):"},{"line_number":1282,"context_line":"        local_path \u003d self.fakesharepath"},{"line_number":1283,"context_line":"        self._ces_helper._execute \u003d mock.Mock("}],"source_content_type":"text/x-python","patch_set":10,"id":"da6895a0_142c6501","line":1280,"in_reply_to":"da6895a0_80b11392","updated":"2016-10-24 13:59:25.000000000","message":"since share is not exported, self._ces_helper._execute will not be called.","commit_id":"a0ebbb7728fe02257568572c913a3847bd4aad9e"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"34eebcd413bdb82667a70653005be844f60f63ce","unresolved":false,"context_lines":[{"line_number":1288,"context_line":""},{"line_number":1289,"context_line":"    def test_ces_allow_access_no_existing_export(self):"},{"line_number":1290,"context_line":"        mock_out \u003d \"mmcesnfslsexport::Path:Delegations:Clients:\""},{"line_number":1291,"context_line":"        self._ces_helper._execute \u003d mock.Mock(return_value\u003d[mock_out, 0])"},{"line_number":1292,"context_line":"        export_opts \u003d \"access_type\u003drw\""},{"line_number":1293,"context_line":"        self._ces_helper._is_share_exported \u003d mock.Mock(return_value\u003d[])"},{"line_number":1294,"context_line":"        self._ces_helper.get_export_options \u003d mock.Mock("}],"source_content_type":"text/x-python","patch_set":10,"id":"da6895a0_0096e3ef","line":1291,"range":{"start_line":1291,"start_character":46,"end_line":1291,"end_character":72},"updated":"2016-10-24 11:26:44.000000000","message":"ditto","commit_id":"a0ebbb7728fe02257568572c913a3847bd4aad9e"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"6dc94365b0c50710f2d74af6cbfa84d00b4587f2","unresolved":false,"context_lines":[{"line_number":1288,"context_line":""},{"line_number":1289,"context_line":"    def test_ces_allow_access_no_existing_export(self):"},{"line_number":1290,"context_line":"        mock_out \u003d \"mmcesnfslsexport::Path:Delegations:Clients:\""},{"line_number":1291,"context_line":"        self._ces_helper._execute \u003d mock.Mock(return_value\u003d[mock_out, 0])"},{"line_number":1292,"context_line":"        export_opts \u003d \"access_type\u003drw\""},{"line_number":1293,"context_line":"        self._ces_helper._is_share_exported \u003d mock.Mock(return_value\u003d[])"},{"line_number":1294,"context_line":"        self._ces_helper.get_export_options \u003d mock.Mock("}],"source_content_type":"text/x-python","patch_set":10,"id":"da6895a0_523b4c38","line":1291,"range":{"start_line":1291,"start_character":46,"end_line":1291,"end_character":72},"in_reply_to":"da6895a0_0096e3ef","updated":"2016-10-24 13:59:25.000000000","message":"Done","commit_id":"a0ebbb7728fe02257568572c913a3847bd4aad9e"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"34eebcd413bdb82667a70653005be844f60f63ce","unresolved":false,"context_lines":[{"line_number":1290,"context_line":"        mock_out \u003d \"mmcesnfslsexport::Path:Delegations:Clients:\""},{"line_number":1291,"context_line":"        self._ces_helper._execute \u003d mock.Mock(return_value\u003d[mock_out, 0])"},{"line_number":1292,"context_line":"        export_opts \u003d \"access_type\u003drw\""},{"line_number":1293,"context_line":"        self._ces_helper._is_share_exported \u003d mock.Mock(return_value\u003d[])"},{"line_number":1294,"context_line":"        self._ces_helper.get_export_options \u003d mock.Mock("},{"line_number":1295,"context_line":"            return_value\u003dexport_opts)"},{"line_number":1296,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"da6895a0_60879fd7","line":1293,"range":{"start_line":1293,"start_character":69,"end_line":1293,"end_character":71},"updated":"2016-10-24 11:26:44.000000000","message":"False","commit_id":"a0ebbb7728fe02257568572c913a3847bd4aad9e"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"6dc94365b0c50710f2d74af6cbfa84d00b4587f2","unresolved":false,"context_lines":[{"line_number":1290,"context_line":"        mock_out \u003d \"mmcesnfslsexport::Path:Delegations:Clients:\""},{"line_number":1291,"context_line":"        self._ces_helper._execute \u003d mock.Mock(return_value\u003d[mock_out, 0])"},{"line_number":1292,"context_line":"        export_opts \u003d \"access_type\u003drw\""},{"line_number":1293,"context_line":"        self._ces_helper._is_share_exported \u003d mock.Mock(return_value\u003d[])"},{"line_number":1294,"context_line":"        self._ces_helper.get_export_options \u003d mock.Mock("},{"line_number":1295,"context_line":"            return_value\u003dexport_opts)"},{"line_number":1296,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"da6895a0_9245e4b4","line":1293,"range":{"start_line":1293,"start_character":69,"end_line":1293,"end_character":71},"in_reply_to":"da6895a0_60879fd7","updated":"2016-10-24 13:59:25.000000000","message":"Done","commit_id":"a0ebbb7728fe02257568572c913a3847bd4aad9e"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"34eebcd413bdb82667a70653005be844f60f63ce","unresolved":false,"context_lines":[{"line_number":1304,"context_line":"    def test_ces_allow_access_existing_export(self):"},{"line_number":1305,"context_line":"        mock_out \u003d \"mmcesnfslsexport::Path:Delegations:Clients:\\n\"\\"},{"line_number":1306,"context_line":"                   \"mmcesnfslsexport::/gpfs0/share-fakeid:none:10.0.0.1\""},{"line_number":1307,"context_line":"        self._ces_helper._execute \u003d mock.Mock(return_value\u003d[mock_out, 0])"},{"line_number":1308,"context_line":"        export_opts \u003d \"access_type\u003drw\""},{"line_number":1309,"context_line":"        self._ces_helper._is_share_exported \u003d mock.Mock(return_value\u003dmock_out)"},{"line_number":1310,"context_line":"        self._ces_helper.get_export_options \u003d mock.Mock("}],"source_content_type":"text/x-python","patch_set":10,"id":"da6895a0_60a31f50","line":1307,"range":{"start_line":1307,"start_character":46,"end_line":1307,"end_character":72},"updated":"2016-10-24 11:26:44.000000000","message":"ditto","commit_id":"a0ebbb7728fe02257568572c913a3847bd4aad9e"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"6dc94365b0c50710f2d74af6cbfa84d00b4587f2","unresolved":false,"context_lines":[{"line_number":1304,"context_line":"    def test_ces_allow_access_existing_export(self):"},{"line_number":1305,"context_line":"        mock_out \u003d \"mmcesnfslsexport::Path:Delegations:Clients:\\n\"\\"},{"line_number":1306,"context_line":"                   \"mmcesnfslsexport::/gpfs0/share-fakeid:none:10.0.0.1\""},{"line_number":1307,"context_line":"        self._ces_helper._execute \u003d mock.Mock(return_value\u003d[mock_out, 0])"},{"line_number":1308,"context_line":"        export_opts \u003d \"access_type\u003drw\""},{"line_number":1309,"context_line":"        self._ces_helper._is_share_exported \u003d mock.Mock(return_value\u003dmock_out)"},{"line_number":1310,"context_line":"        self._ces_helper.get_export_options \u003d mock.Mock("}],"source_content_type":"text/x-python","patch_set":10,"id":"da6895a0_6f86a814","line":1307,"range":{"start_line":1307,"start_character":46,"end_line":1307,"end_character":72},"in_reply_to":"da6895a0_60a31f50","updated":"2016-10-24 13:59:25.000000000","message":"Done","commit_id":"a0ebbb7728fe02257568572c913a3847bd4aad9e"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"34eebcd413bdb82667a70653005be844f60f63ce","unresolved":false,"context_lines":[{"line_number":1306,"context_line":"                   \"mmcesnfslsexport::/gpfs0/share-fakeid:none:10.0.0.1\""},{"line_number":1307,"context_line":"        self._ces_helper._execute \u003d mock.Mock(return_value\u003d[mock_out, 0])"},{"line_number":1308,"context_line":"        export_opts \u003d \"access_type\u003drw\""},{"line_number":1309,"context_line":"        self._ces_helper._is_share_exported \u003d mock.Mock(return_value\u003dmock_out)"},{"line_number":1310,"context_line":"        self._ces_helper.get_export_options \u003d mock.Mock("},{"line_number":1311,"context_line":"            return_value\u003dexport_opts)"},{"line_number":1312,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"da6895a0_202f67f7","line":1309,"range":{"start_line":1309,"start_character":69,"end_line":1309,"end_character":77},"updated":"2016-10-24 11:26:44.000000000","message":"True","commit_id":"a0ebbb7728fe02257568572c913a3847bd4aad9e"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"6dc94365b0c50710f2d74af6cbfa84d00b4587f2","unresolved":false,"context_lines":[{"line_number":1306,"context_line":"                   \"mmcesnfslsexport::/gpfs0/share-fakeid:none:10.0.0.1\""},{"line_number":1307,"context_line":"        self._ces_helper._execute \u003d mock.Mock(return_value\u003d[mock_out, 0])"},{"line_number":1308,"context_line":"        export_opts \u003d \"access_type\u003drw\""},{"line_number":1309,"context_line":"        self._ces_helper._is_share_exported \u003d mock.Mock(return_value\u003dmock_out)"},{"line_number":1310,"context_line":"        self._ces_helper.get_export_options \u003d mock.Mock("},{"line_number":1311,"context_line":"            return_value\u003dexport_opts)"},{"line_number":1312,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"da6895a0_af78c02c","line":1309,"range":{"start_line":1309,"start_character":69,"end_line":1309,"end_character":77},"in_reply_to":"da6895a0_202f67f7","updated":"2016-10-24 13:59:25.000000000","message":"Done","commit_id":"a0ebbb7728fe02257568572c913a3847bd4aad9e"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"34eebcd413bdb82667a70653005be844f60f63ce","unresolved":false,"context_lines":[{"line_number":1336,"context_line":"    def test_ces_deny_access_valid_export(self):"},{"line_number":1337,"context_line":"        mock_out \u003d \"mmcesnfslsexport::Path:Delegations:Clients:\\n\"\\"},{"line_number":1338,"context_line":"                   \"mmcesnfslsexport::/gpfs0/share-fakeid:none:10.0.0.1\""},{"line_number":1339,"context_line":"        self._ces_helper._execute \u003d mock.Mock(return_value\u003d[mock_out, 0])"},{"line_number":1340,"context_line":"        self._ces_helper._is_share_exported \u003d mock.Mock(return_value\u003dmock_out)"},{"line_number":1341,"context_line":""},{"line_number":1342,"context_line":"        self._ces_helper.deny_access(self.fakesharepath, self.share,"}],"source_content_type":"text/x-python","patch_set":10,"id":"da6895a0_a08537ae","line":1339,"range":{"start_line":1339,"start_character":46,"end_line":1339,"end_character":72},"updated":"2016-10-24 11:26:44.000000000","message":"ditto","commit_id":"a0ebbb7728fe02257568572c913a3847bd4aad9e"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"6dc94365b0c50710f2d74af6cbfa84d00b4587f2","unresolved":false,"context_lines":[{"line_number":1336,"context_line":"    def test_ces_deny_access_valid_export(self):"},{"line_number":1337,"context_line":"        mock_out \u003d \"mmcesnfslsexport::Path:Delegations:Clients:\\n\"\\"},{"line_number":1338,"context_line":"                   \"mmcesnfslsexport::/gpfs0/share-fakeid:none:10.0.0.1\""},{"line_number":1339,"context_line":"        self._ces_helper._execute \u003d mock.Mock(return_value\u003d[mock_out, 0])"},{"line_number":1340,"context_line":"        self._ces_helper._is_share_exported \u003d mock.Mock(return_value\u003dmock_out)"},{"line_number":1341,"context_line":""},{"line_number":1342,"context_line":"        self._ces_helper.deny_access(self.fakesharepath, self.share,"}],"source_content_type":"text/x-python","patch_set":10,"id":"da6895a0_2f7d90e7","line":1339,"range":{"start_line":1339,"start_character":46,"end_line":1339,"end_character":72},"in_reply_to":"da6895a0_a08537ae","updated":"2016-10-24 13:59:25.000000000","message":"Done","commit_id":"a0ebbb7728fe02257568572c913a3847bd4aad9e"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"34eebcd413bdb82667a70653005be844f60f63ce","unresolved":false,"context_lines":[{"line_number":1337,"context_line":"        mock_out \u003d \"mmcesnfslsexport::Path:Delegations:Clients:\\n\"\\"},{"line_number":1338,"context_line":"                   \"mmcesnfslsexport::/gpfs0/share-fakeid:none:10.0.0.1\""},{"line_number":1339,"context_line":"        self._ces_helper._execute \u003d mock.Mock(return_value\u003d[mock_out, 0])"},{"line_number":1340,"context_line":"        self._ces_helper._is_share_exported \u003d mock.Mock(return_value\u003dmock_out)"},{"line_number":1341,"context_line":""},{"line_number":1342,"context_line":"        self._ces_helper.deny_access(self.fakesharepath, self.share,"},{"line_number":1343,"context_line":"                                     self.access)"}],"source_content_type":"text/x-python","patch_set":10,"id":"da6895a0_d91ea662","line":1340,"range":{"start_line":1340,"start_character":69,"end_line":1340,"end_character":77},"updated":"2016-10-24 11:26:44.000000000","message":"True","commit_id":"a0ebbb7728fe02257568572c913a3847bd4aad9e"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"6dc94365b0c50710f2d74af6cbfa84d00b4587f2","unresolved":false,"context_lines":[{"line_number":1337,"context_line":"        mock_out \u003d \"mmcesnfslsexport::Path:Delegations:Clients:\\n\"\\"},{"line_number":1338,"context_line":"                   \"mmcesnfslsexport::/gpfs0/share-fakeid:none:10.0.0.1\""},{"line_number":1339,"context_line":"        self._ces_helper._execute \u003d mock.Mock(return_value\u003d[mock_out, 0])"},{"line_number":1340,"context_line":"        self._ces_helper._is_share_exported \u003d mock.Mock(return_value\u003dmock_out)"},{"line_number":1341,"context_line":""},{"line_number":1342,"context_line":"        self._ces_helper.deny_access(self.fakesharepath, self.share,"},{"line_number":1343,"context_line":"                                     self.access)"}],"source_content_type":"text/x-python","patch_set":10,"id":"da6895a0_4f8484d3","line":1340,"range":{"start_line":1340,"start_character":69,"end_line":1340,"end_character":77},"in_reply_to":"da6895a0_d91ea662","updated":"2016-10-24 13:59:25.000000000","message":"Done","commit_id":"a0ebbb7728fe02257568572c913a3847bd4aad9e"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"34eebcd413bdb82667a70653005be844f60f63ce","unresolved":false,"context_lines":[{"line_number":1348,"context_line":""},{"line_number":1349,"context_line":"    def test_ces_deny_access_invalid_export(self):"},{"line_number":1350,"context_line":"        mock_out \u003d \"mmcesnfslsexport::Path:Delegations:Clients:\""},{"line_number":1351,"context_line":"        self._ces_helper._execute \u003d mock.Mock(return_value\u003d[mock_out, 0])"},{"line_number":1352,"context_line":"        self._ces_helper._is_share_exported \u003d mock.Mock(return_value\u003d[])"},{"line_number":1353,"context_line":""},{"line_number":1354,"context_line":"        self._ces_helper.deny_access(self.fakesharepath, self.share,"}],"source_content_type":"text/x-python","patch_set":10,"id":"da6895a0_c094ebe3","line":1351,"range":{"start_line":1351,"start_character":46,"end_line":1351,"end_character":72},"updated":"2016-10-24 11:26:44.000000000","message":"ditto","commit_id":"a0ebbb7728fe02257568572c913a3847bd4aad9e"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"6dc94365b0c50710f2d74af6cbfa84d00b4587f2","unresolved":false,"context_lines":[{"line_number":1348,"context_line":""},{"line_number":1349,"context_line":"    def test_ces_deny_access_invalid_export(self):"},{"line_number":1350,"context_line":"        mock_out \u003d \"mmcesnfslsexport::Path:Delegations:Clients:\""},{"line_number":1351,"context_line":"        self._ces_helper._execute \u003d mock.Mock(return_value\u003d[mock_out, 0])"},{"line_number":1352,"context_line":"        self._ces_helper._is_share_exported \u003d mock.Mock(return_value\u003d[])"},{"line_number":1353,"context_line":""},{"line_number":1354,"context_line":"        self._ces_helper.deny_access(self.fakesharepath, self.share,"}],"source_content_type":"text/x-python","patch_set":10,"id":"da6895a0_cf7894f5","line":1351,"range":{"start_line":1351,"start_character":46,"end_line":1351,"end_character":72},"in_reply_to":"da6895a0_c094ebe3","updated":"2016-10-24 13:59:25.000000000","message":"Done","commit_id":"a0ebbb7728fe02257568572c913a3847bd4aad9e"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"34eebcd413bdb82667a70653005be844f60f63ce","unresolved":false,"context_lines":[{"line_number":1349,"context_line":"    def test_ces_deny_access_invalid_export(self):"},{"line_number":1350,"context_line":"        mock_out \u003d \"mmcesnfslsexport::Path:Delegations:Clients:\""},{"line_number":1351,"context_line":"        self._ces_helper._execute \u003d mock.Mock(return_value\u003d[mock_out, 0])"},{"line_number":1352,"context_line":"        self._ces_helper._is_share_exported \u003d mock.Mock(return_value\u003d[])"},{"line_number":1353,"context_line":""},{"line_number":1354,"context_line":"        self._ces_helper.deny_access(self.fakesharepath, self.share,"},{"line_number":1355,"context_line":"                                     self.access)"}],"source_content_type":"text/x-python","patch_set":10,"id":"da6895a0_e072cf48","line":1352,"range":{"start_line":1352,"start_character":69,"end_line":1352,"end_character":71},"updated":"2016-10-24 11:26:44.000000000","message":"False","commit_id":"a0ebbb7728fe02257568572c913a3847bd4aad9e"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"6dc94365b0c50710f2d74af6cbfa84d00b4587f2","unresolved":false,"context_lines":[{"line_number":1349,"context_line":"    def test_ces_deny_access_invalid_export(self):"},{"line_number":1350,"context_line":"        mock_out \u003d \"mmcesnfslsexport::Path:Delegations:Clients:\""},{"line_number":1351,"context_line":"        self._ces_helper._execute \u003d mock.Mock(return_value\u003d[mock_out, 0])"},{"line_number":1352,"context_line":"        self._ces_helper._is_share_exported \u003d mock.Mock(return_value\u003d[])"},{"line_number":1353,"context_line":""},{"line_number":1354,"context_line":"        self._ces_helper.deny_access(self.fakesharepath, self.share,"},{"line_number":1355,"context_line":"                                     self.access)"}],"source_content_type":"text/x-python","patch_set":10,"id":"da6895a0_ef739813","line":1352,"range":{"start_line":1352,"start_character":69,"end_line":1352,"end_character":71},"in_reply_to":"da6895a0_e072cf48","updated":"2016-10-24 13:59:25.000000000","message":"Done","commit_id":"a0ebbb7728fe02257568572c913a3847bd4aad9e"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"34eebcd413bdb82667a70653005be844f60f63ce","unresolved":false,"context_lines":[{"line_number":1353,"context_line":""},{"line_number":1354,"context_line":"        self._ces_helper.deny_access(self.fakesharepath, self.share,"},{"line_number":1355,"context_line":"                                     self.access)"},{"line_number":1356,"context_line":""},{"line_number":1357,"context_line":"    def test_ces_deny_access_exception(self):"},{"line_number":1358,"context_line":"        access \u003d self.access"},{"line_number":1359,"context_line":"        local_path \u003d self.fakesharepath"}],"source_content_type":"text/x-python","patch_set":10,"id":"da6895a0_40fffb66","line":1356,"updated":"2016-10-24 11:26:44.000000000","message":"Assert self._ces_helper._execute not called.","commit_id":"a0ebbb7728fe02257568572c913a3847bd4aad9e"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"6dc94365b0c50710f2d74af6cbfa84d00b4587f2","unresolved":false,"context_lines":[{"line_number":1353,"context_line":""},{"line_number":1354,"context_line":"        self._ces_helper.deny_access(self.fakesharepath, self.share,"},{"line_number":1355,"context_line":"                                     self.access)"},{"line_number":1356,"context_line":""},{"line_number":1357,"context_line":"    def test_ces_deny_access_exception(self):"},{"line_number":1358,"context_line":"        access \u003d self.access"},{"line_number":1359,"context_line":"        local_path \u003d self.fakesharepath"}],"source_content_type":"text/x-python","patch_set":10,"id":"da6895a0_afd7e0bd","line":1356,"in_reply_to":"da6895a0_40fffb66","updated":"2016-10-24 13:59:25.000000000","message":"since share is not exported, self._ces_helper._execute will not be called.","commit_id":"a0ebbb7728fe02257568572c913a3847bd4aad9e"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"969d7ace0669b5402bbddc39a318f0e7fd7afd98","unresolved":false,"context_lines":[{"line_number":659,"context_line":"            \u0027rsync\u0027, \u0027-rp\u0027, self.fakesnapshotpath + \u0027/\u0027, self.fakesharepath"},{"line_number":660,"context_line":"        )"},{"line_number":661,"context_line":""},{"line_number":662,"context_line":"    def test__is_share_valid_with_quota(self):"},{"line_number":663,"context_line":"        fakeout \u003d \"mmlsfileset::allocInodes:\\nmmlsfileset::100096:\""},{"line_number":664,"context_line":"        self._driver._gpfs_execute \u003d mock.Mock(return_value\u003d(fakeout, \u0027\u0027))"},{"line_number":665,"context_line":""},{"line_number":666,"context_line":"        result \u003d self._driver._is_share_valid(self.fakedev, self.fakesharepath)"},{"line_number":667,"context_line":""},{"line_number":668,"context_line":"        self._driver._gpfs_execute.assert_called_once_with("},{"line_number":669,"context_line":"            \u0027mmlsfileset\u0027, self.fakedev, \u0027-J\u0027, self.fakesharepath, \u0027-L\u0027, \u0027-Y\u0027)"},{"line_number":670,"context_line":"        self.assertTrue(result)"},{"line_number":671,"context_line":""},{"line_number":672,"context_line":"    def test__is_share_valid_without_quota(self):"},{"line_number":673,"context_line":"        fakeout \u003d \"mmlsfileset::allocInodes:\\nmmlsfileset::0:\""},{"line_number":674,"context_line":"        self._driver._gpfs_execute \u003d mock.Mock(return_value\u003d(fakeout, \u0027\u0027))"},{"line_number":675,"context_line":""},{"line_number":676,"context_line":"        result \u003d self._driver._is_share_valid(self.fakedev, self.fakesharepath)"},{"line_number":677,"context_line":""},{"line_number":678,"context_line":"        self._driver._gpfs_execute.assert_called_once_with("},{"line_number":679,"context_line":"            \u0027mmlsfileset\u0027, self.fakedev, \u0027-J\u0027, self.fakesharepath, \u0027-L\u0027, \u0027-Y\u0027)"},{"line_number":680,"context_line":"        self.assertFalse(result)"},{"line_number":681,"context_line":""},{"line_number":682,"context_line":"    def test__is_share_valid_exception(self):"},{"line_number":683,"context_line":"        self._driver._gpfs_execute \u003d mock.Mock("}],"source_content_type":"text/x-python","patch_set":11,"id":"ba5da102_4f1fee6b","line":680,"range":{"start_line":662,"start_character":4,"end_line":680,"end_character":32},"updated":"2016-11-01 14:58:08.000000000","message":"This copy-paste can and should be removed using \"ddt\" module. Same for other such occurrences.","commit_id":"67fb1c511027796c89191d53b48bdbad118ac18b"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"7132031f22bd341841142635f1b332ad246e3ce7","unresolved":false,"context_lines":[{"line_number":659,"context_line":"            \u0027rsync\u0027, \u0027-rp\u0027, self.fakesnapshotpath + \u0027/\u0027, self.fakesharepath"},{"line_number":660,"context_line":"        )"},{"line_number":661,"context_line":""},{"line_number":662,"context_line":"    def test__is_share_valid_with_quota(self):"},{"line_number":663,"context_line":"        fakeout \u003d \"mmlsfileset::allocInodes:\\nmmlsfileset::100096:\""},{"line_number":664,"context_line":"        self._driver._gpfs_execute \u003d mock.Mock(return_value\u003d(fakeout, \u0027\u0027))"},{"line_number":665,"context_line":""},{"line_number":666,"context_line":"        result \u003d self._driver._is_share_valid(self.fakedev, self.fakesharepath)"},{"line_number":667,"context_line":""},{"line_number":668,"context_line":"        self._driver._gpfs_execute.assert_called_once_with("},{"line_number":669,"context_line":"            \u0027mmlsfileset\u0027, self.fakedev, \u0027-J\u0027, self.fakesharepath, \u0027-L\u0027, \u0027-Y\u0027)"},{"line_number":670,"context_line":"        self.assertTrue(result)"},{"line_number":671,"context_line":""},{"line_number":672,"context_line":"    def test__is_share_valid_without_quota(self):"},{"line_number":673,"context_line":"        fakeout \u003d \"mmlsfileset::allocInodes:\\nmmlsfileset::0:\""},{"line_number":674,"context_line":"        self._driver._gpfs_execute \u003d mock.Mock(return_value\u003d(fakeout, \u0027\u0027))"},{"line_number":675,"context_line":""},{"line_number":676,"context_line":"        result \u003d self._driver._is_share_valid(self.fakedev, self.fakesharepath)"},{"line_number":677,"context_line":""},{"line_number":678,"context_line":"        self._driver._gpfs_execute.assert_called_once_with("},{"line_number":679,"context_line":"            \u0027mmlsfileset\u0027, self.fakedev, \u0027-J\u0027, self.fakesharepath, \u0027-L\u0027, \u0027-Y\u0027)"},{"line_number":680,"context_line":"        self.assertFalse(result)"},{"line_number":681,"context_line":""},{"line_number":682,"context_line":"    def test__is_share_valid_exception(self):"},{"line_number":683,"context_line":"        self._driver._gpfs_execute \u003d mock.Mock("}],"source_content_type":"text/x-python","patch_set":11,"id":"9a629dbe_1d7cd31f","line":680,"range":{"start_line":662,"start_character":4,"end_line":680,"end_character":32},"in_reply_to":"ba5da102_4f1fee6b","updated":"2016-11-07 14:15:07.000000000","message":"Done","commit_id":"67fb1c511027796c89191d53b48bdbad118ac18b"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"969d7ace0669b5402bbddc39a318f0e7fd7afd98","unresolved":false,"context_lines":[{"line_number":1272,"context_line":"    def test_ces_remove_export_invalid_export(self):"},{"line_number":1273,"context_line":"        self._ces_helper._is_share_exported \u003d mock.Mock(return_value\u003dFalse)"},{"line_number":1274,"context_line":""},{"line_number":1275,"context_line":"        self._ces_helper.remove_export(self.fakesharepath, self.share)"},{"line_number":1276,"context_line":""},{"line_number":1277,"context_line":"    def test_ces_remove_export_exception(self):"},{"line_number":1278,"context_line":"        local_path \u003d self.fakesharepath"}],"source_content_type":"text/x-python","patch_set":11,"id":"ba5da102_32d21d5d","line":1275,"range":{"start_line":1275,"start_character":8,"end_line":1275,"end_character":70},"updated":"2016-11-01 14:58:08.000000000","message":"Where are assertions after calling method?","commit_id":"67fb1c511027796c89191d53b48bdbad118ac18b"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"7132031f22bd341841142635f1b332ad246e3ce7","unresolved":false,"context_lines":[{"line_number":1272,"context_line":"    def test_ces_remove_export_invalid_export(self):"},{"line_number":1273,"context_line":"        self._ces_helper._is_share_exported \u003d mock.Mock(return_value\u003dFalse)"},{"line_number":1274,"context_line":""},{"line_number":1275,"context_line":"        self._ces_helper.remove_export(self.fakesharepath, self.share)"},{"line_number":1276,"context_line":""},{"line_number":1277,"context_line":"    def test_ces_remove_export_exception(self):"},{"line_number":1278,"context_line":"        local_path \u003d self.fakesharepath"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a629dbe_09a00bf4","line":1275,"range":{"start_line":1275,"start_character":8,"end_line":1275,"end_character":70},"in_reply_to":"ba5da102_32d21d5d","updated":"2016-11-07 14:15:07.000000000","message":"Done","commit_id":"67fb1c511027796c89191d53b48bdbad118ac18b"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"969d7ace0669b5402bbddc39a318f0e7fd7afd98","unresolved":false,"context_lines":[{"line_number":1340,"context_line":"    def test_ces_deny_access_invalid_export(self):"},{"line_number":1341,"context_line":"        self._ces_helper._is_share_exported \u003d mock.Mock(return_value\u003dFalse)"},{"line_number":1342,"context_line":""},{"line_number":1343,"context_line":"        self._ces_helper.deny_access(self.fakesharepath, self.share,"},{"line_number":1344,"context_line":"                                     self.access)"},{"line_number":1345,"context_line":""},{"line_number":1346,"context_line":"    def test_ces_deny_access_exception(self):"},{"line_number":1347,"context_line":"        access \u003d self.access"}],"source_content_type":"text/x-python","patch_set":11,"id":"ba5da102_92a849dd","line":1344,"range":{"start_line":1343,"start_character":8,"end_line":1344,"end_character":49},"updated":"2016-11-01 14:58:08.000000000","message":"Where are assertions after calling method?","commit_id":"67fb1c511027796c89191d53b48bdbad118ac18b"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"7132031f22bd341841142635f1b332ad246e3ce7","unresolved":false,"context_lines":[{"line_number":1340,"context_line":"    def test_ces_deny_access_invalid_export(self):"},{"line_number":1341,"context_line":"        self._ces_helper._is_share_exported \u003d mock.Mock(return_value\u003dFalse)"},{"line_number":1342,"context_line":""},{"line_number":1343,"context_line":"        self._ces_helper.deny_access(self.fakesharepath, self.share,"},{"line_number":1344,"context_line":"                                     self.access)"},{"line_number":1345,"context_line":""},{"line_number":1346,"context_line":"    def test_ces_deny_access_exception(self):"},{"line_number":1347,"context_line":"        access \u003d self.access"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a629dbe_49aa03d6","line":1344,"range":{"start_line":1343,"start_character":8,"end_line":1344,"end_character":49},"in_reply_to":"ba5da102_92a849dd","updated":"2016-11-07 14:15:07.000000000","message":"Done","commit_id":"67fb1c511027796c89191d53b48bdbad118ac18b"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"9bd1b80b3ed05e6a37442dfff1697e8792a3766b","unresolved":false,"context_lines":[{"line_number":662,"context_line":"    @ddt.data(\"mmlsfileset::allocInodes:\\nmmlsfileset::100096:\","},{"line_number":663,"context_line":"              \"mmlsfileset::allocInodes:\\nmmlsfileset::0:\")"},{"line_number":664,"context_line":"    def test__is_share_valid_with_quota(self, fakeout):"},{"line_number":665,"context_line":"        self._driver._gpfs_execute \u003d mock.Mock(return_value\u003d(fakeout, \u0027\u0027))"},{"line_number":666,"context_line":""},{"line_number":667,"context_line":"        result \u003d self._driver._is_share_valid(self.fakedev, self.fakesharepath)"},{"line_number":668,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"7a77a97e_f448f42f","line":665,"range":{"start_line":665,"start_character":8,"end_line":665,"end_character":74},"updated":"2016-11-15 12:27:28.000000000","message":"It is already mocked. You need to change only \"return_value\" of existing \"mock\"-object:\n\n\"\"\"\nself._driver._gpfs_execute.return_value \u003d (fakeout, \u0027\u0027)\n\"\"\"\n\nThe same in all other such occurrences.","commit_id":"42b1889ad0245e1d258d253717f4a1e7be907bc3"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"ae5cac9a2fbd84068173e261eaf8019a41c02728","unresolved":false,"context_lines":[{"line_number":662,"context_line":"    @ddt.data(\"mmlsfileset::allocInodes:\\nmmlsfileset::100096:\","},{"line_number":663,"context_line":"              \"mmlsfileset::allocInodes:\\nmmlsfileset::0:\")"},{"line_number":664,"context_line":"    def test__is_share_valid_with_quota(self, fakeout):"},{"line_number":665,"context_line":"        self._driver._gpfs_execute \u003d mock.Mock(return_value\u003d(fakeout, \u0027\u0027))"},{"line_number":666,"context_line":""},{"line_number":667,"context_line":"        result \u003d self._driver._is_share_valid(self.fakedev, self.fakesharepath)"},{"line_number":668,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"3a71b18c_2f179252","line":665,"range":{"start_line":665,"start_character":8,"end_line":665,"end_character":74},"in_reply_to":"7a77a97e_f448f42f","updated":"2016-12-01 12:02:42.000000000","message":"I think lines #44 and #50 make it look like _gpfs_execute is already mocked but it gets set to None.\nSo keeping it as is.","commit_id":"42b1889ad0245e1d258d253717f4a1e7be907bc3"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"3a7185e713ff774ec3fe8eefe3df4f6561e5c192","unresolved":false,"context_lines":[{"line_number":788,"context_line":"            mock.call(\u0027mmlinkfileset\u0027, self.fakedev, self.share[\u0027name\u0027], \u0027-J\u0027,"},{"line_number":789,"context_line":"                      self.fakesharepath)])"},{"line_number":790,"context_line":""},{"line_number":791,"context_line":"    def test__manage_existing_permison_change_exception(self):"},{"line_number":792,"context_line":"        self._driver._local_path \u003d mock.Mock(return_value\u003dself.fakesharepath)"},{"line_number":793,"context_line":"        self.mock_object(self._driver, \u0027_gpfs_execute\u0027, mock.Mock("},{"line_number":794,"context_line":"            side_effect\u003d[\u0027\u0027, \u0027\u0027, \u0027\u0027, exception.ProcessExecutionError]"}],"source_content_type":"text/x-python","patch_set":14,"id":"5a74a57a_d6edb08c","line":791,"range":{"start_line":791,"start_character":30,"end_line":791,"end_character":38},"updated":"2016-11-23 23:27:13.000000000","message":"s/permison/permission/","commit_id":"42b1889ad0245e1d258d253717f4a1e7be907bc3"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"ae5cac9a2fbd84068173e261eaf8019a41c02728","unresolved":false,"context_lines":[{"line_number":788,"context_line":"            mock.call(\u0027mmlinkfileset\u0027, self.fakedev, self.share[\u0027name\u0027], \u0027-J\u0027,"},{"line_number":789,"context_line":"                      self.fakesharepath)])"},{"line_number":790,"context_line":""},{"line_number":791,"context_line":"    def test__manage_existing_permison_change_exception(self):"},{"line_number":792,"context_line":"        self._driver._local_path \u003d mock.Mock(return_value\u003dself.fakesharepath)"},{"line_number":793,"context_line":"        self.mock_object(self._driver, \u0027_gpfs_execute\u0027, mock.Mock("},{"line_number":794,"context_line":"            side_effect\u003d[\u0027\u0027, \u0027\u0027, \u0027\u0027, exception.ProcessExecutionError]"}],"source_content_type":"text/x-python","patch_set":14,"id":"3a71b18c_3172977d","line":791,"range":{"start_line":791,"start_character":30,"end_line":791,"end_character":38},"in_reply_to":"5a74a57a_d6edb08c","updated":"2016-12-01 12:02:42.000000000","message":"Done","commit_id":"42b1889ad0245e1d258d253717f4a1e7be907bc3"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"9bd1b80b3ed05e6a37442dfff1697e8792a3766b","unresolved":false,"context_lines":[{"line_number":915,"context_line":"                          self._driver.manage_existing, share, {})"},{"line_number":916,"context_line":""},{"line_number":917,"context_line":"    @ddt.data(True, False)"},{"line_number":918,"context_line":"    def test_manage_existing_invalid_share_exception(self, value):"},{"line_number":919,"context_line":"        self._driver._get_gpfs_device \u003d mock.Mock(return_value\u003dself.fakedev)"},{"line_number":920,"context_line":"        self._driver._is_share_valid \u003d mock.Mock(return_value\u003dvalue)"},{"line_number":921,"context_line":"        if value:"}],"source_content_type":"text/x-python","patch_set":14,"id":"7a77a97e_d420584c","line":918,"range":{"start_line":918,"start_character":59,"end_line":918,"end_character":64},"updated":"2016-11-15 12:27:28.000000000","message":"Very unclear name of an argument.","commit_id":"42b1889ad0245e1d258d253717f4a1e7be907bc3"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"ae5cac9a2fbd84068173e261eaf8019a41c02728","unresolved":false,"context_lines":[{"line_number":915,"context_line":"                          self._driver.manage_existing, share, {})"},{"line_number":916,"context_line":""},{"line_number":917,"context_line":"    @ddt.data(True, False)"},{"line_number":918,"context_line":"    def test_manage_existing_invalid_share_exception(self, value):"},{"line_number":919,"context_line":"        self._driver._get_gpfs_device \u003d mock.Mock(return_value\u003dself.fakedev)"},{"line_number":920,"context_line":"        self._driver._is_share_valid \u003d mock.Mock(return_value\u003dvalue)"},{"line_number":921,"context_line":"        if value:"}],"source_content_type":"text/x-python","patch_set":14,"id":"3a71b18c_4f25aec0","line":918,"range":{"start_line":918,"start_character":59,"end_line":918,"end_character":64},"in_reply_to":"7a77a97e_d420584c","updated":"2016-12-01 12:02:42.000000000","message":"Done","commit_id":"42b1889ad0245e1d258d253717f4a1e7be907bc3"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"3a7185e713ff774ec3fe8eefe3df4f6561e5c192","unresolved":false,"context_lines":[{"line_number":918,"context_line":"    def test_manage_existing_invalid_share_exception(self, value):"},{"line_number":919,"context_line":"        self._driver._get_gpfs_device \u003d mock.Mock(return_value\u003dself.fakedev)"},{"line_number":920,"context_line":"        self._driver._is_share_valid \u003d mock.Mock(return_value\u003dvalue)"},{"line_number":921,"context_line":"        if value:"},{"line_number":922,"context_line":"            self._helper_fake._is_share_exported \u003d mock.Mock()"},{"line_number":923,"context_line":""},{"line_number":924,"context_line":"        self.assertRaises(exception.ManageInvalidShare,"},{"line_number":925,"context_line":"                          self._driver.manage_existing, self.share, {})"}],"source_content_type":"text/x-python","patch_set":14,"id":"5a74a57a_616094cf","line":922,"range":{"start_line":921,"start_character":8,"end_line":922,"end_character":62},"updated":"2016-11-23 23:27:13.000000000","message":"these 2 lines don\u0027t seem to do anything for the test","commit_id":"42b1889ad0245e1d258d253717f4a1e7be907bc3"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"ae5cac9a2fbd84068173e261eaf8019a41c02728","unresolved":false,"context_lines":[{"line_number":918,"context_line":"    def test_manage_existing_invalid_share_exception(self, value):"},{"line_number":919,"context_line":"        self._driver._get_gpfs_device \u003d mock.Mock(return_value\u003dself.fakedev)"},{"line_number":920,"context_line":"        self._driver._is_share_valid \u003d mock.Mock(return_value\u003dvalue)"},{"line_number":921,"context_line":"        if value:"},{"line_number":922,"context_line":"            self._helper_fake._is_share_exported \u003d mock.Mock()"},{"line_number":923,"context_line":""},{"line_number":924,"context_line":"        self.assertRaises(exception.ManageInvalidShare,"},{"line_number":925,"context_line":"                          self._driver.manage_existing, self.share, {})"}],"source_content_type":"text/x-python","patch_set":14,"id":"3a71b18c_6f226abb","line":922,"range":{"start_line":921,"start_character":8,"end_line":922,"end_character":62},"in_reply_to":"5a74a57a_616094cf","updated":"2016-12-01 12:02:42.000000000","message":"Done","commit_id":"42b1889ad0245e1d258d253717f4a1e7be907bc3"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"9bd1b80b3ed05e6a37442dfff1697e8792a3766b","unresolved":false,"context_lines":[{"line_number":1180,"context_line":"            self.assertFalse(result)"},{"line_number":1181,"context_line":""},{"line_number":1182,"context_line":"    @ddt.data(True, False)"},{"line_number":1183,"context_line":"    def test_ces_remove_export(self, value):"},{"line_number":1184,"context_line":"        self._ces_helper._execute \u003d mock.Mock(return_value\u003d[\u0027\u0027, None])"},{"line_number":1185,"context_line":"        self._ces_helper._is_share_exported \u003d mock.Mock(return_value\u003dvalue)"},{"line_number":1186,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"7a77a97e_743144a2","line":1183,"range":{"start_line":1183,"start_character":37,"end_line":1183,"end_character":42},"updated":"2016-11-15 12:27:28.000000000","message":"Very unclear name of an argument.","commit_id":"42b1889ad0245e1d258d253717f4a1e7be907bc3"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"ae5cac9a2fbd84068173e261eaf8019a41c02728","unresolved":false,"context_lines":[{"line_number":1180,"context_line":"            self.assertFalse(result)"},{"line_number":1181,"context_line":""},{"line_number":1182,"context_line":"    @ddt.data(True, False)"},{"line_number":1183,"context_line":"    def test_ces_remove_export(self, value):"},{"line_number":1184,"context_line":"        self._ces_helper._execute \u003d mock.Mock(return_value\u003d[\u0027\u0027, None])"},{"line_number":1185,"context_line":"        self._ces_helper._is_share_exported \u003d mock.Mock(return_value\u003dvalue)"},{"line_number":1186,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"3a71b18c_8f1d0669","line":1183,"range":{"start_line":1183,"start_character":37,"end_line":1183,"end_character":42},"in_reply_to":"7a77a97e_743144a2","updated":"2016-12-01 12:02:42.000000000","message":"Done","commit_id":"42b1889ad0245e1d258d253717f4a1e7be907bc3"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"3a7185e713ff774ec3fe8eefe3df4f6561e5c192","unresolved":false,"context_lines":[{"line_number":1185,"context_line":"        self._ces_helper._is_share_exported \u003d mock.Mock(return_value\u003dvalue)"},{"line_number":1186,"context_line":""},{"line_number":1187,"context_line":"        self._ces_helper.remove_export(self.fakesharepath, self.share)"},{"line_number":1188,"context_line":""},{"line_number":1189,"context_line":"        if value:"},{"line_number":1190,"context_line":"            self._ces_helper._execute.assert_called_once_with("},{"line_number":1191,"context_line":"                \u0027mmnfs\u0027, \u0027export\u0027, \u0027remove\u0027, self.fakesharepath)"}],"source_content_type":"text/x-python","patch_set":14,"id":"5a74a57a_e1ed848c","line":1188,"updated":"2016-11-23 23:27:13.000000000","message":"Add more validation:\n       self._ces_helper._is_share_exported.assert_called_once_with(self.fakesharepath)\nself.assertNotEqual(value, self._ces_helper._execute.assert_called)","commit_id":"42b1889ad0245e1d258d253717f4a1e7be907bc3"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"ae5cac9a2fbd84068173e261eaf8019a41c02728","unresolved":false,"context_lines":[{"line_number":1185,"context_line":"        self._ces_helper._is_share_exported \u003d mock.Mock(return_value\u003dvalue)"},{"line_number":1186,"context_line":""},{"line_number":1187,"context_line":"        self._ces_helper.remove_export(self.fakesharepath, self.share)"},{"line_number":1188,"context_line":""},{"line_number":1189,"context_line":"        if value:"},{"line_number":1190,"context_line":"            self._ces_helper._execute.assert_called_once_with("},{"line_number":1191,"context_line":"                \u0027mmnfs\u0027, \u0027export\u0027, \u0027remove\u0027, self.fakesharepath)"}],"source_content_type":"text/x-python","patch_set":14,"id":"3a71b18c_2fb072f4","line":1188,"in_reply_to":"5a74a57a_e1ed848c","updated":"2016-12-01 12:02:42.000000000","message":"Done","commit_id":"42b1889ad0245e1d258d253717f4a1e7be907bc3"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"9bd1b80b3ed05e6a37442dfff1697e8792a3766b","unresolved":false,"context_lines":[{"line_number":1199,"context_line":"                          local_path, self.share)"},{"line_number":1200,"context_line":""},{"line_number":1201,"context_line":"    @ddt.data(True, False)"},{"line_number":1202,"context_line":"    def test_ces_allow_access(self, value):"},{"line_number":1203,"context_line":"        self._ces_helper._execute \u003d mock.Mock(return_value\u003d[\u0027\u0027, None])"},{"line_number":1204,"context_line":"        export_opts \u003d \"access_type\u003drw\""},{"line_number":1205,"context_line":"        self._ces_helper._is_share_exported \u003d mock.Mock(return_value\u003dvalue)"}],"source_content_type":"text/x-python","patch_set":14,"id":"7a77a97e_542c484a","line":1202,"range":{"start_line":1202,"start_character":36,"end_line":1202,"end_character":41},"updated":"2016-11-15 12:27:28.000000000","message":"Very unclear name of an argument.","commit_id":"42b1889ad0245e1d258d253717f4a1e7be907bc3"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"ae5cac9a2fbd84068173e261eaf8019a41c02728","unresolved":false,"context_lines":[{"line_number":1199,"context_line":"                          local_path, self.share)"},{"line_number":1200,"context_line":""},{"line_number":1201,"context_line":"    @ddt.data(True, False)"},{"line_number":1202,"context_line":"    def test_ces_allow_access(self, value):"},{"line_number":1203,"context_line":"        self._ces_helper._execute \u003d mock.Mock(return_value\u003d[\u0027\u0027, None])"},{"line_number":1204,"context_line":"        export_opts \u003d \"access_type\u003drw\""},{"line_number":1205,"context_line":"        self._ces_helper._is_share_exported \u003d mock.Mock(return_value\u003dvalue)"}],"source_content_type":"text/x-python","patch_set":14,"id":"3a71b18c_14ed898b","line":1202,"range":{"start_line":1202,"start_character":36,"end_line":1202,"end_character":41},"in_reply_to":"7a77a97e_542c484a","updated":"2016-12-01 12:02:42.000000000","message":"Done","commit_id":"42b1889ad0245e1d258d253717f4a1e7be907bc3"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"9bd1b80b3ed05e6a37442dfff1697e8792a3766b","unresolved":false,"context_lines":[{"line_number":1235,"context_line":"                          self.share, access)"},{"line_number":1236,"context_line":""},{"line_number":1237,"context_line":"    @ddt.data(True, False)"},{"line_number":1238,"context_line":"    def test_ces_deny_access(self, value):"},{"line_number":1239,"context_line":"        self._ces_helper._execute \u003d mock.Mock(return_value\u003d[\u0027\u0027, None])"},{"line_number":1240,"context_line":"        self._ces_helper._is_share_exported \u003d mock.Mock(return_value\u003dvalue)"},{"line_number":1241,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"7a77a97e_140490be","line":1238,"range":{"start_line":1238,"start_character":35,"end_line":1238,"end_character":40},"updated":"2016-11-15 12:27:28.000000000","message":"Very unclear name of an argument.","commit_id":"42b1889ad0245e1d258d253717f4a1e7be907bc3"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"ae5cac9a2fbd84068173e261eaf8019a41c02728","unresolved":false,"context_lines":[{"line_number":1235,"context_line":"                          self.share, access)"},{"line_number":1236,"context_line":""},{"line_number":1237,"context_line":"    @ddt.data(True, False)"},{"line_number":1238,"context_line":"    def test_ces_deny_access(self, value):"},{"line_number":1239,"context_line":"        self._ces_helper._execute \u003d mock.Mock(return_value\u003d[\u0027\u0027, None])"},{"line_number":1240,"context_line":"        self._ces_helper._is_share_exported \u003d mock.Mock(return_value\u003dvalue)"},{"line_number":1241,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"3a71b18c_74779d02","line":1238,"range":{"start_line":1238,"start_character":35,"end_line":1238,"end_character":40},"in_reply_to":"7a77a97e_140490be","updated":"2016-12-01 12:02:42.000000000","message":"Done","commit_id":"42b1889ad0245e1d258d253717f4a1e7be907bc3"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"3a7185e713ff774ec3fe8eefe3df4f6561e5c192","unresolved":false,"context_lines":[{"line_number":1242,"context_line":"        self._ces_helper.deny_access(self.fakesharepath, self.share,"},{"line_number":1243,"context_line":"                                     self.access)"},{"line_number":1244,"context_line":""},{"line_number":1245,"context_line":"        if value:"},{"line_number":1246,"context_line":"            self._ces_helper._execute.assert_called_once_with("},{"line_number":1247,"context_line":"                \u0027mmnfs\u0027, \u0027export\u0027, \u0027change\u0027, self.fakesharepath, \u0027--nfsremove\u0027,"},{"line_number":1248,"context_line":"                self.access[\u0027access_to\u0027])"}],"source_content_type":"text/x-python","patch_set":14,"id":"5a74a57a_21d93cf4","line":1245,"updated":"2016-11-23 23:27:13.000000000","message":"same here.  There is no validation when value is False and no validation that is_share_exported was called.","commit_id":"42b1889ad0245e1d258d253717f4a1e7be907bc3"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"ae5cac9a2fbd84068173e261eaf8019a41c02728","unresolved":false,"context_lines":[{"line_number":1242,"context_line":"        self._ces_helper.deny_access(self.fakesharepath, self.share,"},{"line_number":1243,"context_line":"                                     self.access)"},{"line_number":1244,"context_line":""},{"line_number":1245,"context_line":"        if value:"},{"line_number":1246,"context_line":"            self._ces_helper._execute.assert_called_once_with("},{"line_number":1247,"context_line":"                \u0027mmnfs\u0027, \u0027export\u0027, \u0027change\u0027, self.fakesharepath, \u0027--nfsremove\u0027,"},{"line_number":1248,"context_line":"                self.access[\u0027access_to\u0027])"}],"source_content_type":"text/x-python","patch_set":14,"id":"3a71b18c_712fafa1","line":1245,"in_reply_to":"5a74a57a_21d93cf4","updated":"2016-12-01 12:02:42.000000000","message":"Done","commit_id":"42b1889ad0245e1d258d253717f4a1e7be907bc3"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7a6a13a2a50b0ac3fb41a197b1f0f4403df25f60","unresolved":false,"context_lines":[{"line_number":676,"context_line":"    def test__is_share_valid_exception(self):"},{"line_number":677,"context_line":"        self._driver._gpfs_execute \u003d mock.Mock("},{"line_number":678,"context_line":"            side_effect\u003dexception.ProcessExecutionError"},{"line_number":679,"context_line":"        )"},{"line_number":680,"context_line":""},{"line_number":681,"context_line":"        self.assertRaises(exception.ManageInvalidShare,"},{"line_number":682,"context_line":"                          self._driver._is_share_valid, self.fakedev,"}],"source_content_type":"text/x-python","patch_set":16,"id":"3a71b18c_f2d7fdea","line":679,"range":{"start_line":679,"start_character":8,"end_line":679,"end_character":9},"updated":"2016-12-02 11:26:40.000000000","message":"take to previous line","commit_id":"b8d8127ee3649b8be48b93cfff182e3b64deaf03"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"9a804ecf7f42bb6200dbe8fbfe3357e71e05f5d2","unresolved":false,"context_lines":[{"line_number":676,"context_line":"    def test__is_share_valid_exception(self):"},{"line_number":677,"context_line":"        self._driver._gpfs_execute \u003d mock.Mock("},{"line_number":678,"context_line":"            side_effect\u003dexception.ProcessExecutionError"},{"line_number":679,"context_line":"        )"},{"line_number":680,"context_line":""},{"line_number":681,"context_line":"        self.assertRaises(exception.ManageInvalidShare,"},{"line_number":682,"context_line":"                          self._driver._is_share_valid, self.fakedev,"}],"source_content_type":"text/x-python","patch_set":16,"id":"3a71b18c_3d5f2f42","line":679,"range":{"start_line":679,"start_character":8,"end_line":679,"end_character":9},"in_reply_to":"3a71b18c_f2d7fdea","updated":"2016-12-13 19:42:49.000000000","message":"Done","commit_id":"b8d8127ee3649b8be48b93cfff182e3b64deaf03"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7a6a13a2a50b0ac3fb41a197b1f0f4403df25f60","unresolved":false,"context_lines":[{"line_number":743,"context_line":"        self._driver._local_path \u003d mock.Mock(return_value\u003dself.fakesharepath)"},{"line_number":744,"context_line":"        self._driver._gpfs_execute \u003d mock.Mock("},{"line_number":745,"context_line":"            side_effect\u003dexception.ProcessExecutionError"},{"line_number":746,"context_line":"        )"},{"line_number":747,"context_line":""},{"line_number":748,"context_line":"        self.assertRaises(exception.GPFSException,"},{"line_number":749,"context_line":"                          self._driver._manage_existing, self.fakedev,"}],"source_content_type":"text/x-python","patch_set":16,"id":"3a71b18c_52ffd166","line":746,"range":{"start_line":746,"start_character":7,"end_line":746,"end_character":9},"updated":"2016-12-02 11:26:40.000000000","message":"same","commit_id":"b8d8127ee3649b8be48b93cfff182e3b64deaf03"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"9a804ecf7f42bb6200dbe8fbfe3357e71e05f5d2","unresolved":false,"context_lines":[{"line_number":743,"context_line":"        self._driver._local_path \u003d mock.Mock(return_value\u003dself.fakesharepath)"},{"line_number":744,"context_line":"        self._driver._gpfs_execute \u003d mock.Mock("},{"line_number":745,"context_line":"            side_effect\u003dexception.ProcessExecutionError"},{"line_number":746,"context_line":"        )"},{"line_number":747,"context_line":""},{"line_number":748,"context_line":"        self.assertRaises(exception.GPFSException,"},{"line_number":749,"context_line":"                          self._driver._manage_existing, self.fakedev,"}],"source_content_type":"text/x-python","patch_set":16,"id":"3a71b18c_7d55271c","line":746,"range":{"start_line":746,"start_character":7,"end_line":746,"end_character":9},"in_reply_to":"3a71b18c_52ffd166","updated":"2016-12-13 19:42:49.000000000","message":"Done","commit_id":"b8d8127ee3649b8be48b93cfff182e3b64deaf03"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7a6a13a2a50b0ac3fb41a197b1f0f4403df25f60","unresolved":false,"context_lines":[{"line_number":758,"context_line":"        self._driver._local_path \u003d mock.Mock(return_value\u003dself.fakesharepath)"},{"line_number":759,"context_line":"        self.mock_object(self._driver, \u0027_gpfs_execute\u0027, mock.Mock("},{"line_number":760,"context_line":"            side_effect\u003d[\u0027\u0027, exception.ProcessExecutionError]"},{"line_number":761,"context_line":"        ))"},{"line_number":762,"context_line":""},{"line_number":763,"context_line":"        self.assertRaises(exception.GPFSException,"},{"line_number":764,"context_line":"                          self._driver._manage_existing, self.fakedev,"}],"source_content_type":"text/x-python","patch_set":16,"id":"3a71b18c_322fb5f7","line":761,"range":{"start_line":761,"start_character":8,"end_line":761,"end_character":10},"updated":"2016-12-02 11:26:40.000000000","message":"same","commit_id":"b8d8127ee3649b8be48b93cfff182e3b64deaf03"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"9a804ecf7f42bb6200dbe8fbfe3357e71e05f5d2","unresolved":false,"context_lines":[{"line_number":758,"context_line":"        self._driver._local_path \u003d mock.Mock(return_value\u003dself.fakesharepath)"},{"line_number":759,"context_line":"        self.mock_object(self._driver, \u0027_gpfs_execute\u0027, mock.Mock("},{"line_number":760,"context_line":"            side_effect\u003d[\u0027\u0027, exception.ProcessExecutionError]"},{"line_number":761,"context_line":"        ))"},{"line_number":762,"context_line":""},{"line_number":763,"context_line":"        self.assertRaises(exception.GPFSException,"},{"line_number":764,"context_line":"                          self._driver._manage_existing, self.fakedev,"}],"source_content_type":"text/x-python","patch_set":16,"id":"3a71b18c_9d520334","line":761,"range":{"start_line":761,"start_character":8,"end_line":761,"end_character":10},"in_reply_to":"3a71b18c_322fb5f7","updated":"2016-12-13 19:42:49.000000000","message":"Done","commit_id":"b8d8127ee3649b8be48b93cfff182e3b64deaf03"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7a6a13a2a50b0ac3fb41a197b1f0f4403df25f60","unresolved":false,"context_lines":[{"line_number":775,"context_line":"        self._driver._local_path \u003d mock.Mock(return_value\u003dself.fakesharepath)"},{"line_number":776,"context_line":"        self.mock_object(self._driver, \u0027_gpfs_execute\u0027, mock.Mock("},{"line_number":777,"context_line":"            side_effect\u003d[\u0027\u0027, \u0027\u0027, exception.ProcessExecutionError]"},{"line_number":778,"context_line":"        ))"},{"line_number":779,"context_line":""},{"line_number":780,"context_line":"        self.assertRaises(exception.GPFSException,"},{"line_number":781,"context_line":"                          self._driver._manage_existing, self.fakedev,"}],"source_content_type":"text/x-python","patch_set":16,"id":"3a71b18c_924089a7","line":778,"range":{"start_line":778,"start_character":7,"end_line":778,"end_character":10},"updated":"2016-12-02 11:26:40.000000000","message":"same","commit_id":"b8d8127ee3649b8be48b93cfff182e3b64deaf03"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"9a804ecf7f42bb6200dbe8fbfe3357e71e05f5d2","unresolved":false,"context_lines":[{"line_number":775,"context_line":"        self._driver._local_path \u003d mock.Mock(return_value\u003dself.fakesharepath)"},{"line_number":776,"context_line":"        self.mock_object(self._driver, \u0027_gpfs_execute\u0027, mock.Mock("},{"line_number":777,"context_line":"            side_effect\u003d[\u0027\u0027, \u0027\u0027, exception.ProcessExecutionError]"},{"line_number":778,"context_line":"        ))"},{"line_number":779,"context_line":""},{"line_number":780,"context_line":"        self.assertRaises(exception.GPFSException,"},{"line_number":781,"context_line":"                          self._driver._manage_existing, self.fakedev,"}],"source_content_type":"text/x-python","patch_set":16,"id":"3a71b18c_bd317f0d","line":778,"range":{"start_line":778,"start_character":7,"end_line":778,"end_character":10},"in_reply_to":"3a71b18c_924089a7","updated":"2016-12-13 19:42:49.000000000","message":"Done","commit_id":"b8d8127ee3649b8be48b93cfff182e3b64deaf03"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7a6a13a2a50b0ac3fb41a197b1f0f4403df25f60","unresolved":false,"context_lines":[{"line_number":794,"context_line":"        self._driver._local_path \u003d mock.Mock(return_value\u003dself.fakesharepath)"},{"line_number":795,"context_line":"        self.mock_object(self._driver, \u0027_gpfs_execute\u0027, mock.Mock("},{"line_number":796,"context_line":"            side_effect\u003d[\u0027\u0027, \u0027\u0027, \u0027\u0027, exception.ProcessExecutionError]"},{"line_number":797,"context_line":"        ))"},{"line_number":798,"context_line":""},{"line_number":799,"context_line":"        self.assertRaises(exception.GPFSException,"},{"line_number":800,"context_line":"                          self._driver._manage_existing, self.fakedev,"}],"source_content_type":"text/x-python","patch_set":16,"id":"3a71b18c_f2453db3","line":797,"range":{"start_line":797,"start_character":8,"end_line":797,"end_character":10},"updated":"2016-12-02 11:26:40.000000000","message":"same","commit_id":"b8d8127ee3649b8be48b93cfff182e3b64deaf03"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"9a804ecf7f42bb6200dbe8fbfe3357e71e05f5d2","unresolved":false,"context_lines":[{"line_number":794,"context_line":"        self._driver._local_path \u003d mock.Mock(return_value\u003dself.fakesharepath)"},{"line_number":795,"context_line":"        self.mock_object(self._driver, \u0027_gpfs_execute\u0027, mock.Mock("},{"line_number":796,"context_line":"            side_effect\u003d[\u0027\u0027, \u0027\u0027, \u0027\u0027, exception.ProcessExecutionError]"},{"line_number":797,"context_line":"        ))"},{"line_number":798,"context_line":""},{"line_number":799,"context_line":"        self.assertRaises(exception.GPFSException,"},{"line_number":800,"context_line":"                          self._driver._manage_existing, self.fakedev,"}],"source_content_type":"text/x-python","patch_set":16,"id":"3a71b18c_1d3d13dd","line":797,"range":{"start_line":797,"start_character":8,"end_line":797,"end_character":10},"in_reply_to":"3a71b18c_f2453db3","updated":"2016-12-13 19:42:49.000000000","message":"Done","commit_id":"b8d8127ee3649b8be48b93cfff182e3b64deaf03"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7a6a13a2a50b0ac3fb41a197b1f0f4403df25f60","unresolved":false,"context_lines":[{"line_number":814,"context_line":"        self._driver._local_path \u003d mock.Mock(return_value\u003dself.fakesharepath)"},{"line_number":815,"context_line":"        self.mock_object(self._driver, \u0027_gpfs_execute\u0027, mock.Mock("},{"line_number":816,"context_line":"            side_effect\u003d[\u0027\u0027, \u0027\u0027, \u0027\u0027, \u0027\u0027, exception.ProcessExecutionError]"},{"line_number":817,"context_line":"        ))"},{"line_number":818,"context_line":""},{"line_number":819,"context_line":"        self.assertRaises(exception.GPFSException,"},{"line_number":820,"context_line":"                          self._driver._manage_existing, self.fakedev,"}],"source_content_type":"text/x-python","patch_set":16,"id":"3a71b18c_520d118f","line":817,"range":{"start_line":817,"start_character":9,"end_line":817,"end_character":10},"updated":"2016-12-02 11:26:40.000000000","message":"same","commit_id":"b8d8127ee3649b8be48b93cfff182e3b64deaf03"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"9a804ecf7f42bb6200dbe8fbfe3357e71e05f5d2","unresolved":false,"context_lines":[{"line_number":814,"context_line":"        self._driver._local_path \u003d mock.Mock(return_value\u003dself.fakesharepath)"},{"line_number":815,"context_line":"        self.mock_object(self._driver, \u0027_gpfs_execute\u0027, mock.Mock("},{"line_number":816,"context_line":"            side_effect\u003d[\u0027\u0027, \u0027\u0027, \u0027\u0027, \u0027\u0027, exception.ProcessExecutionError]"},{"line_number":817,"context_line":"        ))"},{"line_number":818,"context_line":""},{"line_number":819,"context_line":"        self.assertRaises(exception.GPFSException,"},{"line_number":820,"context_line":"                          self._driver._manage_existing, self.fakedev,"}],"source_content_type":"text/x-python","patch_set":16,"id":"3a71b18c_9d29239e","line":817,"range":{"start_line":817,"start_character":9,"end_line":817,"end_character":10},"in_reply_to":"3a71b18c_520d118f","updated":"2016-12-13 19:42:49.000000000","message":"Done","commit_id":"b8d8127ee3649b8be48b93cfff182e3b64deaf03"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7a6a13a2a50b0ac3fb41a197b1f0f4403df25f60","unresolved":false,"context_lines":[{"line_number":867,"context_line":"        self.mock_object(self._driver, \u0027_gpfs_execute\u0027, mock.Mock("},{"line_number":868,"context_line":"            side_effect\u003d[\u0027\u0027, \u0027\u0027, \u0027\u0027, \u0027\u0027, mock_out,"},{"line_number":869,"context_line":"                         exception.ProcessExecutionError]"},{"line_number":870,"context_line":"        ))"},{"line_number":871,"context_line":""},{"line_number":872,"context_line":"        self.assertRaises(exception.GPFSException,"},{"line_number":873,"context_line":"                          self._driver._manage_existing, self.fakedev,"}],"source_content_type":"text/x-python","patch_set":16,"id":"3a71b18c_72104da9","line":870,"range":{"start_line":870,"start_character":8,"end_line":870,"end_character":10},"updated":"2016-12-02 11:26:40.000000000","message":"same","commit_id":"b8d8127ee3649b8be48b93cfff182e3b64deaf03"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"9a804ecf7f42bb6200dbe8fbfe3357e71e05f5d2","unresolved":false,"context_lines":[{"line_number":867,"context_line":"        self.mock_object(self._driver, \u0027_gpfs_execute\u0027, mock.Mock("},{"line_number":868,"context_line":"            side_effect\u003d[\u0027\u0027, \u0027\u0027, \u0027\u0027, \u0027\u0027, mock_out,"},{"line_number":869,"context_line":"                         exception.ProcessExecutionError]"},{"line_number":870,"context_line":"        ))"},{"line_number":871,"context_line":""},{"line_number":872,"context_line":"        self.assertRaises(exception.GPFSException,"},{"line_number":873,"context_line":"                          self._driver._manage_existing, self.fakedev,"}],"source_content_type":"text/x-python","patch_set":16,"id":"3a71b18c_dd1d5b74","line":870,"range":{"start_line":870,"start_character":8,"end_line":870,"end_character":10},"in_reply_to":"3a71b18c_72104da9","updated":"2016-12-13 19:42:49.000000000","message":"Done","commit_id":"b8d8127ee3649b8be48b93cfff182e3b64deaf03"}],"releasenotes/notes/ibm-gpfs-manage-support-c110120c350728e3.yaml":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"bd6b3edae1f5fae249e7b0fb457d6c3b37d9edd8","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"prelude: \u003e"},{"line_number":3,"context_line":"    Adding manila manage/unmanage functionality support"},{"line_number":4,"context_line":"    for GPFS driver."},{"line_number":5,"context_line":"features:"},{"line_number":6,"context_line":"  - Added manila manage/unmanage feature support for"},{"line_number":7,"context_line":"    GPFS driver."}],"source_content_type":"text/x-yaml","patch_set":18,"id":"1a6eadb0_7a939f4f","line":4,"range":{"start_line":2,"start_character":9,"end_line":4,"end_character":20},"updated":"2016-12-14 15:10:53.000000000","message":"prelude is for release themes. Suggest dropping this section from this change.","commit_id":"e85326ac653595c1d8eae9fbb74e9e3ddcecfe6a"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"bdf834c20d906d2658c5c5592cc366cd8ab0592b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"prelude: \u003e"},{"line_number":3,"context_line":"    Adding manila manage/unmanage functionality support"},{"line_number":4,"context_line":"    for GPFS driver."},{"line_number":5,"context_line":"features:"},{"line_number":6,"context_line":"  - Added manila manage/unmanage feature support for"},{"line_number":7,"context_line":"    GPFS driver."}],"source_content_type":"text/x-yaml","patch_set":18,"id":"1a6eadb0_21f8fbc2","line":4,"range":{"start_line":2,"start_character":9,"end_line":4,"end_character":20},"in_reply_to":"1a6eadb0_7a939f4f","updated":"2016-12-21 13:45:05.000000000","message":"Done","commit_id":"e85326ac653595c1d8eae9fbb74e9e3ddcecfe6a"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"bd6b3edae1f5fae249e7b0fb457d6c3b37d9edd8","unresolved":false,"context_lines":[{"line_number":8,"context_line":"    The existing fileset should be an independent fileset"},{"line_number":9,"context_line":"    and should not have any NFS export over the fileset"},{"line_number":10,"context_line":"    path. With this prerequisite existing GPFS filesets"},{"line_number":11,"context_line":"    could be brought under Manila management."}],"source_content_type":"text/x-yaml","patch_set":18,"id":"1a6eadb0_fa9faf4d","line":11,"range":{"start_line":11,"start_character":4,"end_line":11,"end_character":9},"updated":"2016-12-14 15:10:53.000000000","message":"can","commit_id":"e85326ac653595c1d8eae9fbb74e9e3ddcecfe6a"},{"author":{"_account_id":19904,"name":"Digvijay Ukirde","email":"digvijay.ukirde@in.ibm.com","username":"digvijay2016"},"change_message_id":"bdf834c20d906d2658c5c5592cc366cd8ab0592b","unresolved":false,"context_lines":[{"line_number":8,"context_line":"    The existing fileset should be an independent fileset"},{"line_number":9,"context_line":"    and should not have any NFS export over the fileset"},{"line_number":10,"context_line":"    path. With this prerequisite existing GPFS filesets"},{"line_number":11,"context_line":"    could be brought under Manila management."}],"source_content_type":"text/x-yaml","patch_set":18,"id":"1a6eadb0_410177ae","line":11,"range":{"start_line":11,"start_character":4,"end_line":11,"end_character":9},"in_reply_to":"1a6eadb0_fa9faf4d","updated":"2016-12-21 13:45:05.000000000","message":"Done","commit_id":"e85326ac653595c1d8eae9fbb74e9e3ddcecfe6a"}]}
