)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":2759,"name":"Huang Zhiteng","email":"winston.d@gmail.com","username":"zhiteng-huang"},"change_message_id":"75af7821d0f28deb172f1aaaf59cf619b89e626e","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Do not conjecture volume-id from iscsi_name"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Now iscsi target driver assumes that volume name always start with"},{"line_number":10,"context_line":"\"volume-\". In fact the name can be configured[1]. This change read"},{"line_number":11,"context_line":"provider_auth from volume object directly."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Closes-Bug: #1597317"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1aa78d24_f8953de4","line":10,"updated":"2016-07-05 01:25:34.000000000","message":"Although hardcoded \u0027volume-\u0027 into iscsi target driver is wrong, I doubt this is the root cause of the bug.","commit_id":"fefc7d2265c113072da74dfbaadb358d183fe8fb"},{"author":{"_account_id":20105,"name":"Cao ShuFeng","email":"caosf.fnst@cn.fujitsu.com","username":"caosf.fnst"},"change_message_id":"16dae702e7a40e5d9f6a7f881f6b338a14329269","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Do not conjecture volume-id from iscsi_name"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Now iscsi target driver assumes that volume name always start with"},{"line_number":10,"context_line":"\"volume-\". In fact the name can be configured[1]. This change read"},{"line_number":11,"context_line":"provider_auth from volume object directly."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Closes-Bug: #1597317"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1aa78d24_8242c73c","line":10,"in_reply_to":"1aa78d24_f8953de4","updated":"2016-07-05 03:29:16.000000000","message":"Yeah, I am still waiting for the bug reporter\u0027s replay.","commit_id":"fefc7d2265c113072da74dfbaadb358d183fe8fb"},{"author":{"_account_id":2759,"name":"Huang Zhiteng","email":"winston.d@gmail.com","username":"zhiteng-huang"},"change_message_id":"75af7821d0f28deb172f1aaaf59cf619b89e626e","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Now iscsi target driver assumes that volume name always start with"},{"line_number":10,"context_line":"\"volume-\". In fact the name can be configured[1]. This change read"},{"line_number":11,"context_line":"provider_auth from volume object directly."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Closes-Bug: #1597317"},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1aa78d24_d898411e","line":11,"updated":"2016-07-05 01:25:34.000000000","message":"querying database at the time when needing the info can minimize the impact of concurrent access to the record - drift/inconsistency (e.g. two initialized_connection calls to same volume at about the same time), so I\u0027d like to keep the DB query.","commit_id":"fefc7d2265c113072da74dfbaadb358d183fe8fb"},{"author":{"_account_id":20105,"name":"Cao ShuFeng","email":"caosf.fnst@cn.fujitsu.com","username":"caosf.fnst"},"change_message_id":"16dae702e7a40e5d9f6a7f881f6b338a14329269","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Now iscsi target driver assumes that volume name always start with"},{"line_number":10,"context_line":"\"volume-\". In fact the name can be configured[1]. This change read"},{"line_number":11,"context_line":"provider_auth from volume object directly."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Closes-Bug: #1597317"},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1aa78d24_426f3fc5","line":11,"in_reply_to":"1aa78d24_d898411e","updated":"2016-07-05 03:29:16.000000000","message":"Done","commit_id":"fefc7d2265c113072da74dfbaadb358d183fe8fb"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"8e96e515e9e7953dfa18b37ca2cf73c98d34da7f","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Do not conjecture volume-id from iscsi_name"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Now iscsi target driver assumes that volume name always start with"},{"line_number":10,"context_line":"\"volume-\". In fact the name can be configured[1]. This change gets"},{"line_number":11,"context_line":"the volume id from volume object directly."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Closes-Bug: #1597317"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"1aa78d24_0238403c","line":10,"range":{"start_line":10,"start_character":45,"end_line":10,"end_character":48},"updated":"2016-07-06 13:06:44.000000000","message":".. using volume_name_template option.","commit_id":"a2b1e489843108aef88de20feec7fa03b01510d2"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"8e96e515e9e7953dfa18b37ca2cf73c98d34da7f","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Closes-Bug: #1597317"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"[1]: https://github.com/openstack/cinder/blob/master/cinder/objects/volume.py#L140-#L142"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: Iaa366fbc4ddc0265255e5a4d2bb9d166a665856c"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"1aa78d24_c231185c","line":15,"updated":"2016-07-06 13:06:44.000000000","message":"The line numbers will change, so it is better to remove this reference.","commit_id":"a2b1e489843108aef88de20feec7fa03b01510d2"}],"cinder/tests/unit/targets/test_base_iscsi_driver.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"3ab50867b6aabee96cafbd1ec73fc6de697622b9","unresolved":false,"context_lines":[{"line_number":164,"context_line":"                         self.target._get_target_chap_auth(ctxt,"},{"line_number":165,"context_line":"                                                           self.testvol))"},{"line_number":166,"context_line":"        self.target.db.volume_get.assert_called_once_with("},{"line_number":167,"context_line":"            ctxt, self.testvol[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"1aa78d24_71f87ec5","line":167,"range":{"start_line":167,"start_character":23,"end_line":167,"end_character":30},"updated":"2016-07-08 08:40:16.000000000","message":"Took me fair amount of time to understand difference between test_vol and testvol. Someone named that very poorly in the past.\n\nNot your fault of course. :)","commit_id":"f9d52850e7cd092dc736a77de366248c6dee6881"}],"cinder/volume/targets/iscsi.py":[{"author":{"_account_id":2759,"name":"Huang Zhiteng","email":"winston.d@gmail.com","username":"zhiteng-huang"},"change_message_id":"75af7821d0f28deb172f1aaaf59cf619b89e626e","unresolved":false,"context_lines":[{"line_number":325,"context_line":"        \"\"\"Get the current chap auth username and password.\"\"\""},{"line_number":326,"context_line":"        try:"},{"line_number":327,"context_line":"            # \u0027iscsi_name\u0027: \u0027iqn.2010-10.org.openstack:volume-00000001\u0027"},{"line_number":328,"context_line":"            vol_id \u003d iscsi_name.split(\u0027:volume-\u0027)[1]"},{"line_number":329,"context_line":"            volume_info \u003d self.db.volume_get(context, vol_id)"},{"line_number":330,"context_line":"            # \u0027provider_auth\u0027: \u0027CHAP user_id password\u0027"},{"line_number":331,"context_line":"            if volume_info[\u0027provider_auth\u0027]:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1aa78d24_38a06543","side":"PARENT","line":328,"updated":"2016-07-05 01:25:34.000000000","message":"It\u0027s the right thing to do to remove hardcoded \u0027volume-\u0027 here and use volume id directly but I am afraid removing DB query below would cause more problem in some cases.","commit_id":"6f2112caa86adb73b2339eb3e7b8c1f7d9962fc2"},{"author":{"_account_id":20105,"name":"Cao ShuFeng","email":"caosf.fnst@cn.fujitsu.com","username":"caosf.fnst"},"change_message_id":"16dae702e7a40e5d9f6a7f881f6b338a14329269","unresolved":false,"context_lines":[{"line_number":325,"context_line":"        \"\"\"Get the current chap auth username and password.\"\"\""},{"line_number":326,"context_line":"        try:"},{"line_number":327,"context_line":"            # \u0027iscsi_name\u0027: \u0027iqn.2010-10.org.openstack:volume-00000001\u0027"},{"line_number":328,"context_line":"            vol_id \u003d iscsi_name.split(\u0027:volume-\u0027)[1]"},{"line_number":329,"context_line":"            volume_info \u003d self.db.volume_get(context, vol_id)"},{"line_number":330,"context_line":"            # \u0027provider_auth\u0027: \u0027CHAP user_id password\u0027"},{"line_number":331,"context_line":"            if volume_info[\u0027provider_auth\u0027]:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1aa78d24_826927c1","side":"PARENT","line":328,"in_reply_to":"1aa78d24_38a06543","updated":"2016-07-05 03:29:16.000000000","message":"Hi, Huang:\n    Thanks for your suggestion.\n    In patch set 2, I initially wanted to use volume.refersh() here. But this\n    may change the behavior the volume object. So use\n    volume_info \u003d self.db.volume_get(context, volume[\u0027id\u0027]) instead.\n\nThanks","commit_id":"6f2112caa86adb73b2339eb3e7b8c1f7d9962fc2"},{"author":{"_account_id":2759,"name":"Huang Zhiteng","email":"winston.d@gmail.com","username":"zhiteng-huang"},"change_message_id":"5bad7acd99d0ec41d704c18bf2a4b216565cc2ef","unresolved":false,"context_lines":[{"line_number":324,"context_line":"    def _get_target_chap_auth(self, context, volume):"},{"line_number":325,"context_line":"        \"\"\"Get the current chap auth username and password.\"\"\""},{"line_number":326,"context_line":"        try:"},{"line_number":327,"context_line":"            # requery DB to keep consistency"},{"line_number":328,"context_line":"            volume_info \u003d self.db.volume_get(context, volume[\u0027id\u0027])"},{"line_number":329,"context_line":"            # \u0027provider_auth\u0027: \u0027CHAP user_id password\u0027"},{"line_number":330,"context_line":"            if volume_info[\u0027provider_auth\u0027]:"}],"source_content_type":"text/x-python","patch_set":3,"id":"1aa78d24_75e82e11","line":327,"updated":"2016-07-05 07:13:18.000000000","message":"s/requery DB to keep consistency/Query DB to get latest state of volume/","commit_id":"a041d8218343a8c37e31efa1af7e6fce29516068"}]}
