)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"fb902c261975811f72c35fd2d2c527b6a97662b9","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"These drivers depend upon DotHill Cinder drivers."},{"line_number":10,"context_line":"Using inheritance, we are able to reuse a lot of"},{"line_number":11,"context_line":"DotHill cinder drivers source code."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: Ica8631d6954898dbd90a71cc78625bb2aa3b5632"},{"line_number":14,"context_line":"Implements: blueprint lenovo-fc-iscsi-cinder-driver"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"5afe65bd_c6a59cb5","line":11,"updated":"2015-06-03 16:29:27.000000000","message":"I do not think this is a good idea, basing it on DotHill cinder driver.  It makes your driver dependent on DotHill to exist.  What would happen if DotHill was removed from the code base for some reason.  You might want to work with DotHill to move the common code to some generic driver.","commit_id":"68807b9acd4549e980e217c7d07f860d0e28d41d"},{"author":{"_account_id":12516,"name":"Edwin Wang","email":"edwin.wang@cn.ibm.com","username":"edwin.wang"},"change_message_id":"d48a778474b27e43e383fed443536425e7f41953","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"These drivers depend upon DotHill Cinder drivers."},{"line_number":10,"context_line":"Using inheritance, we are able to reuse a lot of"},{"line_number":11,"context_line":"DotHill cinder drivers source code."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: Ica8631d6954898dbd90a71cc78625bb2aa3b5632"},{"line_number":14,"context_line":"Implements: blueprint lenovo-fc-iscsi-cinder-driver"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"5afe65bd_57236ea7","line":11,"updated":"2015-06-04 15:27:28.000000000","message":"It seems it\u0027s a OEM product from DotHill. Maybe you can merge it into DotHill\u0027s code instead of creating a new shell.","commit_id":"68807b9acd4549e980e217c7d07f860d0e28d41d"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"c176276fb0ea24d4a78b8820ec9309ee859d79ec","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     nikeshm \u003cNikesh.Mahalaka@dothill.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-06-10 05:54:11 +0530"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Adds FC and ISCSI Cinder drivers for Lenovo Storage Arrays."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"These drivers depend upon DotHill Cinder drivers."},{"line_number":10,"context_line":"Using inheritance, we are able to reuse a lot of"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"1af86dd1_982ac12b","line":7,"updated":"2015-06-12 01:26:25.000000000","message":"Remove the stop in the end of this line.","commit_id":"e5c941580cbf012b726ba4f1c380dd28b4592f4f"}],"cinder/volume/drivers/lenovo/lenovo_common.py":[{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"c176276fb0ea24d4a78b8820ec9309ee859d79ec","unresolved":false,"context_lines":[{"line_number":25,"context_line":"               help\u003d\"VDisk or Pool name to use for volume creation.\"),"},{"line_number":26,"context_line":"    cfg.StrOpt(\u0027lenovo_backend_type\u0027,"},{"line_number":27,"context_line":"               choices\u003d[\u0027linear\u0027, \u0027realstor\u0027],"},{"line_number":28,"context_line":"               help\u003d\"linear(for VDisk) or realstor(for Pool)\"),"},{"line_number":29,"context_line":"    cfg.StrOpt(\u0027lenovo_wbi_protocol\u0027,"},{"line_number":30,"context_line":"               choices\u003d[\u0027http\u0027, \u0027https\u0027],"},{"line_number":31,"context_line":"               help\u003d\"Lenovo web interface protocol\"),"}],"source_content_type":"text/x-python","patch_set":4,"id":"1af86dd1_58f689d8","line":28,"updated":"2015-06-12 01:26:25.000000000","message":"Change the \"help\" here into a formal way.","commit_id":"e5c941580cbf012b726ba4f1c380dd28b4592f4f"},{"author":{"_account_id":16121,"name":"Nikesh","email":"Nikesh.Mahalaka@dothill.com","username":"nikeshm"},"change_message_id":"e0e66503b46f929b84faa8106bc6136dcf38c0c2","unresolved":false,"context_lines":[{"line_number":25,"context_line":"               help\u003d\"VDisk or Pool name to use for volume creation.\"),"},{"line_number":26,"context_line":"    cfg.StrOpt(\u0027lenovo_backend_type\u0027,"},{"line_number":27,"context_line":"               choices\u003d[\u0027linear\u0027, \u0027realstor\u0027],"},{"line_number":28,"context_line":"               help\u003d\"linear(for VDisk) or realstor(for Pool)\"),"},{"line_number":29,"context_line":"    cfg.StrOpt(\u0027lenovo_wbi_protocol\u0027,"},{"line_number":30,"context_line":"               choices\u003d[\u0027http\u0027, \u0027https\u0027],"},{"line_number":31,"context_line":"               help\u003d\"Lenovo web interface protocol\"),"}],"source_content_type":"text/x-python","patch_set":4,"id":"1af86dd1_0fee7b22","line":28,"in_reply_to":"1af86dd1_58f689d8","updated":"2015-06-12 11:05:16.000000000","message":"Some models of array have VDisk as a backend type and some models have Pool as a backend type.\nSo IMO,this help is good","commit_id":"e5c941580cbf012b726ba4f1c380dd28b4592f4f"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"1f88038ac9b521672c233de4ff0ed41fcdca7d5b","unresolved":false,"context_lines":[{"line_number":25,"context_line":"               help\u003d\"VDisk or Pool name to use for volume creation.\"),"},{"line_number":26,"context_line":"    cfg.StrOpt(\u0027lenovo_backend_type\u0027,"},{"line_number":27,"context_line":"               choices\u003d[\u0027linear\u0027, \u0027realstor\u0027],"},{"line_number":28,"context_line":"               help\u003d\"linear(for VDisk) or realstor(for Pool)\"),"},{"line_number":29,"context_line":"    cfg.StrOpt(\u0027lenovo_wbi_protocol\u0027,"},{"line_number":30,"context_line":"               choices\u003d[\u0027http\u0027, \u0027https\u0027],"},{"line_number":31,"context_line":"               help\u003d\"Lenovo web interface protocol\"),"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa32b979_9d95c2e5","line":28,"updated":"2015-06-15 17:24:23.000000000","message":"Same comments from HPMSA review. Space before opening ( and end with a period.","commit_id":"b3b0ab9a161d14dea76ae158ee6284e7cd282f38"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"1f88038ac9b521672c233de4ff0ed41fcdca7d5b","unresolved":false,"context_lines":[{"line_number":28,"context_line":"               help\u003d\"linear(for VDisk) or realstor(for Pool)\"),"},{"line_number":29,"context_line":"    cfg.StrOpt(\u0027lenovo_wbi_protocol\u0027,"},{"line_number":30,"context_line":"               choices\u003d[\u0027http\u0027, \u0027https\u0027],"},{"line_number":31,"context_line":"               help\u003d\"Lenovo web interface protocol\"),"},{"line_number":32,"context_line":"]"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"iscsi_opt \u003d ["}],"source_content_type":"text/x-python","patch_set":6,"id":"fa32b979_1d8a12c0","line":31,"updated":"2015-06-15 17:24:23.000000000","message":"End with a period.","commit_id":"b3b0ab9a161d14dea76ae158ee6284e7cd282f38"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"1f88038ac9b521672c233de4ff0ed41fcdca7d5b","unresolved":false,"context_lines":[{"line_number":34,"context_line":"iscsi_opt \u003d ["},{"line_number":35,"context_line":"    cfg.ListOpt(\u0027lenovo_iscsi_ips\u0027,"},{"line_number":36,"context_line":"                default\u003d[],"},{"line_number":37,"context_line":"                help\u003d\"List of target iSCSI addresses\"),"},{"line_number":38,"context_line":"]"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa32b979_dd934af9","line":37,"updated":"2015-06-15 17:24:23.000000000","message":"End with a period.","commit_id":"b3b0ab9a161d14dea76ae158ee6284e7cd282f38"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"4087688cc55594fd373553f9c3e862554316b302","unresolved":false,"context_lines":[{"line_number":34,"context_line":"iscsi_opt \u003d ["},{"line_number":35,"context_line":"    cfg.ListOpt(\u0027lenovo_iscsi_ips\u0027,"},{"line_number":36,"context_line":"                default\u003d[],"},{"line_number":37,"context_line":"                help\u003d\"List of target iSCSI addresses\"),"},{"line_number":38,"context_line":"]"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa32b979_da910254","line":37,"updated":"2015-06-15 23:01:34.000000000","message":"Same comment here as in other reviews.  Please specify the format for the list.","commit_id":"b3b0ab9a161d14dea76ae158ee6284e7cd282f38"}]}
