)]}'
{"manila/share/drivers/hitachi/hds_hnas.py":[{"author":{"_account_id":17097,"name":"Tiago Pasqualini da Silva","email":"t.pasqualini@luizalabs.com","username":"tiago.pasqualini"},"change_message_id":"206f0cfe47ecad745b1cd2459624929f11841882","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        job_timeout \u003d self.configuration.safe_get("},{"line_number":111,"context_line":"            \u0027hds_hnas_stalled_job_timeout\u0027)"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"        if hnas_helper is None:"},{"line_number":114,"context_line":"            msg \u003d _(\"The config parameter hds_hnas_driver_helper is not set.\")"},{"line_number":115,"context_line":"            raise exception.InvalidParameterValue(err\u003dmsg)"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        if self.hnas_evs_id is None:"},{"line_number":118,"context_line":"            msg \u003d _(\"The config parameter hds_hnas_evs_id is not set.\")"},{"line_number":119,"context_line":"            raise exception.InvalidParameterValue(err\u003dmsg)"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"        if self.hnas_evs_ip is None:"},{"line_number":122,"context_line":"            msg \u003d _(\"The config parameter hds_hnas_evs_ip is not set.\")"},{"line_number":123,"context_line":"            raise exception.InvalidParameterValue(err\u003dmsg)"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"        if hnas_ip is None:"},{"line_number":126,"context_line":"            msg \u003d _(\"The config parameter hds_hnas_ip is not set.\")"},{"line_number":127,"context_line":"            raise exception.InvalidParameterValue(err\u003dmsg)"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"        if hnas_username is None:"},{"line_number":130,"context_line":"            msg \u003d _(\"The config parameter hds_hnas_user is not set.\")"},{"line_number":131,"context_line":"            raise exception.InvalidParameterValue(err\u003dmsg)"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"        if hnas_password is None and ssh_private_key is None:"},{"line_number":134,"context_line":"            msg \u003d _(\"Credentials configuration parameters missing: \""},{"line_number":135,"context_line":"                    \"you need to set hds_hnas_password or \""},{"line_number":136,"context_line":"                    \"hds_hnas_ssh_private_key.\")"},{"line_number":137,"context_line":"            raise exception.InvalidParameterValue(err\u003dmsg)"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"        LOG.debug(\"Initializing HNAS Layer.\")"},{"line_number":140,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1ac06dbe_f0c82e57","line":137,"range":{"start_line":113,"start_character":0,"end_line":137,"end_character":58},"updated":"2016-08-23 16:11:54.000000000","message":"These are validating if these parameters were configured. Shouldn\u0027t it be moved to check_for_setup_error?","commit_id":"f69c82c08aa39dd371d2869ac20d856a5ece4bee"},{"author":{"_account_id":14907,"name":"Alyson","email":"alyson.rodrigues.rosa@gmail.com","username":"Alyson"},"change_message_id":"54cfd0902e78297e4f9123035378f2d61a9b9d64","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        job_timeout \u003d self.configuration.safe_get("},{"line_number":111,"context_line":"            \u0027hds_hnas_stalled_job_timeout\u0027)"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"        if hnas_helper is None:"},{"line_number":114,"context_line":"            msg \u003d _(\"The config parameter hds_hnas_driver_helper is not set.\")"},{"line_number":115,"context_line":"            raise exception.InvalidParameterValue(err\u003dmsg)"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        if self.hnas_evs_id is None:"},{"line_number":118,"context_line":"            msg \u003d _(\"The config parameter hds_hnas_evs_id is not set.\")"},{"line_number":119,"context_line":"            raise exception.InvalidParameterValue(err\u003dmsg)"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"        if self.hnas_evs_ip is None:"},{"line_number":122,"context_line":"            msg \u003d _(\"The config parameter hds_hnas_evs_ip is not set.\")"},{"line_number":123,"context_line":"            raise exception.InvalidParameterValue(err\u003dmsg)"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"        if hnas_ip is None:"},{"line_number":126,"context_line":"            msg \u003d _(\"The config parameter hds_hnas_ip is not set.\")"},{"line_number":127,"context_line":"            raise exception.InvalidParameterValue(err\u003dmsg)"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"        if hnas_username is None:"},{"line_number":130,"context_line":"            msg \u003d _(\"The config parameter hds_hnas_user is not set.\")"},{"line_number":131,"context_line":"            raise exception.InvalidParameterValue(err\u003dmsg)"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"        if hnas_password is None and ssh_private_key is None:"},{"line_number":134,"context_line":"            msg \u003d _(\"Credentials configuration parameters missing: \""},{"line_number":135,"context_line":"                    \"you need to set hds_hnas_password or \""},{"line_number":136,"context_line":"                    \"hds_hnas_ssh_private_key.\")"},{"line_number":137,"context_line":"            raise exception.InvalidParameterValue(err\u003dmsg)"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"        LOG.debug(\"Initializing HNAS Layer.\")"},{"line_number":140,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1ac06dbe_b8021808","line":137,"range":{"start_line":113,"start_character":0,"end_line":137,"end_character":58},"in_reply_to":"1ac06dbe_f0c82e57","updated":"2016-08-23 18:10:10.000000000","message":"Yes, I think this validations makes more sense in check_for_setup_error.","commit_id":"f69c82c08aa39dd371d2869ac20d856a5ece4bee"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"cd9f3b1b53f8ed1e225ff5acc98a5b3cc1eff167","unresolved":false,"context_lines":[{"line_number":823,"context_line":""},{"line_number":824,"context_line":"    def _check_evs_ip(self):"},{"line_number":825,"context_line":"        if self.hnas.validate_evs_ip():"},{"line_number":826,"context_line":"            LOG.debug(\"EVS %(evs)s configured with ip %(ip)s\","},{"line_number":827,"context_line":"                      {\u0027evs\u0027: self.hnas_evs_id, \u0027ip\u0027: self.hnas_evs_ip})"},{"line_number":828,"context_line":"        else:"},{"line_number":829,"context_line":"            msg \u003d (_(\"IP %(ip)s is not configured for EVS %(evs)s.\") %"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ac06dbe_d025325c","line":826,"range":{"start_line":826,"start_character":59,"end_line":826,"end_character":60},"updated":"2016-08-23 16:09:22.000000000","message":"period","commit_id":"f69c82c08aa39dd371d2869ac20d856a5ece4bee"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"cd9f3b1b53f8ed1e225ff5acc98a5b3cc1eff167","unresolved":false,"context_lines":[{"line_number":823,"context_line":""},{"line_number":824,"context_line":"    def _check_evs_ip(self):"},{"line_number":825,"context_line":"        if self.hnas.validate_evs_ip():"},{"line_number":826,"context_line":"            LOG.debug(\"EVS %(evs)s configured with ip %(ip)s\","},{"line_number":827,"context_line":"                      {\u0027evs\u0027: self.hnas_evs_id, \u0027ip\u0027: self.hnas_evs_ip})"},{"line_number":828,"context_line":"        else:"},{"line_number":829,"context_line":"            msg \u003d (_(\"IP %(ip)s is not configured for EVS %(evs)s.\") %"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ac06dbe_50be62ff","line":826,"range":{"start_line":826,"start_character":51,"end_line":826,"end_character":53},"updated":"2016-08-23 16:09:22.000000000","message":"you should decide (see below) whether to use lowercase ip or uppercase IP","commit_id":"f69c82c08aa39dd371d2869ac20d856a5ece4bee"},{"author":{"_account_id":14907,"name":"Alyson","email":"alyson.rodrigues.rosa@gmail.com","username":"Alyson"},"change_message_id":"54cfd0902e78297e4f9123035378f2d61a9b9d64","unresolved":false,"context_lines":[{"line_number":823,"context_line":""},{"line_number":824,"context_line":"    def _check_evs_ip(self):"},{"line_number":825,"context_line":"        if self.hnas.validate_evs_ip():"},{"line_number":826,"context_line":"            LOG.debug(\"EVS %(evs)s configured with ip %(ip)s\","},{"line_number":827,"context_line":"                      {\u0027evs\u0027: self.hnas_evs_id, \u0027ip\u0027: self.hnas_evs_ip})"},{"line_number":828,"context_line":"        else:"},{"line_number":829,"context_line":"            msg \u003d (_(\"IP %(ip)s is not configured for EVS %(evs)s.\") %"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ac06dbe_84d6df4c","line":826,"range":{"start_line":826,"start_character":59,"end_line":826,"end_character":60},"in_reply_to":"1ac06dbe_d025325c","updated":"2016-08-23 18:10:10.000000000","message":"Done","commit_id":"f69c82c08aa39dd371d2869ac20d856a5ece4bee"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"27bd1f7fdf611316261bb1ea66f4e169c577d188","unresolved":false,"context_lines":[{"line_number":115,"context_line":""},{"line_number":116,"context_line":"        helper \u003d importutils.import_class(self.hnas_helper)"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        self.hnas \u003d helper(self.hnas_ip, self.hnas_username,"},{"line_number":119,"context_line":"                           self.hnas_password, self.ssh_private_key,"},{"line_number":120,"context_line":"                           cluster_admin_ip0, self.hnas_evs_id,"},{"line_number":121,"context_line":"                           self.hnas_evs_ip, self.fs_name, job_timeout)"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"    def check_for_setup_error(self):"},{"line_number":124,"context_line":"        \"\"\"Check for setup error.\"\"\""}],"source_content_type":"text/x-python","patch_set":3,"id":"1ac06dbe_5350220b","line":121,"range":{"start_line":118,"start_character":8,"end_line":121,"end_character":71},"updated":"2016-08-23 18:39:26.000000000","message":"this will crash in HiStor if any of those parameters are invalid. HiStor will attempt to talk to the backend to get the FS_ID, but the parameters are not validated yet. One way to fix is creating a property hnas, which instantiates the helper if it is not set.","commit_id":"936682396107d1a4482d787a6279e19b7810cb06"},{"author":{"_account_id":14907,"name":"Alyson","email":"alyson.rodrigues.rosa@gmail.com","username":"Alyson"},"change_message_id":"d4f37011b592f5b2bafa2be1179378db217bf48b","unresolved":false,"context_lines":[{"line_number":115,"context_line":""},{"line_number":116,"context_line":"        helper \u003d importutils.import_class(self.hnas_helper)"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        self.hnas \u003d helper(self.hnas_ip, self.hnas_username,"},{"line_number":119,"context_line":"                           self.hnas_password, self.ssh_private_key,"},{"line_number":120,"context_line":"                           cluster_admin_ip0, self.hnas_evs_id,"},{"line_number":121,"context_line":"                           self.hnas_evs_ip, self.fs_name, job_timeout)"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"    def check_for_setup_error(self):"},{"line_number":124,"context_line":"        \"\"\"Check for setup error.\"\"\""}],"source_content_type":"text/x-python","patch_set":3,"id":"1ac06dbe_b98210c6","line":121,"range":{"start_line":118,"start_character":8,"end_line":121,"end_character":71},"in_reply_to":"1ac06dbe_5350220b","updated":"2016-08-23 20:48:14.000000000","message":"You are right, HiStor has a get_fsid in __init__, really good catch. Maybe we should test a solution for this in HiStor. Anyway, its not in the scope of this fix, I\u0027m reverting this changes and sending it in another patch if needed.","commit_id":"936682396107d1a4482d787a6279e19b7810cb06"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"27bd1f7fdf611316261bb1ea66f4e169c577d188","unresolved":false,"context_lines":[{"line_number":824,"context_line":""},{"line_number":825,"context_line":"    def _check_evs_ip(self):"},{"line_number":826,"context_line":"        if self.hnas.validate_evs_ip():"},{"line_number":827,"context_line":"            LOG.debug(\"EVS %(evs)s configured with IP %(ip)s.\","},{"line_number":828,"context_line":"                      {\u0027evs\u0027: self.hnas_evs_id, \u0027ip\u0027: self.hnas_evs_ip})"},{"line_number":829,"context_line":"        else:"},{"line_number":830,"context_line":"            msg \u003d (_(\"IP %(ip)s is not configured for EVS %(evs)s.\") %"}],"source_content_type":"text/x-python","patch_set":3,"id":"1ac06dbe_1076a03d","line":827,"range":{"start_line":827,"start_character":51,"end_line":827,"end_character":53},"updated":"2016-08-23 18:39:26.000000000","message":"I liked your choice.","commit_id":"936682396107d1a4482d787a6279e19b7810cb06"},{"author":{"_account_id":14907,"name":"Alyson","email":"alyson.rodrigues.rosa@gmail.com","username":"Alyson"},"change_message_id":"d4f37011b592f5b2bafa2be1179378db217bf48b","unresolved":false,"context_lines":[{"line_number":824,"context_line":""},{"line_number":825,"context_line":"    def _check_evs_ip(self):"},{"line_number":826,"context_line":"        if self.hnas.validate_evs_ip():"},{"line_number":827,"context_line":"            LOG.debug(\"EVS %(evs)s configured with IP %(ip)s.\","},{"line_number":828,"context_line":"                      {\u0027evs\u0027: self.hnas_evs_id, \u0027ip\u0027: self.hnas_evs_ip})"},{"line_number":829,"context_line":"        else:"},{"line_number":830,"context_line":"            msg \u003d (_(\"IP %(ip)s is not configured for EVS %(evs)s.\") %"}],"source_content_type":"text/x-python","patch_set":3,"id":"1ac06dbe_198ec4cf","line":827,"range":{"start_line":827,"start_character":51,"end_line":827,"end_character":53},"in_reply_to":"1ac06dbe_1076a03d","updated":"2016-08-23 20:48:14.000000000","message":"\\(•◡•)/","commit_id":"936682396107d1a4482d787a6279e19b7810cb06"}],"manila/share/drivers/hitachi/hnas/driver.py":[{"author":{"_account_id":17097,"name":"Tiago Pasqualini da Silva","email":"t.pasqualini@luizalabs.com","username":"tiago.pasqualini"},"change_message_id":"bb9688b71f7796b573c1eab75cb49f24d4afac4b","unresolved":false,"context_lines":[{"line_number":47,"context_line":"    cfg.IntOpt(\u0027hitachi_hnas_evs_id\u0027,"},{"line_number":48,"context_line":"               deprecated_name\u003d\u0027hds_hnas_evs_id\u0027,"},{"line_number":49,"context_line":"               help\u003d\"Specify which EVS this backend is assigned to.\"),"},{"line_number":50,"context_line":"    cfg.StrOpt(\u0027hitachi_hnas_evs_ip\u0027,"},{"line_number":51,"context_line":"               deprecated_name\u003d\u0027hds_hnas_evs_ip\u0027,"},{"line_number":52,"context_line":"               help\u003d\"Specify IP for mounting shares.\"),"},{"line_number":53,"context_line":"    cfg.StrOpt(\u0027hitachi_hnas_file_system_name\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"1ac06dbe_d7375a4b","line":50,"range":{"start_line":50,"start_character":4,"end_line":50,"end_character":37},"updated":"2016-08-25 13:01:47.000000000","message":"Have you considered changing this to IpOpt? http://docs.openstack.org/developer/oslo.config/opts.html#oslo_config.cfg.IPOpt","commit_id":"427e534247d36b371c075d9fbcbcc69d04a18d16"}],"manila/share/drivers/hitachi/ssh.py":[{"author":{"_account_id":17097,"name":"Tiago Pasqualini da Silva","email":"t.pasqualini@luizalabs.com","username":"tiago.pasqualini"},"change_message_id":"206f0cfe47ecad745b1cd2459624929f11841882","unresolved":false,"context_lines":[{"line_number":386,"context_line":"        command \u003d [\u0027evsipaddr\u0027, \u0027-e\u0027,  self.evs_id]"},{"line_number":387,"context_line":"        output, err \u003d self._execute(command)"},{"line_number":388,"context_line":""},{"line_number":389,"context_line":"        LOG.debug(output)"},{"line_number":390,"context_line":""},{"line_number":391,"context_line":"        lines \u003d output.split(\u0027\\n\u0027)"},{"line_number":392,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1ac06dbe_90a45aba","line":389,"range":{"start_line":389,"start_character":8,"end_line":389,"end_character":25},"updated":"2016-08-23 16:11:54.000000000","message":"Did you forget to remove this? self._execute already logs the output.","commit_id":"f69c82c08aa39dd371d2869ac20d856a5ece4bee"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"cd9f3b1b53f8ed1e225ff5acc98a5b3cc1eff167","unresolved":false,"context_lines":[{"line_number":386,"context_line":"        command \u003d [\u0027evsipaddr\u0027, \u0027-e\u0027,  self.evs_id]"},{"line_number":387,"context_line":"        output, err \u003d self._execute(command)"},{"line_number":388,"context_line":""},{"line_number":389,"context_line":"        LOG.debug(output)"},{"line_number":390,"context_line":""},{"line_number":391,"context_line":"        lines \u003d output.split(\u0027\\n\u0027)"},{"line_number":392,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1ac06dbe_d0b5327e","line":389,"range":{"start_line":389,"start_character":8,"end_line":389,"end_character":25},"updated":"2016-08-23 16:09:22.000000000","message":"I believe this should not be here.","commit_id":"f69c82c08aa39dd371d2869ac20d856a5ece4bee"},{"author":{"_account_id":14907,"name":"Alyson","email":"alyson.rodrigues.rosa@gmail.com","username":"Alyson"},"change_message_id":"54cfd0902e78297e4f9123035378f2d61a9b9d64","unresolved":false,"context_lines":[{"line_number":386,"context_line":"        command \u003d [\u0027evsipaddr\u0027, \u0027-e\u0027,  self.evs_id]"},{"line_number":387,"context_line":"        output, err \u003d self._execute(command)"},{"line_number":388,"context_line":""},{"line_number":389,"context_line":"        LOG.debug(output)"},{"line_number":390,"context_line":""},{"line_number":391,"context_line":"        lines \u003d output.split(\u0027\\n\u0027)"},{"line_number":392,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1ac06dbe_e49eb305","line":389,"range":{"start_line":389,"start_character":8,"end_line":389,"end_character":25},"in_reply_to":"1ac06dbe_90a45aba","updated":"2016-08-23 18:10:10.000000000","message":"ok ok, poor debug, removing it.","commit_id":"f69c82c08aa39dd371d2869ac20d856a5ece4bee"},{"author":{"_account_id":17097,"name":"Tiago Pasqualini da Silva","email":"t.pasqualini@luizalabs.com","username":"tiago.pasqualini"},"change_message_id":"206f0cfe47ecad745b1cd2459624929f11841882","unresolved":false,"context_lines":[{"line_number":388,"context_line":""},{"line_number":389,"context_line":"        LOG.debug(output)"},{"line_number":390,"context_line":""},{"line_number":391,"context_line":"        lines \u003d output.split(\u0027\\n\u0027)"},{"line_number":392,"context_line":""},{"line_number":393,"context_line":"        for line in lines:"},{"line_number":394,"context_line":"            if line:"},{"line_number":395,"context_line":"                ip \u003d line.split()[3]"},{"line_number":396,"context_line":"                if self.evs_ip \u003d\u003d ip:"},{"line_number":397,"context_line":"                    return True"},{"line_number":398,"context_line":"        return False"},{"line_number":399,"context_line":""},{"line_number":400,"context_line":"    def get_share_quota(self, share_id):"},{"line_number":401,"context_line":"        command \u003d [\u0027quota\u0027, \u0027list\u0027, self.fs_name, share_id]"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ac06dbe_304926b8","line":398,"range":{"start_line":391,"start_character":0,"end_line":398,"end_character":20},"updated":"2016-08-23 16:11:54.000000000","message":"You don\u0027t need to parse all the output to find the ip. Python can do this for you :)\n\n    return self.evs_ip in output","commit_id":"f69c82c08aa39dd371d2869ac20d856a5ece4bee"},{"author":{"_account_id":14907,"name":"Alyson","email":"alyson.rodrigues.rosa@gmail.com","username":"Alyson"},"change_message_id":"54cfd0902e78297e4f9123035378f2d61a9b9d64","unresolved":false,"context_lines":[{"line_number":388,"context_line":""},{"line_number":389,"context_line":"        LOG.debug(output)"},{"line_number":390,"context_line":""},{"line_number":391,"context_line":"        lines \u003d output.split(\u0027\\n\u0027)"},{"line_number":392,"context_line":""},{"line_number":393,"context_line":"        for line in lines:"},{"line_number":394,"context_line":"            if line:"},{"line_number":395,"context_line":"                ip \u003d line.split()[3]"},{"line_number":396,"context_line":"                if self.evs_ip \u003d\u003d ip:"},{"line_number":397,"context_line":"                    return True"},{"line_number":398,"context_line":"        return False"},{"line_number":399,"context_line":""},{"line_number":400,"context_line":"    def get_share_quota(self, share_id):"},{"line_number":401,"context_line":"        command \u003d [\u0027quota\u0027, \u0027list\u0027, self.fs_name, share_id]"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ac06dbe_9dec6e2b","line":398,"range":{"start_line":391,"start_character":0,"end_line":398,"end_character":20},"in_reply_to":"1ac06dbe_304926b8","updated":"2016-08-23 18:10:10.000000000","message":"I have parsed this to strictly check the ip field. If I only do this, a configuration with IP \u0027172.24.44.1\u0027 will match when EVS is configured with \u0027172.24.44.123\u0027 for example. Passing the IP as EVS name will match too.","commit_id":"f69c82c08aa39dd371d2869ac20d856a5ece4bee"}],"manila/tests/share/drivers/hitachi/test_hds_hnas.py":[{"author":{"_account_id":17097,"name":"Tiago Pasqualini da Silva","email":"t.pasqualini@luizalabs.com","username":"tiago.pasqualini"},"change_message_id":"206f0cfe47ecad745b1cd2459624929f11841882","unresolved":false,"context_lines":[{"line_number":750,"context_line":"        self.mock_object(ssh.HNASSSHBackend, \"validate_evs_ip\","},{"line_number":751,"context_line":"                         mock.Mock(return_value\u003dTrue))"},{"line_number":752,"context_line":""},{"line_number":753,"context_line":"        self._driver.check_for_setup_error()"},{"line_number":754,"context_line":"        self.assertTrue(self.mock_log.debug.called)"},{"line_number":755,"context_line":""},{"line_number":756,"context_line":"    def test_check_evs_ip_false(self):"},{"line_number":757,"context_line":"        expected_exception \u003d (\"HNAS Backend Exception: IP \" +"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ac06dbe_701efe70","line":754,"range":{"start_line":753,"start_character":0,"end_line":754,"end_character":51},"updated":"2016-08-23 16:11:54.000000000","message":"Please add blank line between these two.","commit_id":"f69c82c08aa39dd371d2869ac20d856a5ece4bee"},{"author":{"_account_id":14907,"name":"Alyson","email":"alyson.rodrigues.rosa@gmail.com","username":"Alyson"},"change_message_id":"54cfd0902e78297e4f9123035378f2d61a9b9d64","unresolved":false,"context_lines":[{"line_number":750,"context_line":"        self.mock_object(ssh.HNASSSHBackend, \"validate_evs_ip\","},{"line_number":751,"context_line":"                         mock.Mock(return_value\u003dTrue))"},{"line_number":752,"context_line":""},{"line_number":753,"context_line":"        self._driver.check_for_setup_error()"},{"line_number":754,"context_line":"        self.assertTrue(self.mock_log.debug.called)"},{"line_number":755,"context_line":""},{"line_number":756,"context_line":"    def test_check_evs_ip_false(self):"},{"line_number":757,"context_line":"        expected_exception \u003d (\"HNAS Backend Exception: IP \" +"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ac06dbe_bdf5eaed","line":754,"range":{"start_line":753,"start_character":0,"end_line":754,"end_character":51},"in_reply_to":"1ac06dbe_701efe70","updated":"2016-08-23 18:10:10.000000000","message":"Done","commit_id":"f69c82c08aa39dd371d2869ac20d856a5ece4bee"}]}
