)]}'
{"cinder/volume/driver.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"53778727562aa81dff0eeaa29bdc75964f441ec9","unresolved":false,"context_lines":[{"line_number":351,"context_line":"                self.terminate_connection(volume, properties, force\u003dforce)"},{"line_number":352,"context_line":"            except Exception as err:"},{"line_number":353,"context_line":"                err_msg \u003d (_(\u0027Unable to terminate volume connection: %(err)s\u0027)"},{"line_number":354,"context_line":"                           % {\u0027err\u0027: err})"},{"line_number":355,"context_line":"                LOG.error(err_msg)"},{"line_number":356,"context_line":"                raise exception.VolumeBackendAPIException(data\u003derr_msg)"},{"line_number":357,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"9aa53dc9_872a0a2b","line":354,"updated":"2015-04-08 14:21:27.000000000","message":"Should have six.text_type().","commit_id":"5b71cf377d93da1be740d568cc9e7e359e5a3e19"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"a057980c6840e702c8269eae3506fd8eee5fe71f","unresolved":false,"context_lines":[{"line_number":351,"context_line":"                self.terminate_connection(volume, properties, force\u003dforce)"},{"line_number":352,"context_line":"            except Exception as err:"},{"line_number":353,"context_line":"                err_msg \u003d (_(\u0027Unable to terminate volume connection: %(err)s\u0027)"},{"line_number":354,"context_line":"                           % {\u0027err\u0027: err})"},{"line_number":355,"context_line":"                LOG.error(err_msg)"},{"line_number":356,"context_line":"                raise exception.VolumeBackendAPIException(data\u003derr_msg)"},{"line_number":357,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"7aaa499b_fbdc1d48","line":354,"in_reply_to":"9aa53dc9_872a0a2b","updated":"2015-04-12 09:30:01.000000000","message":"Done","commit_id":"5b71cf377d93da1be740d568cc9e7e359e5a3e19"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"53778727562aa81dff0eeaa29bdc75964f441ec9","unresolved":false,"context_lines":[{"line_number":666,"context_line":"            except Exception as err:"},{"line_number":667,"context_line":"                try:"},{"line_number":668,"context_line":"                    err_msg \u003d (_(\u0027Unable to fetch connection information from \u0027"},{"line_number":669,"context_line":"                                 \u0027backend: %(err)s\u0027) % {\u0027err\u0027: err})"},{"line_number":670,"context_line":"                    LOG.error(err_msg)"},{"line_number":671,"context_line":"                    LOG.debug(\"Cleaning up failed connect initialization.\")"},{"line_number":672,"context_line":"                    self.remove_export(context, volume)"}],"source_content_type":"text/x-python","patch_set":11,"id":"9aa53dc9_47dac279","line":669,"updated":"2015-04-08 14:21:27.000000000","message":"This should have six.text_type() around it if we are doing string formatting directly.","commit_id":"5b71cf377d93da1be740d568cc9e7e359e5a3e19"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"a057980c6840e702c8269eae3506fd8eee5fe71f","unresolved":false,"context_lines":[{"line_number":666,"context_line":"            except Exception as err:"},{"line_number":667,"context_line":"                try:"},{"line_number":668,"context_line":"                    err_msg \u003d (_(\u0027Unable to fetch connection information from \u0027"},{"line_number":669,"context_line":"                                 \u0027backend: %(err)s\u0027) % {\u0027err\u0027: err})"},{"line_number":670,"context_line":"                    LOG.error(err_msg)"},{"line_number":671,"context_line":"                    LOG.debug(\"Cleaning up failed connect initialization.\")"},{"line_number":672,"context_line":"                    self.remove_export(context, volume)"}],"source_content_type":"text/x-python","patch_set":11,"id":"7aaa499b_dbe16100","line":669,"in_reply_to":"9aa53dc9_47dac279","updated":"2015-04-12 09:30:01.000000000","message":"Done","commit_id":"5b71cf377d93da1be740d568cc9e7e359e5a3e19"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"53778727562aa81dff0eeaa29bdc75964f441ec9","unresolved":false,"context_lines":[{"line_number":671,"context_line":"                    LOG.debug(\"Cleaning up failed connect initialization.\")"},{"line_number":672,"context_line":"                    self.remove_export(context, volume)"},{"line_number":673,"context_line":"                except Exception as ex:"},{"line_number":674,"context_line":"                    ex_msg \u003d (_(\u0027Error encountered during cleanup \u0027"},{"line_number":675,"context_line":"                                \u0027of a failed attach: %(ex)s\u0027) % {\u0027ex\u0027: ex})"},{"line_number":676,"context_line":"                    LOG.error(err_msg)"},{"line_number":677,"context_line":"                    raise exception.VolumeBackendAPIException(data\u003dex_msg)"}],"source_content_type":"text/x-python","patch_set":11,"id":"9aa53dc9_a742ae0e","line":674,"updated":"2015-04-08 14:21:27.000000000","message":"Need six here too.","commit_id":"5b71cf377d93da1be740d568cc9e7e359e5a3e19"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"a057980c6840e702c8269eae3506fd8eee5fe71f","unresolved":false,"context_lines":[{"line_number":671,"context_line":"                    LOG.debug(\"Cleaning up failed connect initialization.\")"},{"line_number":672,"context_line":"                    self.remove_export(context, volume)"},{"line_number":673,"context_line":"                except Exception as ex:"},{"line_number":674,"context_line":"                    ex_msg \u003d (_(\u0027Error encountered during cleanup \u0027"},{"line_number":675,"context_line":"                                \u0027of a failed attach: %(ex)s\u0027) % {\u0027ex\u0027: ex})"},{"line_number":676,"context_line":"                    LOG.error(err_msg)"},{"line_number":677,"context_line":"                    raise exception.VolumeBackendAPIException(data\u003dex_msg)"}],"source_content_type":"text/x-python","patch_set":11,"id":"7aaa499b_bbe7b511","line":674,"in_reply_to":"9aa53dc9_a742ae0e","updated":"2015-04-12 09:30:01.000000000","message":"Done","commit_id":"5b71cf377d93da1be740d568cc9e7e359e5a3e19"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"e1f10341489176254a41f2a631cbe8bcb60fbe5d","unresolved":false,"context_lines":[{"line_number":500,"context_line":"        except Exception:"},{"line_number":501,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":502,"context_line":"                msg \u003d _LE(\"Failed to attach volume %(vol)s\")"},{"line_number":503,"context_line":"                LOG.error(msg, {\u0027vol\u0027: dest_vol[\u0027id\u0027]})"},{"line_number":504,"context_line":"                self.db.volume_update(context, dest_vol[\u0027id\u0027],"},{"line_number":505,"context_line":"                                      {\u0027status\u0027: dest_orig_status})"},{"line_number":506,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"7aaa499b_7321384d","line":503,"updated":"2015-04-13 19:53:57.000000000","message":"Since we are making these changes why don\u0027t we collapse these cases where down to just do LOG.error(_LE(\"text\")) .","commit_id":"d4f6ef8ff8469781ba1599dfecc881eba0ba3d02"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"22f8a8cd00d3d1c5eb5a48d65a0c471442eccf38","unresolved":false,"context_lines":[{"line_number":500,"context_line":"        except Exception:"},{"line_number":501,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":502,"context_line":"                msg \u003d _LE(\"Failed to attach volume %(vol)s\")"},{"line_number":503,"context_line":"                LOG.error(msg, {\u0027vol\u0027: dest_vol[\u0027id\u0027]})"},{"line_number":504,"context_line":"                self.db.volume_update(context, dest_vol[\u0027id\u0027],"},{"line_number":505,"context_line":"                                      {\u0027status\u0027: dest_orig_status})"},{"line_number":506,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"5ad58531_5ccb2973","line":503,"in_reply_to":"7aaa499b_7321384d","updated":"2015-05-11 21:48:40.000000000","message":"Done","commit_id":"d4f6ef8ff8469781ba1599dfecc881eba0ba3d02"}],"cinder/volume/drivers/block_device.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"49dcdc2eafb8bc4fca3566cb87a345062d893331","unresolved":false,"context_lines":[{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    def create_volume(self, volume):"},{"line_number":63,"context_line":"        device \u003d self.find_appropriate_size_device(volume[\u0027size\u0027])"},{"line_number":64,"context_line":"        LOG.info(_LI(\"Create %(volume)s on %(device)s\") %"},{"line_number":65,"context_line":"                 {\"volume\": volume[\u0027name\u0027], \"device\": device})"},{"line_number":66,"context_line":"        return {"},{"line_number":67,"context_line":"            \u0027provider_location\u0027: device,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_bbd7df4e","line":64,"updated":"2015-03-16 18:14:37.000000000","message":"% should be \u0027,\u0027 here.","commit_id":"54b5141436554f8e9c6fd934d30421b9617e7695"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"4a29ca7cfe28e04aed3a889b37f2927cc218b32e","unresolved":false,"context_lines":[{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    def create_volume(self, volume):"},{"line_number":63,"context_line":"        device \u003d self.find_appropriate_size_device(volume[\u0027size\u0027])"},{"line_number":64,"context_line":"        LOG.info(_LI(\"Create %(volume)s on %(device)s\") %"},{"line_number":65,"context_line":"                 {\"volume\": volume[\u0027name\u0027], \"device\": device})"},{"line_number":66,"context_line":"        return {"},{"line_number":67,"context_line":"            \u0027provider_location\u0027: device,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a6ced46_cfabf0d4","line":64,"in_reply_to":"9a80dd14_bbd7df4e","updated":"2015-03-22 20:21:59.000000000","message":"Done","commit_id":"54b5141436554f8e9c6fd934d30421b9617e7695"}],"cinder/volume/drivers/datera.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"53778727562aa81dff0eeaa29bdc75964f441ec9","unresolved":false,"context_lines":[{"line_number":351,"context_line":"                                                 data\u003dpayload, headers\u003dheader,"},{"line_number":352,"context_line":"                                                 verify\u003dFalse, cert\u003dcert_data)"},{"line_number":353,"context_line":"        except requests.exceptions.RequestException as ex:"},{"line_number":354,"context_line":"            msg \u003d _(\u0027Failed to make a request to Datera cluster endpoint due \u0027"},{"line_number":355,"context_line":"                    \u0027to the following reason: %s\u0027) % ex.message"},{"line_number":356,"context_line":"            LOG.error(msg)"},{"line_number":357,"context_line":"            raise exception.DateraAPIException(msg)"}],"source_content_type":"text/x-python","patch_set":11,"id":"9aa53dc9_274b3ecb","line":354,"updated":"2015-04-08 14:21:27.000000000","message":"Should probably be wrapped in six.text_type() to be safe.","commit_id":"5b71cf377d93da1be740d568cc9e7e359e5a3e19"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"a057980c6840e702c8269eae3506fd8eee5fe71f","unresolved":false,"context_lines":[{"line_number":351,"context_line":"                                                 data\u003dpayload, headers\u003dheader,"},{"line_number":352,"context_line":"                                                 verify\u003dFalse, cert\u003dcert_data)"},{"line_number":353,"context_line":"        except requests.exceptions.RequestException as ex:"},{"line_number":354,"context_line":"            msg \u003d _(\u0027Failed to make a request to Datera cluster endpoint due \u0027"},{"line_number":355,"context_line":"                    \u0027to the following reason: %s\u0027) % ex.message"},{"line_number":356,"context_line":"            LOG.error(msg)"},{"line_number":357,"context_line":"            raise exception.DateraAPIException(msg)"}],"source_content_type":"text/x-python","patch_set":11,"id":"7aaa499b_7bf12dcd","line":354,"in_reply_to":"9aa53dc9_274b3ecb","updated":"2015-04-12 09:30:01.000000000","message":"Done","commit_id":"5b71cf377d93da1be740d568cc9e7e359e5a3e19"}],"cinder/volume/drivers/emc/emc_vmax_common.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"53778727562aa81dff0eeaa29bdc75964f441ec9","unresolved":false,"context_lines":[{"line_number":443,"context_line":"                    (rollbackDict[\u0027isV3\u0027] is not None)):"},{"line_number":444,"context_line":"                (self.masking"},{"line_number":445,"context_line":"                    ._check_if_rollback_action_for_masking_required("},{"line_number":446,"context_line":"                        self.conn, rollbackDict))"},{"line_number":447,"context_line":"            exception_message \u003d (\"Error Attaching volume %(vol)s.\""},{"line_number":448,"context_line":"                                 % {\u0027vol\u0027: volumeName})"},{"line_number":449,"context_line":"            raise exception.VolumeBackendAPIException("}],"source_content_type":"text/x-python","patch_set":11,"id":"9aa53dc9_a7d2aed0","line":446,"updated":"2015-04-08 14:21:27.000000000","message":"_()","commit_id":"5b71cf377d93da1be740d568cc9e7e359e5a3e19"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"a057980c6840e702c8269eae3506fd8eee5fe71f","unresolved":false,"context_lines":[{"line_number":443,"context_line":"                    (rollbackDict[\u0027isV3\u0027] is not None)):"},{"line_number":444,"context_line":"                (self.masking"},{"line_number":445,"context_line":"                    ._check_if_rollback_action_for_masking_required("},{"line_number":446,"context_line":"                        self.conn, rollbackDict))"},{"line_number":447,"context_line":"            exception_message \u003d (\"Error Attaching volume %(vol)s.\""},{"line_number":448,"context_line":"                                 % {\u0027vol\u0027: volumeName})"},{"line_number":449,"context_line":"            raise exception.VolumeBackendAPIException("}],"source_content_type":"text/x-python","patch_set":11,"id":"7aaa499b_5bee71ed","line":446,"in_reply_to":"9aa53dc9_a7d2aed0","updated":"2015-04-12 09:30:01.000000000","message":"Done","commit_id":"5b71cf377d93da1be740d568cc9e7e359e5a3e19"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"53778727562aa81dff0eeaa29bdc75964f441ec9","unresolved":false,"context_lines":[{"line_number":2288,"context_line":"            else:"},{"line_number":2289,"context_line":"                repservice \u003d self.utils.find_replication_service(self.conn,"},{"line_number":2290,"context_line":"                                                                 storageSystem)"},{"line_number":2291,"context_line":"                if repservice is None:"},{"line_number":2292,"context_line":"                    exception_message \u003d (_LE("},{"line_number":2293,"context_line":"                        \"Cannot find Replication Service to\""},{"line_number":2294,"context_line":"                        \" delete snapshot %s.\") %"}],"source_content_type":"text/x-python","patch_set":11,"id":"9aa53dc9_4210704e","line":2291,"updated":"2015-04-08 14:21:27.000000000","message":"Should be _() for exception.","commit_id":"5b71cf377d93da1be740d568cc9e7e359e5a3e19"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"a057980c6840e702c8269eae3506fd8eee5fe71f","unresolved":false,"context_lines":[{"line_number":2288,"context_line":"            else:"},{"line_number":2289,"context_line":"                repservice \u003d self.utils.find_replication_service(self.conn,"},{"line_number":2290,"context_line":"                                                                 storageSystem)"},{"line_number":2291,"context_line":"                if repservice is None:"},{"line_number":2292,"context_line":"                    exception_message \u003d (_LE("},{"line_number":2293,"context_line":"                        \"Cannot find Replication Service to\""},{"line_number":2294,"context_line":"                        \" delete snapshot %s.\") %"}],"source_content_type":"text/x-python","patch_set":11,"id":"7aaa499b_3bba85e2","line":2291,"in_reply_to":"9aa53dc9_4210704e","updated":"2015-04-12 09:30:01.000000000","message":"Done","commit_id":"5b71cf377d93da1be740d568cc9e7e359e5a3e19"}],"cinder/volume/drivers/emc/emc_vmax_masking.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"032a984bd3aae85bbb94816c1e7716099223f5d6","unresolved":false,"context_lines":[{"line_number":2111,"context_line":"                       \u0027mv\u0027: maskingViewInstanceName})"},{"line_number":2112,"context_line":"            return initiatorGroupInstanceNames[0]"},{"line_number":2113,"context_line":"        else:"},{"line_number":2114,"context_line":"            LOG.warning(_LW(\"No port group found in masking view %(mv)s.\"),"},{"line_number":2115,"context_line":"                        {\u0027mv\u0027: maskingViewInstanceName})"},{"line_number":2116,"context_line":""},{"line_number":2117,"context_line":"    def _get_sg_or_mv_associated_with_initiator("}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_8dac3c8e","line":2114,"updated":"2015-03-18 14:38:23.000000000","message":"This message looks wrong, should say \"No initiator group found\"?","commit_id":"3c745706293af810ae1fd26b9874d1743cf38c9e"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"4d88558492158bab828aac634d3e8c89cbc964e6","unresolved":false,"context_lines":[{"line_number":2111,"context_line":"                       \u0027mv\u0027: maskingViewInstanceName})"},{"line_number":2112,"context_line":"            return initiatorGroupInstanceNames[0]"},{"line_number":2113,"context_line":"        else:"},{"line_number":2114,"context_line":"            LOG.warning(_LW(\"No port group found in masking view %(mv)s.\"),"},{"line_number":2115,"context_line":"                        {\u0027mv\u0027: maskingViewInstanceName})"},{"line_number":2116,"context_line":""},{"line_number":2117,"context_line":"    def _get_sg_or_mv_associated_with_initiator("}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_5e710876","line":2114,"in_reply_to":"9a80dd14_8dac3c8e","updated":"2015-03-18 15:22:58.000000000","message":"Hi Eric, I agree with you that this message looks wrong here, but I did not see any translation issue in that so it is out of scope of this patch for now.","commit_id":"3c745706293af810ae1fd26b9874d1743cf38c9e"}],"cinder/volume/drivers/emc/emc_vnx_cli.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"49dcdc2eafb8bc4fca3566cb87a345062d893331","unresolved":false,"context_lines":[{"line_number":2232,"context_line":"            self._client.delete_consistencygroup(cg_name)"},{"line_number":2233,"context_line":"        except Exception:"},{"line_number":2234,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":2235,"context_line":"                msg \u003d (_LE(\u0027Delete consistency group %s failed.\u0027) % cg_name)"},{"line_number":2236,"context_line":"                LOG.error(msg)"},{"line_number":2237,"context_line":""},{"line_number":2238,"context_line":"        for volume_ref in volumes:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_5b56e3cf","line":2235,"updated":"2015-03-16 18:14:37.000000000","message":"% -\u003e ,","commit_id":"54b5141436554f8e9c6fd934d30421b9617e7695"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"4a29ca7cfe28e04aed3a889b37f2927cc218b32e","unresolved":false,"context_lines":[{"line_number":2232,"context_line":"            self._client.delete_consistencygroup(cg_name)"},{"line_number":2233,"context_line":"        except Exception:"},{"line_number":2234,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":2235,"context_line":"                msg \u003d (_LE(\u0027Delete consistency group %s failed.\u0027) % cg_name)"},{"line_number":2236,"context_line":"                LOG.error(msg)"},{"line_number":2237,"context_line":""},{"line_number":2238,"context_line":"        for volume_ref in volumes:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a6ced46_0fb6e83d","line":2235,"in_reply_to":"9a80dd14_5b56e3cf","updated":"2015-03-22 20:21:59.000000000","message":"Done","commit_id":"54b5141436554f8e9c6fd934d30421b9617e7695"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":881,"context_line":"            if rc \u003d\u003d 0:"},{"line_number":882,"context_line":"                # parse the percentage"},{"line_number":883,"context_line":"                out \u003d re.split(r\u0027\\n\u0027, out)"},{"line_number":884,"context_line":"                log \u003d \"Migration in process %s %%.\", out[7].split(\":  \")[1]"},{"line_number":885,"context_line":"                LOG.debug(log)"},{"line_number":886,"context_line":"            else:"},{"line_number":887,"context_line":"                if re.search(r\u0027The specified source LUN \u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_23556bc6","line":884,"updated":"2015-03-23 14:29:03.000000000","message":"Since this is being assigned to a variable you would need % here, or keep as is and get rid of \"log\" variable and put this directly in the LOG.debug() call. The latter would be my preference.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":881,"context_line":"            if rc \u003d\u003d 0:"},{"line_number":882,"context_line":"                # parse the percentage"},{"line_number":883,"context_line":"                out \u003d re.split(r\u0027\\n\u0027, out)"},{"line_number":884,"context_line":"                log \u003d \"Migration in process %s %%.\", out[7].split(\":  \")[1]"},{"line_number":885,"context_line":"                LOG.debug(log)"},{"line_number":886,"context_line":"            else:"},{"line_number":887,"context_line":"                if re.search(r\u0027The specified source LUN \u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_b0527511","line":884,"in_reply_to":"1a6ced46_23556bc6","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":2231,"context_line":"            self._client.delete_consistencygroup(cg_name)"},{"line_number":2232,"context_line":"        except Exception:"},{"line_number":2233,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":2234,"context_line":"                msg \u003d (_LE(\u0027Delete consistency group %s failed.\u0027), cg_name)"},{"line_number":2235,"context_line":"                LOG.error(msg)"},{"line_number":2236,"context_line":""},{"line_number":2237,"context_line":"        for volume_ref in volumes:"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_a30f9be0","line":2234,"updated":"2015-03-23 14:29:03.000000000","message":"Same as above. Just get rid of the extra variable and put this directly in the LOG.error call.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":2231,"context_line":"            self._client.delete_consistencygroup(cg_name)"},{"line_number":2232,"context_line":"        except Exception:"},{"line_number":2233,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":2234,"context_line":"                msg \u003d (_LE(\u0027Delete consistency group %s failed.\u0027), cg_name)"},{"line_number":2235,"context_line":"                LOG.error(msg)"},{"line_number":2236,"context_line":""},{"line_number":2237,"context_line":"        for volume_ref in volumes:"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_904d7975","line":2234,"in_reply_to":"1a6ced46_a30f9be0","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":3107,"context_line":"                                                        None)"},{"line_number":3108,"context_line":"        if not migrated:"},{"line_number":3109,"context_line":"            msg \u003d (_(\"Migrate volume failed between source vol %(src)s\""},{"line_number":3110,"context_line":"                     \" and dest vol %(dst)s.\"),"},{"line_number":3111,"context_line":"                   {\u0027src\u0027: new_vol_name, \u0027dst\u0027: dest_vol_name})"},{"line_number":3112,"context_line":"            LOG.error(msg)"},{"line_number":3113,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_4300a7aa","line":3110,"updated":"2015-03-23 14:29:03.000000000","message":"Same as above.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":3107,"context_line":"                                                        None)"},{"line_number":3108,"context_line":"        if not migrated:"},{"line_number":3109,"context_line":"            msg \u003d (_(\"Migrate volume failed between source vol %(src)s\""},{"line_number":3110,"context_line":"                     \" and dest vol %(dst)s.\"),"},{"line_number":3111,"context_line":"                   {\u0027src\u0027: new_vol_name, \u0027dst\u0027: dest_vol_name})"},{"line_number":3112,"context_line":"            LOG.error(msg)"},{"line_number":3113,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_905e59e8","line":3110,"in_reply_to":"1a6ced46_4300a7aa","updated":"2015-03-24 09:25:42.000000000","message":"I would prefer to keep it in variable as same message is used in exception as well.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"}],"cinder/volume/drivers/eqlx.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":248,"context_line":"                    except processutils.ProcessExecutionError:"},{"line_number":249,"context_line":"                        raise"},{"line_number":250,"context_line":"                    except Exception as e:"},{"line_number":251,"context_line":"                        LOG.exception(_LE(\"%s\"), e)"},{"line_number":252,"context_line":"                        greenthread.sleep(random.randint(20, 500) / 100.0)"},{"line_number":253,"context_line":"                msg \u003d (_(\"SSH Command failed after \u0027%(total_attempts)r\u0027 \""},{"line_number":254,"context_line":"                         \"attempts : \u0027%(command)s\u0027\") %"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_638f6324","line":251,"updated":"2015-03-23 14:29:03.000000000","message":"This ends up being redundant since LOG.exception will print out the exception, plus you are formatting a string with the exception.\n\nThis is existing behavior, so this patch doesn\u0027t make it any worse. It would probably be good to change it to print some descriptive string and let LOG.exception handle the printing of the exception.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":248,"context_line":"                    except processutils.ProcessExecutionError:"},{"line_number":249,"context_line":"                        raise"},{"line_number":250,"context_line":"                    except Exception as e:"},{"line_number":251,"context_line":"                        LOG.exception(_LE(\"%s\"), e)"},{"line_number":252,"context_line":"                        greenthread.sleep(random.randint(20, 500) / 100.0)"},{"line_number":253,"context_line":"                msg \u003d (_(\"SSH Command failed after \u0027%(total_attempts)r\u0027 \""},{"line_number":254,"context_line":"                         \"attempts : \u0027%(command)s\u0027\") %"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_137c3320","line":251,"in_reply_to":"1a6ced46_638f6324","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"172f819b17e7299119c9ef80b033e1bd89181824","unresolved":false,"context_lines":[{"line_number":248,"context_line":"                    except processutils.ProcessExecutionError:"},{"line_number":249,"context_line":"                        raise"},{"line_number":250,"context_line":"                    except Exception:"},{"line_number":251,"context_line":"                        LOG.exception(_LE(\"Filed to execute ssh command.\"))"},{"line_number":252,"context_line":"                        greenthread.sleep(random.randint(20, 500) / 100.0)"},{"line_number":253,"context_line":"                msg \u003d (_(\"SSH Command failed after \u0027%(total_attempts)r\u0027 \""},{"line_number":254,"context_line":"                         \"attempts : \u0027%(command)s\u0027\") %"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a6ced46_652ca203","line":251,"updated":"2015-03-24 08:51:29.000000000","message":"s/Filed/Failed/","commit_id":"a6ba0d25dcc816e2c8378b268d4c40cda152202b"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"5df55886dcb7bd465949e4a4101029020af7b8b1","unresolved":false,"context_lines":[{"line_number":248,"context_line":"                    except processutils.ProcessExecutionError:"},{"line_number":249,"context_line":"                        raise"},{"line_number":250,"context_line":"                    except Exception:"},{"line_number":251,"context_line":"                        LOG.exception(_LE(\"Filed to execute ssh command.\"))"},{"line_number":252,"context_line":"                        greenthread.sleep(random.randint(20, 500) / 100.0)"},{"line_number":253,"context_line":"                msg \u003d (_(\"SSH Command failed after \u0027%(total_attempts)r\u0027 \""},{"line_number":254,"context_line":"                         \"attempts : \u0027%(command)s\u0027\") %"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a6ced46_404a34ad","line":251,"in_reply_to":"1a6ced46_652ca203","updated":"2015-03-24 09:24:18.000000000","message":"Done","commit_id":"a6ba0d25dcc816e2c8378b268d4c40cda152202b"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f310c5174242d8aa07237eb37435194ca8f5a1b2","unresolved":false,"context_lines":[{"line_number":246,"context_line":"                            ssh, command,"},{"line_number":247,"context_line":"                            timeout\u003dself.configuration.eqlx_cli_timeout)"},{"line_number":248,"context_line":"                    except Exception as e:"},{"line_number":249,"context_line":"                        LOG.exception(e)"},{"line_number":250,"context_line":"                        greenthread.sleep(random.randint(20, 500) / 100.0)"},{"line_number":251,"context_line":"                msg \u003d (_(\"SSH Command failed after \u0027%(total_attempts)r\u0027 \""},{"line_number":252,"context_line":"                         \"attempts : \u0027%(command)s\u0027\") %"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a0c5dc1_6eb9752e","line":249,"updated":"2015-05-12 13:26:21.000000000","message":"This is from a rebase. If you need to do another update it would be good to fix this incorrect usage. Otherwise I am fine with it being cleaned up in a future patch.","commit_id":"a09c4e1747ba4027c90debdbbe698406c3096188"}],"cinder/volume/drivers/fujitsu/eternus_dx_common.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"3c6ce2483a3b919f6ad850147d9b5d488f665298","unresolved":false,"context_lines":[{"line_number":877,"context_line":"                                               self._getnum(2, \u002716\u0027)],"},{"line_number":878,"context_line":"                                           ProtocolControllers\u003d[lunmask_ctrl])"},{"line_number":879,"context_line":"                results.append(rc)"},{"line_number":880,"context_line":"                if rc !\u003d 0L:"},{"line_number":881,"context_line":"                    msg \u003d (_(\u0027Error mapping volume %(volumename)s.rc:%(rc)lu\u0027)"},{"line_number":882,"context_line":"                           % {\u0027volumename\u0027: volumename, \u0027rc\u0027: rc})"},{"line_number":883,"context_line":"                    LOG.warn(msg)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_6949f331","line":880,"updated":"2015-03-17 15:35:25.000000000","message":"Even though this is warn instead of warning, it is still a warning level log message and does need the _LW() wrapper.","commit_id":"54b5141436554f8e9c6fd934d30421b9617e7695"}],"cinder/volume/drivers/glusterfs.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"49dcdc2eafb8bc4fca3566cb87a345062d893331","unresolved":false,"context_lines":[{"line_number":161,"context_line":"            try:"},{"line_number":162,"context_line":"                self._do_umount(True, share)"},{"line_number":163,"context_line":"            except Exception as exc:"},{"line_number":164,"context_line":"                LOG.warning(_LW(\u0027Exception during unmounting %s\u0027) % (exc))"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"    def _do_umount(self, ignore_not_mounted, share):"},{"line_number":167,"context_line":"        mount_path \u003d self._get_mount_point_for_share(share)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_7b12c70a","line":164,"updated":"2015-03-16 18:14:37.000000000","message":"%-\u003e,","commit_id":"54b5141436554f8e9c6fd934d30421b9617e7695"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"4a29ca7cfe28e04aed3a889b37f2927cc218b32e","unresolved":false,"context_lines":[{"line_number":161,"context_line":"            try:"},{"line_number":162,"context_line":"                self._do_umount(True, share)"},{"line_number":163,"context_line":"            except Exception as exc:"},{"line_number":164,"context_line":"                LOG.warning(_LW(\u0027Exception during unmounting %s\u0027) % (exc))"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"    def _do_umount(self, ignore_not_mounted, share):"},{"line_number":167,"context_line":"        mount_path \u003d self._get_mount_point_for_share(share)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a6ced46_2f82c452","line":164,"in_reply_to":"9a80dd14_7b12c70a","updated":"2015-03-22 20:21:59.000000000","message":"Done","commit_id":"54b5141436554f8e9c6fd934d30421b9617e7695"}],"cinder/volume/drivers/hds/hds.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":176,"context_line":"                conf[ip][\u0027ctl\u0027] \u003d ctl"},{"line_number":177,"context_line":"                conf[ip][\u0027port\u0027] \u003d port"},{"line_number":178,"context_line":"                conf[ip][\u0027iscsi_port\u0027] \u003d ipp  # HUS default: 3260"},{"line_number":179,"context_line":"                msg \u003d _(\u0027portal: %(ip)s:%(ipp)s, CTL: %(ctl)s, port: %(port)s\u0027)"},{"line_number":180,"context_line":"                LOG.debug(msg, {\u0027ip\u0027: ip, \u0027ipp\u0027: ipp,"},{"line_number":181,"context_line":"                                \u0027ctl\u0027: ctl, \u0027port\u0027: port})"},{"line_number":182,"context_line":"        return conf"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_83e29fd3","line":179,"updated":"2015-03-23 14:29:03.000000000","message":"_() should be removed since this is just being used in a LOG.debug call.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":176,"context_line":"                conf[ip][\u0027ctl\u0027] \u003d ctl"},{"line_number":177,"context_line":"                conf[ip][\u0027port\u0027] \u003d port"},{"line_number":178,"context_line":"                conf[ip][\u0027iscsi_port\u0027] \u003d ipp  # HUS default: 3260"},{"line_number":179,"context_line":"                msg \u003d _(\u0027portal: %(ip)s:%(ipp)s, CTL: %(ctl)s, port: %(port)s\u0027)"},{"line_number":180,"context_line":"                LOG.debug(msg, {\u0027ip\u0027: ip, \u0027ipp\u0027: ipp,"},{"line_number":181,"context_line":"                                \u0027ctl\u0027: ctl, \u0027port\u0027: port})"},{"line_number":182,"context_line":"        return conf"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_937903ff","line":179,"in_reply_to":"1a6ced46_83e29fd3","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"}],"cinder/volume/drivers/hds/nfs.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"e1f10341489176254a41f2a631cbe8bcb60fbe5d","unresolved":false,"context_lines":[{"line_number":451,"context_line":"                conf[key][\u0027hdp\u0027] \u003d hdp"},{"line_number":452,"context_line":"                conf[key][\u0027fslabel\u0027] \u003d fslabel"},{"line_number":453,"context_line":"                msg \u003d _LI(\"nfs_info: %(key)s: %(path)s, HDP: \""},{"line_number":454,"context_line":"                          \"%(fslabel)s FSID: %(hdp)s\")"},{"line_number":455,"context_line":"                LOG.info(msg, {\u0027key\u0027: key, \u0027path\u0027: path, \u0027fslabel\u0027: fslabel,"},{"line_number":456,"context_line":"                               \u0027hdp\u0027: hdp})"},{"line_number":457,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"7aaa499b_8a5fe171","line":454,"updated":"2015-04-13 19:53:57.000000000","message":"Another one to be collapsed.","commit_id":"d4f6ef8ff8469781ba1599dfecc881eba0ba3d02"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"22f8a8cd00d3d1c5eb5a48d65a0c471442eccf38","unresolved":false,"context_lines":[{"line_number":451,"context_line":"                conf[key][\u0027hdp\u0027] \u003d hdp"},{"line_number":452,"context_line":"                conf[key][\u0027fslabel\u0027] \u003d fslabel"},{"line_number":453,"context_line":"                msg \u003d _LI(\"nfs_info: %(key)s: %(path)s, HDP: \""},{"line_number":454,"context_line":"                          \"%(fslabel)s FSID: %(hdp)s\")"},{"line_number":455,"context_line":"                LOG.info(msg, {\u0027key\u0027: key, \u0027path\u0027: path, \u0027fslabel\u0027: fslabel,"},{"line_number":456,"context_line":"                               \u0027hdp\u0027: hdp})"},{"line_number":457,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"5ad58531_1c9c8168","line":454,"in_reply_to":"7aaa499b_8a5fe171","updated":"2015-05-11 21:48:40.000000000","message":"Done","commit_id":"d4f6ef8ff8469781ba1599dfecc881eba0ba3d02"}],"cinder/volume/drivers/hitachi/hbsd_basiclib.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a64967b0c723d3bbfe9957a4b62c096189e4c605","unresolved":false,"context_lines":[{"line_number":257,"context_line":"            stdout \u003d e.stdout"},{"line_number":258,"context_line":"            stderr \u003d e.stderr"},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"            LOG.debug(\u0027cmd: %s\u0027, six.text_type(cmd))"},{"line_number":261,"context_line":"            LOG.debug(\u0027from: %s\u0027, six.text_type(inspect.stack()[2]))"},{"line_number":262,"context_line":"            LOG.debug(\u0027ret: %d\u0027, ret)"},{"line_number":263,"context_line":"            LOG.debug(\u0027stdout: %s\u0027, stdout.replace(os.linesep, \u0027 \u0027))"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a6ced46_7ea623c3","line":260,"updated":"2015-03-23 09:13:44.000000000","message":"Shouldn\u0027t you also remove in these 2 lines `six.text_type`?","commit_id":"60b35331a3f4f215fe0fc0dd7d9ccf9517ee7ce1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"41212dd697c9aac85fef6e7bceca485ae08bdb4c","unresolved":false,"context_lines":[{"line_number":257,"context_line":"            stdout \u003d e.stdout"},{"line_number":258,"context_line":"            stderr \u003d e.stderr"},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"            LOG.debug(\u0027cmd: %s\u0027, six.text_type(cmd))"},{"line_number":261,"context_line":"            LOG.debug(\u0027from: %s\u0027, six.text_type(inspect.stack()[2]))"},{"line_number":262,"context_line":"            LOG.debug(\u0027ret: %d\u0027, ret)"},{"line_number":263,"context_line":"            LOG.debug(\u0027stdout: %s\u0027, stdout.replace(os.linesep, \u0027 \u0027))"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a6ced46_c424aac8","line":260,"in_reply_to":"1a6ced46_7ea623c3","updated":"2015-03-23 10:07:54.000000000","message":"IMO this is fine as it is because We are not using translations for debug logs.","commit_id":"60b35331a3f4f215fe0fc0dd7d9ccf9517ee7ce1"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":257,"context_line":"            stdout \u003d e.stdout"},{"line_number":258,"context_line":"            stderr \u003d e.stderr"},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"            LOG.debug(\u0027cmd: %s\u0027, six.text_type(cmd))"},{"line_number":261,"context_line":"            LOG.debug(\u0027from: %s\u0027, six.text_type(inspect.stack()[2]))"},{"line_number":262,"context_line":"            LOG.debug(\u0027ret: %d\u0027, ret)"},{"line_number":263,"context_line":"            LOG.debug(\u0027stdout: %s\u0027, stdout.replace(os.linesep, \u0027 \u0027))"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_23200bf7","line":260,"updated":"2015-03-23 14:29:03.000000000","message":"Remove six.text_type in these two lines. The logger will take care of converting the string as needed.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":257,"context_line":"            stdout \u003d e.stdout"},{"line_number":258,"context_line":"            stderr \u003d e.stderr"},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"            LOG.debug(\u0027cmd: %s\u0027, six.text_type(cmd))"},{"line_number":261,"context_line":"            LOG.debug(\u0027from: %s\u0027, six.text_type(inspect.stack()[2]))"},{"line_number":262,"context_line":"            LOG.debug(\u0027ret: %d\u0027, ret)"},{"line_number":263,"context_line":"            LOG.debug(\u0027stdout: %s\u0027, stdout.replace(os.linesep, \u0027 \u0027))"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_33d84fef","line":260,"in_reply_to":"1a6ced46_23200bf7","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"}],"cinder/volume/drivers/hitachi/hbsd_common.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a64967b0c723d3bbfe9957a4b62c096189e4c605","unresolved":false,"context_lines":[{"line_number":352,"context_line":""},{"line_number":353,"context_line":"    def delete_pair(self, ldev, all_split\u003dTrue, is_vvol\u003dNone):"},{"line_number":354,"context_line":"        paired_info \u003d self.command.get_paired_info(ldev)"},{"line_number":355,"context_line":"        LOG.debug(\u0027paired_info: %s\u0027, six.text_type(paired_info))"},{"line_number":356,"context_line":"        pvol \u003d paired_info[\u0027pvol\u0027]"},{"line_number":357,"context_line":"        svols \u003d paired_info[\u0027svol\u0027]"},{"line_number":358,"context_line":"        driver \u003d self.generated_from"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a6ced46_7e8d4331","line":355,"updated":"2015-03-23 09:13:44.000000000","message":"And here?","commit_id":"60b35331a3f4f215fe0fc0dd7d9ccf9517ee7ce1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"41212dd697c9aac85fef6e7bceca485ae08bdb4c","unresolved":false,"context_lines":[{"line_number":352,"context_line":""},{"line_number":353,"context_line":"    def delete_pair(self, ldev, all_split\u003dTrue, is_vvol\u003dNone):"},{"line_number":354,"context_line":"        paired_info \u003d self.command.get_paired_info(ldev)"},{"line_number":355,"context_line":"        LOG.debug(\u0027paired_info: %s\u0027, six.text_type(paired_info))"},{"line_number":356,"context_line":"        pvol \u003d paired_info[\u0027pvol\u0027]"},{"line_number":357,"context_line":"        svols \u003d paired_info[\u0027svol\u0027]"},{"line_number":358,"context_line":"        driver \u003d self.generated_from"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a6ced46_8f09eb2e","line":355,"in_reply_to":"1a6ced46_7e8d4331","updated":"2015-03-23 10:07:54.000000000","message":"IMO this is fine as it is because We are not using translations for debug logs.","commit_id":"60b35331a3f4f215fe0fc0dd7d9ccf9517ee7ce1"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a64967b0c723d3bbfe9957a4b62c096189e4c605","unresolved":false,"context_lines":[{"line_number":515,"context_line":"        else:"},{"line_number":516,"context_line":"            msg \u003d basic_lib.output_err(636)"},{"line_number":517,"context_line":"            raise exception.HBSDError(message\u003dmsg)"},{"line_number":518,"context_line":"        LOG.debug(\u0027create end (normal: %s)\u0027, six.text_type(new_ldev))"},{"line_number":519,"context_line":"        self.init_volinfo(self.volume_info, new_ldev)"},{"line_number":520,"context_line":"        return new_ldev"},{"line_number":521,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1a6ced46_1e760f3f","line":518,"updated":"2015-03-23 09:13:44.000000000","message":"And here?","commit_id":"60b35331a3f4f215fe0fc0dd7d9ccf9517ee7ce1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"41212dd697c9aac85fef6e7bceca485ae08bdb4c","unresolved":false,"context_lines":[{"line_number":515,"context_line":"        else:"},{"line_number":516,"context_line":"            msg \u003d basic_lib.output_err(636)"},{"line_number":517,"context_line":"            raise exception.HBSDError(message\u003dmsg)"},{"line_number":518,"context_line":"        LOG.debug(\u0027create end (normal: %s)\u0027, six.text_type(new_ldev))"},{"line_number":519,"context_line":"        self.init_volinfo(self.volume_info, new_ldev)"},{"line_number":520,"context_line":"        return new_ldev"},{"line_number":521,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1a6ced46_cf120358","line":518,"in_reply_to":"1a6ced46_1e760f3f","updated":"2015-03-23 10:07:54.000000000","message":"IMO this is fine as it is because We are not using translations for debug logs.","commit_id":"60b35331a3f4f215fe0fc0dd7d9ccf9517ee7ce1"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":352,"context_line":""},{"line_number":353,"context_line":"    def delete_pair(self, ldev, all_split\u003dTrue, is_vvol\u003dNone):"},{"line_number":354,"context_line":"        paired_info \u003d self.command.get_paired_info(ldev)"},{"line_number":355,"context_line":"        LOG.debug(\u0027paired_info: %s\u0027, six.text_type(paired_info))"},{"line_number":356,"context_line":"        pvol \u003d paired_info[\u0027pvol\u0027]"},{"line_number":357,"context_line":"        svols \u003d paired_info[\u0027svol\u0027]"},{"line_number":358,"context_line":"        driver \u003d self.generated_from"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_434b47b0","line":355,"updated":"2015-03-23 14:29:03.000000000","message":"Remove six.text_type().","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":352,"context_line":""},{"line_number":353,"context_line":"    def delete_pair(self, ldev, all_split\u003dTrue, is_vvol\u003dNone):"},{"line_number":354,"context_line":"        paired_info \u003d self.command.get_paired_info(ldev)"},{"line_number":355,"context_line":"        LOG.debug(\u0027paired_info: %s\u0027, six.text_type(paired_info))"},{"line_number":356,"context_line":"        pvol \u003d paired_info[\u0027pvol\u0027]"},{"line_number":357,"context_line":"        svols \u003d paired_info[\u0027svol\u0027]"},{"line_number":358,"context_line":"        driver \u003d self.generated_from"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_d36d3b06","line":355,"in_reply_to":"1a6ced46_434b47b0","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":515,"context_line":"        else:"},{"line_number":516,"context_line":"            msg \u003d basic_lib.output_err(636)"},{"line_number":517,"context_line":"            raise exception.HBSDError(message\u003dmsg)"},{"line_number":518,"context_line":"        LOG.debug(\u0027create end (normal: %s)\u0027, six.text_type(new_ldev))"},{"line_number":519,"context_line":"        self.init_volinfo(self.volume_info, new_ldev)"},{"line_number":520,"context_line":"        return new_ldev"},{"line_number":521,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_03d86fee","line":518,"updated":"2015-03-23 14:29:03.000000000","message":"Remove six.text_type().","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":515,"context_line":"        else:"},{"line_number":516,"context_line":"            msg \u003d basic_lib.output_err(636)"},{"line_number":517,"context_line":"            raise exception.HBSDError(message\u003dmsg)"},{"line_number":518,"context_line":"        LOG.debug(\u0027create end (normal: %s)\u0027, six.text_type(new_ldev))"},{"line_number":519,"context_line":"        self.init_volinfo(self.volume_info, new_ldev)"},{"line_number":520,"context_line":"        return new_ldev"},{"line_number":521,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_9363c319","line":518,"in_reply_to":"1a6ced46_03d86fee","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"}],"cinder/volume/drivers/hitachi/hbsd_horcm.py":[{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"d0f9cf8f86698ea98abc069c94bf96f021c319ab","unresolved":false,"context_lines":[{"line_number":896,"context_line":"    def discard_zero_page(self, ldev):"},{"line_number":897,"context_line":"        try:"},{"line_number":898,"context_line":"            self.comm_modify_ldev(ldev)"},{"line_number":899,"context_line":"        except Exception as e:"},{"line_number":900,"context_line":"            LOG.warning(_LW(\u0027Failed to discard zero page: %s\u0027), e)"},{"line_number":901,"context_line":""},{"line_number":902,"context_line":"    @storage_synchronized"}],"source_content_type":"text/x-python","patch_set":13,"id":"7aaa499b_1da448a4","line":899,"updated":"2015-04-13 14:54:45.000000000","message":"Would you change `e` to `ex` for consistency with below code?","commit_id":"d4f6ef8ff8469781ba1599dfecc881eba0ba3d02"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"28946ef280cf82c6c942e7890673e732ae4ba6db","unresolved":false,"context_lines":[{"line_number":896,"context_line":"    def discard_zero_page(self, ldev):"},{"line_number":897,"context_line":"        try:"},{"line_number":898,"context_line":"            self.comm_modify_ldev(ldev)"},{"line_number":899,"context_line":"        except Exception as e:"},{"line_number":900,"context_line":"            LOG.warning(_LW(\u0027Failed to discard zero page: %s\u0027), e)"},{"line_number":901,"context_line":""},{"line_number":902,"context_line":"    @storage_synchronized"}],"source_content_type":"text/x-python","patch_set":13,"id":"7aaa499b_79cfd97f","line":899,"in_reply_to":"7aaa499b_1da448a4","updated":"2015-04-13 16:41:35.000000000","message":"This is not what we are trying to fix in this patch. Also different variables are used for exception at all places. We can not handle all these issues in a single patch, though it has already bean a big enough for review.","commit_id":"d4f6ef8ff8469781ba1599dfecc881eba0ba3d02"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"22f8a8cd00d3d1c5eb5a48d65a0c471442eccf38","unresolved":false,"context_lines":[{"line_number":896,"context_line":"    def discard_zero_page(self, ldev):"},{"line_number":897,"context_line":"        try:"},{"line_number":898,"context_line":"            self.comm_modify_ldev(ldev)"},{"line_number":899,"context_line":"        except Exception as e:"},{"line_number":900,"context_line":"            LOG.warning(_LW(\u0027Failed to discard zero page: %s\u0027), e)"},{"line_number":901,"context_line":""},{"line_number":902,"context_line":"    @storage_synchronized"}],"source_content_type":"text/x-python","patch_set":13,"id":"5ad58531_9c863112","line":899,"in_reply_to":"7aaa499b_2a59ed5a","updated":"2015-05-11 21:48:40.000000000","message":"Done","commit_id":"d4f6ef8ff8469781ba1599dfecc881eba0ba3d02"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"e1f10341489176254a41f2a631cbe8bcb60fbe5d","unresolved":false,"context_lines":[{"line_number":896,"context_line":"    def discard_zero_page(self, ldev):"},{"line_number":897,"context_line":"        try:"},{"line_number":898,"context_line":"            self.comm_modify_ldev(ldev)"},{"line_number":899,"context_line":"        except Exception as e:"},{"line_number":900,"context_line":"            LOG.warning(_LW(\u0027Failed to discard zero page: %s\u0027), e)"},{"line_number":901,"context_line":""},{"line_number":902,"context_line":"    @storage_synchronized"}],"source_content_type":"text/x-python","patch_set":13,"id":"7aaa499b_2a59ed5a","line":899,"in_reply_to":"7aaa499b_79cfd97f","updated":"2015-04-13 19:53:57.000000000","message":"I would be ok with making this change.","commit_id":"d4f6ef8ff8469781ba1599dfecc881eba0ba3d02"}],"cinder/volume/drivers/huawei/huawei_utils.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"53778727562aa81dff0eeaa29bdc75964f441ec9","unresolved":false,"context_lines":[{"line_number":40,"context_line":"        return root"},{"line_number":41,"context_line":"    except IOError as err:"},{"line_number":42,"context_line":"        LOG.error(_LE(\u0027parse_xml_file: %s\u0027), err)"},{"line_number":43,"context_line":"        raise err"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"def get_xml_item(xml_root, item):"}],"source_content_type":"text/x-python","patch_set":11,"id":"9aa53dc9_edd1b558","line":43,"updated":"2015-04-08 14:21:27.000000000","message":"This should just be raise and not raise err, but that is outside the scope of this patch.","commit_id":"5b71cf377d93da1be740d568cc9e7e359e5a3e19"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"a057980c6840e702c8269eae3506fd8eee5fe71f","unresolved":false,"context_lines":[{"line_number":40,"context_line":"        return root"},{"line_number":41,"context_line":"    except IOError as err:"},{"line_number":42,"context_line":"        LOG.error(_LE(\u0027parse_xml_file: %s\u0027), err)"},{"line_number":43,"context_line":"        raise err"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"def get_xml_item(xml_root, item):"}],"source_content_type":"text/x-python","patch_set":11,"id":"7aaa499b_fbb3fd08","line":43,"in_reply_to":"9aa53dc9_edd1b558","updated":"2015-04-12 09:30:01.000000000","message":"Done","commit_id":"5b71cf377d93da1be740d568cc9e7e359e5a3e19"}],"cinder/volume/drivers/huawei/rest_common.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"53778727562aa81dff0eeaa29bdc75964f441ec9","unresolved":false,"context_lines":[{"line_number":658,"context_line":""},{"line_number":659,"context_line":"        LOG.info(_LI(\u0027_mapping_hostgroup_and_lungroup, lun_group: \u0027"},{"line_number":660,"context_line":"                     \u0027%(lun_group)s, view_id: %(view_id)s, lun_id: \u0027"},{"line_number":661,"context_line":"                     \u0027%(lun_id)s.\u0027), {\u0027lun_group\u0027: six.text_type(lungroup_id),"},{"line_number":662,"context_line":"                                      \u0027view_id\u0027: six.text_type(view_id),"},{"line_number":663,"context_line":"                                      \u0027lun_id\u0027: six.text_type(lun_id)})"},{"line_number":664,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"9aa53dc9_4df661d8","line":661,"updated":"2015-04-08 14:21:27.000000000","message":"Should not have six.text_type for these.","commit_id":"5b71cf377d93da1be740d568cc9e7e359e5a3e19"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"a057980c6840e702c8269eae3506fd8eee5fe71f","unresolved":false,"context_lines":[{"line_number":658,"context_line":""},{"line_number":659,"context_line":"        LOG.info(_LI(\u0027_mapping_hostgroup_and_lungroup, lun_group: \u0027"},{"line_number":660,"context_line":"                     \u0027%(lun_group)s, view_id: %(view_id)s, lun_id: \u0027"},{"line_number":661,"context_line":"                     \u0027%(lun_id)s.\u0027), {\u0027lun_group\u0027: six.text_type(lungroup_id),"},{"line_number":662,"context_line":"                                      \u0027view_id\u0027: six.text_type(view_id),"},{"line_number":663,"context_line":"                                      \u0027lun_id\u0027: six.text_type(lun_id)})"},{"line_number":664,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"7aaa499b_dbb841e8","line":661,"in_reply_to":"9aa53dc9_4df661d8","updated":"2015-04-12 09:30:01.000000000","message":"Done","commit_id":"5b71cf377d93da1be740d568cc9e7e359e5a3e19"}],"cinder/volume/drivers/huawei/ssh_common.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"3c6ce2483a3b919f6ad850147d9b5d488f665298","unresolved":false,"context_lines":[{"line_number":514,"context_line":""},{"line_number":515,"context_line":"        self._update_login_info()"},{"line_number":516,"context_line":"        volume_id \u003d volume.get(\u0027provider_location\u0027, None)"},{"line_number":517,"context_line":"        if volume_id is None or not self._check_volume_created(volume_id):"},{"line_number":518,"context_line":"            err_msg \u003d (_(\u0027delete_volume: Volume %(name)s does not exist.\u0027)"},{"line_number":519,"context_line":"                       % {\u0027name\u0027: volume[\u0027name\u0027]})"},{"line_number":520,"context_line":"            LOG.warn(err_msg)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_e91083ad","line":517,"updated":"2015-03-17 15:35:25.000000000","message":"Needs to be _LW().","commit_id":"54b5141436554f8e9c6fd934d30421b9617e7695"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"3c6ce2483a3b919f6ad850147d9b5d488f665298","unresolved":false,"context_lines":[{"line_number":871,"context_line":"                raise exception.VolumeBackendAPIException(data\u003derr_msg)"},{"line_number":872,"context_line":""},{"line_number":873,"context_line":"            self._delete_snapshot(snapshot_id)"},{"line_number":874,"context_line":"        else:"},{"line_number":875,"context_line":"            err_msg \u003d (_(\u0027delete_snapshot: Snapshot %(snap)s does not exist.\u0027)"},{"line_number":876,"context_line":"                       % {\u0027snap\u0027: snapshot_name})"},{"line_number":877,"context_line":"            LOG.warn(err_msg)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_29829bc8","line":874,"updated":"2015-03-17 15:35:25.000000000","message":"_LW()","commit_id":"54b5141436554f8e9c6fd934d30421b9617e7695"}],"cinder/volume/drivers/ibm/ibmnas.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"53778727562aa81dff0eeaa29bdc75964f441ec9","unresolved":false,"context_lines":[{"line_number":169,"context_line":"        try:"},{"line_number":170,"context_line":"            self._run_ssh(ssh_cmd)"},{"line_number":171,"context_line":"        except processutils.ProcessExecutionError as e:"},{"line_number":172,"context_line":"            msg \u003d (_(\u0027Failed in _ssh_operation while execution of ssh_cmd:\u0027"},{"line_number":173,"context_line":"                   \u0027%(cmd)s. Error: %(error)s\u0027) % {\u0027cmd\u0027: ssh_cmd, \u0027error\u0027: e})"},{"line_number":174,"context_line":"            LOG.exception(msg)"},{"line_number":175,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":11,"id":"9aa53dc9_8dafc993","line":172,"updated":"2015-04-08 14:21:27.000000000","message":"Need six.text_type around the \"e\" since we are doing the string formatting directly.","commit_id":"5b71cf377d93da1be740d568cc9e7e359e5a3e19"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"a057980c6840e702c8269eae3506fd8eee5fe71f","unresolved":false,"context_lines":[{"line_number":169,"context_line":"        try:"},{"line_number":170,"context_line":"            self._run_ssh(ssh_cmd)"},{"line_number":171,"context_line":"        except processutils.ProcessExecutionError as e:"},{"line_number":172,"context_line":"            msg \u003d (_(\u0027Failed in _ssh_operation while execution of ssh_cmd:\u0027"},{"line_number":173,"context_line":"                   \u0027%(cmd)s. Error: %(error)s\u0027) % {\u0027cmd\u0027: ssh_cmd, \u0027error\u0027: e})"},{"line_number":174,"context_line":"            LOG.exception(msg)"},{"line_number":175,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":11,"id":"7aaa499b_bbce9581","line":172,"in_reply_to":"9aa53dc9_8dafc993","updated":"2015-04-12 09:30:01.000000000","message":"Done","commit_id":"5b71cf377d93da1be740d568cc9e7e359e5a3e19"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"53778727562aa81dff0eeaa29bdc75964f441ec9","unresolved":false,"context_lines":[{"line_number":223,"context_line":"        except processutils.ProcessExecutionError as e:"},{"line_number":224,"context_line":"            msg \u003d (_(\"Failed to resize volume \""},{"line_number":225,"context_line":"                     \"%(volume_id)s, error: %(error)s\") %"},{"line_number":226,"context_line":"                   {\u0027volume_id\u0027: os.path.basename(path).split(\u0027-\u0027)[1],"},{"line_number":227,"context_line":"                    \u0027error\u0027: e.stderr})"},{"line_number":228,"context_line":"            LOG.error(msg)"},{"line_number":229,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":11,"id":"9aa53dc9_8d86a911","line":226,"updated":"2015-04-08 14:21:27.000000000","message":"Should have six.text_type().","commit_id":"5b71cf377d93da1be740d568cc9e7e359e5a3e19"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"53778727562aa81dff0eeaa29bdc75964f441ec9","unresolved":false,"context_lines":[{"line_number":246,"context_line":"            ssh_cmd \u003d [\u0027lsclone\u0027, fchild]"},{"line_number":247,"context_line":"        try:"},{"line_number":248,"context_line":"            (out, _err) \u003d self._run_ssh(ssh_cmd, check_exit_code\u003dFalse)"},{"line_number":249,"context_line":"        except processutils.ProcessExecutionError as e:"},{"line_number":250,"context_line":"            msg \u003d (_(\"Failed in _delete_snapfiles. Error: %s\") % e.stderr)"},{"line_number":251,"context_line":"            LOG.error(msg)"},{"line_number":252,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":11,"id":"9aa53dc9_2d78bd29","line":249,"updated":"2015-04-08 14:21:27.000000000","message":"Should have six.text_type().","commit_id":"5b71cf377d93da1be740d568cc9e7e359e5a3e19"}],"cinder/volume/drivers/ibm/storwize_svc/__init__.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":704,"context_line":"                self._vdiskcopyops_loop \u003d None"},{"line_number":705,"context_line":"        except KeyError:"},{"line_number":706,"context_line":"            msg \u003d (_LE(\u0027_rm_vdisk_copy_op: Volume %s does not have any \u0027"},{"line_number":707,"context_line":"                       \u0027registered vdisk copy operations.\u0027), volume[\u0027id\u0027])"},{"line_number":708,"context_line":"            LOG.error(msg)"},{"line_number":709,"context_line":"            return"},{"line_number":710,"context_line":"        except ValueError:"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_83361f02","line":707,"updated":"2015-03-23 14:29:03.000000000","message":"Move this into the LOG.error call so , can be used instead of %.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":704,"context_line":"                self._vdiskcopyops_loop \u003d None"},{"line_number":705,"context_line":"        except KeyError:"},{"line_number":706,"context_line":"            msg \u003d (_LE(\u0027_rm_vdisk_copy_op: Volume %s does not have any \u0027"},{"line_number":707,"context_line":"                       \u0027registered vdisk copy operations.\u0027), volume[\u0027id\u0027])"},{"line_number":708,"context_line":"            LOG.error(msg)"},{"line_number":709,"context_line":"            return"},{"line_number":710,"context_line":"        except ValueError:"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_a694ff37","line":707,"in_reply_to":"1a6ced46_83361f02","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":710,"context_line":"        except ValueError:"},{"line_number":711,"context_line":"            msg \u003d (_LE(\u0027_rm_vdisk_copy_op: Volume %(vol)s does not have the \u0027"},{"line_number":712,"context_line":"                       \u0027specified vdisk copy operation: orig\u003d%(orig)s \u0027"},{"line_number":713,"context_line":"                       \u0027new\u003d%(new)s.\u0027),"},{"line_number":714,"context_line":"                   {\u0027vol\u0027: volume[\u0027id\u0027], \u0027orig\u0027: orig_copy_id,"},{"line_number":715,"context_line":"                    \u0027new\u0027: new_copy_id})"},{"line_number":716,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_c3401759","line":713,"updated":"2015-03-23 14:29:03.000000000","message":"Same as above.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":710,"context_line":"        except ValueError:"},{"line_number":711,"context_line":"            msg \u003d (_LE(\u0027_rm_vdisk_copy_op: Volume %(vol)s does not have the \u0027"},{"line_number":712,"context_line":"                       \u0027specified vdisk copy operation: orig\u003d%(orig)s \u0027"},{"line_number":713,"context_line":"                       \u0027new\u003d%(new)s.\u0027),"},{"line_number":714,"context_line":"                   {\u0027vol\u0027: volume[\u0027id\u0027], \u0027orig\u0027: orig_copy_id,"},{"line_number":715,"context_line":"                    \u0027new\u0027: new_copy_id})"},{"line_number":716,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_6673e74d","line":713,"in_reply_to":"1a6ced46_c3401759","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":721,"context_line":"        curr_ops \u003d metadata.get(\u0027vdiskcopyops\u0027, None)"},{"line_number":722,"context_line":"        if not curr_ops:"},{"line_number":723,"context_line":"            msg \u003d (_LE(\u0027_rm_vdisk_copy_op: Volume metadata %s does not have \u0027"},{"line_number":724,"context_line":"                       \u0027any registered vdisk copy operations.\u0027), volume[\u0027id\u0027])"},{"line_number":725,"context_line":"            LOG.error(msg)"},{"line_number":726,"context_line":"            return"},{"line_number":727,"context_line":"        curr_ops_list \u003d [tuple(x.split(\u0027:\u0027)) for x in curr_ops.split(\u0027;\u0027)]"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_03222fb9","line":724,"updated":"2015-03-23 14:29:03.000000000","message":"Same as above.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":721,"context_line":"        curr_ops \u003d metadata.get(\u0027vdiskcopyops\u0027, None)"},{"line_number":722,"context_line":"        if not curr_ops:"},{"line_number":723,"context_line":"            msg \u003d (_LE(\u0027_rm_vdisk_copy_op: Volume metadata %s does not have \u0027"},{"line_number":724,"context_line":"                       \u0027any registered vdisk copy operations.\u0027), volume[\u0027id\u0027])"},{"line_number":725,"context_line":"            LOG.error(msg)"},{"line_number":726,"context_line":"            return"},{"line_number":727,"context_line":"        curr_ops_list \u003d [tuple(x.split(\u0027:\u0027)) for x in curr_ops.split(\u0027;\u0027)]"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_2679ef2f","line":724,"in_reply_to":"1a6ced46_03222fb9","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":730,"context_line":"        except ValueError:"},{"line_number":731,"context_line":"            msg \u003d (_LE(\u0027_rm_vdisk_copy_op: Volume %(vol)s metadata does not \u0027"},{"line_number":732,"context_line":"                       \u0027have the specified vdisk copy operation: \u0027"},{"line_number":733,"context_line":"                       \u0027orig\u003d%(orig)s new\u003d%(new)s.\u0027),"},{"line_number":734,"context_line":"                   {\u0027vol\u0027: volume[\u0027id\u0027], \u0027orig\u0027: orig_copy_id,"},{"line_number":735,"context_line":"                    \u0027new\u0027: new_copy_id})"},{"line_number":736,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_63184385","line":733,"updated":"2015-03-23 14:29:03.000000000","message":"Same as above.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":730,"context_line":"        except ValueError:"},{"line_number":731,"context_line":"            msg \u003d (_LE(\u0027_rm_vdisk_copy_op: Volume %(vol)s metadata does not \u0027"},{"line_number":732,"context_line":"                       \u0027have the specified vdisk copy operation: \u0027"},{"line_number":733,"context_line":"                       \u0027orig\u003d%(orig)s new\u003d%(new)s.\u0027),"},{"line_number":734,"context_line":"                   {\u0027vol\u0027: volume[\u0027id\u0027], \u0027orig\u0027: orig_copy_id,"},{"line_number":735,"context_line":"                    \u0027new\u0027: new_copy_id})"},{"line_number":736,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_e687d70d","line":733,"in_reply_to":"1a6ced46_63184385","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":789,"context_line":"                except Exception:"},{"line_number":790,"context_line":"                    msg \u003d (_LI(\u0027_check_volume_copy_ops: Volume %(vol)s does \u0027"},{"line_number":791,"context_line":"                               \u0027not have the specified vdisk copy operation: \u0027"},{"line_number":792,"context_line":"                               \u0027orig\u003d%(orig)s new\u003d%(new)s.\u0027),"},{"line_number":793,"context_line":"                           {\u0027vol\u0027: volume[\u0027id\u0027], \u0027orig\u0027: copy_op[0],"},{"line_number":794,"context_line":"                            \u0027new\u0027: copy_op[1]})"},{"line_number":795,"context_line":"                    LOG.info(msg)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_23064b21","line":792,"updated":"2015-03-23 14:29:03.000000000","message":"Same.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":789,"context_line":"                except Exception:"},{"line_number":790,"context_line":"                    msg \u003d (_LI(\u0027_check_volume_copy_ops: Volume %(vol)s does \u0027"},{"line_number":791,"context_line":"                               \u0027not have the specified vdisk copy operation: \u0027"},{"line_number":792,"context_line":"                               \u0027orig\u003d%(orig)s new\u003d%(new)s.\u0027),"},{"line_number":793,"context_line":"                           {\u0027vol\u0027: volume[\u0027id\u0027], \u0027orig\u0027: copy_op[0],"},{"line_number":794,"context_line":"                            \u0027new\u0027: copy_op[1]})"},{"line_number":795,"context_line":"                    LOG.info(msg)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_c682dbff","line":792,"in_reply_to":"1a6ced46_23064b21","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"}],"cinder/volume/drivers/lvm.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"53778727562aa81dff0eeaa29bdc75964f441ec9","unresolved":false,"context_lines":[{"line_number":289,"context_line":"                    self.vg.create_thin_pool(pool_name)"},{"line_number":290,"context_line":"                except processutils.ProcessExecutionError as exc:"},{"line_number":291,"context_line":"                    exception_message \u003d (_(\"Failed to create thin pool, \""},{"line_number":292,"context_line":"                                           \"error message was: %s\")"},{"line_number":293,"context_line":"                                         % exc.stderr)"},{"line_number":294,"context_line":"                    raise exception.VolumeBackendAPIException("},{"line_number":295,"context_line":"                        data\u003dexception_message)"}],"source_content_type":"text/x-python","patch_set":11,"id":"9aa53dc9_0d74d9fa","line":292,"updated":"2015-04-08 14:21:27.000000000","message":"Should use six.text_type().","commit_id":"5b71cf377d93da1be740d568cc9e7e359e5a3e19"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"a057980c6840e702c8269eae3506fd8eee5fe71f","unresolved":false,"context_lines":[{"line_number":289,"context_line":"                    self.vg.create_thin_pool(pool_name)"},{"line_number":290,"context_line":"                except processutils.ProcessExecutionError as exc:"},{"line_number":291,"context_line":"                    exception_message \u003d (_(\"Failed to create thin pool, \""},{"line_number":292,"context_line":"                                           \"error message was: %s\")"},{"line_number":293,"context_line":"                                         % exc.stderr)"},{"line_number":294,"context_line":"                    raise exception.VolumeBackendAPIException("},{"line_number":295,"context_line":"                        data\u003dexception_message)"}],"source_content_type":"text/x-python","patch_set":11,"id":"7aaa499b_9bcbd972","line":292,"in_reply_to":"9aa53dc9_0d74d9fa","updated":"2015-04-12 09:30:01.000000000","message":"Done","commit_id":"5b71cf377d93da1be740d568cc9e7e359e5a3e19"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"53778727562aa81dff0eeaa29bdc75964f441ec9","unresolved":false,"context_lines":[{"line_number":541,"context_line":"            try:"},{"line_number":542,"context_line":"                (vg for vg in vg_list if vg[\u0027name\u0027] \u003d\u003d dest_vg).next()"},{"line_number":543,"context_line":"            except StopIteration:"},{"line_number":544,"context_line":"                message \u003d (_LE(\"Destination Volume Group %s does not exist\"),"},{"line_number":545,"context_line":"                           dest_vg)"},{"line_number":546,"context_line":"                LOG.error(message)"},{"line_number":547,"context_line":"                return false_ret"}],"source_content_type":"text/x-python","patch_set":11,"id":"9aa53dc9_ade96d82","line":544,"updated":"2015-04-08 14:21:27.000000000","message":"Move into the LOG.error() call or change , back to %.","commit_id":"5b71cf377d93da1be740d568cc9e7e359e5a3e19"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"a057980c6840e702c8269eae3506fd8eee5fe71f","unresolved":false,"context_lines":[{"line_number":541,"context_line":"            try:"},{"line_number":542,"context_line":"                (vg for vg in vg_list if vg[\u0027name\u0027] \u003d\u003d dest_vg).next()"},{"line_number":543,"context_line":"            except StopIteration:"},{"line_number":544,"context_line":"                message \u003d (_LE(\"Destination Volume Group %s does not exist\"),"},{"line_number":545,"context_line":"                           dest_vg)"},{"line_number":546,"context_line":"                LOG.error(message)"},{"line_number":547,"context_line":"                return false_ret"}],"source_content_type":"text/x-python","patch_set":11,"id":"7aaa499b_5bc55159","line":544,"in_reply_to":"9aa53dc9_ade96d82","updated":"2015-04-12 09:30:01.000000000","message":"Done","commit_id":"5b71cf377d93da1be740d568cc9e7e359e5a3e19"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"53778727562aa81dff0eeaa29bdc75964f441ec9","unresolved":false,"context_lines":[{"line_number":575,"context_line":"            return (True, model_update)"},{"line_number":576,"context_line":"        else:"},{"line_number":577,"context_line":"            message \u003d (_(\"Refusing to migrate volume ID: %(id)s. Please \""},{"line_number":578,"context_line":"                         \"check your configuration because source and \""},{"line_number":579,"context_line":"                         \"destination are the same Volume Group: %(name)s.\"),"},{"line_number":580,"context_line":"                       {\u0027id\u0027: volume[\u0027id\u0027], \u0027name\u0027: self.vg.vg_name})"},{"line_number":581,"context_line":"            LOG.exception(message)"}],"source_content_type":"text/x-python","patch_set":11,"id":"9aa53dc9_0df9794d","line":578,"updated":"2015-04-08 14:21:27.000000000","message":", \u003d\u003e %","commit_id":"5b71cf377d93da1be740d568cc9e7e359e5a3e19"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"a057980c6840e702c8269eae3506fd8eee5fe71f","unresolved":false,"context_lines":[{"line_number":575,"context_line":"            return (True, model_update)"},{"line_number":576,"context_line":"        else:"},{"line_number":577,"context_line":"            message \u003d (_(\"Refusing to migrate volume ID: %(id)s. Please \""},{"line_number":578,"context_line":"                         \"check your configuration because source and \""},{"line_number":579,"context_line":"                         \"destination are the same Volume Group: %(name)s.\"),"},{"line_number":580,"context_line":"                       {\u0027id\u0027: volume[\u0027id\u0027], \u0027name\u0027: self.vg.vg_name})"},{"line_number":581,"context_line":"            LOG.exception(message)"}],"source_content_type":"text/x-python","patch_set":11,"id":"7aaa499b_3ba165aa","line":578,"in_reply_to":"9aa53dc9_0df9794d","updated":"2015-04-12 09:30:01.000000000","message":"Done","commit_id":"5b71cf377d93da1be740d568cc9e7e359e5a3e19"}],"cinder/volume/drivers/netapp/dataontap/block_base.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a64967b0c723d3bbfe9957a4b62c096189e4c605","unresolved":false,"context_lines":[{"line_number":494,"context_line":"                else:"},{"line_number":495,"context_line":"                    LOG.error(_LE(\"Unknown exception in\""},{"line_number":496,"context_line":"                                  \" post clone resize LUN %s.\"), seg[-1])"},{"line_number":497,"context_line":"                    LOG.error(_LE(\"Exception details: %s\"), (e.__str__()))"},{"line_number":498,"context_line":""},{"line_number":499,"context_line":"    def _get_lun_block_count(self, path):"},{"line_number":500,"context_line":"        \"\"\"Gets block counts for the LUN.\"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"1a6ced46_bea41b58","line":497,"updated":"2015-03-23 09:13:44.000000000","message":"Shouldn\u0027t this be just e?","commit_id":"60b35331a3f4f215fe0fc0dd7d9ccf9517ee7ce1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"41212dd697c9aac85fef6e7bceca485ae08bdb4c","unresolved":false,"context_lines":[{"line_number":494,"context_line":"                else:"},{"line_number":495,"context_line":"                    LOG.error(_LE(\"Unknown exception in\""},{"line_number":496,"context_line":"                                  \" post clone resize LUN %s.\"), seg[-1])"},{"line_number":497,"context_line":"                    LOG.error(_LE(\"Exception details: %s\"), (e.__str__()))"},{"line_number":498,"context_line":""},{"line_number":499,"context_line":"    def _get_lun_block_count(self, path):"},{"line_number":500,"context_line":"        \"\"\"Gets block counts for the LUN.\"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"1a6ced46_a4d6cec3","line":497,"in_reply_to":"1a6ced46_bea41b58","updated":"2015-03-23 10:07:54.000000000","message":"Done","commit_id":"60b35331a3f4f215fe0fc0dd7d9ccf9517ee7ce1"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        if prop in self.metadata:"},{"line_number":57,"context_line":"            return self.metadata[prop]"},{"line_number":58,"context_line":"        name \u003d self.name"},{"line_number":59,"context_line":"        msg \u003d _(\"No metadata property %(prop)s defined for the LUN %(name)s\")"},{"line_number":60,"context_line":"        msg_fmt \u003d {\u0027prop\u0027: prop, \u0027name\u0027: name}"},{"line_number":61,"context_line":"        LOG.debug(msg, msg_fmt)"},{"line_number":62,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_27af36e5","line":59,"updated":"2015-03-23 14:29:03.000000000","message":"Remove _() since this is only being used for the debug logging.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        if prop in self.metadata:"},{"line_number":57,"context_line":"            return self.metadata[prop]"},{"line_number":58,"context_line":"        name \u003d self.name"},{"line_number":59,"context_line":"        msg \u003d _(\"No metadata property %(prop)s defined for the LUN %(name)s\")"},{"line_number":60,"context_line":"        msg_fmt \u003d {\u0027prop\u0027: prop, \u0027name\u0027: name}"},{"line_number":61,"context_line":"        LOG.debug(msg, msg_fmt)"},{"line_number":62,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_66ef67b1","line":59,"in_reply_to":"1a6ced46_27af36e5","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":607,"context_line":"        initiator_name \u003d connector[\u0027initiator\u0027]"},{"line_number":608,"context_line":"        name \u003d volume[\u0027name\u0027]"},{"line_number":609,"context_line":"        lun_id \u003d self._map_lun(name, [initiator_name], \u0027iscsi\u0027, None)"},{"line_number":610,"context_line":"        msg \u003d _(\"Mapped LUN %(name)s to the initiator %(initiator_name)s\")"},{"line_number":611,"context_line":"        msg_fmt \u003d {\u0027name\u0027: name, \u0027initiator_name\u0027: initiator_name}"},{"line_number":612,"context_line":"        LOG.debug(msg, msg_fmt)"},{"line_number":613,"context_line":"        target_details_list \u003d self.zapi_client.get_iscsi_target_details()"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_c7ee6222","line":610,"updated":"2015-03-23 14:29:03.000000000","message":"Remove _()","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":607,"context_line":"        initiator_name \u003d connector[\u0027initiator\u0027]"},{"line_number":608,"context_line":"        name \u003d volume[\u0027name\u0027]"},{"line_number":609,"context_line":"        lun_id \u003d self._map_lun(name, [initiator_name], \u0027iscsi\u0027, None)"},{"line_number":610,"context_line":"        msg \u003d _(\"Mapped LUN %(name)s to the initiator %(initiator_name)s\")"},{"line_number":611,"context_line":"        msg_fmt \u003d {\u0027name\u0027: name, \u0027initiator_name\u0027: initiator_name}"},{"line_number":612,"context_line":"        LOG.debug(msg, msg_fmt)"},{"line_number":613,"context_line":"        target_details_list \u003d self.zapi_client.get_iscsi_target_details()"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_0626b316","line":610,"in_reply_to":"1a6ced46_c7ee6222","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":611,"context_line":"        msg_fmt \u003d {\u0027name\u0027: name, \u0027initiator_name\u0027: initiator_name}"},{"line_number":612,"context_line":"        LOG.debug(msg, msg_fmt)"},{"line_number":613,"context_line":"        target_details_list \u003d self.zapi_client.get_iscsi_target_details()"},{"line_number":614,"context_line":"        msg \u003d _(\"Successfully fetched target details for LUN %(name)s and \""},{"line_number":615,"context_line":"                \"initiator %(initiator_name)s\")"},{"line_number":616,"context_line":"        msg_fmt \u003d {\u0027name\u0027: name, \u0027initiator_name\u0027: initiator_name}"},{"line_number":617,"context_line":"        LOG.debug(msg, msg_fmt)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_47da7279","line":614,"updated":"2015-03-23 14:29:03.000000000","message":"Remove _()","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":611,"context_line":"        msg_fmt \u003d {\u0027name\u0027: name, \u0027initiator_name\u0027: initiator_name}"},{"line_number":612,"context_line":"        LOG.debug(msg, msg_fmt)"},{"line_number":613,"context_line":"        target_details_list \u003d self.zapi_client.get_iscsi_target_details()"},{"line_number":614,"context_line":"        msg \u003d _(\"Successfully fetched target details for LUN %(name)s and \""},{"line_number":615,"context_line":"                \"initiator %(initiator_name)s\")"},{"line_number":616,"context_line":"        msg_fmt \u003d {\u0027name\u0027: name, \u0027initiator_name\u0027: initiator_name}"},{"line_number":617,"context_line":"        LOG.debug(msg, msg_fmt)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_0654f352","line":614,"in_reply_to":"1a6ced46_47da7279","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":656,"context_line":"        metadata \u003d self._get_lun_attr(name, \u0027metadata\u0027)"},{"line_number":657,"context_line":"        path \u003d metadata[\u0027Path\u0027]"},{"line_number":658,"context_line":"        self._unmap_lun(path, [initiator_name])"},{"line_number":659,"context_line":"        msg \u003d _(\"Unmapped LUN %(name)s from the initiator %(initiator_name)s\")"},{"line_number":660,"context_line":"        msg_fmt \u003d {\u0027name\u0027: name, \u0027initiator_name\u0027: initiator_name}"},{"line_number":661,"context_line":"        LOG.debug(msg, msg_fmt)"},{"line_number":662,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_07d07a4f","line":659,"updated":"2015-03-23 14:29:03.000000000","message":"Remove _().","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":656,"context_line":"        metadata \u003d self._get_lun_attr(name, \u0027metadata\u0027)"},{"line_number":657,"context_line":"        path \u003d metadata[\u0027Path\u0027]"},{"line_number":658,"context_line":"        self._unmap_lun(path, [initiator_name])"},{"line_number":659,"context_line":"        msg \u003d _(\"Unmapped LUN %(name)s from the initiator %(initiator_name)s\")"},{"line_number":660,"context_line":"        msg_fmt \u003d {\u0027name\u0027: name, \u0027initiator_name\u0027: initiator_name}"},{"line_number":661,"context_line":"        LOG.debug(msg, msg_fmt)"},{"line_number":662,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_66e207a1","line":659,"in_reply_to":"1a6ced46_07d07a4f","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":710,"context_line":""},{"line_number":711,"context_line":"        lun_id \u003d self._map_lun(volume_name, initiators, \u0027fcp\u0027, None)"},{"line_number":712,"context_line":""},{"line_number":713,"context_line":"        msg \u003d _(\"Mapped LUN %(name)s to the initiator(s) %(initiators)s\")"},{"line_number":714,"context_line":"        msg_fmt \u003d {\u0027name\u0027: volume_name, \u0027initiators\u0027: initiators}"},{"line_number":715,"context_line":"        LOG.debug(msg, msg_fmt)"},{"line_number":716,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_47c1927f","line":713,"updated":"2015-03-23 14:29:03.000000000","message":"Remove _()","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":710,"context_line":""},{"line_number":711,"context_line":"        lun_id \u003d self._map_lun(volume_name, initiators, \u0027fcp\u0027, None)"},{"line_number":712,"context_line":""},{"line_number":713,"context_line":"        msg \u003d _(\"Mapped LUN %(name)s to the initiator(s) %(initiators)s\")"},{"line_number":714,"context_line":"        msg_fmt \u003d {\u0027name\u0027: volume_name, \u0027initiators\u0027: initiators}"},{"line_number":715,"context_line":"        LOG.debug(msg, msg_fmt)"},{"line_number":716,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_068953ca","line":713,"in_reply_to":"1a6ced46_47c1927f","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":718,"context_line":"            self._build_initiator_target_map(connector)"},{"line_number":719,"context_line":""},{"line_number":720,"context_line":"        if target_wwpns:"},{"line_number":721,"context_line":"            msg \u003d _(\"Successfully fetched target details for LUN %(name)s \""},{"line_number":722,"context_line":"                    \"and initiator(s) %(initiators)s\")"},{"line_number":723,"context_line":"            msg_fmt \u003d {\u0027name\u0027: volume_name, \u0027initiators\u0027: initiators}"},{"line_number":724,"context_line":"            LOG.debug(msg, msg_fmt)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_67be8e01","line":721,"updated":"2015-03-23 14:29:03.000000000","message":"Remove _()","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":718,"context_line":"            self._build_initiator_target_map(connector)"},{"line_number":719,"context_line":""},{"line_number":720,"context_line":"        if target_wwpns:"},{"line_number":721,"context_line":"            msg \u003d _(\"Successfully fetched target details for LUN %(name)s \""},{"line_number":722,"context_line":"                    \"and initiator(s) %(initiators)s\")"},{"line_number":723,"context_line":"            msg_fmt \u003d {\u0027name\u0027: volume_name, \u0027initiators\u0027: initiators}"},{"line_number":724,"context_line":"            LOG.debug(msg, msg_fmt)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_26748fce","line":721,"in_reply_to":"1a6ced46_67be8e01","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":756,"context_line":""},{"line_number":757,"context_line":"        self._unmap_lun(path, initiators)"},{"line_number":758,"context_line":""},{"line_number":759,"context_line":"        msg \u003d _(\"Unmapped LUN %(name)s from the initiator %(initiators)s\")"},{"line_number":760,"context_line":"        msg_fmt \u003d {\u0027name\u0027: name, \u0027initiators\u0027: initiators}"},{"line_number":761,"context_line":"        LOG.debug(msg, msg_fmt)"},{"line_number":762,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_e7419e0c","line":759,"updated":"2015-03-23 14:29:03.000000000","message":"Remove _()","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":756,"context_line":""},{"line_number":757,"context_line":"        self._unmap_lun(path, initiators)"},{"line_number":758,"context_line":""},{"line_number":759,"context_line":"        msg \u003d _(\"Unmapped LUN %(name)s from the initiator %(initiators)s\")"},{"line_number":760,"context_line":"        msg_fmt \u003d {\u0027name\u0027: name, \u0027initiators\u0027: initiators}"},{"line_number":761,"context_line":"        LOG.debug(msg, msg_fmt)"},{"line_number":762,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_4658ab56","line":759,"in_reply_to":"1a6ced46_e7419e0c","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"53778727562aa81dff0eeaa29bdc75964f441ec9","unresolved":false,"context_lines":[{"line_number":607,"context_line":"        name \u003d volume[\u0027name\u0027]"},{"line_number":608,"context_line":"        lun_id \u003d self._map_lun(name, [initiator_name], \u0027iscsi\u0027, None)"},{"line_number":609,"context_line":""},{"line_number":610,"context_line":"        msg \u003d _(\"Mapped LUN %(name)s to the initiator %(initiator_name)s\")"},{"line_number":611,"context_line":"        msg_fmt \u003d {\u0027name\u0027: name, \u0027initiator_name\u0027: initiator_name}"},{"line_number":612,"context_line":"        LOG.debug(msg, msg_fmt)"},{"line_number":613,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"9aa53dc9_ad6e0dff","line":610,"updated":"2015-04-08 14:21:27.000000000","message":"Used for LOG.debug, so should not have _().","commit_id":"5b71cf377d93da1be740d568cc9e7e359e5a3e19"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"a057980c6840e702c8269eae3506fd8eee5fe71f","unresolved":false,"context_lines":[{"line_number":607,"context_line":"        name \u003d volume[\u0027name\u0027]"},{"line_number":608,"context_line":"        lun_id \u003d self._map_lun(name, [initiator_name], \u0027iscsi\u0027, None)"},{"line_number":609,"context_line":""},{"line_number":610,"context_line":"        msg \u003d _(\"Mapped LUN %(name)s to the initiator %(initiator_name)s\")"},{"line_number":611,"context_line":"        msg_fmt \u003d {\u0027name\u0027: name, \u0027initiator_name\u0027: initiator_name}"},{"line_number":612,"context_line":"        LOG.debug(msg, msg_fmt)"},{"line_number":613,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"7aaa499b_1ba6a9c1","line":610,"in_reply_to":"9aa53dc9_ad6e0dff","updated":"2015-04-12 09:30:01.000000000","message":"Done","commit_id":"5b71cf377d93da1be740d568cc9e7e359e5a3e19"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"53778727562aa81dff0eeaa29bdc75964f441ec9","unresolved":false,"context_lines":[{"line_number":616,"context_line":"            msg \u003d _(\u0027Failed to get LUN target list for the LUN %s\u0027)"},{"line_number":617,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg % name)"},{"line_number":618,"context_line":""},{"line_number":619,"context_line":"        msg \u003d _(\"Successfully fetched target list for LUN %(name)s and \""},{"line_number":620,"context_line":"                \"initiator %(initiator_name)s\")"},{"line_number":621,"context_line":"        msg_fmt \u003d {\u0027name\u0027: name, \u0027initiator_name\u0027: initiator_name}"},{"line_number":622,"context_line":"        LOG.debug(msg, msg_fmt)"}],"source_content_type":"text/x-python","patch_set":11,"id":"9aa53dc9_0d7e19ae","line":619,"updated":"2015-04-08 14:21:27.000000000","message":"Just used for LOG.debug() so should not have _().","commit_id":"5b71cf377d93da1be740d568cc9e7e359e5a3e19"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"a057980c6840e702c8269eae3506fd8eee5fe71f","unresolved":false,"context_lines":[{"line_number":616,"context_line":"            msg \u003d _(\u0027Failed to get LUN target list for the LUN %s\u0027)"},{"line_number":617,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg % name)"},{"line_number":618,"context_line":""},{"line_number":619,"context_line":"        msg \u003d _(\"Successfully fetched target list for LUN %(name)s and \""},{"line_number":620,"context_line":"                \"initiator %(initiator_name)s\")"},{"line_number":621,"context_line":"        msg_fmt \u003d {\u0027name\u0027: name, \u0027initiator_name\u0027: initiator_name}"},{"line_number":622,"context_line":"        LOG.debug(msg, msg_fmt)"}],"source_content_type":"text/x-python","patch_set":11,"id":"7aaa499b_fbaadd84","line":619,"in_reply_to":"9aa53dc9_0d7e19ae","updated":"2015-04-12 09:30:01.000000000","message":"Done","commit_id":"5b71cf377d93da1be740d568cc9e7e359e5a3e19"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"e1f10341489176254a41f2a631cbe8bcb60fbe5d","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        name \u003d self.name"},{"line_number":59,"context_line":"        msg_fmt \u003d {\u0027prop\u0027: prop, \u0027name\u0027: name}"},{"line_number":60,"context_line":"        LOG.debug(\"No metadata property %(prop)s defined for the LUN %(name)s\","},{"line_number":61,"context_line":"                  msg_fmt)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    def __str__(self, *args, **kwargs):"},{"line_number":64,"context_line":"        return \u0027NetApp Lun[handle:%s, name:%s, size:%s, metadata:%s]\u0027\\"}],"source_content_type":"text/x-python","patch_set":13,"id":"7aaa499b_c50a7ad2","line":61,"updated":"2015-04-13 19:53:57.000000000","message":"Why not collapse this one down as well?","commit_id":"d4f6ef8ff8469781ba1599dfecc881eba0ba3d02"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"22f8a8cd00d3d1c5eb5a48d65a0c471442eccf38","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        name \u003d self.name"},{"line_number":59,"context_line":"        msg_fmt \u003d {\u0027prop\u0027: prop, \u0027name\u0027: name}"},{"line_number":60,"context_line":"        LOG.debug(\"No metadata property %(prop)s defined for the LUN %(name)s\","},{"line_number":61,"context_line":"                  msg_fmt)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    def __str__(self, *args, **kwargs):"},{"line_number":64,"context_line":"        return \u0027NetApp Lun[handle:%s, name:%s, size:%s, metadata:%s]\u0027\\"}],"source_content_type":"text/x-python","patch_set":13,"id":"5ad58531_5c79e92e","line":61,"in_reply_to":"7aaa499b_c50a7ad2","updated":"2015-05-11 21:48:40.000000000","message":"Done","commit_id":"d4f6ef8ff8469781ba1599dfecc881eba0ba3d02"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"e1f10341489176254a41f2a631cbe8bcb60fbe5d","unresolved":false,"context_lines":[{"line_number":609,"context_line":""},{"line_number":610,"context_line":"        msg \u003d \"Mapped LUN %(name)s to the initiator %(initiator_name)s\""},{"line_number":611,"context_line":"        msg_fmt \u003d {\u0027name\u0027: name, \u0027initiator_name\u0027: initiator_name}"},{"line_number":612,"context_line":"        LOG.debug(msg, msg_fmt)"},{"line_number":613,"context_line":""},{"line_number":614,"context_line":"        target_list \u003d self.zapi_client.get_iscsi_target_details()"},{"line_number":615,"context_line":"        if not target_list:"}],"source_content_type":"text/x-python","patch_set":13,"id":"7aaa499b_a5264e66","line":612,"updated":"2015-04-13 19:53:57.000000000","message":"Same here.","commit_id":"d4f6ef8ff8469781ba1599dfecc881eba0ba3d02"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"22f8a8cd00d3d1c5eb5a48d65a0c471442eccf38","unresolved":false,"context_lines":[{"line_number":609,"context_line":""},{"line_number":610,"context_line":"        msg \u003d \"Mapped LUN %(name)s to the initiator %(initiator_name)s\""},{"line_number":611,"context_line":"        msg_fmt \u003d {\u0027name\u0027: name, \u0027initiator_name\u0027: initiator_name}"},{"line_number":612,"context_line":"        LOG.debug(msg, msg_fmt)"},{"line_number":613,"context_line":""},{"line_number":614,"context_line":"        target_list \u003d self.zapi_client.get_iscsi_target_details()"},{"line_number":615,"context_line":"        if not target_list:"}],"source_content_type":"text/x-python","patch_set":13,"id":"5ad58531_3c761d3f","line":612,"in_reply_to":"7aaa499b_a5264e66","updated":"2015-05-11 21:48:40.000000000","message":"Done","commit_id":"d4f6ef8ff8469781ba1599dfecc881eba0ba3d02"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"e1f10341489176254a41f2a631cbe8bcb60fbe5d","unresolved":false,"context_lines":[{"line_number":720,"context_line":""},{"line_number":721,"context_line":"        msg_fmt \u003d {\u0027name\u0027: volume_name, \u0027initiators\u0027: initiators}"},{"line_number":722,"context_line":"        LOG.debug(\"Mapped LUN %(name)s to the initiator(s) %(initiators)s\","},{"line_number":723,"context_line":"                  msg_fmt)"},{"line_number":724,"context_line":""},{"line_number":725,"context_line":"        target_wwpns, initiator_target_map, num_paths \u003d \\"},{"line_number":726,"context_line":"            self._build_initiator_target_map(connector)"}],"source_content_type":"text/x-python","patch_set":13,"id":"7aaa499b_e5d33637","line":723,"updated":"2015-04-13 19:53:57.000000000","message":"Here.","commit_id":"d4f6ef8ff8469781ba1599dfecc881eba0ba3d02"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"22f8a8cd00d3d1c5eb5a48d65a0c471442eccf38","unresolved":false,"context_lines":[{"line_number":720,"context_line":""},{"line_number":721,"context_line":"        msg_fmt \u003d {\u0027name\u0027: volume_name, \u0027initiators\u0027: initiators}"},{"line_number":722,"context_line":"        LOG.debug(\"Mapped LUN %(name)s to the initiator(s) %(initiators)s\","},{"line_number":723,"context_line":"                  msg_fmt)"},{"line_number":724,"context_line":""},{"line_number":725,"context_line":"        target_wwpns, initiator_target_map, num_paths \u003d \\"},{"line_number":726,"context_line":"            self._build_initiator_target_map(connector)"}],"source_content_type":"text/x-python","patch_set":13,"id":"5ad58531_1c73614f","line":723,"in_reply_to":"7aaa499b_e5d33637","updated":"2015-05-11 21:48:40.000000000","message":"Done","commit_id":"d4f6ef8ff8469781ba1599dfecc881eba0ba3d02"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"e1f10341489176254a41f2a631cbe8bcb60fbe5d","unresolved":false,"context_lines":[{"line_number":728,"context_line":"        if target_wwpns:"},{"line_number":729,"context_line":"            msg_fmt \u003d {\u0027name\u0027: volume_name, \u0027initiators\u0027: initiators}"},{"line_number":730,"context_line":"            LOG.debug(\"Successfully fetched target details for LUN %(name)s \""},{"line_number":731,"context_line":"                      \"and initiator(s) %(initiators)s\", msg_fmt)"},{"line_number":732,"context_line":"        else:"},{"line_number":733,"context_line":"            msg \u003d _(\u0027Failed to get LUN target details for the LUN %s\u0027)"},{"line_number":734,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg % volume_name)"}],"source_content_type":"text/x-python","patch_set":13,"id":"7aaa499b_85e23202","line":731,"updated":"2015-04-13 19:53:57.000000000","message":"Here","commit_id":"d4f6ef8ff8469781ba1599dfecc881eba0ba3d02"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"22f8a8cd00d3d1c5eb5a48d65a0c471442eccf38","unresolved":false,"context_lines":[{"line_number":728,"context_line":"        if target_wwpns:"},{"line_number":729,"context_line":"            msg_fmt \u003d {\u0027name\u0027: volume_name, \u0027initiators\u0027: initiators}"},{"line_number":730,"context_line":"            LOG.debug(\"Successfully fetched target details for LUN %(name)s \""},{"line_number":731,"context_line":"                      \"and initiator(s) %(initiators)s\", msg_fmt)"},{"line_number":732,"context_line":"        else:"},{"line_number":733,"context_line":"            msg \u003d _(\u0027Failed to get LUN target details for the LUN %s\u0027)"},{"line_number":734,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg % volume_name)"}],"source_content_type":"text/x-python","patch_set":13,"id":"5ad58531_fc8e5526","line":731,"in_reply_to":"7aaa499b_85e23202","updated":"2015-05-11 21:48:40.000000000","message":"Done","commit_id":"d4f6ef8ff8469781ba1599dfecc881eba0ba3d02"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"e1f10341489176254a41f2a631cbe8bcb60fbe5d","unresolved":false,"context_lines":[{"line_number":765,"context_line":""},{"line_number":766,"context_line":"        msg_fmt \u003d {\u0027name\u0027: name, \u0027initiators\u0027: initiators}"},{"line_number":767,"context_line":"        LOG.debug(\"Unmapped LUN %(name)s from the initiator %(initiators)s\","},{"line_number":768,"context_line":"                  msg_fmt)"},{"line_number":769,"context_line":""},{"line_number":770,"context_line":"        info \u003d {\u0027driver_volume_type\u0027: \u0027fibre_channel\u0027,"},{"line_number":771,"context_line":"                \u0027data\u0027: {}}"}],"source_content_type":"text/x-python","patch_set":13,"id":"7aaa499b_45e54a07","line":768,"updated":"2015-04-13 19:53:57.000000000","message":"And here.","commit_id":"d4f6ef8ff8469781ba1599dfecc881eba0ba3d02"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"22f8a8cd00d3d1c5eb5a48d65a0c471442eccf38","unresolved":false,"context_lines":[{"line_number":765,"context_line":""},{"line_number":766,"context_line":"        msg_fmt \u003d {\u0027name\u0027: name, \u0027initiators\u0027: initiators}"},{"line_number":767,"context_line":"        LOG.debug(\"Unmapped LUN %(name)s from the initiator %(initiators)s\","},{"line_number":768,"context_line":"                  msg_fmt)"},{"line_number":769,"context_line":""},{"line_number":770,"context_line":"        info \u003d {\u0027driver_volume_type\u0027: \u0027fibre_channel\u0027,"},{"line_number":771,"context_line":"                \u0027data\u0027: {}}"}],"source_content_type":"text/x-python","patch_set":13,"id":"5ad58531_dc93994e","line":768,"in_reply_to":"7aaa499b_45e54a07","updated":"2015-05-11 21:48:40.000000000","message":"Done","commit_id":"d4f6ef8ff8469781ba1599dfecc881eba0ba3d02"}],"cinder/volume/drivers/netapp/dataontap/client/client_7mode.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"e1f10341489176254a41f2a631cbe8bcb60fbe5d","unresolved":false,"context_lines":[{"line_number":314,"context_line":"    def clone_file(self, src_path, dest_path):"},{"line_number":315,"context_line":"        msg_fmt \u003d {\u0027src_path\u0027: src_path, \u0027dest_path\u0027: dest_path}"},{"line_number":316,"context_line":"        LOG.debug(\"Cloning with src %(src_path)s, dest %(dest_path)s\","},{"line_number":317,"context_line":"                  msg_fmt)"},{"line_number":318,"context_line":"        clone_start \u003d netapp_api.NaElement.create_node_with_children("},{"line_number":319,"context_line":"            \u0027clone-start\u0027,"},{"line_number":320,"context_line":"            **{\u0027source-path\u0027: src_path,"}],"source_content_type":"text/x-python","patch_set":13,"id":"7aaa499b_85b912ec","line":317,"updated":"2015-04-13 19:53:57.000000000","message":"And here.","commit_id":"d4f6ef8ff8469781ba1599dfecc881eba0ba3d02"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"22f8a8cd00d3d1c5eb5a48d65a0c471442eccf38","unresolved":false,"context_lines":[{"line_number":314,"context_line":"    def clone_file(self, src_path, dest_path):"},{"line_number":315,"context_line":"        msg_fmt \u003d {\u0027src_path\u0027: src_path, \u0027dest_path\u0027: dest_path}"},{"line_number":316,"context_line":"        LOG.debug(\"Cloning with src %(src_path)s, dest %(dest_path)s\","},{"line_number":317,"context_line":"                  msg_fmt)"},{"line_number":318,"context_line":"        clone_start \u003d netapp_api.NaElement.create_node_with_children("},{"line_number":319,"context_line":"            \u0027clone-start\u0027,"},{"line_number":320,"context_line":"            **{\u0027source-path\u0027: src_path,"}],"source_content_type":"text/x-python","patch_set":13,"id":"5ad58531_3cadfd88","line":317,"in_reply_to":"7aaa499b_85b912ec","updated":"2015-05-11 21:48:40.000000000","message":"Done","commit_id":"d4f6ef8ff8469781ba1599dfecc881eba0ba3d02"}],"cinder/volume/drivers/netapp/dataontap/client/client_base.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"53778727562aa81dff0eeaa29bdc75964f441ec9","unresolved":false,"context_lines":[{"line_number":87,"context_line":"                          \"%(volume_name)s. Details: %(ex)s\")"},{"line_number":88,"context_line":"                msg_args \u003d {\u0027lun_name\u0027: lun_name,"},{"line_number":89,"context_line":"                            \u0027volume_name\u0027: volume_name,"},{"line_number":90,"context_line":"                            \u0027ex\u0027: six.text_type(ex)}"},{"line_number":91,"context_line":"                LOG.error(msg, msg_args)"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"    def destroy_lun(self, path, force\u003dTrue):"}],"source_content_type":"text/x-python","patch_set":11,"id":"9aa53dc9_2d31dd05","line":90,"updated":"2015-04-08 14:21:27.000000000","message":"six.text_type() not needed here as these are passed in to LOG.error.","commit_id":"5b71cf377d93da1be740d568cc9e7e359e5a3e19"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"a057980c6840e702c8269eae3506fd8eee5fe71f","unresolved":false,"context_lines":[{"line_number":87,"context_line":"                          \"%(volume_name)s. Details: %(ex)s\")"},{"line_number":88,"context_line":"                msg_args \u003d {\u0027lun_name\u0027: lun_name,"},{"line_number":89,"context_line":"                            \u0027volume_name\u0027: volume_name,"},{"line_number":90,"context_line":"                            \u0027ex\u0027: six.text_type(ex)}"},{"line_number":91,"context_line":"                LOG.error(msg, msg_args)"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"    def destroy_lun(self, path, force\u003dTrue):"}],"source_content_type":"text/x-python","patch_set":11,"id":"7aaa499b_dbaf2193","line":90,"in_reply_to":"9aa53dc9_2d31dd05","updated":"2015-04-12 09:30:01.000000000","message":"Done","commit_id":"5b71cf377d93da1be740d568cc9e7e359e5a3e19"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"e1f10341489176254a41f2a631cbe8bcb60fbe5d","unresolved":false,"context_lines":[{"line_number":88,"context_line":"                msg_args \u003d {\u0027lun_name\u0027: lun_name,"},{"line_number":89,"context_line":"                            \u0027volume_name\u0027: volume_name,"},{"line_number":90,"context_line":"                            \u0027ex\u0027: ex}"},{"line_number":91,"context_line":"                LOG.error(msg, msg_args)"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"    def destroy_lun(self, path, force\u003dTrue):"},{"line_number":94,"context_line":"        \"\"\"Destroys the LUN at the path.\"\"\""}],"source_content_type":"text/x-python","patch_set":13,"id":"7aaa499b_25c91e79","line":91,"updated":"2015-04-13 19:53:57.000000000","message":"Here too.","commit_id":"d4f6ef8ff8469781ba1599dfecc881eba0ba3d02"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"22f8a8cd00d3d1c5eb5a48d65a0c471442eccf38","unresolved":false,"context_lines":[{"line_number":88,"context_line":"                msg_args \u003d {\u0027lun_name\u0027: lun_name,"},{"line_number":89,"context_line":"                            \u0027volume_name\u0027: volume_name,"},{"line_number":90,"context_line":"                            \u0027ex\u0027: ex}"},{"line_number":91,"context_line":"                LOG.error(msg, msg_args)"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"    def destroy_lun(self, path, force\u003dTrue):"},{"line_number":94,"context_line":"        \"\"\"Destroys the LUN at the path.\"\"\""}],"source_content_type":"text/x-python","patch_set":13,"id":"5ad58531_fcb535d0","line":91,"in_reply_to":"7aaa499b_25c91e79","updated":"2015-05-11 21:48:40.000000000","message":"Done","commit_id":"d4f6ef8ff8469781ba1599dfecc881eba0ba3d02"}],"cinder/volume/drivers/netapp/dataontap/nfs_base.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a64967b0c723d3bbfe9957a4b62c096189e4c605","unresolved":false,"context_lines":[{"line_number":242,"context_line":"        except Exception as e:"},{"line_number":243,"context_line":"            LOG.warning(_LW(\u0027Exception while registering image %(image_id)s\u0027"},{"line_number":244,"context_line":"                            \u0027 in cache. Exception: %(exc)s\u0027),"},{"line_number":245,"context_line":"                        {\u0027image_id\u0027: image_id, \u0027exc\u0027: e.__str__()})"},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"    def _find_image_in_cache(self, image_id):"},{"line_number":248,"context_line":"        \"\"\"Finds image in cache and returns list of shares with file name.\"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"1a6ced46_1e81af8f","line":245,"updated":"2015-03-23 09:13:44.000000000","message":"Shouldn\u0027t it be e instead of e.__str__()?","commit_id":"60b35331a3f4f215fe0fc0dd7d9ccf9517ee7ce1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"41212dd697c9aac85fef6e7bceca485ae08bdb4c","unresolved":false,"context_lines":[{"line_number":242,"context_line":"        except Exception as e:"},{"line_number":243,"context_line":"            LOG.warning(_LW(\u0027Exception while registering image %(image_id)s\u0027"},{"line_number":244,"context_line":"                            \u0027 in cache. Exception: %(exc)s\u0027),"},{"line_number":245,"context_line":"                        {\u0027image_id\u0027: image_id, \u0027exc\u0027: e.__str__()})"},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"    def _find_image_in_cache(self, image_id):"},{"line_number":248,"context_line":"        \"\"\"Finds image in cache and returns list of shares with file name.\"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"1a6ced46_848392cb","line":245,"in_reply_to":"1a6ced46_1e81af8f","updated":"2015-03-23 10:07:54.000000000","message":"Done","commit_id":"60b35331a3f4f215fe0fc0dd7d9ccf9517ee7ce1"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a64967b0c723d3bbfe9957a4b62c096189e4c605","unresolved":false,"context_lines":[{"line_number":310,"context_line":"                except Exception as e:"},{"line_number":311,"context_line":"                    LOG.warning(_LW(\u0027Exception during cache cleaning\u0027"},{"line_number":312,"context_line":"                                    \u0027 %(share)s. Message - %(ex)s\u0027),"},{"line_number":313,"context_line":"                                {\u0027share\u0027: share, \u0027ex\u0027: e.__str__()})"},{"line_number":314,"context_line":"                    continue"},{"line_number":315,"context_line":"        finally:"},{"line_number":316,"context_line":"            LOG.debug(\u0027Image cache cleaning done.\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a6ced46_3e7e6baf","line":313,"updated":"2015-03-23 09:13:44.000000000","message":"Same here","commit_id":"60b35331a3f4f215fe0fc0dd7d9ccf9517ee7ce1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"41212dd697c9aac85fef6e7bceca485ae08bdb4c","unresolved":false,"context_lines":[{"line_number":310,"context_line":"                except Exception as e:"},{"line_number":311,"context_line":"                    LOG.warning(_LW(\u0027Exception during cache cleaning\u0027"},{"line_number":312,"context_line":"                                    \u0027 %(share)s. Message - %(ex)s\u0027),"},{"line_number":313,"context_line":"                                {\u0027share\u0027: share, \u0027ex\u0027: e.__str__()})"},{"line_number":314,"context_line":"                    continue"},{"line_number":315,"context_line":"        finally:"},{"line_number":316,"context_line":"            LOG.debug(\u0027Image cache cleaning done.\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a6ced46_a4888ee8","line":313,"in_reply_to":"1a6ced46_3e7e6baf","updated":"2015-03-23 10:07:54.000000000","message":"Done","commit_id":"60b35331a3f4f215fe0fc0dd7d9ccf9517ee7ce1"}],"cinder/volume/drivers/netapp/dataontap/nfs_cmode.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"49dcdc2eafb8bc4fca3566cb87a345062d893331","unresolved":false,"context_lines":[{"line_number":109,"context_line":"        except Exception as ex:"},{"line_number":110,"context_line":"            LOG.error(_LE(\"Exception creating vol %(name)s on \""},{"line_number":111,"context_line":"                          \"share %(share)s. Details: %(ex)s\")"},{"line_number":112,"context_line":"                      % {\u0027name\u0027: volume[\u0027name\u0027],"},{"line_number":113,"context_line":"                         \u0027share\u0027: volume[\u0027provider_location\u0027],"},{"line_number":114,"context_line":"                         \u0027ex\u0027: ex})"},{"line_number":115,"context_line":"            volume[\u0027provider_location\u0027] \u003d None"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_1bb8ebe7","line":112,"updated":"2015-03-16 18:14:37.000000000","message":"%-\u003e ,","commit_id":"54b5141436554f8e9c6fd934d30421b9617e7695"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"4a29ca7cfe28e04aed3a889b37f2927cc218b32e","unresolved":false,"context_lines":[{"line_number":109,"context_line":"        except Exception as ex:"},{"line_number":110,"context_line":"            LOG.error(_LE(\"Exception creating vol %(name)s on \""},{"line_number":111,"context_line":"                          \"share %(share)s. Details: %(ex)s\")"},{"line_number":112,"context_line":"                      % {\u0027name\u0027: volume[\u0027name\u0027],"},{"line_number":113,"context_line":"                         \u0027share\u0027: volume[\u0027provider_location\u0027],"},{"line_number":114,"context_line":"                         \u0027ex\u0027: ex})"},{"line_number":115,"context_line":"            volume[\u0027provider_location\u0027] \u003d None"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a6ced46_4f870062","line":112,"in_reply_to":"9a80dd14_1bb8ebe7","updated":"2015-03-22 20:21:59.000000000","message":"Done","commit_id":"54b5141436554f8e9c6fd934d30421b9617e7695"}],"cinder/volume/drivers/netapp/eseries/host_mapper.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f310c5174242d8aa07237eb37435194ca8f5a1b2","unresolved":false,"context_lines":[{"line_number":57,"context_line":"    # Volume is mapped to the multiattach host group"},{"line_number":58,"context_line":"    if vol_map.get(\u0027mapRef\u0027) \u003d\u003d multiattach_cluster_ref:"},{"line_number":59,"context_line":"        LOG.debug(\"Volume %s is mapped to multiattach host group.\""},{"line_number":60,"context_line":"                  % volume[\u0027id\u0027])"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"        # If volume is not currently attached according to Cinder, it is"},{"line_number":63,"context_line":"        # safe to delete the mapping"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a0c5dc1_aef9adca","line":60,"updated":"2015-05-12 13:26:21.000000000","message":"% \u003d\u003e ,","commit_id":"a09c4e1747ba4027c90debdbbe698406c3096188"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f310c5174242d8aa07237eb37435194ca8f5a1b2","unresolved":false,"context_lines":[{"line_number":84,"context_line":"                                 mapping):"},{"line_number":85,"context_line":"    \"\"\"Maps the e-series volume to multiattach host group.\"\"\""},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    LOG.debug(\"Attempting to map volume %s to multiple hosts.\" % volume[\u0027id\u0027])"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    # If volume is already mapped to desired host, return the mapping"},{"line_number":90,"context_line":"    if mapping[\u0027mapRef\u0027] \u003d\u003d target_host[\u0027hostRef\u0027]:"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a0c5dc1_2ed37d3a","line":87,"updated":"2015-05-12 13:26:21.000000000","message":"% \u003d\u003e ,","commit_id":"a09c4e1747ba4027c90debdbbe698406c3096188"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"b33f81b569428e150063241846773b932eaf4ea7","unresolved":false,"context_lines":[{"line_number":84,"context_line":"                                 mapping):"},{"line_number":85,"context_line":"    \"\"\"Maps the e-series volume to multiattach host group.\"\"\""},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    LOG.debug(\"Attempting to map volume %s to multiple hosts.\" % volume[\u0027id\u0027])"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    # If volume is already mapped to desired host, return the mapping"},{"line_number":90,"context_line":"    if mapping[\u0027mapRef\u0027] \u003d\u003d target_host[\u0027hostRef\u0027]:"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a0c5dc1_cfe95f1c","line":87,"in_reply_to":"9a0c5dc1_2ed37d3a","updated":"2015-05-13 01:44:43.000000000","message":"Might as well fix it here.","commit_id":"a09c4e1747ba4027c90debdbbe698406c3096188"}],"cinder/volume/drivers/netapp/eseries/iscsi.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":154,"context_line":"            msg \u003d _LW(\u0027Production use of \"%(backend)s\" backend requires the \u0027"},{"line_number":155,"context_line":"                      \u0027Cinder controller to have multipathing properly set up \u0027"},{"line_number":156,"context_line":"                      \u0027and the configuration option \"%(mpflag)s\" to be set to \u0027"},{"line_number":157,"context_line":"                      \u0027\"True\".\u0027), {\u0027backend\u0027: self._backend_name,"},{"line_number":158,"context_line":"                                   \u0027mpflag\u0027: \u0027use_multipath_for_image_xfer\u0027}"},{"line_number":159,"context_line":"            LOG.warning(msg)"},{"line_number":160,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_07b15af8","line":157,"updated":"2015-03-23 14:29:03.000000000","message":"Move this into the LOG.warning call (preferred) or switch back to %.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":154,"context_line":"            msg \u003d _LW(\u0027Production use of \"%(backend)s\" backend requires the \u0027"},{"line_number":155,"context_line":"                      \u0027Cinder controller to have multipathing properly set up \u0027"},{"line_number":156,"context_line":"                      \u0027and the configuration option \"%(mpflag)s\" to be set to \u0027"},{"line_number":157,"context_line":"                      \u0027\"True\".\u0027), {\u0027backend\u0027: self._backend_name,"},{"line_number":158,"context_line":"                                   \u0027mpflag\u0027: \u0027use_multipath_for_image_xfer\u0027}"},{"line_number":159,"context_line":"            LOG.warning(msg)"},{"line_number":160,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_894d5475","line":157,"in_reply_to":"1a6ced46_07b15af8","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":589,"context_line":"        mapping \u003d self._map_volume_to_host(vol, initiator_name)"},{"line_number":590,"context_line":"        lun_id \u003d mapping[\u0027lun\u0027]"},{"line_number":591,"context_line":"        self._cache_vol_mapping(mapping)"},{"line_number":592,"context_line":"        msg \u003d _(\"Mapped volume %(id)s to the initiator %(initiator_name)s.\")"},{"line_number":593,"context_line":"        msg_fmt \u003d {\u0027id\u0027: volume[\u0027id\u0027], \u0027initiator_name\u0027: initiator_name}"},{"line_number":594,"context_line":"        LOG.debug(msg % msg_fmt)"},{"line_number":595,"context_line":"        msg \u003d _(\"Successfully fetched target details for volume %(id)s and \""}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_e7827eff","line":592,"updated":"2015-03-23 14:29:03.000000000","message":"Remove _()","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":589,"context_line":"        mapping \u003d self._map_volume_to_host(vol, initiator_name)"},{"line_number":590,"context_line":"        lun_id \u003d mapping[\u0027lun\u0027]"},{"line_number":591,"context_line":"        self._cache_vol_mapping(mapping)"},{"line_number":592,"context_line":"        msg \u003d _(\"Mapped volume %(id)s to the initiator %(initiator_name)s.\")"},{"line_number":593,"context_line":"        msg_fmt \u003d {\u0027id\u0027: volume[\u0027id\u0027], \u0027initiator_name\u0027: initiator_name}"},{"line_number":594,"context_line":"        LOG.debug(msg % msg_fmt)"},{"line_number":595,"context_line":"        msg \u003d _(\"Successfully fetched target details for volume %(id)s and \""}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_29ac60ed","line":592,"in_reply_to":"1a6ced46_e7827eff","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":591,"context_line":"        self._cache_vol_mapping(mapping)"},{"line_number":592,"context_line":"        msg \u003d _(\"Mapped volume %(id)s to the initiator %(initiator_name)s.\")"},{"line_number":593,"context_line":"        msg_fmt \u003d {\u0027id\u0027: volume[\u0027id\u0027], \u0027initiator_name\u0027: initiator_name}"},{"line_number":594,"context_line":"        LOG.debug(msg % msg_fmt)"},{"line_number":595,"context_line":"        msg \u003d _(\"Successfully fetched target details for volume %(id)s and \""},{"line_number":596,"context_line":"                \"initiator %(initiator_name)s.\")"},{"line_number":597,"context_line":"        LOG.debug(msg, msg_fmt)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_c78d8233","line":594,"updated":"2015-03-23 14:29:03.000000000","message":"% \u003d\u003e ,","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":591,"context_line":"        self._cache_vol_mapping(mapping)"},{"line_number":592,"context_line":"        msg \u003d _(\"Mapped volume %(id)s to the initiator %(initiator_name)s.\")"},{"line_number":593,"context_line":"        msg_fmt \u003d {\u0027id\u0027: volume[\u0027id\u0027], \u0027initiator_name\u0027: initiator_name}"},{"line_number":594,"context_line":"        LOG.debug(msg % msg_fmt)"},{"line_number":595,"context_line":"        msg \u003d _(\"Successfully fetched target details for volume %(id)s and \""},{"line_number":596,"context_line":"                \"initiator %(initiator_name)s.\")"},{"line_number":597,"context_line":"        LOG.debug(msg, msg_fmt)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_c97cac75","line":594,"in_reply_to":"1a6ced46_c78d8233","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":592,"context_line":"        msg \u003d _(\"Mapped volume %(id)s to the initiator %(initiator_name)s.\")"},{"line_number":593,"context_line":"        msg_fmt \u003d {\u0027id\u0027: volume[\u0027id\u0027], \u0027initiator_name\u0027: initiator_name}"},{"line_number":594,"context_line":"        LOG.debug(msg % msg_fmt)"},{"line_number":595,"context_line":"        msg \u003d _(\"Successfully fetched target details for volume %(id)s and \""},{"line_number":596,"context_line":"                \"initiator %(initiator_name)s.\")"},{"line_number":597,"context_line":"        LOG.debug(msg, msg_fmt)"},{"line_number":598,"context_line":"        iqn \u003d iscsi_portal[\u0027iqn\u0027]"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_277c9620","line":595,"updated":"2015-03-23 14:29:03.000000000","message":"Remove _()","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":592,"context_line":"        msg \u003d _(\"Mapped volume %(id)s to the initiator %(initiator_name)s.\")"},{"line_number":593,"context_line":"        msg_fmt \u003d {\u0027id\u0027: volume[\u0027id\u0027], \u0027initiator_name\u0027: initiator_name}"},{"line_number":594,"context_line":"        LOG.debug(msg % msg_fmt)"},{"line_number":595,"context_line":"        msg \u003d _(\"Successfully fetched target details for volume %(id)s and \""},{"line_number":596,"context_line":"                \"initiator %(initiator_name)s.\")"},{"line_number":597,"context_line":"        LOG.debug(msg, msg_fmt)"},{"line_number":598,"context_line":"        iqn \u003d iscsi_portal[\u0027iqn\u0027]"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_a963f0af","line":595,"in_reply_to":"1a6ced46_277c9620","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"53778727562aa81dff0eeaa29bdc75964f441ec9","unresolved":false,"context_lines":[{"line_number":169,"context_line":"                          {\u0027host\u0027: host, \u0027e\u0027: e})"},{"line_number":170,"context_line":"                raise exception.NoValidHost("},{"line_number":171,"context_line":"                    _(\"Controller IP \u0027%(host)s\u0027 could not be resolved: %(e)s.\")"},{"line_number":172,"context_line":"                    % {\u0027host\u0027: host, \u0027e\u0027: e})"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"        ips \u003d self.configuration.netapp_controller_ips"},{"line_number":175,"context_line":"        ips \u003d [i.strip() for i in ips.split(\",\")]"}],"source_content_type":"text/x-python","patch_set":11,"id":"9aa53dc9_48376fe3","line":172,"updated":"2015-04-08 14:21:27.000000000","message":"Need six.text_type() here.","commit_id":"5b71cf377d93da1be740d568cc9e7e359e5a3e19"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"a057980c6840e702c8269eae3506fd8eee5fe71f","unresolved":false,"context_lines":[{"line_number":169,"context_line":"                          {\u0027host\u0027: host, \u0027e\u0027: e})"},{"line_number":170,"context_line":"                raise exception.NoValidHost("},{"line_number":171,"context_line":"                    _(\"Controller IP \u0027%(host)s\u0027 could not be resolved: %(e)s.\")"},{"line_number":172,"context_line":"                    % {\u0027host\u0027: host, \u0027e\u0027: e})"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"        ips \u003d self.configuration.netapp_controller_ips"},{"line_number":175,"context_line":"        ips \u003d [i.strip() for i in ips.split(\",\")]"}],"source_content_type":"text/x-python","patch_set":11,"id":"7aaa499b_bb957541","line":172,"in_reply_to":"9aa53dc9_48376fe3","updated":"2015-04-12 09:30:01.000000000","message":"Done","commit_id":"5b71cf377d93da1be740d568cc9e7e359e5a3e19"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"e1f10341489176254a41f2a631cbe8bcb60fbe5d","unresolved":false,"context_lines":[{"line_number":194,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":195,"context_line":"                msg \u003d _LI(\"System with controller addresses [%s] is not\""},{"line_number":196,"context_line":"                          \" registered with web service.\")"},{"line_number":197,"context_line":"                LOG.info(msg, self.configuration.netapp_controller_ips)"},{"line_number":198,"context_line":"        password_not_in_sync \u003d False"},{"line_number":199,"context_line":"        if system.get(\u0027status\u0027, \u0027\u0027).lower() \u003d\u003d \u0027passwordoutofsync\u0027:"},{"line_number":200,"context_line":"            password_not_in_sync \u003d True"}],"source_content_type":"text/x-python","patch_set":13,"id":"7aaa499b_1aab201f","line":197,"updated":"2015-04-13 19:53:57.000000000","message":"could collapse this.","commit_id":"d4f6ef8ff8469781ba1599dfecc881eba0ba3d02"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"22f8a8cd00d3d1c5eb5a48d65a0c471442eccf38","unresolved":false,"context_lines":[{"line_number":194,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":195,"context_line":"                msg \u003d _LI(\"System with controller addresses [%s] is not\""},{"line_number":196,"context_line":"                          \" registered with web service.\")"},{"line_number":197,"context_line":"                LOG.info(msg, self.configuration.netapp_controller_ips)"},{"line_number":198,"context_line":"        password_not_in_sync \u003d False"},{"line_number":199,"context_line":"        if system.get(\u0027status\u0027, \u0027\u0027).lower() \u003d\u003d \u0027passwordoutofsync\u0027:"},{"line_number":200,"context_line":"            password_not_in_sync \u003d True"}],"source_content_type":"text/x-python","patch_set":13,"id":"5ad58531_7cca6551","line":197,"in_reply_to":"7aaa499b_1aab201f","updated":"2015-05-11 21:48:40.000000000","message":"Done","commit_id":"d4f6ef8ff8469781ba1599dfecc881eba0ba3d02"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"e1f10341489176254a41f2a631cbe8bcb60fbe5d","unresolved":false,"context_lines":[{"line_number":860,"context_line":"                      int(x.get(\u0027usedSpace\u0027, 0) \u003e\u003d size))]"},{"line_number":861,"context_line":"        if not avl_pools:"},{"line_number":862,"context_line":"            msg \u003d _LW(\"No storage pool found with available capacity %s.\")"},{"line_number":863,"context_line":"            LOG.warning(msg, size_gb)"},{"line_number":864,"context_line":"        return avl_pools"},{"line_number":865,"context_line":""},{"line_number":866,"context_line":"    def extend_volume(self, volume, new_size):"}],"source_content_type":"text/x-python","patch_set":13,"id":"7aaa499b_ba4f8c91","line":863,"updated":"2015-04-13 19:53:57.000000000","message":"Here.","commit_id":"d4f6ef8ff8469781ba1599dfecc881eba0ba3d02"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"22f8a8cd00d3d1c5eb5a48d65a0c471442eccf38","unresolved":false,"context_lines":[{"line_number":860,"context_line":"                      int(x.get(\u0027usedSpace\u0027, 0) \u003e\u003d size))]"},{"line_number":861,"context_line":"        if not avl_pools:"},{"line_number":862,"context_line":"            msg \u003d _LW(\"No storage pool found with available capacity %s.\")"},{"line_number":863,"context_line":"            LOG.warning(msg, size_gb)"},{"line_number":864,"context_line":"        return avl_pools"},{"line_number":865,"context_line":""},{"line_number":866,"context_line":"    def extend_volume(self, volume, new_size):"}],"source_content_type":"text/x-python","patch_set":13,"id":"5ad58531_1cc1212f","line":863,"in_reply_to":"7aaa499b_ba4f8c91","updated":"2015-05-11 21:48:40.000000000","message":"Done","commit_id":"d4f6ef8ff8469781ba1599dfecc881eba0ba3d02"}],"cinder/volume/drivers/netapp/utils.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"e1f10341489176254a41f2a631cbe8bcb60fbe5d","unresolved":false,"context_lines":[{"line_number":130,"context_line":"                 set(OBSOLETE_SSC_SPECS.keys())):"},{"line_number":131,"context_line":"            msg \u003d _LW(\u0027Extra spec %(old)s is obsolete.  Use %(new)s instead.\u0027)"},{"line_number":132,"context_line":"            args \u003d {\u0027old\u0027: spec, \u0027new\u0027: OBSOLETE_SSC_SPECS[spec]}"},{"line_number":133,"context_line":"            LOG.warning(msg, args)"},{"line_number":134,"context_line":"    for spec in (set(extra_specs.keys() if extra_specs else []) \u0026"},{"line_number":135,"context_line":"                 set(DEPRECATED_SSC_SPECS.keys())):"},{"line_number":136,"context_line":"            msg \u003d _LW(\u0027Extra spec %(old)s is deprecated.  Use %(new)s \u0027"}],"source_content_type":"text/x-python","patch_set":13,"id":"7aaa499b_3a5c9c4a","line":133,"updated":"2015-04-13 19:53:57.000000000","message":"Here.","commit_id":"d4f6ef8ff8469781ba1599dfecc881eba0ba3d02"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"22f8a8cd00d3d1c5eb5a48d65a0c471442eccf38","unresolved":false,"context_lines":[{"line_number":130,"context_line":"                 set(OBSOLETE_SSC_SPECS.keys())):"},{"line_number":131,"context_line":"            msg \u003d _LW(\u0027Extra spec %(old)s is obsolete.  Use %(new)s instead.\u0027)"},{"line_number":132,"context_line":"            args \u003d {\u0027old\u0027: spec, \u0027new\u0027: OBSOLETE_SSC_SPECS[spec]}"},{"line_number":133,"context_line":"            LOG.warning(msg, args)"},{"line_number":134,"context_line":"    for spec in (set(extra_specs.keys() if extra_specs else []) \u0026"},{"line_number":135,"context_line":"                 set(DEPRECATED_SSC_SPECS.keys())):"},{"line_number":136,"context_line":"            msg \u003d _LW(\u0027Extra spec %(old)s is deprecated.  Use %(new)s \u0027"}],"source_content_type":"text/x-python","patch_set":13,"id":"5ad58531_dce159d2","line":133,"in_reply_to":"7aaa499b_3a5c9c4a","updated":"2015-05-11 21:48:40.000000000","message":"Done","commit_id":"d4f6ef8ff8469781ba1599dfecc881eba0ba3d02"}],"cinder/volume/drivers/openvstorage.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a64967b0c723d3bbfe9957a4b62c096189e4c605","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        super(OVSVolumeDriver, self).__init__(*args, **kwargs)"},{"line_number":69,"context_line":"        LOG.debug(\u0027INIT %(pool_name)s %(arg)s %(kwarg)s \u0027,"},{"line_number":70,"context_line":"                  {\u0027pool_name\u0027: CONF.vpool_name, \u0027arg\u0027: str(args),"},{"line_number":71,"context_line":"                   \u0027kwarg\u0027: str(kwargs)})"},{"line_number":72,"context_line":"        self.configuration.append_config_values(OPTS)"},{"line_number":73,"context_line":"        self._vpool_name \u003d self.configuration.vpool_name"},{"line_number":74,"context_line":"        if vpoollist is not None:"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a6ced46_2931d7ec","line":71,"updated":"2015-03-23 09:13:44.000000000","message":"Shouldn\u0027t we remove the str function calls?","commit_id":"60b35331a3f4f215fe0fc0dd7d9ccf9517ee7ce1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"41212dd697c9aac85fef6e7bceca485ae08bdb4c","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        super(OVSVolumeDriver, self).__init__(*args, **kwargs)"},{"line_number":69,"context_line":"        LOG.debug(\u0027INIT %(pool_name)s %(arg)s %(kwarg)s \u0027,"},{"line_number":70,"context_line":"                  {\u0027pool_name\u0027: CONF.vpool_name, \u0027arg\u0027: str(args),"},{"line_number":71,"context_line":"                   \u0027kwarg\u0027: str(kwargs)})"},{"line_number":72,"context_line":"        self.configuration.append_config_values(OPTS)"},{"line_number":73,"context_line":"        self._vpool_name \u003d self.configuration.vpool_name"},{"line_number":74,"context_line":"        if vpoollist is not None:"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a6ced46_a4408e57","line":71,"in_reply_to":"1a6ced46_2931d7ec","updated":"2015-03-23 10:07:54.000000000","message":"IMO this is fine as it is because We are not using translations for debug logs.","commit_id":"60b35331a3f4f215fe0fc0dd7d9ccf9517ee7ce1"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"13ec62c779e0eb1c749595d0ecd96a20410f53e4","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        super(OVSVolumeDriver, self).__init__(*args, **kwargs)"},{"line_number":69,"context_line":"        LOG.debug(\u0027INIT %(pool_name)s %(arg)s %(kwarg)s \u0027,"},{"line_number":70,"context_line":"                  {\u0027pool_name\u0027: CONF.vpool_name, \u0027arg\u0027: str(args),"},{"line_number":71,"context_line":"                   \u0027kwarg\u0027: str(kwargs)})"},{"line_number":72,"context_line":"        self.configuration.append_config_values(OPTS)"},{"line_number":73,"context_line":"        self._vpool_name \u003d self.configuration.vpool_name"},{"line_number":74,"context_line":"        if vpoollist is not None:"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a6ced46_2a1705ef","line":71,"in_reply_to":"1a6ced46_a4408e57","updated":"2015-03-23 10:19:39.000000000","message":"Sean mentioned on another patch that the safest way is to pass the formatting arguments into the LOG call (this is not only about the delayed string interpolation), because otherwise we could cause an exception.","commit_id":"60b35331a3f4f215fe0fc0dd7d9ccf9517ee7ce1"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        \"\"\""},{"line_number":68,"context_line":"        super(OVSVolumeDriver, self).__init__(*args, **kwargs)"},{"line_number":69,"context_line":"        LOG.debug(\u0027INIT %(pool_name)s %(arg)s %(kwarg)s \u0027,"},{"line_number":70,"context_line":"                  {\u0027pool_name\u0027: CONF.vpool_name, \u0027arg\u0027: str(args),"},{"line_number":71,"context_line":"                   \u0027kwarg\u0027: str(kwargs)})"},{"line_number":72,"context_line":"        self.configuration.append_config_values(OPTS)"},{"line_number":73,"context_line":"        self._vpool_name \u003d self.configuration.vpool_name"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_e7fefe6a","line":70,"updated":"2015-03-23 14:29:03.000000000","message":"Remove use of str().","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        \"\"\""},{"line_number":68,"context_line":"        super(OVSVolumeDriver, self).__init__(*args, **kwargs)"},{"line_number":69,"context_line":"        LOG.debug(\u0027INIT %(pool_name)s %(arg)s %(kwarg)s \u0027,"},{"line_number":70,"context_line":"                  {\u0027pool_name\u0027: CONF.vpool_name, \u0027arg\u0027: str(args),"},{"line_number":71,"context_line":"                   \u0027kwarg\u0027: str(kwargs)})"},{"line_number":72,"context_line":"        self.configuration.append_config_values(OPTS)"},{"line_number":73,"context_line":"        self._vpool_name \u003d self.configuration.vpool_name"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_690018ab","line":70,"in_reply_to":"1a6ced46_e7fefe6a","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        super(OVSVolumeDriver, self).__init__(*args, **kwargs)"},{"line_number":69,"context_line":"        LOG.debug(\u0027INIT %(pool_name)s %(arg)s %(kwarg)s \u0027,"},{"line_number":70,"context_line":"                  {\u0027pool_name\u0027: CONF.vpool_name, \u0027arg\u0027: str(args),"},{"line_number":71,"context_line":"                   \u0027kwarg\u0027: str(kwargs)})"},{"line_number":72,"context_line":"        self.configuration.append_config_values(OPTS)"},{"line_number":73,"context_line":"        self._vpool_name \u003d self.configuration.vpool_name"},{"line_number":74,"context_line":"        if vpoollist is not None:"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_c7302259","line":71,"updated":"2015-03-23 14:29:03.000000000","message":"Remove use of str().","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        super(OVSVolumeDriver, self).__init__(*args, **kwargs)"},{"line_number":69,"context_line":"        LOG.debug(\u0027INIT %(pool_name)s %(arg)s %(kwarg)s \u0027,"},{"line_number":70,"context_line":"                  {\u0027pool_name\u0027: CONF.vpool_name, \u0027arg\u0027: str(args),"},{"line_number":71,"context_line":"                   \u0027kwarg\u0027: str(kwargs)})"},{"line_number":72,"context_line":"        self.configuration.append_config_values(OPTS)"},{"line_number":73,"context_line":"        self._vpool_name \u003d self.configuration.vpool_name"},{"line_number":74,"context_line":"        if vpoollist is not None:"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_892c744c","line":71,"in_reply_to":"1a6ced46_c7302259","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":244,"context_line":"                            \u0027is_automatic\u0027: False}"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"                LOG.debug(\u0027CREATE_SNAP %(name)s %(metadata)s\u0027,"},{"line_number":247,"context_line":"                          {\u0027name\u0027: name, \u0027metadata\u0027: str(metadata)})"},{"line_number":248,"context_line":"                snapshotid \u003d vdisklib.VDiskController.create_snapshot("},{"line_number":249,"context_line":"                    diskguid \u003d source_ovs_disk.guid,"},{"line_number":250,"context_line":"                    metadata \u003d metadata,"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_67492ed0","line":247,"updated":"2015-03-23 14:29:03.000000000","message":"Remove str()","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":244,"context_line":"                            \u0027is_automatic\u0027: False}"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"                LOG.debug(\u0027CREATE_SNAP %(name)s %(metadata)s\u0027,"},{"line_number":247,"context_line":"                          {\u0027name\u0027: name, \u0027metadata\u0027: str(metadata)})"},{"line_number":248,"context_line":"                snapshotid \u003d vdisklib.VDiskController.create_snapshot("},{"line_number":249,"context_line":"                    diskguid \u003d source_ovs_disk.guid,"},{"line_number":250,"context_line":"                    metadata \u003d metadata,"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_c9dd8c44","line":247,"in_reply_to":"1a6ced46_67492ed0","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":312,"context_line":"                    \u0027is_automatic\u0027: False}"},{"line_number":313,"context_line":""},{"line_number":314,"context_line":"        LOG.debug(\u0027CREATE_SNAP %(name)s %(metadata)s\u0027,"},{"line_number":315,"context_line":"                  {\u0027name\u0027: snapshot.display_name, \u0027metadata\u0027: str(metadata)})"},{"line_number":316,"context_line":"        vdisklib.VDiskController.create_snapshot(diskguid \u003d ovs_disk.guid,"},{"line_number":317,"context_line":"                                                 metadata \u003d metadata,"},{"line_number":318,"context_line":"                                                 snapshotid \u003d"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_273f3627","line":315,"updated":"2015-03-23 14:29:03.000000000","message":"Remove str()","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":312,"context_line":"                    \u0027is_automatic\u0027: False}"},{"line_number":313,"context_line":""},{"line_number":314,"context_line":"        LOG.debug(\u0027CREATE_SNAP %(name)s %(metadata)s\u0027,"},{"line_number":315,"context_line":"                  {\u0027name\u0027: snapshot.display_name, \u0027metadata\u0027: str(metadata)})"},{"line_number":316,"context_line":"        vdisklib.VDiskController.create_snapshot(diskguid \u003d ovs_disk.guid,"},{"line_number":317,"context_line":"                                                 metadata \u003d metadata,"},{"line_number":318,"context_line":"                                                 snapshotid \u003d"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_0995e43f","line":315,"in_reply_to":"1a6ced46_273f3627","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"}],"cinder/volume/drivers/prophetstor/dpl_fc.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":135,"context_line":"    def _export_fc(self, volumeid, targetwwpns, initiatorwwpns, volumename):"},{"line_number":136,"context_line":"        ret \u003d 0"},{"line_number":137,"context_line":"        output \u003d \u0027\u0027"},{"line_number":138,"context_line":"        msg \u003d _(\u0027Export fc: %(volume)s, %(wwpns)s, %(iqn)s, %(volumename)s\u0027), {"},{"line_number":139,"context_line":"            \u0027volume\u0027: volumeid, \u0027wwpns\u0027: targetwwpns,"},{"line_number":140,"context_line":"            \u0027iqn\u0027: initiatorwwpns, \u0027volumename\u0027: volumename}"},{"line_number":141,"context_line":"        LOG.debug(msg)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_e75a7e82","line":138,"updated":"2015-03-23 14:29:03.000000000","message":"Move into LOG.debug() call.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":135,"context_line":"    def _export_fc(self, volumeid, targetwwpns, initiatorwwpns, volumename):"},{"line_number":136,"context_line":"        ret \u003d 0"},{"line_number":137,"context_line":"        output \u003d \u0027\u0027"},{"line_number":138,"context_line":"        msg \u003d _(\u0027Export fc: %(volume)s, %(wwpns)s, %(iqn)s, %(volumename)s\u0027), {"},{"line_number":139,"context_line":"            \u0027volume\u0027: volumeid, \u0027wwpns\u0027: targetwwpns,"},{"line_number":140,"context_line":"            \u0027iqn\u0027: initiatorwwpns, \u0027volumename\u0027: volumename}"},{"line_number":141,"context_line":"        LOG.debug(msg)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_a426b7b8","line":138,"in_reply_to":"1a6ced46_e75a7e82","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"}],"cinder/volume/drivers/quobyte.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a64967b0c723d3bbfe9957a4b62c096189e4c605","unresolved":false,"context_lines":[{"line_number":307,"context_line":""},{"line_number":308,"context_line":"        self.shares[url] \u003d None  # None \u003d No extra mount options."},{"line_number":309,"context_line":""},{"line_number":310,"context_line":"        LOG.debug(\"Quobyte Volume URL set to: %s\", str(self.shares))"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"    def _ensure_share_mounted(self, quobyte_volume):"},{"line_number":313,"context_line":"        \"\"\"Mount Quobyte volume."}],"source_content_type":"text/x-python","patch_set":5,"id":"1a6ced46_e9925f9e","line":310,"updated":"2015-03-23 09:13:44.000000000","message":"Remove str?","commit_id":"60b35331a3f4f215fe0fc0dd7d9ccf9517ee7ce1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"41212dd697c9aac85fef6e7bceca485ae08bdb4c","unresolved":false,"context_lines":[{"line_number":307,"context_line":""},{"line_number":308,"context_line":"        self.shares[url] \u003d None  # None \u003d No extra mount options."},{"line_number":309,"context_line":""},{"line_number":310,"context_line":"        LOG.debug(\"Quobyte Volume URL set to: %s\", str(self.shares))"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"    def _ensure_share_mounted(self, quobyte_volume):"},{"line_number":313,"context_line":"        \"\"\"Mount Quobyte volume."}],"source_content_type":"text/x-python","patch_set":5,"id":"1a6ced46_ef36dfe6","line":310,"in_reply_to":"1a6ced46_e9925f9e","updated":"2015-03-23 10:07:54.000000000","message":"IMO this is fine as it is because We are not using translations for debug logs.","commit_id":"60b35331a3f4f215fe0fc0dd7d9ccf9517ee7ce1"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"13ec62c779e0eb1c749595d0ecd96a20410f53e4","unresolved":false,"context_lines":[{"line_number":307,"context_line":""},{"line_number":308,"context_line":"        self.shares[url] \u003d None  # None \u003d No extra mount options."},{"line_number":309,"context_line":""},{"line_number":310,"context_line":"        LOG.debug(\"Quobyte Volume URL set to: %s\", str(self.shares))"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"    def _ensure_share_mounted(self, quobyte_volume):"},{"line_number":313,"context_line":"        \"\"\"Mount Quobyte volume."}],"source_content_type":"text/x-python","patch_set":5,"id":"1a6ced46_2a00e5a9","line":310,"in_reply_to":"1a6ced46_ef36dfe6","updated":"2015-03-23 10:19:39.000000000","message":"Sean mentioned on another patch that the safest way is to pass the formatting arguments into the LOG call (this is not only about the delayed string interpolation), because otherwise we could cause an exception.","commit_id":"60b35331a3f4f215fe0fc0dd7d9ccf9517ee7ce1"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":307,"context_line":""},{"line_number":308,"context_line":"        self.shares[url] \u003d None  # None \u003d No extra mount options."},{"line_number":309,"context_line":""},{"line_number":310,"context_line":"        LOG.debug(\"Quobyte Volume URL set to: %s\", str(self.shares))"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"    def _ensure_share_mounted(self, quobyte_volume):"},{"line_number":313,"context_line":"        \"\"\"Mount Quobyte volume."}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_07d79ac2","line":310,"updated":"2015-03-23 14:29:03.000000000","message":"Remove use of str().","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":307,"context_line":""},{"line_number":308,"context_line":"        self.shares[url] \u003d None  # None \u003d No extra mount options."},{"line_number":309,"context_line":""},{"line_number":310,"context_line":"        LOG.debug(\"Quobyte Volume URL set to: %s\", str(self.shares))"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"    def _ensure_share_mounted(self, quobyte_volume):"},{"line_number":313,"context_line":"        \"\"\"Mount Quobyte volume."}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_e4834fca","line":310,"in_reply_to":"1a6ced46_07d79ac2","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":332,"context_line":"            except Exception as exc:"},{"line_number":333,"context_line":"                LOG.warning(_LW(\u0027Exception during mounting %s\u0027), exc)"},{"line_number":334,"context_line":""},{"line_number":335,"context_line":"        LOG.debug(\u0027Available shares %s\u0027, str(self._mounted_shares))"},{"line_number":336,"context_line":""},{"line_number":337,"context_line":"    def _find_share(self, volume_size_in_gib):"},{"line_number":338,"context_line":"        \"\"\"Returns the mounted Quobyte volume."}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_27dbb6ee","line":335,"updated":"2015-03-23 14:29:03.000000000","message":"Remove use of str().","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":332,"context_line":"            except Exception as exc:"},{"line_number":333,"context_line":"                LOG.warning(_LW(\u0027Exception during mounting %s\u0027), exc)"},{"line_number":334,"context_line":""},{"line_number":335,"context_line":"        LOG.debug(\u0027Available shares %s\u0027, str(self._mounted_shares))"},{"line_number":336,"context_line":""},{"line_number":337,"context_line":"    def _find_share(self, volume_size_in_gib):"},{"line_number":338,"context_line":"        \"\"\"Returns the mounted Quobyte volume."}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_04606b31","line":335,"in_reply_to":"1a6ced46_27dbb6ee","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"}],"cinder/volume/drivers/rbd.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":667,"context_line":"                    raise exception.VolumeIsBusy(msg, volume_name\u003dvolume_name)"},{"line_number":668,"context_line":"                except self.rbd.ImageNotFound:"},{"line_number":669,"context_line":"                    msg \u003d (_LI(\"RBD volume %s not found, allowing delete \""},{"line_number":670,"context_line":"                               \"operation to proceed.\"), volume_name)"},{"line_number":671,"context_line":"                    LOG.info(msg)"},{"line_number":672,"context_line":"                    return"},{"line_number":673,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_6793eefa","line":670,"updated":"2015-03-23 14:29:03.000000000","message":"Move into LOG.info call.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":667,"context_line":"                    raise exception.VolumeIsBusy(msg, volume_name\u003dvolume_name)"},{"line_number":668,"context_line":"                except self.rbd.ImageNotFound:"},{"line_number":669,"context_line":"                    msg \u003d (_LI(\"RBD volume %s not found, allowing delete \""},{"line_number":670,"context_line":"                               \"operation to proceed.\"), volume_name)"},{"line_number":671,"context_line":"                    LOG.info(msg)"},{"line_number":672,"context_line":"                    return"},{"line_number":673,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_c4cc9338","line":670,"in_reply_to":"1a6ced46_6793eefa","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"53778727562aa81dff0eeaa29bdc75964f441ec9","unresolved":false,"context_lines":[{"line_number":656,"context_line":"                try:"},{"line_number":657,"context_line":"                    self.rbd.RBD().remove(client.ioctx, volume_name)"},{"line_number":658,"context_line":"                except self.rbd.ImageBusy:"},{"line_number":659,"context_line":"                    msg \u003d (_(\"ImageBusy error raised while deleting rbd \""},{"line_number":660,"context_line":"                             \"volume. This may have been caused by a \""},{"line_number":661,"context_line":"                             \"connection from a client that has crashed and, \""},{"line_number":662,"context_line":"                             \"if so, may be resolved by retrying the delete \""}],"source_content_type":"text/x-python","patch_set":11,"id":"9aa53dc9_684d933d","line":659,"updated":"2015-04-08 14:21:27.000000000","message":"Should be _LW().","commit_id":"5b71cf377d93da1be740d568cc9e7e359e5a3e19"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"a057980c6840e702c8269eae3506fd8eee5fe71f","unresolved":false,"context_lines":[{"line_number":656,"context_line":"                try:"},{"line_number":657,"context_line":"                    self.rbd.RBD().remove(client.ioctx, volume_name)"},{"line_number":658,"context_line":"                except self.rbd.ImageBusy:"},{"line_number":659,"context_line":"                    msg \u003d (_(\"ImageBusy error raised while deleting rbd \""},{"line_number":660,"context_line":"                             \"volume. This may have been caused by a \""},{"line_number":661,"context_line":"                             \"connection from a client that has crashed and, \""},{"line_number":662,"context_line":"                             \"if so, may be resolved by retrying the delete \""}],"source_content_type":"text/x-python","patch_set":11,"id":"7aaa499b_1b6349b3","line":659,"in_reply_to":"9aa53dc9_684d933d","updated":"2015-04-12 09:30:01.000000000","message":"I think _() is correct here, because same message is used for exception below.","commit_id":"5b71cf377d93da1be740d568cc9e7e359e5a3e19"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"2331ff0fc90adccca033b56cf7b410bec262c4b0","unresolved":false,"context_lines":[{"line_number":667,"context_line":"                try:"},{"line_number":668,"context_line":"                    self.rbd.RBD().remove(client.ioctx, volume_name)"},{"line_number":669,"context_line":"                except self.rbd.ImageBusy:"},{"line_number":670,"context_line":"                    msg \u003d (_(\"ImageBusy error raised while deleting rbd \""},{"line_number":671,"context_line":"                             \"volume. This may have been caused by a \""},{"line_number":672,"context_line":"                             \"connection from a client that has crashed and, \""},{"line_number":673,"context_line":"                             \"if so, may be resolved by retrying the delete \""}],"source_content_type":"text/x-python","patch_set":13,"id":"7aaa499b_73ba71e3","line":670,"updated":"2015-04-12 19:36:05.000000000","message":"You are correct from comment on patchset 11. I missed that it was being used in the exception.","commit_id":"d4f6ef8ff8469781ba1599dfecc881eba0ba3d02"}],"cinder/volume/drivers/remotefs.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":933,"context_line":"                # There should always be at least the original volume"},{"line_number":934,"context_line":"                # file as base."},{"line_number":935,"context_line":"                msg \u003d _LW(\u0027No backing file found for %s, allowing snapshot \u0027"},{"line_number":936,"context_line":"                          \u0027to be deleted.\u0027), snapshot_path"},{"line_number":937,"context_line":"                LOG.warning(msg)"},{"line_number":938,"context_line":""},{"line_number":939,"context_line":"                # Snapshot may be stale, so just delete it and update the"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_07731aea","line":936,"updated":"2015-03-23 14:29:03.000000000","message":"Move into LOG.warning call.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":933,"context_line":"                # There should always be at least the original volume"},{"line_number":934,"context_line":"                # file as base."},{"line_number":935,"context_line":"                msg \u003d _LW(\u0027No backing file found for %s, allowing snapshot \u0027"},{"line_number":936,"context_line":"                          \u0027to be deleted.\u0027), snapshot_path"},{"line_number":937,"context_line":"                LOG.warning(msg)"},{"line_number":938,"context_line":""},{"line_number":939,"context_line":"                # Snapshot may be stale, so just delete it and update the"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_4486e3ba","line":936,"in_reply_to":"1a6ced46_07731aea","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":954,"context_line":"                    break"},{"line_number":955,"context_line":"            if base_id is None:"},{"line_number":956,"context_line":"                # This means we are deleting the oldest snapshot"},{"line_number":957,"context_line":"                msg \u003d \u0027No %(base_id)s found for %(file)s\u0027, {"},{"line_number":958,"context_line":"                    \u0027base_id\u0027: \u0027base_id\u0027,"},{"line_number":959,"context_line":"                    \u0027file\u0027: snapshot_file}"},{"line_number":960,"context_line":"                LOG.debug(msg)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_277736d6","line":957,"updated":"2015-03-23 14:29:03.000000000","message":"Move into LOG.debug call.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":954,"context_line":"                    break"},{"line_number":955,"context_line":"            if base_id is None:"},{"line_number":956,"context_line":"                # This means we are deleting the oldest snapshot"},{"line_number":957,"context_line":"                msg \u003d \u0027No %(base_id)s found for %(file)s\u0027, {"},{"line_number":958,"context_line":"                    \u0027base_id\u0027: \u0027base_id\u0027,"},{"line_number":959,"context_line":"                    \u0027file\u0027: snapshot_file}"},{"line_number":960,"context_line":"                LOG.debug(msg)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_e46d0f06","line":957,"in_reply_to":"1a6ced46_277736d6","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":1025,"context_line":"                                higher_file),"},{"line_number":1026,"context_line":"                                None)"},{"line_number":1027,"context_line":"            if highest_file is None:"},{"line_number":1028,"context_line":"                msg \u003d \u0027No file depends on %s.\u0027, higher_file"},{"line_number":1029,"context_line":"                LOG.debug(msg)"},{"line_number":1030,"context_line":""},{"line_number":1031,"context_line":"            # Committing higher_file into snapshot_file"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_e7443e76","line":1028,"updated":"2015-03-23 14:29:03.000000000","message":"Move into LOG.debug call.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":1025,"context_line":"                                higher_file),"},{"line_number":1026,"context_line":"                                None)"},{"line_number":1027,"context_line":"            if highest_file is None:"},{"line_number":1028,"context_line":"                msg \u003d \u0027No file depends on %s.\u0027, higher_file"},{"line_number":1029,"context_line":"                LOG.debug(msg)"},{"line_number":1030,"context_line":""},{"line_number":1031,"context_line":"            # Committing higher_file into snapshot_file"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_242567c2","line":1028,"in_reply_to":"1a6ced46_e7443e76","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"53778727562aa81dff0eeaa29bdc75964f441ec9","unresolved":false,"context_lines":[{"line_number":1332,"context_line":"                    break"},{"line_number":1333,"context_line":"                else:"},{"line_number":1334,"context_line":"                    msg \u003d (\u0027status of snapshot %s is \u0027"},{"line_number":1335,"context_line":"                           \u0027still \"deleting\"... waiting\u0027), snapshot[\u0027id\u0027]"},{"line_number":1336,"context_line":"                    LOG.debug(msg)"},{"line_number":1337,"context_line":"                    time.sleep(increment)"},{"line_number":1338,"context_line":"                    seconds_elapsed +\u003d increment"}],"source_content_type":"text/x-python","patch_set":11,"id":"9aa53dc9_8813370d","line":1335,"updated":"2015-04-08 14:21:27.000000000","message":"Needs to move into LOG call or change back to %.","commit_id":"5b71cf377d93da1be740d568cc9e7e359e5a3e19"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"a057980c6840e702c8269eae3506fd8eee5fe71f","unresolved":false,"context_lines":[{"line_number":1332,"context_line":"                    break"},{"line_number":1333,"context_line":"                else:"},{"line_number":1334,"context_line":"                    msg \u003d (\u0027status of snapshot %s is \u0027"},{"line_number":1335,"context_line":"                           \u0027still \"deleting\"... waiting\u0027), snapshot[\u0027id\u0027]"},{"line_number":1336,"context_line":"                    LOG.debug(msg)"},{"line_number":1337,"context_line":"                    time.sleep(increment)"},{"line_number":1338,"context_line":"                    seconds_elapsed +\u003d increment"}],"source_content_type":"text/x-python","patch_set":11,"id":"7aaa499b_9b6f5992","line":1335,"in_reply_to":"9aa53dc9_8813370d","updated":"2015-04-12 09:30:01.000000000","message":"Done","commit_id":"5b71cf377d93da1be740d568cc9e7e359e5a3e19"}],"cinder/volume/drivers/san/hp/hp_3par_common.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":767,"context_line":"                    break"},{"line_number":768,"context_line":""},{"line_number":769,"context_line":"        if found_vlun is None:"},{"line_number":770,"context_line":"            msg \u003d (_LI(\"3PAR vlun %(name)s not found on host %(host)s\"),"},{"line_number":771,"context_line":"                   {\u0027name\u0027: volume_name, \u0027host\u0027: hostname})"},{"line_number":772,"context_line":"            LOG.info(msg)"},{"line_number":773,"context_line":"        return found_vlun"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_07415a5a","line":770,"updated":"2015-03-23 14:29:03.000000000","message":"Move into LOG.info call.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":767,"context_line":"                    break"},{"line_number":768,"context_line":""},{"line_number":769,"context_line":"        if found_vlun is None:"},{"line_number":770,"context_line":"            msg \u003d (_LI(\"3PAR vlun %(name)s not found on host %(host)s\"),"},{"line_number":771,"context_line":"                   {\u0027name\u0027: volume_name, \u0027host\u0027: hostname})"},{"line_number":772,"context_line":"            LOG.info(msg)"},{"line_number":773,"context_line":"        return found_vlun"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_9f2662b9","line":770,"in_reply_to":"1a6ced46_07415a5a","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":790,"context_line":"                break"},{"line_number":791,"context_line":"        else:"},{"line_number":792,"context_line":"            msg \u003d (_LI(\"3PAR vlun for volume %(name)s not found on host \""},{"line_number":793,"context_line":"                       \"%(host)s\"), {\u0027name\u0027: volume_name, \u0027host\u0027: hostname})"},{"line_number":794,"context_line":"            LOG.info(msg)"},{"line_number":795,"context_line":"            return"},{"line_number":796,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_472272ba","line":793,"updated":"2015-03-23 14:29:03.000000000","message":"Move into LOG.info call.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":790,"context_line":"                break"},{"line_number":791,"context_line":"        else:"},{"line_number":792,"context_line":"            msg \u003d (_LI(\"3PAR vlun for volume %(name)s not found on host \""},{"line_number":793,"context_line":"                       \"%(host)s\"), {\u0027name\u0027: volume_name, \u0027host\u0027: hostname})"},{"line_number":794,"context_line":"            LOG.info(msg)"},{"line_number":795,"context_line":"            return"},{"line_number":796,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_9f882224","line":793,"in_reply_to":"1a6ced46_472272ba","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":828,"context_line":""},{"line_number":829,"context_line":"                # The log info explains why the host was left alone."},{"line_number":830,"context_line":"                msg \u003d (_LI(\"3PAR vlun for volume \u0027%(name)s\u0027 was deleted, \""},{"line_number":831,"context_line":"                           \"but the host \u0027%(host)s\u0027 was not deleted because: \""},{"line_number":832,"context_line":"                           \"%(reason)s\"),"},{"line_number":833,"context_line":"                       {\u0027name\u0027: volume_name,"},{"line_number":834,"context_line":"                        \u0027host\u0027: hostname,"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_872c6aad","line":831,"updated":"2015-03-23 14:29:03.000000000","message":"Move into LOG.info call.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":828,"context_line":""},{"line_number":829,"context_line":"                # The log info explains why the host was left alone."},{"line_number":830,"context_line":"                msg \u003d (_LI(\"3PAR vlun for volume \u0027%(name)s\u0027 was deleted, \""},{"line_number":831,"context_line":"                           \"but the host \u0027%(host)s\u0027 was not deleted because: \""},{"line_number":832,"context_line":"                           \"%(reason)s\"),"},{"line_number":833,"context_line":"                       {\u0027name\u0027: volume_name,"},{"line_number":834,"context_line":"                        \u0027host\u0027: hostname,"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_3f23ae06","line":831,"in_reply_to":"1a6ced46_872c6aad","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":1707,"context_line":"            # We\u0027ll let this act as if it worked"},{"line_number":1708,"context_line":"            # it helps clean up the cinder entries."},{"line_number":1709,"context_line":"            msg \u003d _LW(\"Delete Snapshot id not found. Removing from cinder: \""},{"line_number":1710,"context_line":"                      \"%(id)s Ex: %(msg)s\"), {\u0027id\u0027: snapshot[\u0027id\u0027], \u0027msg\u0027: ex}"},{"line_number":1711,"context_line":"            LOG.warning(msg)"},{"line_number":1712,"context_line":"        except hpexceptions.HTTPConflict as ex:"},{"line_number":1713,"context_line":"            LOG.error(_LE(\"Exception: %s\"), ex)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_87038a0e","line":1710,"updated":"2015-03-23 14:29:03.000000000","message":"Move into LOG.warning call.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":1707,"context_line":"            # We\u0027ll let this act as if it worked"},{"line_number":1708,"context_line":"            # it helps clean up the cinder entries."},{"line_number":1709,"context_line":"            msg \u003d _LW(\"Delete Snapshot id not found. Removing from cinder: \""},{"line_number":1710,"context_line":"                      \"%(id)s Ex: %(msg)s\"), {\u0027id\u0027: snapshot[\u0027id\u0027], \u0027msg\u0027: ex}"},{"line_number":1711,"context_line":"            LOG.warning(msg)"},{"line_number":1712,"context_line":"        except hpexceptions.HTTPConflict as ex:"},{"line_number":1713,"context_line":"            LOG.error(_LE(\"Exception: %s\"), ex)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_bf687ef6","line":1710,"in_reply_to":"1a6ced46_87038a0e","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"33b830ab7c11077b1b45d52fbd799aa5bc7b9b15","unresolved":false,"context_lines":[{"line_number":1210,"context_line":"                except exception.InvalidInput as ex:"},{"line_number":1211,"context_line":"                    # Delete the volume if unable to add it to the volume set"},{"line_number":1212,"context_line":"                    self.client.deleteVolume(volume_name)"},{"line_number":1213,"context_line":"                    LOG.error(_LE(\"Exception: %s\"), ex)"},{"line_number":1214,"context_line":"                    raise exception.CinderException(ex)"},{"line_number":1215,"context_line":"        except hpexceptions.HTTPConflict:"},{"line_number":1216,"context_line":"            msg \u003d _(\"Volume (%s) already exists on array\") % volume_name"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a0c5dc1_bb1791a2","line":1213,"updated":"2015-05-12 22:57:21.000000000","message":"I don\u0027t think this really buys us anything, and there are a lot of these in this file.\n\nIf any change was going to be made here, I would suggest LOG.exception being used instead.","commit_id":"a09c4e1747ba4027c90debdbbe698406c3096188"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"ae5ea8bdc59413a417c21ac8cb079976409532e4","unresolved":false,"context_lines":[{"line_number":1210,"context_line":"                except exception.InvalidInput as ex:"},{"line_number":1211,"context_line":"                    # Delete the volume if unable to add it to the volume set"},{"line_number":1212,"context_line":"                    self.client.deleteVolume(volume_name)"},{"line_number":1213,"context_line":"                    LOG.error(_LE(\"Exception: %s\"), ex)"},{"line_number":1214,"context_line":"                    raise exception.CinderException(ex)"},{"line_number":1215,"context_line":"        except hpexceptions.HTTPConflict:"},{"line_number":1216,"context_line":"            msg \u003d _(\"Volume (%s) already exists on array\") % volume_name"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a0c5dc1_0fbad723","line":1213,"in_reply_to":"9a0c5dc1_293d9b2b","updated":"2015-05-13 01:42:56.000000000","message":"This seems like a fine change to me.","commit_id":"a09c4e1747ba4027c90debdbbe698406c3096188"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"a285a09ef04ba45852c491cd4f3e2eda3151ebc0","unresolved":false,"context_lines":[{"line_number":1210,"context_line":"                except exception.InvalidInput as ex:"},{"line_number":1211,"context_line":"                    # Delete the volume if unable to add it to the volume set"},{"line_number":1212,"context_line":"                    self.client.deleteVolume(volume_name)"},{"line_number":1213,"context_line":"                    LOG.error(_LE(\"Exception: %s\"), ex)"},{"line_number":1214,"context_line":"                    raise exception.CinderException(ex)"},{"line_number":1215,"context_line":"        except hpexceptions.HTTPConflict:"},{"line_number":1216,"context_line":"            msg \u003d _(\"Volume (%s) already exists on array\") % volume_name"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a0c5dc1_293d9b2b","line":1213,"in_reply_to":"9a0c5dc1_bb1791a2","updated":"2015-05-13 00:17:36.000000000","message":"Hey Walter, this would need to either be LOG.error(_LE(\"Exception: %s\"), ex) or LOG.exception(_LE(\"Exception:\")). Either one would be equivalent with maybe the only advantage of LOG.exception being that it would have a little more detail with the stack trace.\n\nIt\u0027s really up to personal preference I think.  Either way, I think it\u0027s an improvement over the original code.","commit_id":"a09c4e1747ba4027c90debdbbe698406c3096188"}],"cinder/volume/drivers/san/hp/hp_3par_iscsi.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":158,"context_line":"                elif len(ip) \u003d\u003d 2:"},{"line_number":159,"context_line":"                    temp_iscsi_ip[ip[0]] \u003d {\u0027ip_port\u0027: ip[1]}"},{"line_number":160,"context_line":"                else:"},{"line_number":161,"context_line":"                    msg \u003d _LW(\"Invalid IP address format \u0027%s\u0027\"), ip_addr"},{"line_number":162,"context_line":"                    LOG.warning(msg)"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"        # add the single value iscsi_ip_address option to the IP dictionary."}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_4a10b74e","line":161,"updated":"2015-03-23 14:29:03.000000000","message":"Move into LOG.warning call.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":158,"context_line":"                elif len(ip) \u003d\u003d 2:"},{"line_number":159,"context_line":"                    temp_iscsi_ip[ip[0]] \u003d {\u0027ip_port\u0027: ip[1]}"},{"line_number":160,"context_line":"                else:"},{"line_number":161,"context_line":"                    msg \u003d _LW(\"Invalid IP address format \u0027%s\u0027\"), ip_addr"},{"line_number":162,"context_line":"                    LOG.warning(msg)"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"        # add the single value iscsi_ip_address option to the IP dictionary."}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_df3b7ae9","line":161,"in_reply_to":"1a6ced46_4a10b74e","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":192,"context_line":""},{"line_number":193,"context_line":"        # lets see if there are invalid iSCSI IPs left in the temp dict"},{"line_number":194,"context_line":"        if len(temp_iscsi_ip) \u003e 0:"},{"line_number":195,"context_line":"            msg \u003d (_LW(\"Found invalid iSCSI IP address(s) in configuration \""},{"line_number":196,"context_line":"                       \"option(s) hp3par_iscsi_ips or iscsi_ip_address \u0027%s.\u0027\"),"},{"line_number":197,"context_line":"                   (\", \".join(temp_iscsi_ip)))"},{"line_number":198,"context_line":"            LOG.warning(msg)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_8a1aaf6c","line":195,"updated":"2015-03-23 14:29:03.000000000","message":"Move into LOG.warning call.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":192,"context_line":""},{"line_number":193,"context_line":"        # lets see if there are invalid iSCSI IPs left in the temp dict"},{"line_number":194,"context_line":"        if len(temp_iscsi_ip) \u003e 0:"},{"line_number":195,"context_line":"            msg \u003d (_LW(\"Found invalid iSCSI IP address(s) in configuration \""},{"line_number":196,"context_line":"                       \"option(s) hp3par_iscsi_ips or iscsi_ip_address \u0027%s.\u0027\"),"},{"line_number":197,"context_line":"                   (\", \".join(temp_iscsi_ip)))"},{"line_number":198,"context_line":"            LOG.warning(msg)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_fa0e8433","line":195,"in_reply_to":"1a6ced46_8a1aaf6c","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"}],"cinder/volume/drivers/san/hp/hp_lefthand_iscsi.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"53778727562aa81dff0eeaa29bdc75964f441ec9","unresolved":false,"context_lines":[{"line_number":92,"context_line":"            client_version \u003d rest_proxy.hplefthandclient.version"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"            if client_version \u003c MIN_CLIENT_VERSION:"},{"line_number":95,"context_line":"                ex_msg \u003d (_LE(\"Invalid hplefthandclient version found (\""},{"line_number":96,"context_line":"                              \"%(found)s). Version %(minimum)s or greater \""},{"line_number":97,"context_line":"                              \"required.\")"},{"line_number":98,"context_line":"                          % {\u0027found\u0027: client_version,"}],"source_content_type":"text/x-python","patch_set":11,"id":"9aa53dc9_c8d7ff21","line":95,"updated":"2015-04-08 14:21:27.000000000","message":"Needs to be _() since it is used for the exception.","commit_id":"5b71cf377d93da1be740d568cc9e7e359e5a3e19"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"a057980c6840e702c8269eae3506fd8eee5fe71f","unresolved":false,"context_lines":[{"line_number":92,"context_line":"            client_version \u003d rest_proxy.hplefthandclient.version"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"            if client_version \u003c MIN_CLIENT_VERSION:"},{"line_number":95,"context_line":"                ex_msg \u003d (_LE(\"Invalid hplefthandclient version found (\""},{"line_number":96,"context_line":"                              \"%(found)s). Version %(minimum)s or greater \""},{"line_number":97,"context_line":"                              \"required.\")"},{"line_number":98,"context_line":"                          % {\u0027found\u0027: client_version,"}],"source_content_type":"text/x-python","patch_set":11,"id":"7aaa499b_bbf9f5ca","line":95,"in_reply_to":"9aa53dc9_c8d7ff21","updated":"2015-04-12 09:30:01.000000000","message":"Done","commit_id":"5b71cf377d93da1be740d568cc9e7e359e5a3e19"}],"cinder/volume/drivers/solidfire.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"53778727562aa81dff0eeaa29bdc75964f441ec9","unresolved":false,"context_lines":[{"line_number":1029,"context_line":""},{"line_number":1030,"context_line":"        sfid \u003d external_ref.get(\u0027source-id\u0027, None)"},{"line_number":1031,"context_line":"        sfname \u003d external_ref.get(\u0027name\u0027, None)"},{"line_number":1032,"context_line":"        if sfid is None:"},{"line_number":1033,"context_line":"            raise exception.SolidFireAPIException(\"Manage existing volume \""},{"line_number":1034,"context_line":"                                                  \"requires \u0027source-id\u0027.\")"},{"line_number":1035,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"9aa53dc9_88eb37b0","line":1032,"updated":"2015-04-08 14:21:27.000000000","message":"Needs _()","commit_id":"5b71cf377d93da1be740d568cc9e7e359e5a3e19"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"a057980c6840e702c8269eae3506fd8eee5fe71f","unresolved":false,"context_lines":[{"line_number":1029,"context_line":""},{"line_number":1030,"context_line":"        sfid \u003d external_ref.get(\u0027source-id\u0027, None)"},{"line_number":1031,"context_line":"        sfname \u003d external_ref.get(\u0027name\u0027, None)"},{"line_number":1032,"context_line":"        if sfid is None:"},{"line_number":1033,"context_line":"            raise exception.SolidFireAPIException(\"Manage existing volume \""},{"line_number":1034,"context_line":"                                                  \"requires \u0027source-id\u0027.\")"},{"line_number":1035,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"7aaa499b_fb253d5c","line":1032,"in_reply_to":"9aa53dc9_88eb37b0","updated":"2015-04-12 09:30:01.000000000","message":"Done","commit_id":"5b71cf377d93da1be740d568cc9e7e359e5a3e19"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"53778727562aa81dff0eeaa29bdc75964f441ec9","unresolved":false,"context_lines":[{"line_number":1085,"context_line":"        \"\"\""},{"line_number":1086,"context_line":""},{"line_number":1087,"context_line":"        sfid \u003d external_ref.get(\u0027source-id\u0027, None)"},{"line_number":1088,"context_line":"        if sfid is None:"},{"line_number":1089,"context_line":"            raise exception.SolidFireAPIException(\"Manage existing get size \""},{"line_number":1090,"context_line":"                                                  \"requires \u0027id\u0027.\")"},{"line_number":1091,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"9aa53dc9_c8081f94","line":1088,"updated":"2015-04-08 14:21:27.000000000","message":"Needs _().","commit_id":"5b71cf377d93da1be740d568cc9e7e359e5a3e19"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"a057980c6840e702c8269eae3506fd8eee5fe71f","unresolved":false,"context_lines":[{"line_number":1085,"context_line":"        \"\"\""},{"line_number":1086,"context_line":""},{"line_number":1087,"context_line":"        sfid \u003d external_ref.get(\u0027source-id\u0027, None)"},{"line_number":1088,"context_line":"        if sfid is None:"},{"line_number":1089,"context_line":"            raise exception.SolidFireAPIException(\"Manage existing get size \""},{"line_number":1090,"context_line":"                                                  \"requires \u0027id\u0027.\")"},{"line_number":1091,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"7aaa499b_db2a812c","line":1088,"in_reply_to":"9aa53dc9_c8081f94","updated":"2015-04-12 09:30:01.000000000","message":"Done","commit_id":"5b71cf377d93da1be740d568cc9e7e359e5a3e19"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"53778727562aa81dff0eeaa29bdc75964f441ec9","unresolved":false,"context_lines":[{"line_number":1106,"context_line":"            LOG.error(_LE(\"Account for Volume ID %s was not found on \""},{"line_number":1107,"context_line":"                          \"the SolidFire Cluster while attempting \""},{"line_number":1108,"context_line":"                          \"unmanage operation!\"), volume[\u0027id\u0027])"},{"line_number":1109,"context_line":"            raise exception.SolidFireAPIException(\"Failed to find account \""},{"line_number":1110,"context_line":"                                                  \"for volume.\")"},{"line_number":1111,"context_line":""},{"line_number":1112,"context_line":"        params \u003d {\u0027accountID\u0027: sfaccount[\u0027accountID\u0027]}"}],"source_content_type":"text/x-python","patch_set":11,"id":"9aa53dc9_a8ff1b66","line":1109,"updated":"2015-04-08 14:21:27.000000000","message":"Needs _().","commit_id":"5b71cf377d93da1be740d568cc9e7e359e5a3e19"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"a057980c6840e702c8269eae3506fd8eee5fe71f","unresolved":false,"context_lines":[{"line_number":1106,"context_line":"            LOG.error(_LE(\"Account for Volume ID %s was not found on \""},{"line_number":1107,"context_line":"                          \"the SolidFire Cluster while attempting \""},{"line_number":1108,"context_line":"                          \"unmanage operation!\"), volume[\u0027id\u0027])"},{"line_number":1109,"context_line":"            raise exception.SolidFireAPIException(\"Failed to find account \""},{"line_number":1110,"context_line":"                                                  \"for volume.\")"},{"line_number":1111,"context_line":""},{"line_number":1112,"context_line":"        params \u003d {\u0027accountID\u0027: sfaccount[\u0027accountID\u0027]}"}],"source_content_type":"text/x-python","patch_set":11,"id":"7aaa499b_bb20d54a","line":1109,"in_reply_to":"9aa53dc9_a8ff1b66","updated":"2015-04-12 09:30:01.000000000","message":"Done","commit_id":"5b71cf377d93da1be740d568cc9e7e359e5a3e19"}],"cinder/volume/drivers/windows/smbfs.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"49dcdc2eafb8bc4fca3566cb87a345062d893331","unresolved":false,"context_lines":[{"line_number":103,"context_line":"        total_allocated \u003d self._get_total_allocated(smbfs_share)"},{"line_number":104,"context_line":"        return_value \u003d [total_size, total_available, total_allocated]"},{"line_number":105,"context_line":"        LOG.info(_LI(\u0027Smb share %(share)s Total size %(size)s Total allocated \u0027"},{"line_number":106,"context_line":"                     \u0027%(allocated)s\u0027) % {\u0027share\u0027: smbfs_share,"},{"line_number":107,"context_line":"                                         \u0027size\u0027: total_size,"},{"line_number":108,"context_line":"                                         \u0027allocated\u0027: total_allocated})"},{"line_number":109,"context_line":"        return [float(x) for x in return_value]"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_9bcbfb72","line":106,"updated":"2015-03-16 18:14:37.000000000","message":"%-\u003e ,","commit_id":"54b5141436554f8e9c6fd934d30421b9617e7695"}],"cinder/volume/drivers/windows/windows_utils.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":56,"context_line":"            err_msg \u003d (_(\u0027check_for_setup_error: the state of the WT Portal \u0027"},{"line_number":57,"context_line":"                         \u0027could not be verified. WMI exception: %s\u0027))"},{"line_number":58,"context_line":"            LOG.error(err_msg, exc)"},{"line_number":59,"context_line":"            raise exception.VolumeBackendAPIException(data\u003derr_msg % exc)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        if not listen:"},{"line_number":62,"context_line":"            err_msg \u003d (_(\u0027check_for_setup_error: there is no ISCSI traffic \u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_4da0d190","line":59,"updated":"2015-03-23 14:29:03.000000000","message":"This should really have six.text_type(exc). I would probably change err_msg to do the full string formatting using this, then just pass that formatted string to LOG.error and the VolumeBackendAPIException.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":56,"context_line":"            err_msg \u003d (_(\u0027check_for_setup_error: the state of the WT Portal \u0027"},{"line_number":57,"context_line":"                         \u0027could not be verified. WMI exception: %s\u0027))"},{"line_number":58,"context_line":"            LOG.error(err_msg, exc)"},{"line_number":59,"context_line":"            raise exception.VolumeBackendAPIException(data\u003derr_msg % exc)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        if not listen:"},{"line_number":62,"context_line":"            err_msg \u003d (_(\u0027check_for_setup_error: there is no ISCSI traffic \u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_babfaccf","line":59,"in_reply_to":"1a6ced46_4da0d190","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        except wmi.x_wmi as exc:"},{"line_number":72,"context_line":"            err_msg \u003d (_(\u0027get_host_information: the state of the WT Portal \u0027"},{"line_number":73,"context_line":"                         \u0027could not be verified. WMI exception: %s\u0027))"},{"line_number":74,"context_line":"            LOG.error(err_msg, exc)"},{"line_number":75,"context_line":"            raise exception.VolumeBackendAPIException(data\u003derr_msg % exc)"},{"line_number":76,"context_line":"        (address, port) \u003d (wt_portal.Address, wt_portal.Port)"},{"line_number":77,"context_line":"        # Getting the host information"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_0db6d9d9","line":74,"updated":"2015-03-23 14:29:03.000000000","message":"Same as above.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        except wmi.x_wmi as exc:"},{"line_number":72,"context_line":"            err_msg \u003d (_(\u0027get_host_information: the state of the WT Portal \u0027"},{"line_number":73,"context_line":"                         \u0027could not be verified. WMI exception: %s\u0027))"},{"line_number":74,"context_line":"            LOG.error(err_msg, exc)"},{"line_number":75,"context_line":"            raise exception.VolumeBackendAPIException(data\u003derr_msg % exc)"},{"line_number":76,"context_line":"        (address, port) \u003d (wt_portal.Address, wt_portal.Port)"},{"line_number":77,"context_line":"        # Getting the host information"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_7ac1b42d","line":74,"in_reply_to":"1a6ced46_0db6d9d9","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":82,"context_line":"            err_msg \u003d (_(\u0027get_host_information: the ISCSI target information \u0027"},{"line_number":83,"context_line":"                         \u0027could not be retrieved. WMI exception: %s\u0027))"},{"line_number":84,"context_line":"            LOG.error(err_msg, exc)"},{"line_number":85,"context_line":"            raise exception.VolumeBackendAPIException(data\u003derr_msg % exc)"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        properties \u003d {}"},{"line_number":88,"context_line":"        properties[\u0027target_discovered\u0027] \u003d False"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_cde201d5","line":85,"updated":"2015-03-23 14:29:03.000000000","message":"Same as above.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":82,"context_line":"            err_msg \u003d (_(\u0027get_host_information: the ISCSI target information \u0027"},{"line_number":83,"context_line":"                         \u0027could not be retrieved. WMI exception: %s\u0027))"},{"line_number":84,"context_line":"            LOG.error(err_msg, exc)"},{"line_number":85,"context_line":"            raise exception.VolumeBackendAPIException(data\u003derr_msg % exc)"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        properties \u003d {}"},{"line_number":88,"context_line":"        properties[\u0027target_discovered\u0027] \u003d False"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_ba308c57","line":85,"in_reply_to":"1a6ced46_cde201d5","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"}],"cinder/volume/drivers/xio.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":117,"context_line":"        if status !\u003d 200:"},{"line_number":118,"context_line":"            # unsuccessful - this is fatal as we need the global id"},{"line_number":119,"context_line":"            # to build REST requests."},{"line_number":120,"context_line":"            msg \u003d _LE(\"Array query failed - No response (%d)!\"), status"},{"line_number":121,"context_line":"            LOG.error(msg)"},{"line_number":122,"context_line":"            RaiseXIODriverException()"},{"line_number":123,"context_line":"        # Successfully fetched QUERY info. Parse out globalid along with"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_4dce115c","line":120,"updated":"2015-03-23 14:29:03.000000000","message":"Move into LOG.error call.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":117,"context_line":"        if status !\u003d 200:"},{"line_number":118,"context_line":"            # unsuccessful - this is fatal as we need the global id"},{"line_number":119,"context_line":"            # to build REST requests."},{"line_number":120,"context_line":"            msg \u003d _LE(\"Array query failed - No response (%d)!\"), status"},{"line_number":121,"context_line":"            LOG.error(msg)"},{"line_number":122,"context_line":"            RaiseXIODriverException()"},{"line_number":123,"context_line":"        # Successfully fetched QUERY info. Parse out globalid along with"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_1a6d2033","line":120,"in_reply_to":"1a6ced46_4dce115c","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":415,"context_line":"                if secondary_ip is \u0027\u0027:"},{"line_number":416,"context_line":"                    # if secondary is not setup yet, then assert"},{"line_number":417,"context_line":"                    # connection on primary and secondary ip failed"},{"line_number":418,"context_line":"                    msg \u003d (_LE(\"Connection to %s failed and no secondary!\"),"},{"line_number":419,"context_line":"                           primary_ip)"},{"line_number":420,"context_line":"                    LOG.error(msg)"},{"line_number":421,"context_line":"                    RaiseXIODriverException()"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_ad04e57e","line":418,"updated":"2015-03-23 14:29:03.000000000","message":"Move into LOG.error call.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":415,"context_line":"                if secondary_ip is \u0027\u0027:"},{"line_number":416,"context_line":"                    # if secondary is not setup yet, then assert"},{"line_number":417,"context_line":"                    # connection on primary and secondary ip failed"},{"line_number":418,"context_line":"                    msg \u003d (_LE(\"Connection to %s failed and no secondary!\"),"},{"line_number":419,"context_line":"                           primary_ip)"},{"line_number":420,"context_line":"                    LOG.error(msg)"},{"line_number":421,"context_line":"                    RaiseXIODriverException()"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_bacc0c37","line":418,"in_reply_to":"1a6ced46_ad04e57e","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":427,"context_line":"            # connection failed on both IPs - break out of the loop"},{"line_number":428,"context_line":"            break"},{"line_number":429,"context_line":"        # connection on primary and secondary ip failed"},{"line_number":430,"context_line":"        msg \u003d (_LE(\"Could not connect to %(primary)s or %(secondary)s!\"),"},{"line_number":431,"context_line":"               {\u0027primary\u0027: primary_ip, \u0027secondary\u0027: secondary_ip})"},{"line_number":432,"context_line":"        LOG.error(msg)"},{"line_number":433,"context_line":"        RaiseXIODriverException()"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_6d490dd0","line":430,"updated":"2015-03-23 14:29:03.000000000","message":"Move into LOG.error call.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":427,"context_line":"            # connection failed on both IPs - break out of the loop"},{"line_number":428,"context_line":"            break"},{"line_number":429,"context_line":"        # connection on primary and secondary ip failed"},{"line_number":430,"context_line":"        msg \u003d (_LE(\"Could not connect to %(primary)s or %(secondary)s!\"),"},{"line_number":431,"context_line":"               {\u0027primary\u0027: primary_ip, \u0027secondary\u0027: secondary_ip})"},{"line_number":432,"context_line":"        LOG.error(msg)"},{"line_number":433,"context_line":"        RaiseXIODriverException()"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_dad1c8ce","line":430,"in_reply_to":"1a6ced46_6d490dd0","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":471,"context_line":"        resp \u003d self._send_cmd(\u0027GET\u0027, url, {})"},{"line_number":472,"context_line":"        status \u003d resp[\u0027status\u0027]"},{"line_number":473,"context_line":"        if status !\u003d 200:"},{"line_number":474,"context_line":"            msg \u003d _LW(\"IOnetworks GET failed (%d)\"), status"},{"line_number":475,"context_line":"            LOG.warning(msg)"},{"line_number":476,"context_line":"            return chap"},{"line_number":477,"context_line":"        # Got a good response. Parse out CHAP info.  First check if CHAP is"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_0d1259b1","line":474,"updated":"2015-03-23 14:29:03.000000000","message":"Move into LOG.error call.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":471,"context_line":"        resp \u003d self._send_cmd(\u0027GET\u0027, url, {})"},{"line_number":472,"context_line":"        status \u003d resp[\u0027status\u0027]"},{"line_number":473,"context_line":"        if status !\u003d 200:"},{"line_number":474,"context_line":"            msg \u003d _LW(\"IOnetworks GET failed (%d)\"), status"},{"line_number":475,"context_line":"            LOG.warning(msg)"},{"line_number":476,"context_line":"            return chap"},{"line_number":477,"context_line":"        # Got a good response. Parse out CHAP info.  First check if CHAP is"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_1adb60ee","line":474,"in_reply_to":"1a6ced46_0d1259b1","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":502,"context_line":"        status \u003d resp[\u0027status\u0027]"},{"line_number":503,"context_line":"        if status !\u003d 200:"},{"line_number":504,"context_line":"            # Not good. Throw an exception."},{"line_number":505,"context_line":"            msg \u003d _LE(\"Controller GET failed (%d)\"), status"},{"line_number":506,"context_line":"            LOG.error(msg)"},{"line_number":507,"context_line":"            RaiseXIODriverException()"},{"line_number":508,"context_line":"        # Good response.  Parse out IQN that matches iscsi_ip_address"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_6d202df8","line":505,"updated":"2015-03-23 14:29:03.000000000","message":"Move into LOG.error call.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":502,"context_line":"        status \u003d resp[\u0027status\u0027]"},{"line_number":503,"context_line":"        if status !\u003d 200:"},{"line_number":504,"context_line":"            # Not good. Throw an exception."},{"line_number":505,"context_line":"            msg \u003d _LE(\"Controller GET failed (%d)\"), status"},{"line_number":506,"context_line":"            LOG.error(msg)"},{"line_number":507,"context_line":"            RaiseXIODriverException()"},{"line_number":508,"context_line":"        # Good response.  Parse out IQN that matches iscsi_ip_address"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_baf32c72","line":505,"in_reply_to":"1a6ced46_6d202df8","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":542,"context_line":"        status \u003d resp[\u0027status\u0027]"},{"line_number":543,"context_line":"        if status !\u003d 200:"},{"line_number":544,"context_line":"            # Not good. Throw an exception."},{"line_number":545,"context_line":"            msg \u003d _LE(\"Controller GET failed (%d)\"), status"},{"line_number":546,"context_line":"            LOG.error(msg)"},{"line_number":547,"context_line":"            RaiseXIODriverException()"},{"line_number":548,"context_line":"        # Good response. Parse out globalid (WWN) of endpoint that matches"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_cd7e81e4","line":545,"updated":"2015-03-23 14:29:03.000000000","message":"Move into LOG.error call.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":542,"context_line":"        status \u003d resp[\u0027status\u0027]"},{"line_number":543,"context_line":"        if status !\u003d 200:"},{"line_number":544,"context_line":"            # Not good. Throw an exception."},{"line_number":545,"context_line":"            msg \u003d _LE(\"Controller GET failed (%d)\"), status"},{"line_number":546,"context_line":"            LOG.error(msg)"},{"line_number":547,"context_line":"            RaiseXIODriverException()"},{"line_number":548,"context_line":"        # Good response. Parse out globalid (WWN) of endpoint that matches"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_7aa7f44f","line":545,"in_reply_to":"1a6ced46_cd7e81e4","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":570,"context_line":"        status \u003d resp[\u0027status\u0027]"},{"line_number":571,"context_line":"        if status !\u003d 200:"},{"line_number":572,"context_line":"            # Not good. Throw an exception."},{"line_number":573,"context_line":"            msg \u003d _LE(\"Failed to get allocation information (%d)!\"), status"},{"line_number":574,"context_line":"            LOG.error(msg)"},{"line_number":575,"context_line":"            RaiseXIODriverException()"},{"line_number":576,"context_line":"        # Good response. Parse out LUN."}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_0d8979eb","line":573,"updated":"2015-03-23 14:29:03.000000000","message":"Move into LOG.error call.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":570,"context_line":"        status \u003d resp[\u0027status\u0027]"},{"line_number":571,"context_line":"        if status !\u003d 200:"},{"line_number":572,"context_line":"            # Not good. Throw an exception."},{"line_number":573,"context_line":"            msg \u003d _LE(\"Failed to get allocation information (%d)!\"), status"},{"line_number":574,"context_line":"            LOG.error(msg)"},{"line_number":575,"context_line":"            RaiseXIODriverException()"},{"line_number":576,"context_line":"        # Good response. Parse out LUN."}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_5a587856","line":573,"in_reply_to":"1a6ced46_0d8979eb","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":601,"context_line":"        url \u003d \u0027/storage/arrays/%s/volumes\u0027 % (self._get_ise_globalid())"},{"line_number":602,"context_line":"        resp \u003d self._send_cmd(\u0027GET\u0027, url, {\u0027name\u0027: vol_name})"},{"line_number":603,"context_line":"        if resp[\u0027status\u0027] !\u003d 200:"},{"line_number":604,"context_line":"            msg \u003d (_LW(\"Could not get status for %(name)s (%(status)d).\"),"},{"line_number":605,"context_line":"                   {\u0027name\u0027: vol_name, \u0027status\u0027: resp[\u0027status\u0027]})"},{"line_number":606,"context_line":"            LOG.warning(msg)"},{"line_number":607,"context_line":"            return vol_info"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_6d774d03","line":604,"updated":"2015-03-23 14:29:03.000000000","message":"Move into the LOG.warning call.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":601,"context_line":"        url \u003d \u0027/storage/arrays/%s/volumes\u0027 % (self._get_ise_globalid())"},{"line_number":602,"context_line":"        resp \u003d self._send_cmd(\u0027GET\u0027, url, {\u0027name\u0027: vol_name})"},{"line_number":603,"context_line":"        if resp[\u0027status\u0027] !\u003d 200:"},{"line_number":604,"context_line":"            msg \u003d (_LW(\"Could not get status for %(name)s (%(status)d).\"),"},{"line_number":605,"context_line":"                   {\u0027name\u0027: vol_name, \u0027status\u0027: resp[\u0027status\u0027]})"},{"line_number":606,"context_line":"            LOG.warning(msg)"},{"line_number":607,"context_line":"            return vol_info"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_f50e9733","line":604,"in_reply_to":"1a6ced46_6d774d03","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":617,"context_line":"        # Find status tag"},{"line_number":618,"context_line":"        status \u003d volume_node.find(\u0027status\u0027)"},{"line_number":619,"context_line":"        if status is None:"},{"line_number":620,"context_line":"            msg \u003d _LW(\"No status payload for volume %s.\"), vol_name"},{"line_number":621,"context_line":"            LOG.warning(msg)"},{"line_number":622,"context_line":"            return vol_info"},{"line_number":623,"context_line":"        # Fill in value and string from status tag attributes."}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_cd65a146","line":620,"updated":"2015-03-23 14:29:03.000000000","message":"Move into LOG.warning call.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":617,"context_line":"        # Find status tag"},{"line_number":618,"context_line":"        status \u003d volume_node.find(\u0027status\u0027)"},{"line_number":619,"context_line":"        if status is None:"},{"line_number":620,"context_line":"            msg \u003d _LW(\"No status payload for volume %s.\"), vol_name"},{"line_number":621,"context_line":"            LOG.warning(msg)"},{"line_number":622,"context_line":"            return vol_info"},{"line_number":623,"context_line":"        # Fill in value and string from status tag attributes."}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_751aa76f","line":620,"in_reply_to":"1a6ced46_cd65a146","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":643,"context_line":"        resp \u003d self._send_cmd(\u0027GET\u0027, url, {\u0027name\u0027: volume[\u0027name\u0027],"},{"line_number":644,"context_line":"                                           \u0027hostname\u0027: hostname})"},{"line_number":645,"context_line":"        if resp[\u0027status\u0027] !\u003d 200:"},{"line_number":646,"context_line":"            msg \u003d (_LE(\"Could not GET allocation information (%d)!\"),"},{"line_number":647,"context_line":"                   resp[\u0027status\u0027])"},{"line_number":648,"context_line":"            LOG.error(msg)"},{"line_number":649,"context_line":"            RaiseXIODriverException()"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_4d51b161","line":646,"updated":"2015-03-23 14:29:03.000000000","message":"Move into LOG.error call.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":643,"context_line":"        resp \u003d self._send_cmd(\u0027GET\u0027, url, {\u0027name\u0027: volume[\u0027name\u0027],"},{"line_number":644,"context_line":"                                           \u0027hostname\u0027: hostname})"},{"line_number":645,"context_line":"        if resp[\u0027status\u0027] !\u003d 200:"},{"line_number":646,"context_line":"            msg \u003d (_LE(\"Could not GET allocation information (%d)!\"),"},{"line_number":647,"context_line":"                   resp[\u0027status\u0027])"},{"line_number":648,"context_line":"            LOG.error(msg)"},{"line_number":649,"context_line":"            RaiseXIODriverException()"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_d5a51b05","line":646,"in_reply_to":"1a6ced46_4d51b161","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":707,"context_line":"        if status \u003d\u003d 201:"},{"line_number":708,"context_line":"            LOG.info(_LI(\"Volume %s presented.\"), volume[\u0027name\u0027])"},{"line_number":709,"context_line":"        elif status \u003d\u003d 409:"},{"line_number":710,"context_line":"            msg \u003d (_LW(\"Volume %(name)s already presented (%(status)d)!\"),"},{"line_number":711,"context_line":"                   {\u0027name\u0027: volume[\u0027name\u0027], \u0027status\u0027: status})"},{"line_number":712,"context_line":"            LOG.warning(msg)"},{"line_number":713,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_8d4ba9af","line":710,"updated":"2015-03-23 14:29:03.000000000","message":"Move into LOG.warning call.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":707,"context_line":"        if status \u003d\u003d 201:"},{"line_number":708,"context_line":"            LOG.info(_LI(\"Volume %s presented.\"), volume[\u0027name\u0027])"},{"line_number":709,"context_line":"        elif status \u003d\u003d 409:"},{"line_number":710,"context_line":"            msg \u003d (_LW(\"Volume %(name)s already presented (%(status)d)!\"),"},{"line_number":711,"context_line":"                   {\u0027name\u0027: volume[\u0027name\u0027], \u0027status\u0027: status})"},{"line_number":712,"context_line":"            LOG.warning(msg)"},{"line_number":713,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_f5cf77ae","line":710,"in_reply_to":"1a6ced46_8d4ba9af","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":711,"context_line":"                   {\u0027name\u0027: volume[\u0027name\u0027], \u0027status\u0027: status})"},{"line_number":712,"context_line":"            LOG.warning(msg)"},{"line_number":713,"context_line":"        else:"},{"line_number":714,"context_line":"            msg \u003d (_LE(\"Failed to present volume %(name)s (%(status)d)!\"),"},{"line_number":715,"context_line":"                   {\u0027name\u0027: volume[\u0027name\u0027], \u0027status\u0027: status})"},{"line_number":716,"context_line":"            LOG.error(msg)"},{"line_number":717,"context_line":"            RaiseXIODriverException()"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_adc78511","line":714,"updated":"2015-03-23 14:29:03.000000000","message":"Move into LOG.error call.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":711,"context_line":"                   {\u0027name\u0027: volume[\u0027name\u0027], \u0027status\u0027: status})"},{"line_number":712,"context_line":"            LOG.warning(msg)"},{"line_number":713,"context_line":"        else:"},{"line_number":714,"context_line":"            msg \u003d (_LE(\"Failed to present volume %(name)s (%(status)d)!\"),"},{"line_number":715,"context_line":"                   {\u0027name\u0027: volume[\u0027name\u0027], \u0027status\u0027: status})"},{"line_number":716,"context_line":"            LOG.error(msg)"},{"line_number":717,"context_line":"            RaiseXIODriverException()"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_15c41391","line":714,"in_reply_to":"1a6ced46_adc78511","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":739,"context_line":"        status \u003d resp[\u0027status\u0027]"},{"line_number":740,"context_line":"        if status !\u003d 200:"},{"line_number":741,"context_line":"            msg \u003d (_LE(\"Failed to get allocation information: \""},{"line_number":742,"context_line":"                       \"%(host)s (%(status)d)!\"),"},{"line_number":743,"context_line":"                   {\u0027host\u0027: hostname, \u0027status\u0027: status})"},{"line_number":744,"context_line":"            LOG.error(msg)"},{"line_number":745,"context_line":"            RaiseXIODriverException()"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_2ddb95ee","line":742,"updated":"2015-03-23 14:29:03.000000000","message":"Move into LOG.error call.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":739,"context_line":"        status \u003d resp[\u0027status\u0027]"},{"line_number":740,"context_line":"        if status !\u003d 200:"},{"line_number":741,"context_line":"            msg \u003d (_LE(\"Failed to get allocation information: \""},{"line_number":742,"context_line":"                       \"%(host)s (%(status)d)!\"),"},{"line_number":743,"context_line":"                   {\u0027host\u0027: hostname, \u0027status\u0027: status})"},{"line_number":744,"context_line":"            LOG.error(msg)"},{"line_number":745,"context_line":"            RaiseXIODriverException()"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_55be8b00","line":742,"in_reply_to":"1a6ced46_2ddb95ee","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":773,"context_line":"        resp \u003d self._send_cmd(\u0027GET\u0027, url, params)"},{"line_number":774,"context_line":"        status \u003d resp[\u0027status\u0027]"},{"line_number":775,"context_line":"        if resp[\u0027status\u0027] !\u003d 200:"},{"line_number":776,"context_line":"            msg \u003d _LE(\"Could not find any hosts (%s)\"), status"},{"line_number":777,"context_line":"            LOG.error(msg)"},{"line_number":778,"context_line":"            RaiseXIODriverException()"},{"line_number":779,"context_line":"        # Good response. Try to match up a host based on end point string."}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_adeea589","line":776,"updated":"2015-03-23 14:29:03.000000000","message":"Move into LOG.error call.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":773,"context_line":"        resp \u003d self._send_cmd(\u0027GET\u0027, url, params)"},{"line_number":774,"context_line":"        status \u003d resp[\u0027status\u0027]"},{"line_number":775,"context_line":"        if resp[\u0027status\u0027] !\u003d 200:"},{"line_number":776,"context_line":"            msg \u003d _LE(\"Could not find any hosts (%s)\"), status"},{"line_number":777,"context_line":"            LOG.error(msg)"},{"line_number":778,"context_line":"            RaiseXIODriverException()"},{"line_number":779,"context_line":"        # Good response. Try to match up a host based on end point string."}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_f55db7ea","line":776,"in_reply_to":"1a6ced46_adeea589","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":832,"context_line":"        resp \u003d self._send_cmd(\u0027POST\u0027, url, params)"},{"line_number":833,"context_line":"        status \u003d resp[\u0027status\u0027]"},{"line_number":834,"context_line":"        if status !\u003d 201 and status !\u003d 409:"},{"line_number":835,"context_line":"            msg \u003d _LE(\"POST for host create failed (%s)!\"), status"},{"line_number":836,"context_line":"            LOG.error(msg)"},{"line_number":837,"context_line":"            RaiseXIODriverException()"},{"line_number":838,"context_line":"        # Successfully created host entry. Return host name."}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_4dfff134","line":835,"updated":"2015-03-23 14:29:03.000000000","message":"Move into LOG.error call.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":832,"context_line":"        resp \u003d self._send_cmd(\u0027POST\u0027, url, params)"},{"line_number":833,"context_line":"        status \u003d resp[\u0027status\u0027]"},{"line_number":834,"context_line":"        if status !\u003d 201 and status !\u003d 409:"},{"line_number":835,"context_line":"            msg \u003d _LE(\"POST for host create failed (%s)!\"), status"},{"line_number":836,"context_line":"            LOG.error(msg)"},{"line_number":837,"context_line":"            RaiseXIODriverException()"},{"line_number":838,"context_line":"        # Successfully created host entry. Return host name."}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_7569c78a","line":835,"in_reply_to":"1a6ced46_4dfff134","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":860,"context_line":"        if vol_info[\u0027value\u0027] \u003d\u003d \u00270\u0027:"},{"line_number":861,"context_line":"            LOG.debug(\u0027Source volume %s ready.\u0027, volume_name)"},{"line_number":862,"context_line":"        else:"},{"line_number":863,"context_line":"            msg \u003d _LE(\"Source volume %s not ready!\"), volume_name"},{"line_number":864,"context_line":"            LOG.error(msg)"},{"line_number":865,"context_line":"            RaiseXIODriverException()"},{"line_number":866,"context_line":"        # Prepare snapshot"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_cd9a0114","line":863,"updated":"2015-03-23 14:29:03.000000000","message":"Move into LOG.error call.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":860,"context_line":"        if vol_info[\u0027value\u0027] \u003d\u003d \u00270\u0027:"},{"line_number":861,"context_line":"            LOG.debug(\u0027Source volume %s ready.\u0027, volume_name)"},{"line_number":862,"context_line":"        else:"},{"line_number":863,"context_line":"            msg \u003d _LE(\"Source volume %s not ready!\"), volume_name"},{"line_number":864,"context_line":"            LOG.error(msg)"},{"line_number":865,"context_line":"            RaiseXIODriverException()"},{"line_number":866,"context_line":"        # Prepare snapshot"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_f52bf72d","line":863,"in_reply_to":"1a6ced46_cd9a0114","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":887,"context_line":"                                         args, retries)"},{"line_number":888,"context_line":"        if resp[\u0027status\u0027] !\u003d 202:"},{"line_number":889,"context_line":"            # clone prepare failed - bummer"},{"line_number":890,"context_line":"            msg \u003d _LE(\"Prepare clone failed for %s.\"), clone[\u0027name\u0027]"},{"line_number":891,"context_line":"            LOG.error(msg)"},{"line_number":892,"context_line":"            RaiseXIODriverException()"},{"line_number":893,"context_line":"        # clone prepare request accepted"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_4d8611bb","line":890,"updated":"2015-03-23 14:29:03.000000000","message":"Move into LOG.error call.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":887,"context_line":"                                         args, retries)"},{"line_number":888,"context_line":"        if resp[\u0027status\u0027] !\u003d 202:"},{"line_number":889,"context_line":"            # clone prepare failed - bummer"},{"line_number":890,"context_line":"            msg \u003d _LE(\"Prepare clone failed for %s.\"), clone[\u0027name\u0027]"},{"line_number":891,"context_line":"            LOG.error(msg)"},{"line_number":892,"context_line":"            RaiseXIODriverException()"},{"line_number":893,"context_line":"        # clone prepare request accepted"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_f5e21702","line":890,"in_reply_to":"1a6ced46_4d8611bb","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":900,"context_line":"        if PREPARED_STATUS in clone_info[\u0027details\u0027]:"},{"line_number":901,"context_line":"            LOG.debug(\u0027Clone %s prepared.\u0027, clone[\u0027name\u0027])"},{"line_number":902,"context_line":"        else:"},{"line_number":903,"context_line":"            msg \u003d (_LE(\"Clone %s not in prepared state!\"), clone[\u0027name\u0027])"},{"line_number":904,"context_line":"            LOG.error(msg)"},{"line_number":905,"context_line":"            RaiseXIODriverException()"},{"line_number":906,"context_line":"        # Clone prepared, now commit the create"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_6d93cdfa","line":903,"updated":"2015-03-23 14:29:03.000000000","message":"Move into LOG.error call.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":900,"context_line":"        if PREPARED_STATUS in clone_info[\u0027details\u0027]:"},{"line_number":901,"context_line":"            LOG.debug(\u0027Clone %s prepared.\u0027, clone[\u0027name\u0027])"},{"line_number":902,"context_line":"        else:"},{"line_number":903,"context_line":"            msg \u003d (_LE(\"Clone %s not in prepared state!\"), clone[\u0027name\u0027])"},{"line_number":904,"context_line":"            LOG.error(msg)"},{"line_number":905,"context_line":"            RaiseXIODriverException()"},{"line_number":906,"context_line":"        # Clone prepared, now commit the create"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_55c84b74","line":903,"in_reply_to":"1a6ced46_6d93cdfa","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":908,"context_line":"                              {clone_type: \u0027true\u0027})"},{"line_number":909,"context_line":"        if resp[\u0027status\u0027] !\u003d 201:"},{"line_number":910,"context_line":"            msg \u003d (_LE(\"Commit clone failed: %(name)s (%(status)d)!\"),"},{"line_number":911,"context_line":"                   {\u0027name\u0027: clone[\u0027name\u0027], \u0027status\u0027: resp[\u0027status\u0027]})"},{"line_number":912,"context_line":"            LOG.error(msg)"},{"line_number":913,"context_line":"            RaiseXIODriverException()"},{"line_number":914,"context_line":"        # Clone create request accepted. Make sure not to return until clone"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_adbce56d","line":911,"updated":"2015-03-23 14:29:03.000000000","message":"Move into LOG.error call.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":908,"context_line":"                              {clone_type: \u0027true\u0027})"},{"line_number":909,"context_line":"        if resp[\u0027status\u0027] !\u003d 201:"},{"line_number":910,"context_line":"            msg \u003d (_LE(\"Commit clone failed: %(name)s (%(status)d)!\"),"},{"line_number":911,"context_line":"                   {\u0027name\u0027: clone[\u0027name\u0027], \u0027status\u0027: resp[\u0027status\u0027]})"},{"line_number":912,"context_line":"            LOG.error(msg)"},{"line_number":913,"context_line":"            RaiseXIODriverException()"},{"line_number":914,"context_line":"        # Clone create request accepted. Make sure not to return until clone"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_b5a6dfbf","line":911,"in_reply_to":"1a6ced46_adbce56d","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":922,"context_line":"            msg \u003d _LI(\"Clone %s created.\"), clone[\u0027name\u0027]"},{"line_number":923,"context_line":"            LOG.info(msg)"},{"line_number":924,"context_line":"        else:"},{"line_number":925,"context_line":"            msg \u003d _LE(\"Commit failed for %s!\"), clone[\u0027name\u0027]"},{"line_number":926,"context_line":"            LOG.error(msg)"},{"line_number":927,"context_line":"            RaiseXIODriverException()"},{"line_number":928,"context_line":"        return"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_0dbc1969","line":925,"updated":"2015-03-23 14:29:03.000000000","message":"Move into LOG.error call.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":922,"context_line":"            msg \u003d _LI(\"Clone %s created.\"), clone[\u0027name\u0027]"},{"line_number":923,"context_line":"            LOG.info(msg)"},{"line_number":924,"context_line":"        else:"},{"line_number":925,"context_line":"            msg \u003d _LE(\"Commit failed for %s!\"), clone[\u0027name\u0027]"},{"line_number":926,"context_line":"            LOG.error(msg)"},{"line_number":927,"context_line":"            RaiseXIODriverException()"},{"line_number":928,"context_line":"        return"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_d5999b6f","line":925,"in_reply_to":"1a6ced46_0dbc1969","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":987,"context_line":"        status \u003d resp[\u0027status\u0027]"},{"line_number":988,"context_line":"        if status !\u003d 200:"},{"line_number":989,"context_line":"            # Request failed. Return what we have, which isn\u0027t much."},{"line_number":990,"context_line":"            msg \u003d _LW(\"Could not get pool information (%s)!\"), status"},{"line_number":991,"context_line":"            LOG.warning(msg)"},{"line_number":992,"context_line":"            return (pools, vol_cnt)"},{"line_number":993,"context_line":"        # Parse out available (free) and used. Add them up to get total."}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_2db0f58a","line":990,"updated":"2015-03-23 14:29:03.000000000","message":"Move into LOG.warning call.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":987,"context_line":"        status \u003d resp[\u0027status\u0027]"},{"line_number":988,"context_line":"        if status !\u003d 200:"},{"line_number":989,"context_line":"            # Request failed. Return what we have, which isn\u0027t much."},{"line_number":990,"context_line":"            msg \u003d _LW(\"Could not get pool information (%s)!\"), status"},{"line_number":991,"context_line":"            LOG.warning(msg)"},{"line_number":992,"context_line":"            return (pools, vol_cnt)"},{"line_number":993,"context_line":"        # Parse out available (free) and used. Add them up to get total."}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_d53b5be9","line":990,"in_reply_to":"1a6ced46_2db0f58a","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":1178,"context_line":"                               \u0027IOPSmax\u0027: qos[\u0027maxIOPS\u0027],"},{"line_number":1179,"context_line":"                               \u0027IOPSburst\u0027: qos[\u0027burstIOPS\u0027]})"},{"line_number":1180,"context_line":"        if resp[\u0027status\u0027] !\u003d 201:"},{"line_number":1181,"context_line":"            msg \u003d (_LE(\"Failed to create volume: %(name)s (%(status)s)\"),"},{"line_number":1182,"context_line":"                   {\u0027name\u0027: volume[\u0027name\u0027], \u0027status\u0027: resp[\u0027status\u0027]})"},{"line_number":1183,"context_line":"            LOG.error(msg)"},{"line_number":1184,"context_line":"            RaiseXIODriverException()"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_8da7294f","line":1181,"updated":"2015-03-23 14:29:03.000000000","message":"Move into LOG.error call.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":1178,"context_line":"                               \u0027IOPSmax\u0027: qos[\u0027maxIOPS\u0027],"},{"line_number":1179,"context_line":"                               \u0027IOPSburst\u0027: qos[\u0027burstIOPS\u0027]})"},{"line_number":1180,"context_line":"        if resp[\u0027status\u0027] !\u003d 201:"},{"line_number":1181,"context_line":"            msg \u003d (_LE(\"Failed to create volume: %(name)s (%(status)s)\"),"},{"line_number":1182,"context_line":"                   {\u0027name\u0027: volume[\u0027name\u0027], \u0027status\u0027: resp[\u0027status\u0027]})"},{"line_number":1183,"context_line":"            LOG.error(msg)"},{"line_number":1184,"context_line":"            RaiseXIODriverException()"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_3522efb9","line":1181,"in_reply_to":"1a6ced46_8da7294f","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":1195,"context_line":"            msg \u003d _LI(\"Volume %s created\"), volume[\u0027name\u0027]"},{"line_number":1196,"context_line":"            LOG.info(msg)"},{"line_number":1197,"context_line":"        else:"},{"line_number":1198,"context_line":"            msg \u003d _LE(\"Failed to create volume %s.\"), volume[\u0027name\u0027]"},{"line_number":1199,"context_line":"            LOG.error(msg)"},{"line_number":1200,"context_line":"            RaiseXIODriverException()"},{"line_number":1201,"context_line":"        return"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_4d7451cf","line":1198,"updated":"2015-03-23 14:29:03.000000000","message":"Move into LOG.error call.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":1195,"context_line":"            msg \u003d _LI(\"Volume %s created\"), volume[\u0027name\u0027]"},{"line_number":1196,"context_line":"            LOG.info(msg)"},{"line_number":1197,"context_line":"        else:"},{"line_number":1198,"context_line":"            msg \u003d _LE(\"Failed to create volume %s.\"), volume[\u0027name\u0027]"},{"line_number":1199,"context_line":"            LOG.error(msg)"},{"line_number":1200,"context_line":"            RaiseXIODriverException()"},{"line_number":1201,"context_line":"        return"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_150c1342","line":1198,"in_reply_to":"1a6ced46_4d7451cf","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":1228,"context_line":"        # in response. Used for DELETE call below."},{"line_number":1229,"context_line":"        vol_info \u003d self._get_volume_info(volume[\u0027name\u0027])"},{"line_number":1230,"context_line":"        if vol_info[\u0027location\u0027] \u003d\u003d \u0027\u0027:"},{"line_number":1231,"context_line":"            msg \u003d _LW(\"Delete volume: %s not found!\"), volume[\u0027name\u0027]"},{"line_number":1232,"context_line":"            LOG.warning(msg)"},{"line_number":1233,"context_line":"            return"},{"line_number":1234,"context_line":"        # Make DELETE call."}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_0d4a5980","line":1231,"updated":"2015-03-23 14:29:03.000000000","message":"Move into LOG.warning call.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":1228,"context_line":"        # in response. Used for DELETE call below."},{"line_number":1229,"context_line":"        vol_info \u003d self._get_volume_info(volume[\u0027name\u0027])"},{"line_number":1230,"context_line":"        if vol_info[\u0027location\u0027] \u003d\u003d \u0027\u0027:"},{"line_number":1231,"context_line":"            msg \u003d _LW(\"Delete volume: %s not found!\"), volume[\u0027name\u0027]"},{"line_number":1232,"context_line":"            LOG.warning(msg)"},{"line_number":1233,"context_line":"            return"},{"line_number":1234,"context_line":"        # Make DELETE call."}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_55068b21","line":1231,"in_reply_to":"1a6ced46_0d4a5980","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":1260,"context_line":"        # in response. Used for PUT call below."},{"line_number":1261,"context_line":"        vol_info \u003d self._get_volume_info(volume[\u0027name\u0027])"},{"line_number":1262,"context_line":"        if vol_info[\u0027location\u0027] \u003d\u003d \u0027\u0027:"},{"line_number":1263,"context_line":"            msg \u003d _LE(\"modify volume: %s does not exist!\"), volume[\u0027name\u0027]"},{"line_number":1264,"context_line":"            LOG.error(msg)"},{"line_number":1265,"context_line":"            RaiseXIODriverException()"},{"line_number":1266,"context_line":"        # Make modify volume REST call using PUT."}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_8d55691f","line":1263,"updated":"2015-03-23 14:29:03.000000000","message":"Move into LOG.error call.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":1260,"context_line":"        # in response. Used for PUT call below."},{"line_number":1261,"context_line":"        vol_info \u003d self._get_volume_info(volume[\u0027name\u0027])"},{"line_number":1262,"context_line":"        if vol_info[\u0027location\u0027] \u003d\u003d \u0027\u0027:"},{"line_number":1263,"context_line":"            msg \u003d _LE(\"modify volume: %s does not exist!\"), volume[\u0027name\u0027]"},{"line_number":1264,"context_line":"            LOG.error(msg)"},{"line_number":1265,"context_line":"            RaiseXIODriverException()"},{"line_number":1266,"context_line":"        # Make modify volume REST call using PUT."}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_f9ff71ff","line":1263,"in_reply_to":"1a6ced46_8d55691f","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":1271,"context_line":"            LOG.debug(\"Volume %s modified.\", volume[\u0027name\u0027])"},{"line_number":1272,"context_line":"            return True"},{"line_number":1273,"context_line":"        msg \u003d (_LE(\"Modify volume PUT failed: %(name)s (%(status)d).\"),"},{"line_number":1274,"context_line":"               {\u0027name\u0027: volume[\u0027name\u0027], \u0027status\u0027: status})"},{"line_number":1275,"context_line":"        LOG.error(msg)"},{"line_number":1276,"context_line":"        RaiseXIODriverException()"},{"line_number":1277,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_ed3b3de9","line":1274,"updated":"2015-03-23 14:29:03.000000000","message":"Move into LOG.error call.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":1271,"context_line":"            LOG.debug(\"Volume %s modified.\", volume[\u0027name\u0027])"},{"line_number":1272,"context_line":"            return True"},{"line_number":1273,"context_line":"        msg \u003d (_LE(\"Modify volume PUT failed: %(name)s (%(status)d).\"),"},{"line_number":1274,"context_line":"               {\u0027name\u0027: volume[\u0027name\u0027], \u0027status\u0027: status})"},{"line_number":1275,"context_line":"        LOG.error(msg)"},{"line_number":1276,"context_line":"        RaiseXIODriverException()"},{"line_number":1277,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_99103d50","line":1274,"in_reply_to":"1a6ced46_ed3b3de9","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":1329,"context_line":"        # get volume status including size"},{"line_number":1330,"context_line":"        vol_info \u003d self._get_volume_info(ref_name)"},{"line_number":1331,"context_line":"        if vol_info[\u0027location\u0027] \u003d\u003d \u0027\u0027:"},{"line_number":1332,"context_line":"            msg \u003d (_LE(\"manage_existing_get_size: %s does not exist!\"),"},{"line_number":1333,"context_line":"                   ref_name)"},{"line_number":1334,"context_line":"            LOG.error(msg)"},{"line_number":1335,"context_line":"            RaiseXIODriverException()"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_8d2c89ad","line":1332,"updated":"2015-03-23 14:29:03.000000000","message":"Move into LOG.error call.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":1329,"context_line":"        # get volume status including size"},{"line_number":1330,"context_line":"        vol_info \u003d self._get_volume_info(ref_name)"},{"line_number":1331,"context_line":"        if vol_info[\u0027location\u0027] \u003d\u003d \u0027\u0027:"},{"line_number":1332,"context_line":"            msg \u003d (_LE(\"manage_existing_get_size: %s does not exist!\"),"},{"line_number":1333,"context_line":"                   ref_name)"},{"line_number":1334,"context_line":"            LOG.error(msg)"},{"line_number":1335,"context_line":"            RaiseXIODriverException()"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_b91df968","line":1332,"in_reply_to":"1a6ced46_8d2c89ad","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":1340,"context_line":"        LOG.debug(\"X-IO unmanage called\")"},{"line_number":1341,"context_line":"        vol_info \u003d self._get_volume_info(volume[\u0027name\u0027])"},{"line_number":1342,"context_line":"        if vol_info[\u0027location\u0027] \u003d\u003d \u0027\u0027:"},{"line_number":1343,"context_line":"            msg \u003d _LE(\"unmanage: Volume %s does not exist!\"), volume[\u0027name\u0027]"},{"line_number":1344,"context_line":"            LOG.error(msg)"},{"line_number":1345,"context_line":"            RaiseXIODriverException()"},{"line_number":1346,"context_line":"        # This is a noop. ISE does not store any Cinder specific information."}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_2d0c7542","line":1343,"updated":"2015-03-23 14:29:03.000000000","message":"Move into LOG.error call.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":1340,"context_line":"        LOG.debug(\"X-IO unmanage called\")"},{"line_number":1341,"context_line":"        vol_info \u003d self._get_volume_info(volume[\u0027name\u0027])"},{"line_number":1342,"context_line":"        if vol_info[\u0027location\u0027] \u003d\u003d \u0027\u0027:"},{"line_number":1343,"context_line":"            msg \u003d _LE(\"unmanage: Volume %s does not exist!\"), volume[\u0027name\u0027]"},{"line_number":1344,"context_line":"            LOG.error(msg)"},{"line_number":1345,"context_line":"            RaiseXIODriverException()"},{"line_number":1346,"context_line":"        # This is a noop. ISE does not store any Cinder specific information."}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_f92691b9","line":1343,"in_reply_to":"1a6ced46_2d0c7542","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"99cc3bc281c45fee6186546d51baade19327b922","unresolved":false,"context_lines":[{"line_number":1368,"context_line":"            resp \u003d self._send_cmd(\u0027PUT\u0027, host[\u0027locator\u0027], params)"},{"line_number":1369,"context_line":"            status \u003d resp[\u0027status\u0027]"},{"line_number":1370,"context_line":"            if status !\u003d 201 and status !\u003d 409:"},{"line_number":1371,"context_line":"                msg \u003d _LE(\"Host PUT failed (%s).\"), status"},{"line_number":1372,"context_line":"                LOG.error(msg)"},{"line_number":1373,"context_line":"                RaiseXIODriverException()"},{"line_number":1374,"context_line":"        # We have a host object."}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_d0045617","line":1371,"updated":"2015-03-23 14:29:03.000000000","message":"Move into LOG.error call.","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"3fce92e567610dd9955bb4eb24f5b4ca13c161cf","unresolved":false,"context_lines":[{"line_number":1368,"context_line":"            resp \u003d self._send_cmd(\u0027PUT\u0027, host[\u0027locator\u0027], params)"},{"line_number":1369,"context_line":"            status \u003d resp[\u0027status\u0027]"},{"line_number":1370,"context_line":"            if status !\u003d 201 and status !\u003d 409:"},{"line_number":1371,"context_line":"                msg \u003d _LE(\"Host PUT failed (%s).\"), status"},{"line_number":1372,"context_line":"                LOG.error(msg)"},{"line_number":1373,"context_line":"                RaiseXIODriverException()"},{"line_number":1374,"context_line":"        # We have a host object."}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6ced46_192c4d99","line":1371,"in_reply_to":"1a6ced46_d0045617","updated":"2015-03-24 09:25:42.000000000","message":"Done","commit_id":"0d09a27c1a07b4988ad03258e583ae06f7a096ef"}],"cinder/volume/manager.py":[{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"d0f9cf8f86698ea98abc069c94bf96f021c319ab","unresolved":false,"context_lines":[{"line_number":426,"context_line":"                consistencygroup_id\u003dconsistencygroup_id,"},{"line_number":427,"context_line":"                cgsnapshot_id\u003dcgsnapshot_id)"},{"line_number":428,"context_line":"        except Exception:"},{"line_number":429,"context_line":"            msg \u003d _(\"Failed to create manager volume flow.\")"},{"line_number":430,"context_line":"            LOG.exception(msg)"},{"line_number":431,"context_line":"            raise exception.CinderException(msg)"},{"line_number":432,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"7aaa499b_783c7a93","line":429,"updated":"2015-04-13 14:54:45.000000000","message":"Could this message be more detailed?","commit_id":"d4f6ef8ff8469781ba1599dfecc881eba0ba3d02"},{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"04912637a46aa4cf7c18e2eb48d02018412af77d","unresolved":false,"context_lines":[{"line_number":426,"context_line":"                consistencygroup_id\u003dconsistencygroup_id,"},{"line_number":427,"context_line":"                cgsnapshot_id\u003dcgsnapshot_id)"},{"line_number":428,"context_line":"        except Exception:"},{"line_number":429,"context_line":"            msg \u003d _(\"Failed to create manager volume flow.\")"},{"line_number":430,"context_line":"            LOG.exception(msg)"},{"line_number":431,"context_line":"            raise exception.CinderException(msg)"},{"line_number":432,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"7aaa499b_2e81b7c3","line":429,"in_reply_to":"7aaa499b_394a71c6","updated":"2015-04-15 12:36:29.000000000","message":"I think at least by adding a volume id will make troubleshooting easier in log.","commit_id":"d4f6ef8ff8469781ba1599dfecc881eba0ba3d02"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"28946ef280cf82c6c942e7890673e732ae4ba6db","unresolved":false,"context_lines":[{"line_number":426,"context_line":"                consistencygroup_id\u003dconsistencygroup_id,"},{"line_number":427,"context_line":"                cgsnapshot_id\u003dcgsnapshot_id)"},{"line_number":428,"context_line":"        except Exception:"},{"line_number":429,"context_line":"            msg \u003d _(\"Failed to create manager volume flow.\")"},{"line_number":430,"context_line":"            LOG.exception(msg)"},{"line_number":431,"context_line":"            raise exception.CinderException(msg)"},{"line_number":432,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"7aaa499b_394a71c6","line":429,"in_reply_to":"7aaa499b_783c7a93","updated":"2015-04-13 16:41:35.000000000","message":"This message explains the flow failure. IMO, there is no need to update it for now.","commit_id":"d4f6ef8ff8469781ba1599dfecc881eba0ba3d02"}]}
