)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":13636,"name":"aarefiev","display_name":"Anton","email":"arefyevanton@gmail.com","username":"aarefiev"},"change_message_id":"16444adc08e793f9727e04d4f871ea6821a05c1d","unresolved":false,"context_lines":[{"line_number":19,"context_line":"raise BadRequest instead to user, suggesting things are missing in request."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Change-Id: I4f04f5d0c558404836a2bd270f7f22f3f2d4f314"},{"line_number":22,"context_line":"Closes-bug: # 1409580"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"1a930d6b_369f0352","line":22,"updated":"2015-01-23 17:18:26.000000000","message":"Correct it, to resolve bug link, please","commit_id":"763c032c60741f4924ff752b5981a948e56a284d"},{"author":{"_account_id":2759,"name":"Huang Zhiteng","email":"winston.d@gmail.com","username":"zhiteng-huang"},"change_message_id":"e34ac512e78e8138087c90d9521bf0c5d3d87e90","unresolved":false,"context_lines":[{"line_number":19,"context_line":"raise BadRequest instead to user, suggesting things are missing in request."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Change-Id: I4f04f5d0c558404836a2bd270f7f22f3f2d4f314"},{"line_number":22,"context_line":"Closes-bug: # 1409580"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"1a930d6b_cf5366e0","line":22,"updated":"2015-01-26 03:19:30.000000000","message":"done","commit_id":"763c032c60741f4924ff752b5981a948e56a284d"}],"cinder/volume/driver.py":[{"author":{"_account_id":7219,"name":"git-harry","email":"git-harry@live.co.uk","username":"git-harry"},"change_message_id":"40ff370e009479b636a1f2d5a22497bbee0e75a3","unresolved":false,"context_lines":[{"line_number":1067,"context_line":"        required \u003d \u0027initiator\u0027"},{"line_number":1068,"context_line":"        if required not in connector:"},{"line_number":1069,"context_line":"            err_msg \u003d (_(\u0027The volume driver requires %(data)s \u0027"},{"line_number":1070,"context_line":"                         \u0027in the connector.\u0027) % {\u0027data\u0027: required})"},{"line_number":1071,"context_line":"            LOG.error(err_msg)"},{"line_number":1072,"context_line":"            raise exception.InvalidConnectorException(missing\u003drequired)"},{"line_number":1073,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_16779209","line":1070,"updated":"2015-01-13 11:26:13.000000000","message":"err_msg is no longer being passed to the exception and so I think _LE() should be used instead of _().\n\nAlso it is better to delay the interpolation if possible and not use %.\n\nhttp://docs.openstack.org/developer/oslo.i18n/guidelines.html#adding-variables-to-log-messages","commit_id":"5130886a1b69a65bcdac6cee0191acc8cbdac4d6"},{"author":{"_account_id":7219,"name":"git-harry","email":"git-harry@live.co.uk","username":"git-harry"},"change_message_id":"1b6efe7c7a2fa1b85296b123679e455d6f1b09cc","unresolved":false,"context_lines":[{"line_number":1068,"context_line":"        if required not in connector:"},{"line_number":1069,"context_line":"            err_msg \u003d (_LE(\u0027The volume driver requires %(data)s \u0027"},{"line_number":1070,"context_line":"                           \u0027in the connector.\u0027), {\u0027data\u0027: required})"},{"line_number":1071,"context_line":"            LOG.error(err_msg)"},{"line_number":1072,"context_line":"            raise exception.InvalidConnectorException(missing\u003drequired)"},{"line_number":1073,"context_line":""},{"line_number":1074,"context_line":"    def terminate_connection(self, volume, connector, **kwargs):"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_61746b36","line":1071,"updated":"2015-01-14 09:41:55.000000000","message":"The arguments need to be unpacked:\n\nLOG.error(*err_msg)","commit_id":"589e08c4604a4d160937c84cc13bf9ef71c9e34e"},{"author":{"_account_id":2759,"name":"Huang Zhiteng","email":"winston.d@gmail.com","username":"zhiteng-huang"},"change_message_id":"80119c5647f008e1ee8ee16254020658f7bf5c20","unresolved":false,"context_lines":[{"line_number":1068,"context_line":"        if required not in connector:"},{"line_number":1069,"context_line":"            err_msg \u003d (_LE(\u0027The volume driver requires %(data)s \u0027"},{"line_number":1070,"context_line":"                           \u0027in the connector.\u0027), {\u0027data\u0027: required})"},{"line_number":1071,"context_line":"            LOG.error(err_msg)"},{"line_number":1072,"context_line":"            raise exception.InvalidConnectorException(missing\u003drequired)"},{"line_number":1073,"context_line":""},{"line_number":1074,"context_line":"    def terminate_connection(self, volume, connector, **kwargs):"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a930d6b_addc9d13","line":1071,"in_reply_to":"3a961159_61746b36","updated":"2015-01-23 05:06:29.000000000","message":"Done","commit_id":"589e08c4604a4d160937c84cc13bf9ef71c9e34e"},{"author":{"_account_id":7219,"name":"git-harry","email":"git-harry@live.co.uk","username":"git-harry"},"change_message_id":"1b6efe7c7a2fa1b85296b123679e455d6f1b09cc","unresolved":false,"context_lines":[{"line_number":1351,"context_line":"                \"FibreChannelDriver validate_connector failed. \""},{"line_number":1352,"context_line":"                \"No \u0027%(setting)s\u0027. Make sure HBA state is Online.\"),"},{"line_number":1353,"context_line":"                {\u0027setting\u0027\u003dsetting})"},{"line_number":1354,"context_line":"            LOG.error(msg)"},{"line_number":1355,"context_line":"            raise exception.InvalidConnectorException(missing\u003dsetting)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_019ba766","line":1354,"updated":"2015-01-14 09:41:55.000000000","message":"The arguments need to be unpacked:\n\nLOG.error(*msg)","commit_id":"589e08c4604a4d160937c84cc13bf9ef71c9e34e"},{"author":{"_account_id":2759,"name":"Huang Zhiteng","email":"winston.d@gmail.com","username":"zhiteng-huang"},"change_message_id":"80119c5647f008e1ee8ee16254020658f7bf5c20","unresolved":false,"context_lines":[{"line_number":1351,"context_line":"                \"FibreChannelDriver validate_connector failed. \""},{"line_number":1352,"context_line":"                \"No \u0027%(setting)s\u0027. Make sure HBA state is Online.\"),"},{"line_number":1353,"context_line":"                {\u0027setting\u0027\u003dsetting})"},{"line_number":1354,"context_line":"            LOG.error(msg)"},{"line_number":1355,"context_line":"            raise exception.InvalidConnectorException(missing\u003dsetting)"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a930d6b_cdd729ec","line":1354,"in_reply_to":"3a961159_019ba766","updated":"2015-01-23 05:06:29.000000000","message":"Done","commit_id":"589e08c4604a4d160937c84cc13bf9ef71c9e34e"},{"author":{"_account_id":2759,"name":"Huang Zhiteng","email":"winston.d@gmail.com","username":"zhiteng-huang"},"change_message_id":"e34ac512e78e8138087c90d9521bf0c5d3d87e90","unresolved":false,"context_lines":[{"line_number":1365,"context_line":"            msg \u003d (_LE("},{"line_number":1366,"context_line":"                \"FibreChannelDriver validate_connector failed. \""},{"line_number":1367,"context_line":"                \"No \u0027%(setting)s\u0027. Make sure HBA state is Online.\"),"},{"line_number":1368,"context_line":"                {\u0027setting\u0027\u003dsetting})"},{"line_number":1369,"context_line":"            LOG.error(*msg)"},{"line_number":1370,"context_line":"            raise exception.InvalidConnectorException(missing\u003dsetting)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a930d6b_ef5022d6","line":1368,"updated":"2015-01-26 03:19:30.000000000","message":"Done","commit_id":"763c032c60741f4924ff752b5981a948e56a284d"},{"author":{"_account_id":7219,"name":"git-harry","email":"git-harry@live.co.uk","username":"git-harry"},"change_message_id":"afd520f3376716d16628fd4033ecb4c9159b51d8","unresolved":false,"context_lines":[{"line_number":1365,"context_line":"            msg \u003d (_LE("},{"line_number":1366,"context_line":"                \"FibreChannelDriver validate_connector failed. \""},{"line_number":1367,"context_line":"                \"No \u0027%(setting)s\u0027. Make sure HBA state is Online.\"),"},{"line_number":1368,"context_line":"                {\u0027setting\u0027\u003dsetting})"},{"line_number":1369,"context_line":"            LOG.error(*msg)"},{"line_number":1370,"context_line":"            raise exception.InvalidConnectorException(missing\u003dsetting)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a930d6b_184076a4","line":1368,"updated":"2015-01-23 16:25:37.000000000","message":"This caused your tests to fail last time - you\u0027ve got a typo. You need to change \u0027\u003d\u0027 for \u0027: \u0027.","commit_id":"763c032c60741f4924ff752b5981a948e56a284d"}],"cinder/volume/drivers/huawei/huawei_t.py":[{"author":{"_account_id":7219,"name":"git-harry","email":"git-harry@live.co.uk","username":"git-harry"},"change_message_id":"40ff370e009479b636a1f2d5a22497bbee0e75a3","unresolved":false,"context_lines":[{"line_number":435,"context_line":"    def validate_connector(self, connector):"},{"line_number":436,"context_line":"        \"\"\"Check for wwpns in connector.\"\"\""},{"line_number":437,"context_line":"        if \u0027wwpns\u0027 not in connector:"},{"line_number":438,"context_line":"            err_msg \u003d (_(\u0027validate_connector: The FC driver requires the\u0027"},{"line_number":439,"context_line":"                         \u0027 wwpns in the connector.\u0027))"},{"line_number":440,"context_line":"            LOG.error(err_msg)"},{"line_number":441,"context_line":"            raise exception.InvalidConnectorException(missing\u003d\u0027wwpns\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_76d296d2","line":438,"updated":"2015-01-13 11:26:13.000000000","message":"err_msg is no longer being passed to the exception and so I think _LE() should be used instead of _().","commit_id":"5130886a1b69a65bcdac6cee0191acc8cbdac4d6"}],"cinder/volume/drivers/ibm/flashsystem.py":[{"author":{"_account_id":2759,"name":"Huang Zhiteng","email":"winston.d@gmail.com","username":"zhiteng-huang"},"change_message_id":"50154719a56c6b5cce6a07b54e724a2b735d790d","unresolved":false,"context_lines":[{"line_number":1137,"context_line":""},{"line_number":1138,"context_line":"    def validate_connector(self, connector):"},{"line_number":1139,"context_line":"        \"\"\"Check connector.\"\"\""},{"line_number":1140,"context_line":"        if \u0027FC\u0027 \u003d\u003d self._protocol and \u0027wwpns\u0027 not in connector:"},{"line_number":1141,"context_line":"            msg \u003d (_(\u0027The connector does not contain the \u0027"},{"line_number":1142,"context_line":"                     \u0027required information: wwpns is missing\u0027))"},{"line_number":1143,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_f8fa0143","line":1140,"updated":"2015-01-13 02:25:02.000000000","message":"My understanding is: self._protocol !\u003d \u0027FC\u0027 isn\u0027t the reason to blame the connector doesn\u0027t contain required information.","commit_id":"d2367d3900f5553409f3723ecd003ea144dbfb6c"},{"author":{"_account_id":12561,"name":"Adrien Vergé","email":"adrienverge@gmail.com","username":"adrien.verge"},"change_message_id":"331df06aa0bbc871dbffb5bbf4aae713a8dac269","unresolved":false,"context_lines":[{"line_number":1137,"context_line":""},{"line_number":1138,"context_line":"    def validate_connector(self, connector):"},{"line_number":1139,"context_line":"        \"\"\"Check connector.\"\"\""},{"line_number":1140,"context_line":"        if \u0027FC\u0027 \u003d\u003d self._protocol and \u0027wwpns\u0027 not in connector:"},{"line_number":1141,"context_line":"            msg \u003d (_(\u0027The connector does not contain the \u0027"},{"line_number":1142,"context_line":"                     \u0027required information: wwpns is missing\u0027))"},{"line_number":1143,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_c25f280e","line":1140,"updated":"2015-01-12 15:39:10.000000000","message":"Why changing the boolean condition here? Is self._protocol !\u003d \u0027FC\u0027 valid?","commit_id":"d2367d3900f5553409f3723ecd003ea144dbfb6c"},{"author":{"_account_id":12561,"name":"Adrien Vergé","email":"adrienverge@gmail.com","username":"adrien.verge"},"change_message_id":"331df06aa0bbc871dbffb5bbf4aae713a8dac269","unresolved":false,"context_lines":[{"line_number":1140,"context_line":"        if \u0027FC\u0027 \u003d\u003d self._protocol and \u0027wwpns\u0027 not in connector:"},{"line_number":1141,"context_line":"            msg \u003d (_(\u0027The connector does not contain the \u0027"},{"line_number":1142,"context_line":"                     \u0027required information: wwpns is missing\u0027))"},{"line_number":1143,"context_line":"            LOG.error(msg)"},{"line_number":1144,"context_line":"            raise exception.InvalidConnectorException(missing\u003d\u0027wwpns\u0027)"},{"line_number":1145,"context_line":""},{"line_number":1146,"context_line":"    def create_volume(self, volume):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_1c2276ba","line":1143,"updated":"2015-01-12 15:39:10.000000000","message":"\u0027msg\u0027 is no longer needed, you could write this in 2 lines.","commit_id":"d2367d3900f5553409f3723ecd003ea144dbfb6c"},{"author":{"_account_id":7219,"name":"git-harry","email":"git-harry@live.co.uk","username":"git-harry"},"change_message_id":"40ff370e009479b636a1f2d5a22497bbee0e75a3","unresolved":false,"context_lines":[{"line_number":1137,"context_line":""},{"line_number":1138,"context_line":"    def validate_connector(self, connector):"},{"line_number":1139,"context_line":"        \"\"\"Check connector.\"\"\""},{"line_number":1140,"context_line":"        if \u0027FC\u0027 \u003d\u003d self._protocol and \u0027wwpns\u0027 not in connector:"},{"line_number":1141,"context_line":"            msg \u003d (_(\u0027The connector does not contain the \u0027"},{"line_number":1142,"context_line":"                     \u0027required information: wwpns is missing\u0027))"},{"line_number":1143,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_76137665","line":1140,"updated":"2015-01-13 11:26:13.000000000","message":"The logic seems to be getting changed here but it\u0027s not something mentioned in the commit. Also, I wonder if this could do with an addition test to prevent regression.","commit_id":"5130886a1b69a65bcdac6cee0191acc8cbdac4d6"},{"author":{"_account_id":2759,"name":"Huang Zhiteng","email":"winston.d@gmail.com","username":"zhiteng-huang"},"change_message_id":"5f2f61fda3695148cbd966f58e17b9c970445928","unresolved":false,"context_lines":[{"line_number":1137,"context_line":""},{"line_number":1138,"context_line":"    def validate_connector(self, connector):"},{"line_number":1139,"context_line":"        \"\"\"Check connector.\"\"\""},{"line_number":1140,"context_line":"        if \u0027FC\u0027 \u003d\u003d self._protocol and \u0027wwpns\u0027 not in connector:"},{"line_number":1141,"context_line":"            msg \u003d (_(\u0027The connector does not contain the \u0027"},{"line_number":1142,"context_line":"                     \u0027required information: wwpns is missing\u0027))"},{"line_number":1143,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_4ed401bb","line":1140,"updated":"2015-01-14 07:07:20.000000000","message":"Until https://review.openstack.org/#/c/144627/ is merged, this driver only supports \u0027FC\u0027 as self._protocol.  And as mentioned in another comment, calling out connector missing required information because the backend wasn\u0027t properly setup to use FC doesn\u0027t seem right to me.","commit_id":"5130886a1b69a65bcdac6cee0191acc8cbdac4d6"},{"author":{"_account_id":7219,"name":"git-harry","email":"git-harry@live.co.uk","username":"git-harry"},"change_message_id":"40ff370e009479b636a1f2d5a22497bbee0e75a3","unresolved":false,"context_lines":[{"line_number":1138,"context_line":"    def validate_connector(self, connector):"},{"line_number":1139,"context_line":"        \"\"\"Check connector.\"\"\""},{"line_number":1140,"context_line":"        if \u0027FC\u0027 \u003d\u003d self._protocol and \u0027wwpns\u0027 not in connector:"},{"line_number":1141,"context_line":"            msg \u003d (_(\u0027The connector does not contain the \u0027"},{"line_number":1142,"context_line":"                     \u0027required information: wwpns is missing\u0027))"},{"line_number":1143,"context_line":"            LOG.error(msg)"},{"line_number":1144,"context_line":"            raise exception.InvalidConnectorException(missing\u003d\u0027wwpns\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_16931201","line":1141,"updated":"2015-01-13 11:26:13.000000000","message":"err_msg is no longer being passed to the exception and so I think _LE() should be used instead of _().","commit_id":"5130886a1b69a65bcdac6cee0191acc8cbdac4d6"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"87d4f3b537f69fde6cd603f47e4b0201f7f8481b","unresolved":false,"context_lines":[{"line_number":1137,"context_line":""},{"line_number":1138,"context_line":"    def validate_connector(self, connector):"},{"line_number":1139,"context_line":"        \"\"\"Check connector.\"\"\""},{"line_number":1140,"context_line":"        if \u0027FC\u0027 \u003d\u003d self._protocol and \u0027wwpns\u0027 not in connector:"},{"line_number":1141,"context_line":"            msg \u003d (_LE(\u0027The connector does not contain the \u0027"},{"line_number":1142,"context_line":"                       \u0027required information: wwpns is missing\u0027))"},{"line_number":1143,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a930d6b_d7492b32","line":1140,"updated":"2015-01-26 14:41:55.000000000","message":"Good catch","commit_id":"c7d97c4ad70cc49dd529a10c593fbd9b20f89d90"}],"cinder/volume/drivers/ibm/storwize_svc/__init__.py":[{"author":{"_account_id":4355,"name":"Avishay Traeger","email":"avishay@stratoscale.com","username":"avishay-il"},"change_message_id":"75befab1045e02cef8e654912ab7321f65fabc09","unresolved":false,"context_lines":[{"line_number":311,"context_line":"            msg \u003d (_(\u0027The connector does not contain the required \u0027"},{"line_number":312,"context_line":"                     \u0027information.\u0027))"},{"line_number":313,"context_line":"            LOG.error(msg)"},{"line_number":314,"context_line":"            raise exception.InvalidConnectorException(message\u003dmsg)"},{"line_number":315,"context_line":""},{"line_number":316,"context_line":"    def _get_vdisk_params(self, type_id, volume_type\u003dNone,"},{"line_number":317,"context_line":"                          volume_metadata\u003dNone):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_90d578e7","line":314,"updated":"2015-01-12 06:47:21.000000000","message":"This might be a little out of your scope, but could you determine what is missing here to print a proper error message?  If not, someone from IBM should do it.","commit_id":"64394350a3e6bdd9fadd307012bcd88d824af833"},{"author":{"_account_id":2759,"name":"Huang Zhiteng","email":"winston.d@gmail.com","username":"zhiteng-huang"},"change_message_id":"b9349f2dbbc94651aa74f3e765f6b2b97c8ca245","unresolved":false,"context_lines":[{"line_number":311,"context_line":"            msg \u003d (_(\u0027The connector does not contain the required \u0027"},{"line_number":312,"context_line":"                     \u0027information.\u0027))"},{"line_number":313,"context_line":"            LOG.error(msg)"},{"line_number":314,"context_line":"            raise exception.InvalidConnectorException(message\u003dmsg)"},{"line_number":315,"context_line":""},{"line_number":316,"context_line":"    def _get_vdisk_params(self, type_id, volume_type\u003dNone,"},{"line_number":317,"context_line":"                          volume_metadata\u003dNone):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_1070a8db","line":314,"updated":"2015-01-12 07:11:21.000000000","message":"Turns out it seems not trivial to determine what\u0027s missing, for drivers like storwize supports both iSCSI/FC.","commit_id":"64394350a3e6bdd9fadd307012bcd88d824af833"},{"author":{"_account_id":2759,"name":"Huang Zhiteng","email":"winston.d@gmail.com","username":"zhiteng-huang"},"change_message_id":"94b0e22354619a6c2bc1ac8604762dcd2c942bee","unresolved":false,"context_lines":[{"line_number":311,"context_line":"            msg \u003d (_(\u0027The connector does not contain the required \u0027"},{"line_number":312,"context_line":"                     \u0027information.\u0027))"},{"line_number":313,"context_line":"            LOG.error(msg)"},{"line_number":314,"context_line":"            raise exception.InvalidConnectorException(message\u003dmsg)"},{"line_number":315,"context_line":""},{"line_number":316,"context_line":"    def _get_vdisk_params(self, type_id, volume_type\u003dNone,"},{"line_number":317,"context_line":"                          volume_metadata\u003dNone):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_30ff6437","line":314,"updated":"2015-01-12 07:03:43.000000000","message":"done","commit_id":"64394350a3e6bdd9fadd307012bcd88d824af833"},{"author":{"_account_id":7219,"name":"git-harry","email":"git-harry@live.co.uk","username":"git-harry"},"change_message_id":"40ff370e009479b636a1f2d5a22497bbee0e75a3","unresolved":false,"context_lines":[{"line_number":308,"context_line":"        if \u0027FC\u0027 in self._state[\u0027enabled_protocols\u0027] and \u0027wwpns\u0027 in connector:"},{"line_number":309,"context_line":"            valid \u003d True"},{"line_number":310,"context_line":"        if not valid:"},{"line_number":311,"context_line":"            msg \u003d (_(\u0027The connector does not contain the required \u0027"},{"line_number":312,"context_line":"                     \u0027information.\u0027))"},{"line_number":313,"context_line":"            LOG.error(msg)"},{"line_number":314,"context_line":"            raise exception.InvalidConnectorException("}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_b6815ea2","line":311,"updated":"2015-01-13 11:26:13.000000000","message":"err_msg is no longer being passed to the exception and so I think _LE() should be used instead of _().","commit_id":"5130886a1b69a65bcdac6cee0191acc8cbdac4d6"}],"cinder/volume/targets/iscsi.py":[{"author":{"_account_id":12561,"name":"Adrien Vergé","email":"adrienverge@gmail.com","username":"adrien.verge"},"change_message_id":"331df06aa0bbc871dbffb5bbf4aae713a8dac269","unresolved":false,"context_lines":[{"line_number":186,"context_line":"        if \u0027initiator\u0027 not in connector:"},{"line_number":187,"context_line":"            err_msg \u003d (_(\u0027The volume driver requires the iSCSI initiator \u0027"},{"line_number":188,"context_line":"                         \u0027name in the connector.\u0027))"},{"line_number":189,"context_line":"            LOG.error(err_msg)"},{"line_number":190,"context_line":"            raise exception.InvalidConnectorException(missing\u003d\u0027initiator\u0027)"},{"line_number":191,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_e217c443","line":189,"updated":"2015-01-12 15:39:10.000000000","message":"Same here with \u0027err_msg\u0027.","commit_id":"d2367d3900f5553409f3723ecd003ea144dbfb6c"},{"author":{"_account_id":7219,"name":"git-harry","email":"git-harry@live.co.uk","username":"git-harry"},"change_message_id":"40ff370e009479b636a1f2d5a22497bbee0e75a3","unresolved":false,"context_lines":[{"line_number":184,"context_line":"    def validate_connector(self, connector):"},{"line_number":185,"context_line":"        # NOTE(jdg): api passes in connector which is initiator info"},{"line_number":186,"context_line":"        if \u0027initiator\u0027 not in connector:"},{"line_number":187,"context_line":"            err_msg \u003d (_(\u0027The volume driver requires the iSCSI initiator \u0027"},{"line_number":188,"context_line":"                         \u0027name in the connector.\u0027))"},{"line_number":189,"context_line":"            LOG.error(err_msg)"},{"line_number":190,"context_line":"            raise exception.InvalidConnectorException(missing\u003d\u0027initiator\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_765b7686","line":187,"updated":"2015-01-13 11:26:13.000000000","message":"err_msg is no longer being passed to the exception and so I think _LE() should be used instead of _().","commit_id":"5130886a1b69a65bcdac6cee0191acc8cbdac4d6"}]}
