)]}'
{"manila/share/drivers/hitachi/hnas/ssh.py":[{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"96621107d54ab6bdb47324301a6dff7fede7213e","unresolved":false,"context_lines":[{"line_number":174,"context_line":"                    self._update_cifs_rule(name, user, permission)"},{"line_number":175,"context_line":"            else:"},{"line_number":176,"context_line":"                msg \u003d six.text_type(e)"},{"line_number":177,"context_line":"                LOG.exception(msg)"},{"line_number":178,"context_line":"                raise exception.InvalidShareAccess(reason\u003dmsg)"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"    def _update_cifs_rule(self, name, user, permission):"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a461143_53002f66","line":177,"range":{"start_line":177,"start_character":16,"end_line":177,"end_character":34},"updated":"2017-01-31 23:18:11.000000000","message":"notice your msg/six/LOG/raise pattern here is different than the new pattern below (no LOG).","commit_id":"5f5192984ba922a3efc875d714d92ef1c12292ee"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"06a6c318d4c34fa7aa88b0372b0be4e19653e755","unresolved":false,"context_lines":[{"line_number":174,"context_line":"                    self._update_cifs_rule(name, user, permission)"},{"line_number":175,"context_line":"            else:"},{"line_number":176,"context_line":"                msg \u003d six.text_type(e)"},{"line_number":177,"context_line":"                LOG.exception(msg)"},{"line_number":178,"context_line":"                raise exception.InvalidShareAccess(reason\u003dmsg)"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"    def _update_cifs_rule(self, name, user, permission):"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a461143_6ae60245","line":177,"range":{"start_line":177,"start_character":16,"end_line":177,"end_character":34},"in_reply_to":"3a461143_53002f66","updated":"2017-02-01 10:19:18.000000000","message":"The pattern is going to be fixed in another patch Mark. I am working on it. But below is missing a LOG.exception, that is very good point.","commit_id":"5f5192984ba922a3efc875d714d92ef1c12292ee"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"06a6c318d4c34fa7aa88b0372b0be4e19653e755","unresolved":false,"context_lines":[{"line_number":187,"context_line":"        try:"},{"line_number":188,"context_line":"            self._execute(command)"},{"line_number":189,"context_line":"        except processutils.ProcessExecutionError as e:"},{"line_number":190,"context_line":"            msg \u003d six.text_type(e)"},{"line_number":191,"context_line":"            raise exception.HNASBackendException(msg\u003dmsg)"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"    def cifs_deny_access(self, name, user, is_snapshot\u003dFalse):"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a461143_aa60eaa5","line":190,"range":{"start_line":190,"start_character":12,"end_line":190,"end_character":34},"updated":"2017-02-01 10:19:18.000000000","message":"msg \u003d _(\"Could not update CIFS rule access for user %s.\") % user\nLOG.exception(msg)","commit_id":"5f5192984ba922a3efc875d714d92ef1c12292ee"},{"author":{"_account_id":14907,"name":"Alyson","email":"alyson.rodrigues.rosa@gmail.com","username":"Alyson"},"change_message_id":"89ee7b2a3c4486e6308f64646f94a19180e839a2","unresolved":false,"context_lines":[{"line_number":187,"context_line":"        try:"},{"line_number":188,"context_line":"            self._execute(command)"},{"line_number":189,"context_line":"        except processutils.ProcessExecutionError as e:"},{"line_number":190,"context_line":"            msg \u003d six.text_type(e)"},{"line_number":191,"context_line":"            raise exception.HNASBackendException(msg\u003dmsg)"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"    def cifs_deny_access(self, name, user, is_snapshot\u003dFalse):"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a461143_20289999","line":190,"range":{"start_line":190,"start_character":12,"end_line":190,"end_character":34},"in_reply_to":"3a461143_aa60eaa5","updated":"2017-02-01 11:35:03.000000000","message":"Done","commit_id":"5f5192984ba922a3efc875d714d92ef1c12292ee"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"dba826fe673892dd92470d24265c46e14d22753f","unresolved":false,"context_lines":[{"line_number":167,"context_line":"        except processutils.ProcessExecutionError as e:"},{"line_number":168,"context_line":"            if \u0027already listed as a user\u0027 in e.stderr:"},{"line_number":169,"context_line":"                if is_snapshot:"},{"line_number":170,"context_line":"                    LOG.debug(\u0027User %(user)s already allowed to access \u0027"},{"line_number":171,"context_line":"                              \u0027snapshot %(snapshot)s.\u0027,"},{"line_number":172,"context_line":"                              {\u0027user\u0027: user, \u0027snapshot\u0027: name})"},{"line_number":173,"context_line":"                else:"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a461143_3eafbc7e","line":170,"range":{"start_line":170,"start_character":61,"end_line":170,"end_character":70},"updated":"2017-02-02 13:15:42.000000000","message":"nit: access to","commit_id":"f1a6b1ca7a9aedbaa921dc0f3f76fa404338150e"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"dba826fe673892dd92470d24265c46e14d22753f","unresolved":false,"context_lines":[{"line_number":178,"context_line":"                raise exception.InvalidShareAccess(reason\u003dmsg)"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"    def _update_cifs_rule(self, name, user, permission):"},{"line_number":181,"context_line":"        LOG.debug(\u0027User %(user)s already allowed to access \u0027"},{"line_number":182,"context_line":"                  \u0027share %(share)s. Updating access level...\u0027,"},{"line_number":183,"context_line":"                  {\u0027user\u0027: user, \u0027share\u0027: name})"},{"line_number":184,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"3a461143_bec3ac37","line":181,"range":{"start_line":181,"start_character":49,"end_line":181,"end_character":58},"updated":"2017-02-02 13:15:42.000000000","message":"nit: access to","commit_id":"f1a6b1ca7a9aedbaa921dc0f3f76fa404338150e"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"3b6c556d3f0a9f0b80a2e6978d3d2bb41b6269c5","unresolved":false,"context_lines":[{"line_number":188,"context_line":"            self._execute(command)"},{"line_number":189,"context_line":"        except processutils.ProcessExecutionError:"},{"line_number":190,"context_line":"            msg \u003d _(\"Could not update CIFS rule access for user %s.\") % user"},{"line_number":191,"context_line":"            LOG.exception(msg)"},{"line_number":192,"context_line":"            raise exception.HNASBackendException(msg\u003dmsg)"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"    def cifs_deny_access(self, name, user, is_snapshot\u003dFalse):"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a461143_c12b4693","line":191,"updated":"2017-02-01 19:35:48.000000000","message":"note you won\u0027t get the actual error w/o debug logging","commit_id":"f1a6b1ca7a9aedbaa921dc0f3f76fa404338150e"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"4353d60ee3b0d77f5c8667a3bd7a5d9c6d3379da","unresolved":false,"context_lines":[{"line_number":188,"context_line":"            self._execute(command)"},{"line_number":189,"context_line":"        except processutils.ProcessExecutionError:"},{"line_number":190,"context_line":"            msg \u003d _(\"Could not update CIFS rule access for user %s.\") % user"},{"line_number":191,"context_line":"            LOG.exception(msg)"},{"line_number":192,"context_line":"            raise exception.HNASBackendException(msg\u003dmsg)"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"    def cifs_deny_access(self, name, user, is_snapshot\u003dFalse):"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a461143_d0acd58e","line":191,"in_reply_to":"3a461143_c12b4693","updated":"2017-02-02 12:01:33.000000000","message":"Actually, the LOG.exception for ProcessExecutionError logs a lot of stuff, it is almost redundant to LN 548. Here\u0027s an example:\n\n2017-02-02 11:04:56.933 10749 ERROR manila.share.drivers.hitachi.hnas.ssh [req-74d7b88c-dcc2-49ab-8276-7c9926888240 - - - - -] Could not check if path /snapshots/895e482f-3624-47e6-ba59-d4a273e925f8/02972058-2216-48ac-a307-50335c74107a exists.\n2017-02-02 11:04:56.933 10749 ERROR manila.share.drivers.hitachi.hnas.ssh Traceback (most recent call last):\n2017-02-02 11:04:56.933 10749 ERROR manila.share.drivers.hitachi.hnas.ssh   File \"/opt/stack/new/manila/manila/share/drivers/hitachi/hnas/ssh.py\", line 331, in check_snapshot\n2017-02-02 11:04:56.933 10749 ERROR manila.share.drivers.hitachi.hnas.ssh     self._execute(command)\n2017-02-02 11:04:56.933 10749 ERROR manila.share.drivers.hitachi.hnas.ssh   File \"/opt/stack/new/manila/manila/utils.py\", line 459, in _wrapper\n2017-02-02 11:04:56.933 10749 ERROR manila.share.drivers.hitachi.hnas.ssh     return r.call(f, *args, **kwargs)\n2017-02-02 11:04:56.933 10749 ERROR manila.share.drivers.hitachi.hnas.ssh   File \"/usr/local/lib/python2.7/dist-packages/retrying.py\", line 206, in call\n2017-02-02 11:04:56.933 10749 ERROR manila.share.drivers.hitachi.hnas.ssh     return attempt.get(self._wrap_exception)\n2017-02-02 11:04:56.933 10749 ERROR manila.share.drivers.hitachi.hnas.ssh   File \"/usr/local/lib/python2.7/dist-packages/retrying.py\", line 247, in get\n2017-02-02 11:04:56.933 10749 ERROR manila.share.drivers.hitachi.hnas.ssh     six.reraise(self.value[0], self.value[1], self.value[2])\n2017-02-02 11:04:56.933 10749 ERROR manila.share.drivers.hitachi.hnas.ssh   File \"/usr/local/lib/python2.7/dist-packages/retrying.py\", line 200, in call\n2017-02-02 11:04:56.933 10749 ERROR manila.share.drivers.hitachi.hnas.ssh     attempt \u003d Attempt(fn(*args, **kwargs), attempt_number, False)\n2017-02-02 11:04:56.933 10749 ERROR manila.share.drivers.hitachi.hnas.ssh   File \"/opt/stack/new/manila/manila/share/drivers/hitachi/hnas/ssh.py\", line 575, in _execute\n2017-02-02 11:04:56.933 10749 ERROR manila.share.drivers.hitachi.hnas.ssh     check_exit_code\u003dTrue)\n2017-02-02 11:04:56.933 10749 ERROR manila.share.drivers.hitachi.hnas.ssh   File \"/usr/local/lib/python2.7/dist-packages/oslo_concurrency/processutils.py\", line 524, in ssh_execute\n2017-02-02 11:04:56.933 10749 ERROR manila.share.drivers.hitachi.hnas.ssh     cmd\u003dsanitized_cmd)\n2017-02-02 11:04:56.933 10749 ERROR manila.share.drivers.hitachi.hnas.ssh ProcessExecutionError: Unexpected error while running command.\n2017-02-02 11:04:56.933 10749 ERROR manila.share.drivers.hitachi.hnas.ssh Command: ssc 127.0.0.1 console-context --evs 15 path-to-object-number -f FS-ManilaCI2 /snapshots/895e482f-3624-47e6-ba59-d4a273e925f8/02972058-2216-48ac-a307-50335c74107a\n2017-02-02 11:04:56.933 10749 ERROR manila.share.drivers.hitachi.hnas.ssh Exit code: 1\n2017-02-02 11:04:56.933 10749 ERROR manila.share.drivers.hitachi.hnas.ssh Stdout: u\u0027Unable to run path-to-object-number as path-to-object-number is currently running on volume 39\\n\u0027\n2017-02-02 11:04:56.933 10749 ERROR manila.share.drivers.hitachi.hnas.ssh Stderr: u\u0027\u0027\n2017-02-02 11:04:56.933 10749 ERROR manila.share.drivers.hitachi.hnas.ssh","commit_id":"f1a6b1ca7a9aedbaa921dc0f3f76fa404338150e"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"3b6c556d3f0a9f0b80a2e6978d3d2bb41b6269c5","unresolved":false,"context_lines":[{"line_number":551,"context_line":"                                                             \u0027err\u0027: e.stderr,"},{"line_number":552,"context_line":"                                                             \u0027exit\u0027:"},{"line_number":553,"context_line":"                                                             e.exit_code})"},{"line_number":554,"context_line":"                    LOG.error(_LE(\"Error running SSH command.\"))"},{"line_number":555,"context_line":"                    raise"},{"line_number":556,"context_line":""},{"line_number":557,"context_line":"    @mutils.synchronized(\"hitachi_hnas_select_fs\", external\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a461143_21116a5e","line":554,"updated":"2017-02-01 19:35:48.000000000","message":"see this generic error is logged, but the details are only in debug","commit_id":"f1a6b1ca7a9aedbaa921dc0f3f76fa404338150e"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"4353d60ee3b0d77f5c8667a3bd7a5d9c6d3379da","unresolved":false,"context_lines":[{"line_number":551,"context_line":"                                                             \u0027err\u0027: e.stderr,"},{"line_number":552,"context_line":"                                                             \u0027exit\u0027:"},{"line_number":553,"context_line":"                                                             e.exit_code})"},{"line_number":554,"context_line":"                    LOG.error(_LE(\"Error running SSH command.\"))"},{"line_number":555,"context_line":"                    raise"},{"line_number":556,"context_line":""},{"line_number":557,"context_line":"    @mutils.synchronized(\"hitachi_hnas_select_fs\", external\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a461143_d075b532","line":554,"in_reply_to":"3a461143_21116a5e","updated":"2017-02-02 12:01:33.000000000","message":"Mark, this is being fixed in the other patch.","commit_id":"f1a6b1ca7a9aedbaa921dc0f3f76fa404338150e"}],"releasenotes/notes/fix_access_level_managed_shares_hnas-c76a09beed365b46.yaml":[{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"a04024ba41d03cd111cd6ee00d461d362fbcde6a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - Fixed access rules that were created previously in backend not being"},{"line_number":4,"context_line":"    updated when added through manila."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3a461143_26070083","line":3,"range":{"start_line":3,"start_character":10,"end_line":3,"end_character":22},"updated":"2017-01-31 12:22:09.000000000","message":"forgot to mention CIFS and managed share. Suggestion:\n\n\"Fixed access rules of CIFS managed share that were created previously...\"","commit_id":"05d30dc8efdfee167ffca8d35a74a1d21d7c86dc"},{"author":{"_account_id":14907,"name":"Alyson","email":"alyson.rodrigues.rosa@gmail.com","username":"Alyson"},"change_message_id":"74f13a63cd83d426873eb125ec2ad56ea3a4ee48","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - Fixed access rules that were created previously in backend not being"},{"line_number":4,"context_line":"    updated when added through manila."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3a461143_e605f813","line":3,"range":{"start_line":3,"start_character":10,"end_line":3,"end_character":22},"in_reply_to":"3a461143_26070083","updated":"2017-01-31 12:32:03.000000000","message":"Done","commit_id":"05d30dc8efdfee167ffca8d35a74a1d21d7c86dc"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"91591daf784b53436c11799a77fcb2fda80309fa","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - Fixed access rules of CIFS managed shares that were created"},{"line_number":4,"context_line":"    previously in backend not being updated when added through manila."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"3a461143_557bcc7a","line":4,"range":{"start_line":3,"start_character":0,"end_line":4,"end_character":70},"updated":"2017-01-31 13:49:30.000000000","message":"No mentioning of affected driver.","commit_id":"7158d7d60ecdd7384e7c8f8f75fbc61be6bd56a0"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"b3f04c2d72618702ad5554f215c1966a65f98de5","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - Fixed HNAS driver in the case of access rules of CIFS managed shares"},{"line_number":4,"context_line":"    that were created previously in backend not being updated when added"},{"line_number":5,"context_line":"    through manila."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3a461143_e1aeb72c","line":5,"range":{"start_line":3,"start_character":4,"end_line":5,"end_character":19},"updated":"2017-01-31 16:26:48.000000000","message":"Hard to understand what you mean.. Remember you can drop \"Fixed\" if you wish... the note is classified under fixes.. maybe like the following:\n\n - HNAS driver correctly handles rule updates to pre-existing access rules\n    on a managed share.","commit_id":"5312aba0c40f9fc57aaedd3f169da1c90f5c927a"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"78ebc8cf69ad005a230b58f91e159e6535ffeeba","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - Fixed HNAS driver in the case of access rules of CIFS managed shares"},{"line_number":4,"context_line":"    that were created previously in backend not being updated when added"},{"line_number":5,"context_line":"    through manila."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3a461143_a13d8fde","line":5,"range":{"start_line":3,"start_character":4,"end_line":5,"end_character":19},"in_reply_to":"3a461143_e1aeb72c","updated":"2017-01-31 16:29:14.000000000","message":"in that case \"...on a managed CIFS share.\"","commit_id":"5312aba0c40f9fc57aaedd3f169da1c90f5c927a"}]}
