)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"4f7c72e3d611445cb6679e6a17070cb60bc08b59","unresolved":false,"context_lines":[{"line_number":9,"context_line":"- discover IGs from initiator address"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: Ia5df488ed0996fb6fb1b77016772e82323ac1f92"},{"line_number":12,"context_line":"Implements: blueprint emc-xtremio-updates"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"fa32b979_bbe0272a","line":12,"updated":"2015-06-18 17:46:00.000000000","message":"partial-implements: blueprint emc-xtremio-updates","commit_id":"87434e96eee42eb7859e7d4e562f99e3c8505ded"},{"author":{"_account_id":11418,"name":"Shay Halsband","email":"shay.halsband@emc.com","username":"shyh"},"change_message_id":"ad1017074f8609f295fded2df11be24344a660b1","unresolved":false,"context_lines":[{"line_number":9,"context_line":"- discover IGs from initiator address"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: Ia5df488ed0996fb6fb1b77016772e82323ac1f92"},{"line_number":12,"context_line":"Implements: blueprint emc-xtremio-updates"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"fa32b979_8158f157","line":12,"in_reply_to":"fa32b979_bbe0272a","updated":"2015-06-22 13:16:32.000000000","message":"Done","commit_id":"87434e96eee42eb7859e7d4e562f99e3c8505ded"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"53b11555d142eed9e9e28068db1c3616e23be9f1","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"XtremIO support for iscsi discovery auth"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"- discover IGs from initiator address"},{"line_number":10,"context_line":"- add unit tests for better code coverage"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Ia5df488ed0996fb6fb1b77016772e82323ac1f92"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"9a41bdd9_03d2a9d2","line":9,"updated":"2015-07-13 14:46:57.000000000","message":"Can you make this a little more verbose? I know when I read it I had to go do some google searching before I could kinda figure out what you were talking about here.","commit_id":"5f52ee856196ed5236e8fc0b730e7845bc7d8ede"},{"author":{"_account_id":11418,"name":"Shay Halsband","email":"shay.halsband@emc.com","username":"shyh"},"change_message_id":"b3c5e38633783c6a691c32806ba2889a6167b737","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"XtremIO support for iscsi discovery auth"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"- discover IGs from initiator address"},{"line_number":10,"context_line":"- add unit tests for better code coverage"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Ia5df488ed0996fb6fb1b77016772e82323ac1f92"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"3a50d1a3_0a6e3c01","line":9,"in_reply_to":"9a41bdd9_03d2a9d2","updated":"2015-07-21 06:04:48.000000000","message":"Done","commit_id":"5f52ee856196ed5236e8fc0b730e7845bc7d8ede"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"53b11555d142eed9e9e28068db1c3616e23be9f1","unresolved":false,"context_lines":[{"line_number":10,"context_line":"- add unit tests for better code coverage"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Ia5df488ed0996fb6fb1b77016772e82323ac1f92"},{"line_number":13,"context_line":"partial-implements: blueprint emc-xtremio-updates"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"9a41bdd9_60084b92","line":13,"updated":"2015-07-13 14:46:57.000000000","message":"I suggest capitalizing so as to be: \"Partial-Implements: \"","commit_id":"5f52ee856196ed5236e8fc0b730e7845bc7d8ede"},{"author":{"_account_id":11418,"name":"Shay Halsband","email":"shay.halsband@emc.com","username":"shyh"},"change_message_id":"b3c5e38633783c6a691c32806ba2889a6167b737","unresolved":false,"context_lines":[{"line_number":10,"context_line":"- add unit tests for better code coverage"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Ia5df488ed0996fb6fb1b77016772e82323ac1f92"},{"line_number":13,"context_line":"partial-implements: blueprint emc-xtremio-updates"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"3a50d1a3_2a71b8e0","line":13,"in_reply_to":"9a41bdd9_60084b92","updated":"2015-07-21 06:04:48.000000000","message":"Done","commit_id":"5f52ee856196ed5236e8fc0b730e7845bc7d8ede"},{"author":{"_account_id":16258,"name":"nikesh","email":"nike.niec@gmail.com","username":"nikem"},"change_message_id":"33425e456bd66615c11c5fe24d5b8d9284057bdd","unresolved":false,"context_lines":[{"line_number":7,"context_line":"XtremIO support for iscsi discovery auth"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"- Discover existing Initiator Groups (a grouping object for initiators)"},{"line_number":10,"context_line":"  from connection information"},{"line_number":11,"context_line":"- add unit tests for better code coverage"},{"line_number":12,"context_line":"- handle system is busy array error"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"3a50d1a3_968e672c","line":10,"updated":"2015-07-23 10:11:41.000000000","message":"\u0027.\u0027 would be good at EOL.","commit_id":"dbf4f6ae543ae29e34b0f1f15c0d909f6e3f27d4"},{"author":{"_account_id":11418,"name":"Shay Halsband","email":"shay.halsband@emc.com","username":"shyh"},"change_message_id":"c83df02741b52c119a840356693a5faf77d2d4cf","unresolved":false,"context_lines":[{"line_number":7,"context_line":"XtremIO support for iscsi discovery auth"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"- Discover existing Initiator Groups (a grouping object for initiators)"},{"line_number":10,"context_line":"  from connection information"},{"line_number":11,"context_line":"- add unit tests for better code coverage"},{"line_number":12,"context_line":"- handle system is busy array error"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"3a50d1a3_262010f7","line":10,"in_reply_to":"3a50d1a3_968e672c","updated":"2015-07-26 14:44:35.000000000","message":"Done","commit_id":"dbf4f6ae543ae29e34b0f1f15c0d909f6e3f27d4"},{"author":{"_account_id":16258,"name":"nikesh","email":"nike.niec@gmail.com","username":"nikem"},"change_message_id":"33425e456bd66615c11c5fe24d5b8d9284057bdd","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"- Discover existing Initiator Groups (a grouping object for initiators)"},{"line_number":10,"context_line":"  from connection information"},{"line_number":11,"context_line":"- add unit tests for better code coverage"},{"line_number":12,"context_line":"- handle system is busy array error"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Ia5df488ed0996fb6fb1b77016772e82323ac1f92"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"3a50d1a3_b6192324","line":11,"updated":"2015-07-23 10:11:41.000000000","message":"\u0027.\u0027 would be good at EOL.","commit_id":"dbf4f6ae543ae29e34b0f1f15c0d909f6e3f27d4"},{"author":{"_account_id":11418,"name":"Shay Halsband","email":"shay.halsband@emc.com","username":"shyh"},"change_message_id":"c83df02741b52c119a840356693a5faf77d2d4cf","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"- Discover existing Initiator Groups (a grouping object for initiators)"},{"line_number":10,"context_line":"  from connection information"},{"line_number":11,"context_line":"- add unit tests for better code coverage"},{"line_number":12,"context_line":"- handle system is busy array error"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Ia5df488ed0996fb6fb1b77016772e82323ac1f92"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"3a50d1a3_8621e4fe","line":11,"in_reply_to":"3a50d1a3_b6192324","updated":"2015-07-26 14:44:35.000000000","message":"Done","commit_id":"dbf4f6ae543ae29e34b0f1f15c0d909f6e3f27d4"},{"author":{"_account_id":16258,"name":"nikesh","email":"nike.niec@gmail.com","username":"nikem"},"change_message_id":"33425e456bd66615c11c5fe24d5b8d9284057bdd","unresolved":false,"context_lines":[{"line_number":9,"context_line":"- Discover existing Initiator Groups (a grouping object for initiators)"},{"line_number":10,"context_line":"  from connection information"},{"line_number":11,"context_line":"- add unit tests for better code coverage"},{"line_number":12,"context_line":"- handle system is busy array error"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Ia5df488ed0996fb6fb1b77016772e82323ac1f92"},{"line_number":15,"context_line":"Partial-Implements: blueprint emc-xtremio-updates"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"3a50d1a3_f6980b7a","line":12,"updated":"2015-07-23 10:11:41.000000000","message":"shall we use like below:\nhandle \u0027system is busy\u0027 array error\n\n\u0027.\u0027 would be good at EOL.","commit_id":"dbf4f6ae543ae29e34b0f1f15c0d909f6e3f27d4"},{"author":{"_account_id":11418,"name":"Shay Halsband","email":"shay.halsband@emc.com","username":"shyh"},"change_message_id":"c83df02741b52c119a840356693a5faf77d2d4cf","unresolved":false,"context_lines":[{"line_number":9,"context_line":"- Discover existing Initiator Groups (a grouping object for initiators)"},{"line_number":10,"context_line":"  from connection information"},{"line_number":11,"context_line":"- add unit tests for better code coverage"},{"line_number":12,"context_line":"- handle system is busy array error"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Ia5df488ed0996fb6fb1b77016772e82323ac1f92"},{"line_number":15,"context_line":"Partial-Implements: blueprint emc-xtremio-updates"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"3a50d1a3_66261818","line":12,"in_reply_to":"3a50d1a3_f6980b7a","updated":"2015-07-26 14:44:35.000000000","message":"Done","commit_id":"dbf4f6ae543ae29e34b0f1f15c0d909f6e3f27d4"}],"cinder/exception.py":[{"author":{"_account_id":16258,"name":"nikesh","email":"nike.niec@gmail.com","username":"nikem"},"change_message_id":"33425e456bd66615c11c5fe24d5b8d9284057bdd","unresolved":false,"context_lines":[{"line_number":929,"context_line":""},{"line_number":930,"context_line":"class XtremIOArrayBusy(CinderException):"},{"line_number":931,"context_line":"    message \u003d _(\"System is Busy, retry operation\")"},{"line_number":932,"context_line":""},{"line_number":933,"context_line":""},{"line_number":934,"context_line":"# StorPool driver"},{"line_number":935,"context_line":"class StorPoolConfigurationMissing(CinderException):"}],"source_content_type":"text/x-python","patch_set":12,"id":"3a50d1a3_5659bf33","line":932,"updated":"2015-07-23 10:11:41.000000000","message":"shall we use \u0027Busy\u0027 in lower case?\nshall we use \u0027.\u0027 at EOL?","commit_id":"dbf4f6ae543ae29e34b0f1f15c0d909f6e3f27d4"},{"author":{"_account_id":11418,"name":"Shay Halsband","email":"shay.halsband@emc.com","username":"shyh"},"change_message_id":"c83df02741b52c119a840356693a5faf77d2d4cf","unresolved":false,"context_lines":[{"line_number":929,"context_line":""},{"line_number":930,"context_line":"class XtremIOArrayBusy(CinderException):"},{"line_number":931,"context_line":"    message \u003d _(\"System is Busy, retry operation\")"},{"line_number":932,"context_line":""},{"line_number":933,"context_line":""},{"line_number":934,"context_line":"# StorPool driver"},{"line_number":935,"context_line":"class StorPoolConfigurationMissing(CinderException):"}],"source_content_type":"text/x-python","patch_set":12,"id":"3a50d1a3_a6fd0070","line":932,"in_reply_to":"3a50d1a3_5659bf33","updated":"2015-07-26 14:44:35.000000000","message":"Done","commit_id":"dbf4f6ae543ae29e34b0f1f15c0d909f6e3f27d4"}],"cinder/volume/drivers/emc/xtremio.py":[{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"6d1fe1431a1eb32ca6bd8154ee65a8b02cba6fe2","unresolved":false,"context_lines":[{"line_number":519,"context_line":"            init \u003d self.client.req(\u0027initiators\u0027, \u0027GET\u0027,"},{"line_number":520,"context_line":"                                   name\u003dinitiator)[\u0027content\u0027]"},{"line_number":521,"context_line":"            if use_chap:"},{"line_number":522,"context_line":"                login_passwd \u003d init[\u0027chap-authentication-initiator-\u0027"},{"line_number":523,"context_line":"                                    \u0027password\u0027]"},{"line_number":524,"context_line":"                # delete the initiator to create a new one with password"},{"line_number":525,"context_line":"                if not login_passwd:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3afb71cf_e9a5e346","line":522,"updated":"2015-06-09 13:25:03.000000000","message":"What was the reason for renaming this variable?  It is still the chap password for the \u0027chap_user\u0027 in L555.","commit_id":"90b7f3450f7f225131764ac5a92a692bb3066fd3"},{"author":{"_account_id":11418,"name":"Shay Halsband","email":"shay.halsband@emc.com","username":"shyh"},"change_message_id":"9fc1cb315f0187b2d342030682a708a14e7cc77a","unresolved":false,"context_lines":[{"line_number":519,"context_line":"            init \u003d self.client.req(\u0027initiators\u0027, \u0027GET\u0027,"},{"line_number":520,"context_line":"                                   name\u003dinitiator)[\u0027content\u0027]"},{"line_number":521,"context_line":"            if use_chap:"},{"line_number":522,"context_line":"                login_passwd \u003d init[\u0027chap-authentication-initiator-\u0027"},{"line_number":523,"context_line":"                                    \u0027password\u0027]"},{"line_number":524,"context_line":"                # delete the initiator to create a new one with password"},{"line_number":525,"context_line":"                if not login_passwd:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3afb71cf_473b5039","line":522,"in_reply_to":"3afb71cf_e9a5e346","updated":"2015-06-11 14:09:39.000000000","message":"as we now have 2 credentials sets I need a better name to separate them by the action they protect. 1 is for iscsi discovery the other is for iscsi login.","commit_id":"90b7f3450f7f225131764ac5a92a692bb3066fd3"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"290d53ab284a0f48665e819ff6ed3c0152eb0581","unresolved":false,"context_lines":[{"line_number":214,"context_line":"        try:"},{"line_number":215,"context_line":"            return self.req(\u0027initiators\u0027, \u0027GET\u0027, name\u003dport_address)[\u0027content\u0027]"},{"line_number":216,"context_line":"        except exception.NotFound:"},{"line_number":217,"context_line":"            return None"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"class XtremIOClient4(XtremIOClient):"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_cd976e38","line":217,"updated":"2015-06-18 18:11:32.000000000","message":"The default return is None, so no need to explicitly say it.","commit_id":"87434e96eee42eb7859e7d4e562f99e3c8505ded"},{"author":{"_account_id":11418,"name":"Shay Halsband","email":"shay.halsband@emc.com","username":"shyh"},"change_message_id":"ad1017074f8609f295fded2df11be24344a660b1","unresolved":false,"context_lines":[{"line_number":214,"context_line":"        try:"},{"line_number":215,"context_line":"            return self.req(\u0027initiators\u0027, \u0027GET\u0027, name\u003dport_address)[\u0027content\u0027]"},{"line_number":216,"context_line":"        except exception.NotFound:"},{"line_number":217,"context_line":"            return None"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"class XtremIOClient4(XtremIOClient):"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_c13fd923","line":217,"in_reply_to":"fa32b979_cd976e38","updated":"2015-06-22 13:16:32.000000000","message":"was thinking myself whether I should just pass, Done","commit_id":"87434e96eee42eb7859e7d4e562f99e3c8505ded"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"290d53ab284a0f48665e819ff6ed3c0152eb0581","unresolved":false,"context_lines":[{"line_number":260,"context_line":"        if len(inits) \u003d\u003d 1:"},{"line_number":261,"context_line":"            return inits[0]"},{"line_number":262,"context_line":"        else:"},{"line_number":263,"context_line":"            return None"},{"line_number":264,"context_line":""},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"class XtremIOVolumeDriver(san.SanDriver):"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_0db9d6cb","line":263,"updated":"2015-06-18 18:11:32.000000000","message":"Ditto","commit_id":"87434e96eee42eb7859e7d4e562f99e3c8505ded"},{"author":{"_account_id":11418,"name":"Shay Halsband","email":"shay.halsband@emc.com","username":"shyh"},"change_message_id":"ad1017074f8609f295fded2df11be24344a660b1","unresolved":false,"context_lines":[{"line_number":260,"context_line":"        if len(inits) \u003d\u003d 1:"},{"line_number":261,"context_line":"            return inits[0]"},{"line_number":262,"context_line":"        else:"},{"line_number":263,"context_line":"            return None"},{"line_number":264,"context_line":""},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"class XtremIOVolumeDriver(san.SanDriver):"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_2186c5db","line":263,"in_reply_to":"fa32b979_0db9d6cb","updated":"2015-06-22 13:16:32.000000000","message":"Done","commit_id":"87434e96eee42eb7859e7d4e562f99e3c8505ded"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"19ea411d21d7c71f1d118bb96d59d9b05f568464","unresolved":false,"context_lines":[{"line_number":458,"context_line":"                                    six.text_type(ig[\u0027index\u0027])"},{"line_number":459,"context_line":"                                    if ig else \u0027any\u0027,"},{"line_number":460,"context_line":"                                    six.text_type(tg[\u0027index\u0027]))"},{"line_number":461,"context_line":"            LOG.debug(\u0027removing lun map %s\u0027, lm_name)"},{"line_number":462,"context_line":"            self.client.req(\u0027lun-maps\u0027, \u0027DELETE\u0027, name\u003dlm_name)"},{"line_number":463,"context_line":"        except exception.NotFound:"},{"line_number":464,"context_line":"            LOG.warning(_LW(\"terminate_connection: lun map not found\"))"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_1ab271e5","line":461,"updated":"2015-06-18 18:10:52.000000000","message":"\".\" at EOL and maybe capitalize the r in removing","commit_id":"87434e96eee42eb7859e7d4e562f99e3c8505ded"},{"author":{"_account_id":11418,"name":"Shay Halsband","email":"shay.halsband@emc.com","username":"shyh"},"change_message_id":"ad1017074f8609f295fded2df11be24344a660b1","unresolved":false,"context_lines":[{"line_number":458,"context_line":"                                    six.text_type(ig[\u0027index\u0027])"},{"line_number":459,"context_line":"                                    if ig else \u0027any\u0027,"},{"line_number":460,"context_line":"                                    six.text_type(tg[\u0027index\u0027]))"},{"line_number":461,"context_line":"            LOG.debug(\u0027removing lun map %s\u0027, lm_name)"},{"line_number":462,"context_line":"            self.client.req(\u0027lun-maps\u0027, \u0027DELETE\u0027, name\u003dlm_name)"},{"line_number":463,"context_line":"        except exception.NotFound:"},{"line_number":464,"context_line":"            LOG.warning(_LW(\"terminate_connection: lun map not found\"))"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_01d141cd","line":461,"in_reply_to":"fa32b979_1ab271e5","updated":"2015-06-22 13:16:32.000000000","message":"Done","commit_id":"87434e96eee42eb7859e7d4e562f99e3c8505ded"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"19ea411d21d7c71f1d118bb96d59d9b05f568464","unresolved":false,"context_lines":[{"line_number":476,"context_line":"            res \u003d self.client.req(\u0027lun-maps\u0027, \u0027POST\u0027, data)"},{"line_number":477,"context_line":""},{"line_number":478,"context_line":"            lunmap \u003d self._obj_from_result(res)"},{"line_number":479,"context_line":"            LOG.info(_LI(\u0027created lunmap\\n%s\u0027), lunmap)"},{"line_number":480,"context_line":"        except exception.XtremIOAlreadyMappedError:"},{"line_number":481,"context_line":"            LOG.info(_LI(\u0027volume already mapped,\u0027"},{"line_number":482,"context_line":"                         \u0027 trying to retrieve it %(ig)s, %(vol)d\u0027),"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_5553ea16","line":479,"updated":"2015-06-18 18:10:52.000000000","message":"I suggest: \"Created lunmap: \\n%s\"","commit_id":"87434e96eee42eb7859e7d4e562f99e3c8505ded"},{"author":{"_account_id":11418,"name":"Shay Halsband","email":"shay.halsband@emc.com","username":"shyh"},"change_message_id":"ad1017074f8609f295fded2df11be24344a660b1","unresolved":false,"context_lines":[{"line_number":476,"context_line":"            res \u003d self.client.req(\u0027lun-maps\u0027, \u0027POST\u0027, data)"},{"line_number":477,"context_line":""},{"line_number":478,"context_line":"            lunmap \u003d self._obj_from_result(res)"},{"line_number":479,"context_line":"            LOG.info(_LI(\u0027created lunmap\\n%s\u0027), lunmap)"},{"line_number":480,"context_line":"        except exception.XtremIOAlreadyMappedError:"},{"line_number":481,"context_line":"            LOG.info(_LI(\u0027volume already mapped,\u0027"},{"line_number":482,"context_line":"                         \u0027 trying to retrieve it %(ig)s, %(vol)d\u0027),"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_a1e09597","line":479,"in_reply_to":"fa32b979_5553ea16","updated":"2015-06-22 13:16:32.000000000","message":"Done","commit_id":"87434e96eee42eb7859e7d4e562f99e3c8505ded"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"19ea411d21d7c71f1d118bb96d59d9b05f568464","unresolved":false,"context_lines":[{"line_number":479,"context_line":"            LOG.info(_LI(\u0027created lunmap\\n%s\u0027), lunmap)"},{"line_number":480,"context_line":"        except exception.XtremIOAlreadyMappedError:"},{"line_number":481,"context_line":"            LOG.info(_LI(\u0027volume already mapped,\u0027"},{"line_number":482,"context_line":"                         \u0027 trying to retrieve it %(ig)s, %(vol)d\u0027),"},{"line_number":483,"context_line":"                     {\u0027ig\u0027: ig, \u0027vol\u0027: volume[\u0027id\u0027]})"},{"line_number":484,"context_line":"            lunmap \u003d self.client.find_lunmap(ig, volume[\u0027id\u0027])"},{"line_number":485,"context_line":"        return lunmap"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_f5a31efe","line":482,"updated":"2015-06-18 18:10:52.000000000","message":"I suggest: \"Volume already mapped. Retrieving: %(ig)s, %(vol)d\"","commit_id":"87434e96eee42eb7859e7d4e562f99e3c8505ded"},{"author":{"_account_id":11418,"name":"Shay Halsband","email":"shay.halsband@emc.com","username":"shyh"},"change_message_id":"ad1017074f8609f295fded2df11be24344a660b1","unresolved":false,"context_lines":[{"line_number":479,"context_line":"            LOG.info(_LI(\u0027created lunmap\\n%s\u0027), lunmap)"},{"line_number":480,"context_line":"        except exception.XtremIOAlreadyMappedError:"},{"line_number":481,"context_line":"            LOG.info(_LI(\u0027volume already mapped,\u0027"},{"line_number":482,"context_line":"                         \u0027 trying to retrieve it %(ig)s, %(vol)d\u0027),"},{"line_number":483,"context_line":"                     {\u0027ig\u0027: ig, \u0027vol\u0027: volume[\u0027id\u0027]})"},{"line_number":484,"context_line":"            lunmap \u003d self.client.find_lunmap(ig, volume[\u0027id\u0027])"},{"line_number":485,"context_line":"        return lunmap"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_419509e2","line":482,"in_reply_to":"fa32b979_f5a31efe","updated":"2015-06-22 13:16:32.000000000","message":"Done","commit_id":"87434e96eee42eb7859e7d4e562f99e3c8505ded"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"290d53ab284a0f48665e819ff6ed3c0152eb0581","unresolved":false,"context_lines":[{"line_number":492,"context_line":"            return self.client.req(\u0027initiator-groups\u0027, \u0027GET\u0027,"},{"line_number":493,"context_line":"                                   name\u003dname)[\u0027content\u0027]"},{"line_number":494,"context_line":"        except exception.NotFound:"},{"line_number":495,"context_line":"            return None"},{"line_number":496,"context_line":""},{"line_number":497,"context_line":"    def _create_ig(self, name):"},{"line_number":498,"context_line":"        # create an initiator group to hold the the initiator"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_2dbcdab9","line":495,"updated":"2015-06-18 18:11:32.000000000","message":"Ditto","commit_id":"87434e96eee42eb7859e7d4e562f99e3c8505ded"},{"author":{"_account_id":11418,"name":"Shay Halsband","email":"shay.halsband@emc.com","username":"shyh"},"change_message_id":"ad1017074f8609f295fded2df11be24344a660b1","unresolved":false,"context_lines":[{"line_number":492,"context_line":"            return self.client.req(\u0027initiator-groups\u0027, \u0027GET\u0027,"},{"line_number":493,"context_line":"                                   name\u003dname)[\u0027content\u0027]"},{"line_number":494,"context_line":"        except exception.NotFound:"},{"line_number":495,"context_line":"            return None"},{"line_number":496,"context_line":""},{"line_number":497,"context_line":"    def _create_ig(self, name):"},{"line_number":498,"context_line":"        # create an initiator group to hold the the initiator"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_019f0104","line":495,"in_reply_to":"fa32b979_2dbcdab9","updated":"2015-06-22 13:16:32.000000000","message":"Done","commit_id":"87434e96eee42eb7859e7d4e562f99e3c8505ded"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"4f7c72e3d611445cb6679e6a17070cb60bc08b59","unresolved":false,"context_lines":[{"line_number":495,"context_line":"            return None"},{"line_number":496,"context_line":""},{"line_number":497,"context_line":"    def _create_ig(self, name):"},{"line_number":498,"context_line":"        # create an initiator group to hold the the initiator"},{"line_number":499,"context_line":"        data \u003d {\u0027ig-name\u0027: name}"},{"line_number":500,"context_line":"        self.client.req(\u0027initiator-groups\u0027, \u0027POST\u0027, data)"},{"line_number":501,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_bb4ee738","line":498,"updated":"2015-06-18 17:46:00.000000000","message":"Remove duplicate \"the\"","commit_id":"87434e96eee42eb7859e7d4e562f99e3c8505ded"},{"author":{"_account_id":11418,"name":"Shay Halsband","email":"shay.halsband@emc.com","username":"shyh"},"change_message_id":"ad1017074f8609f295fded2df11be24344a660b1","unresolved":false,"context_lines":[{"line_number":495,"context_line":"            return None"},{"line_number":496,"context_line":""},{"line_number":497,"context_line":"    def _create_ig(self, name):"},{"line_number":498,"context_line":"        # create an initiator group to hold the the initiator"},{"line_number":499,"context_line":"        data \u003d {\u0027ig-name\u0027: name}"},{"line_number":500,"context_line":"        self.client.req(\u0027initiator-groups\u0027, \u0027POST\u0027, data)"},{"line_number":501,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_a18e55ce","line":498,"in_reply_to":"fa32b979_bb4ee738","updated":"2015-06-22 13:16:32.000000000","message":"Done","commit_id":"87434e96eee42eb7859e7d4e562f99e3c8505ded"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"290d53ab284a0f48665e819ff6ed3c0152eb0581","unresolved":false,"context_lines":[{"line_number":683,"context_line":"        igs \u003d list(set([i[\u0027ig-id\u0027][1] for i in found] + [ig_name]))"},{"line_number":684,"context_line":""},{"line_number":685,"context_line":"        lun_num \u003d None"},{"line_number":686,"context_line":"#        import ipdb;ipdb.set_trace()"},{"line_number":687,"context_line":"        for ig in igs:"},{"line_number":688,"context_line":"            lunmap \u003d self.create_lun_map(volume, ig, lun_num)"},{"line_number":689,"context_line":"            lun_num \u003d lunmap[\u0027lun\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_2d8e1a2e","line":686,"updated":"2015-06-18 18:11:32.000000000","message":"Please remove this commented out code.","commit_id":"87434e96eee42eb7859e7d4e562f99e3c8505ded"},{"author":{"_account_id":11418,"name":"Shay Halsband","email":"shay.halsband@emc.com","username":"shyh"},"change_message_id":"ad1017074f8609f295fded2df11be24344a660b1","unresolved":false,"context_lines":[{"line_number":683,"context_line":"        igs \u003d list(set([i[\u0027ig-id\u0027][1] for i in found] + [ig_name]))"},{"line_number":684,"context_line":""},{"line_number":685,"context_line":"        lun_num \u003d None"},{"line_number":686,"context_line":"#        import ipdb;ipdb.set_trace()"},{"line_number":687,"context_line":"        for ig in igs:"},{"line_number":688,"context_line":"            lunmap \u003d self.create_lun_map(volume, ig, lun_num)"},{"line_number":689,"context_line":"            lun_num \u003d lunmap[\u0027lun\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_21b9e579","line":686,"in_reply_to":"fa32b979_2d8e1a2e","updated":"2015-06-22 13:16:32.000000000","message":"Done","commit_id":"87434e96eee42eb7859e7d4e562f99e3c8505ded"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"053a2dc934d855912c82c5ffae047593c311e2ba","unresolved":false,"context_lines":[{"line_number":462,"context_line":"            res \u003d self.client.req(\u0027lun-maps\u0027, \u0027POST\u0027, data)"},{"line_number":463,"context_line":""},{"line_number":464,"context_line":"            lunmap \u003d self._obj_from_result(res)"},{"line_number":465,"context_line":"            LOG.info(_LI(\u0027Created lunmap:\\n%s\u0027), lunmap)"},{"line_number":466,"context_line":"        except exception.XtremIOAlreadyMappedError:"},{"line_number":467,"context_line":"            LOG.info(_LI(\u0027Volume already mapped, retrieving %(ig)s, %(vol)d\u0027),"},{"line_number":468,"context_line":"                     {\u0027ig\u0027: ig, \u0027vol\u0027: volume[\u0027id\u0027]})"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa32b979_11d9e121","line":465,"updated":"2015-06-25 16:13:05.000000000","message":"s/lunmap/lun-map/ ?","commit_id":"e91d5abcc4e3e8d9e1c107bcd50207198d4922db"},{"author":{"_account_id":11418,"name":"Shay Halsband","email":"shay.halsband@emc.com","username":"shyh"},"change_message_id":"f7ffbca9ab0c8d51ddeeb9a2d469e000c1c3a214","unresolved":false,"context_lines":[{"line_number":462,"context_line":"            res \u003d self.client.req(\u0027lun-maps\u0027, \u0027POST\u0027, data)"},{"line_number":463,"context_line":""},{"line_number":464,"context_line":"            lunmap \u003d self._obj_from_result(res)"},{"line_number":465,"context_line":"            LOG.info(_LI(\u0027Created lunmap:\\n%s\u0027), lunmap)"},{"line_number":466,"context_line":"        except exception.XtremIOAlreadyMappedError:"},{"line_number":467,"context_line":"            LOG.info(_LI(\u0027Volume already mapped, retrieving %(ig)s, %(vol)d\u0027),"},{"line_number":468,"context_line":"                     {\u0027ig\u0027: ig, \u0027vol\u0027: volume[\u0027id\u0027]})"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba3cc151_70400ea6","line":465,"in_reply_to":"fa32b979_11d9e121","updated":"2015-06-30 15:25:07.000000000","message":"Done","commit_id":"e91d5abcc4e3e8d9e1c107bcd50207198d4922db"},{"author":{"_account_id":16258,"name":"nikesh","email":"nike.niec@gmail.com","username":"nikem"},"change_message_id":"3c08a53f59e0c9a7c06947ff597b68c83d7146df","unresolved":false,"context_lines":[{"line_number":286,"context_line":"            return inits[0]"},{"line_number":287,"context_line":"        else:"},{"line_number":288,"context_line":"            pass"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"class XtremIOVolumeDriver(san.SanDriver):"},{"line_number":292,"context_line":"    \"\"\"Executes commands relating to Volumes.\"\"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"ba3cc151_dcdcbe76","line":289,"updated":"2015-07-06 14:09:13.000000000","message":"get_initiator is defined three times with same parameter.\nHow are you differentiating that which one would be called?\nWould not it will create ambiguity?","commit_id":"45e45424964ceeb1035c96333d79cca7d846b7a7"},{"author":{"_account_id":16258,"name":"nikesh","email":"nike.niec@gmail.com","username":"nikem"},"change_message_id":"a7a95354132598030e55e02f271659365a0b6ac6","unresolved":false,"context_lines":[{"line_number":286,"context_line":"            return inits[0]"},{"line_number":287,"context_line":"        else:"},{"line_number":288,"context_line":"            pass"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"class XtremIOVolumeDriver(san.SanDriver):"},{"line_number":292,"context_line":"    \"\"\"Executes commands relating to Volumes.\"\"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"ba3cc151_5c5f4e75","line":289,"in_reply_to":"ba3cc151_dcdcbe76","updated":"2015-07-06 14:12:59.000000000","message":"ok got it.","commit_id":"45e45424964ceeb1035c96333d79cca7d846b7a7"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"0b3c1899088f0758a3de8bf656574a49930408f5","unresolved":false,"context_lines":[{"line_number":596,"context_line":"            self.client(\u0027initiators\u0027, \u0027PUT\u0027, data, idx\u003dinitiator[\u0027index\u0027])"},{"line_number":597,"context_line":""},{"line_number":598,"context_line":"        # lun mappping"},{"line_number":599,"context_line":"        lunmap \u003d self.create_lun_map(volume, ig[\u0027ig-id\u0027][2])"},{"line_number":600,"context_line":""},{"line_number":601,"context_line":"        properties \u003d self._get_iscsi_properties(lunmap)"},{"line_number":602,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"9a41bdd9_98129761","line":599,"updated":"2015-07-13 18:34:44.000000000","message":"So during nova live migration, Nova will call initialize_connection multiple times, just to fetch the information returned in initalize_connection, and not because it wants to attach a volume.\n\nYou probably want to make sure the lun map doesn\u0027t already exist.\n\nYou basically have to make sure everything you do in initialize_connection on the array hasn\u0027t been done already.  If it has, just build the return dictionary information and return it.\n\nThis turns initialize_connection into an information gathering call.  \n\nYou can verify the veracity of my statement here:\nhttps://github.com/openstack/nova/blob/master/nova/virt/block_device.py#L283-L292","commit_id":"5f52ee856196ed5236e8fc0b730e7845bc7d8ede"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"8f073fda4c929aee5354cba1225a029b19df2a85","unresolved":false,"context_lines":[{"line_number":596,"context_line":"            self.client(\u0027initiators\u0027, \u0027PUT\u0027, data, idx\u003dinitiator[\u0027index\u0027])"},{"line_number":597,"context_line":""},{"line_number":598,"context_line":"        # lun mappping"},{"line_number":599,"context_line":"        lunmap \u003d self.create_lun_map(volume, ig[\u0027ig-id\u0027][2])"},{"line_number":600,"context_line":""},{"line_number":601,"context_line":"        properties \u003d self._get_iscsi_properties(lunmap)"},{"line_number":602,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"9a41bdd9_e3bc586e","line":599,"in_reply_to":"9a41bdd9_98129761","updated":"2015-07-13 18:53:15.000000000","message":"Good point. If volume is already attached and you try to attach again, it will fail.  Instead, you should return information without attempting to attach again.","commit_id":"5f52ee856196ed5236e8fc0b730e7845bc7d8ede"},{"author":{"_account_id":11418,"name":"Shay Halsband","email":"shay.halsband@emc.com","username":"shyh"},"change_message_id":"53cddd3c973de9bd7e5ac419935cab44534c5160","unresolved":false,"context_lines":[{"line_number":596,"context_line":"            self.client(\u0027initiators\u0027, \u0027PUT\u0027, data, idx\u003dinitiator[\u0027index\u0027])"},{"line_number":597,"context_line":""},{"line_number":598,"context_line":"        # lun mappping"},{"line_number":599,"context_line":"        lunmap \u003d self.create_lun_map(volume, ig[\u0027ig-id\u0027][2])"},{"line_number":600,"context_line":""},{"line_number":601,"context_line":"        properties \u003d self._get_iscsi_properties(lunmap)"},{"line_number":602,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"3a50d1a3_0aacfc9e","line":599,"in_reply_to":"9a41bdd9_98129761","updated":"2015-07-21 06:01:04.000000000","message":"if you looked at create_lun_map in line 483, you could see that the code already handles mapped volumes and return the relevant lun mapping.","commit_id":"5f52ee856196ed5236e8fc0b730e7845bc7d8ede"},{"author":{"_account_id":11418,"name":"Shay Halsband","email":"shay.halsband@emc.com","username":"shyh"},"change_message_id":"53cddd3c973de9bd7e5ac419935cab44534c5160","unresolved":false,"context_lines":[{"line_number":596,"context_line":"            self.client(\u0027initiators\u0027, \u0027PUT\u0027, data, idx\u003dinitiator[\u0027index\u0027])"},{"line_number":597,"context_line":""},{"line_number":598,"context_line":"        # lun mappping"},{"line_number":599,"context_line":"        lunmap \u003d self.create_lun_map(volume, ig[\u0027ig-id\u0027][2])"},{"line_number":600,"context_line":""},{"line_number":601,"context_line":"        properties \u003d self._get_iscsi_properties(lunmap)"},{"line_number":602,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"3a50d1a3_2aec588e","line":599,"in_reply_to":"9a41bdd9_e3bc586e","updated":"2015-07-21 06:01:04.000000000","message":"Xing, the way you suggest, takes 2 rest calls each time. the way I implemented is 1 call for the first time and 2 calls for existing mapping.","commit_id":"5f52ee856196ed5236e8fc0b730e7845bc7d8ede"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"b2891cef4ceddf2fa37bcf8b658c1666e9756ed7","unresolved":false,"context_lines":[{"line_number":588,"context_line":"            login_passwd \u003d initiator[\u0027chap-authentication-initiator-password\u0027]"},{"line_number":589,"context_line":"            discovery_passwd \u003d initiator[\u0027chap-discovery-initiator-password\u0027]"},{"line_number":590,"context_line":"            ig \u003d self._get_ig(initiator[\u0027ig-id\u0027][1])"},{"line_number":591,"context_line":"        else:"},{"line_number":592,"context_line":"            ig \u003d self._get_ig(self._get_ig_name(connector))"},{"line_number":593,"context_line":"            if not ig:"},{"line_number":594,"context_line":"                ig \u003d self._create_ig(self._get_ig_name(connector))"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a50d1a3_493c322f","line":591,"updated":"2015-07-21 15:52:36.000000000","message":"I don\u0027t see unit test for this code path.  It should be added.","commit_id":"43db015d230acce05f5dfa7b468d388ef19097ab"},{"author":{"_account_id":11418,"name":"Shay Halsband","email":"shay.halsband@emc.com","username":"shyh"},"change_message_id":"165254619207860d590ecb1ebab2acec3ecb4576","unresolved":false,"context_lines":[{"line_number":588,"context_line":"            login_passwd \u003d initiator[\u0027chap-authentication-initiator-password\u0027]"},{"line_number":589,"context_line":"            discovery_passwd \u003d initiator[\u0027chap-discovery-initiator-password\u0027]"},{"line_number":590,"context_line":"            ig \u003d self._get_ig(initiator[\u0027ig-id\u0027][1])"},{"line_number":591,"context_line":"        else:"},{"line_number":592,"context_line":"            ig \u003d self._get_ig(self._get_ig_name(connector))"},{"line_number":593,"context_line":"            if not ig:"},{"line_number":594,"context_line":"                ig \u003d self._create_ig(self._get_ig_name(connector))"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a50d1a3_73d450bc","line":591,"in_reply_to":"3a50d1a3_493c322f","updated":"2015-07-22 11:22:57.000000000","message":"the coverage report shows this section as covered","commit_id":"43db015d230acce05f5dfa7b468d388ef19097ab"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"b2891cef4ceddf2fa37bcf8b658c1666e9756ed7","unresolved":false,"context_lines":[{"line_number":602,"context_line":"                         \u0027adding it\u0027))"},{"line_number":603,"context_line":"            data \u003d {}"},{"line_number":604,"context_line":"            (login_passwd,"},{"line_number":605,"context_line":"             d_passwd) \u003d self._add_auth(data, login_chap, discovery_chap and"},{"line_number":606,"context_line":"                                        not discovery_passwd)"},{"line_number":607,"context_line":"            discovery_passwd \u003d (discovery_passwd if discovery_passwd"},{"line_number":608,"context_line":"                                else d_passwd)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a50d1a3_c91602a7","line":605,"updated":"2015-07-21 15:52:36.000000000","message":"This is not covered by unit test.","commit_id":"43db015d230acce05f5dfa7b468d388ef19097ab"},{"author":{"_account_id":11418,"name":"Shay Halsband","email":"shay.halsband@emc.com","username":"shyh"},"change_message_id":"165254619207860d590ecb1ebab2acec3ecb4576","unresolved":false,"context_lines":[{"line_number":602,"context_line":"                         \u0027adding it\u0027))"},{"line_number":603,"context_line":"            data \u003d {}"},{"line_number":604,"context_line":"            (login_passwd,"},{"line_number":605,"context_line":"             d_passwd) \u003d self._add_auth(data, login_chap, discovery_chap and"},{"line_number":606,"context_line":"                                        not discovery_passwd)"},{"line_number":607,"context_line":"            discovery_passwd \u003d (discovery_passwd if discovery_passwd"},{"line_number":608,"context_line":"                                else d_passwd)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a50d1a3_3bd45eea","line":605,"in_reply_to":"3a50d1a3_c91602a7","updated":"2015-07-22 11:22:57.000000000","message":"Done","commit_id":"43db015d230acce05f5dfa7b468d388ef19097ab"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"b2891cef4ceddf2fa37bcf8b658c1666e9756ed7","unresolved":false,"context_lines":[{"line_number":676,"context_line":""},{"line_number":677,"context_line":""},{"line_number":678,"context_line":"class XtremIOFibreChannelDriver(XtremIOVolumeDriver,"},{"line_number":679,"context_line":"                                driver.FibreChannelDriver):"},{"line_number":680,"context_line":""},{"line_number":681,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":682,"context_line":"        super(XtremIOFibreChannelDriver, self).__init__(*args, **kwargs)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a50d1a3_895eba74","line":679,"updated":"2015-07-21 15:52:36.000000000","message":"initialize_connection and terminate_connection in FC driver are changed. Please add or modify unit tests for the FC driver to cover these changes.","commit_id":"43db015d230acce05f5dfa7b468d388ef19097ab"},{"author":{"_account_id":11418,"name":"Shay Halsband","email":"shay.halsband@emc.com","username":"shyh"},"change_message_id":"165254619207860d590ecb1ebab2acec3ecb4576","unresolved":false,"context_lines":[{"line_number":676,"context_line":""},{"line_number":677,"context_line":""},{"line_number":678,"context_line":"class XtremIOFibreChannelDriver(XtremIOVolumeDriver,"},{"line_number":679,"context_line":"                                driver.FibreChannelDriver):"},{"line_number":680,"context_line":""},{"line_number":681,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":682,"context_line":"        super(XtremIOFibreChannelDriver, self).__init__(*args, **kwargs)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a50d1a3_1b7de2b0","line":679,"in_reply_to":"3a50d1a3_895eba74","updated":"2015-07-22 11:22:57.000000000","message":"the functionality remains the same so the test still give very good coverage, as the report show","commit_id":"43db015d230acce05f5dfa7b468d388ef19097ab"},{"author":{"_account_id":16258,"name":"nikesh","email":"nike.niec@gmail.com","username":"nikem"},"change_message_id":"33425e456bd66615c11c5fe24d5b8d9284057bdd","unresolved":false,"context_lines":[{"line_number":598,"context_line":"                                                        discovery_chap)"},{"line_number":599,"context_line":"        # if CHAP was enabled after the the initiator was created"},{"line_number":600,"context_line":"        if login_chap and not login_passwd:"},{"line_number":601,"context_line":"            LOG.info(_LI(\u0027initiator has no password while using chap,\u0027"},{"line_number":602,"context_line":"                         \u0027adding it\u0027))"},{"line_number":603,"context_line":"            data \u003d {}"},{"line_number":604,"context_line":"            (login_passwd,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3a50d1a3_316d1dcc","line":601,"updated":"2015-07-23 10:11:41.000000000","message":"space would be good after \u0027,\u0027","commit_id":"dbf4f6ae543ae29e34b0f1f15c0d909f6e3f27d4"},{"author":{"_account_id":16258,"name":"nikesh","email":"nike.niec@gmail.com","username":"nikem"},"change_message_id":"33425e456bd66615c11c5fe24d5b8d9284057bdd","unresolved":false,"context_lines":[{"line_number":599,"context_line":"        # if CHAP was enabled after the the initiator was created"},{"line_number":600,"context_line":"        if login_chap and not login_passwd:"},{"line_number":601,"context_line":"            LOG.info(_LI(\u0027initiator has no password while using chap,\u0027"},{"line_number":602,"context_line":"                         \u0027adding it\u0027))"},{"line_number":603,"context_line":"            data \u003d {}"},{"line_number":604,"context_line":"            (login_passwd,"},{"line_number":605,"context_line":"             d_passwd) \u003d self._add_auth(data, login_chap, discovery_chap and"}],"source_content_type":"text/x-python","patch_set":12,"id":"3a50d1a3_b12e0da3","line":602,"updated":"2015-07-23 10:11:41.000000000","message":"\u0027.\u0027 would be good at EOL.","commit_id":"dbf4f6ae543ae29e34b0f1f15c0d909f6e3f27d4"}]}
