)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"ed4a84a2165d0ff8431756ce5d755404c9f29655","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When attaching more than 32 targets to an HNAS iSCSI backend, the"},{"line_number":10,"context_line":"storage returns an error as there\u0027s a limitation on the number of"},{"line_number":11,"context_line":"volumes that can be attached to a target. This patch fix the problem"},{"line_number":12,"context_line":"and creates new targets as needed."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Closes-Bug: #1479072"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"1a4dcd0f_7b6100d3","line":11,"updated":"2015-08-09 08:26:13.000000000","message":"s/fix/fixes","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"2339505e7ad8a36e4c87c0fad3995eb7fac90e0c","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When attaching more than 32 targets to an HNAS iSCSI backend, the"},{"line_number":10,"context_line":"storage returns an error as there\u0027s a limitation on the number of"},{"line_number":11,"context_line":"volumes that can be attached to a target. This patch fix the problem"},{"line_number":12,"context_line":"and creates new targets as needed."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Closes-Bug: #1479072"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"1a4dcd0f_32b6e38a","line":11,"in_reply_to":"1a4dcd0f_7b6100d3","updated":"2015-08-11 15:04:28.000000000","message":"Done","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"}],"cinder/tests/unit/test_hitachi_hnas_backend.py":[{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"7746fc66f489ddeaa0b1695ddf44882ee050152d","unresolved":false,"context_lines":[{"line_number":296,"context_line":"    (\u0027ssh\u0027, \u00270.0.0.0\u0027, \u0027supervisor\u0027, \u0027supervisor\u0027, \u0027console-context\u0027, \u0027--evs\u0027,"},{"line_number":297,"context_line":"     \u00271\u0027, \u0027iscsi-target\u0027, \u0027addlu\u0027, \u0027cinder-default\u0027,"},{"line_number":298,"context_line":"     \u0027volume-8ddd1a54-0000-0000-0000\u0027, \u00272\u0027):"},{"line_number":299,"context_line":"        [\"%s\" % HNAS_RESULT13, \"\"],"},{"line_number":300,"context_line":"}"},{"line_number":301,"context_line":""},{"line_number":302,"context_line":"DRV_CONF \u003d {\u0027ssh_enabled\u0027: \u0027True\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_f61cfdc2","line":299,"updated":"2015-08-05 07:43:49.000000000","message":"\",\" at the end is not required.","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"2339505e7ad8a36e4c87c0fad3995eb7fac90e0c","unresolved":false,"context_lines":[{"line_number":296,"context_line":"    (\u0027ssh\u0027, \u00270.0.0.0\u0027, \u0027supervisor\u0027, \u0027supervisor\u0027, \u0027console-context\u0027, \u0027--evs\u0027,"},{"line_number":297,"context_line":"     \u00271\u0027, \u0027iscsi-target\u0027, \u0027addlu\u0027, \u0027cinder-default\u0027,"},{"line_number":298,"context_line":"     \u0027volume-8ddd1a54-0000-0000-0000\u0027, \u00272\u0027):"},{"line_number":299,"context_line":"        [\"%s\" % HNAS_RESULT13, \"\"],"},{"line_number":300,"context_line":"}"},{"line_number":301,"context_line":""},{"line_number":302,"context_line":"DRV_CONF \u003d {\u0027ssh_enabled\u0027: \u0027True\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_52704fdc","line":299,"in_reply_to":"1a4dcd0f_f61cfdc2","updated":"2015-08-11 15:04:28.000000000","message":"Done","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"7746fc66f489ddeaa0b1695ddf44882ee050152d","unresolved":false,"context_lines":[{"line_number":571,"context_line":"                                                  \"supervisor\", \"test_hdp\","},{"line_number":572,"context_line":"                                                  \"cinder-no-target\")"},{"line_number":573,"context_line":"        self.assertFalse(result)"},{"line_number":574,"context_line":"        self.assertEqual(None, tgt)"},{"line_number":575,"context_line":""},{"line_number":576,"context_line":"    @mock.patch.object(hnas_backend.HnasBackend,"},{"line_number":577,"context_line":"                       \u0027run_cmd\u0027, side_effect\u003dm_run_cmd)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_b63515f8","line":574,"updated":"2015-08-05 07:43:49.000000000","message":"Use assertIsNone(tgt) instead.","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"2339505e7ad8a36e4c87c0fad3995eb7fac90e0c","unresolved":false,"context_lines":[{"line_number":571,"context_line":"                                                  \"supervisor\", \"test_hdp\","},{"line_number":572,"context_line":"                                                  \"cinder-no-target\")"},{"line_number":573,"context_line":"        self.assertFalse(result)"},{"line_number":574,"context_line":"        self.assertEqual(None, tgt)"},{"line_number":575,"context_line":""},{"line_number":576,"context_line":"    @mock.patch.object(hnas_backend.HnasBackend,"},{"line_number":577,"context_line":"                       \u0027run_cmd\u0027, side_effect\u003dm_run_cmd)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_f25e3b44","line":574,"in_reply_to":"1a4dcd0f_b63515f8","updated":"2015-08-11 15:04:28.000000000","message":"Done","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"7746fc66f489ddeaa0b1695ddf44882ee050152d","unresolved":false,"context_lines":[{"line_number":580,"context_line":"                                      \"supervisor\","},{"line_number":581,"context_line":"                                      \"volume-8ddd1a54-9daf-4fa5-842\","},{"line_number":582,"context_line":"                                      \"test_hdp\")"},{"line_number":583,"context_line":"        (result, lunid, tgt) \u003d ret"},{"line_number":584,"context_line":"        self.assertTrue(result)"},{"line_number":585,"context_line":"        self.assertEqual(\u00270\u0027, lunid)"},{"line_number":586,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_f9470e49","line":583,"updated":"2015-08-05 07:43:49.000000000","message":"Why do we need parenthesis here? IMO, you can remove these redundant parenthesis.","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"2339505e7ad8a36e4c87c0fad3995eb7fac90e0c","unresolved":false,"context_lines":[{"line_number":580,"context_line":"                                      \"supervisor\","},{"line_number":581,"context_line":"                                      \"volume-8ddd1a54-9daf-4fa5-842\","},{"line_number":582,"context_line":"                                      \"test_hdp\")"},{"line_number":583,"context_line":"        (result, lunid, tgt) \u003d ret"},{"line_number":584,"context_line":"        self.assertTrue(result)"},{"line_number":585,"context_line":"        self.assertEqual(\u00270\u0027, lunid)"},{"line_number":586,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_323b43ed","line":583,"in_reply_to":"1a4dcd0f_f9470e49","updated":"2015-08-11 15:04:28.000000000","message":"Done","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"7746fc66f489ddeaa0b1695ddf44882ee050152d","unresolved":false,"context_lines":[{"line_number":588,"context_line":"                                      \"supervisor\","},{"line_number":589,"context_line":"                                      \"volume-8ddd1a54-0000-0000-000\","},{"line_number":590,"context_line":"                                      \"test_hdp\")"},{"line_number":591,"context_line":"        (result, lunid, tgt) \u003d ret"},{"line_number":592,"context_line":"        self.assertFalse(result)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_b978a690","line":591,"updated":"2015-08-05 07:43:49.000000000","message":"Why do we need parenthesis here?","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"2339505e7ad8a36e4c87c0fad3995eb7fac90e0c","unresolved":false,"context_lines":[{"line_number":588,"context_line":"                                      \"supervisor\","},{"line_number":589,"context_line":"                                      \"volume-8ddd1a54-0000-0000-000\","},{"line_number":590,"context_line":"                                      \"test_hdp\")"},{"line_number":591,"context_line":"        (result, lunid, tgt) \u003d ret"},{"line_number":592,"context_line":"        self.assertFalse(result)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_7218eb84","line":591,"in_reply_to":"1a4dcd0f_b978a690","updated":"2015-08-11 15:04:28.000000000","message":"Done","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"}],"cinder/tests/unit/test_hitachi_hnas_iscsi.py":[{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"7746fc66f489ddeaa0b1695ddf44882ee050152d","unresolved":false,"context_lines":[{"line_number":450,"context_line":"        self.backend.check_lu.return_value \u003d (False, 0, None)"},{"line_number":451,"context_line":"        self.backend.check_target.return_value \u003d (False, None)"},{"line_number":452,"context_line":"        ret \u003d self.driver._get_service_target(vol)"},{"line_number":453,"context_line":"        (iscsi_ip, iscsi_port, ctl, svc_port, hdp, alias, secret) \u003d ret"},{"line_number":454,"context_line":"        self.assertEqual(\u0027evs1-tgt0\u0027, alias)"},{"line_number":455,"context_line":""},{"line_number":456,"context_line":"        # Test the case where volume is not already mapped - CHAP disabled"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_1998babf","line":453,"updated":"2015-08-05 07:43:49.000000000","message":"Why do we need parenthesis here?","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"2339505e7ad8a36e4c87c0fad3995eb7fac90e0c","unresolved":false,"context_lines":[{"line_number":450,"context_line":"        self.backend.check_lu.return_value \u003d (False, 0, None)"},{"line_number":451,"context_line":"        self.backend.check_target.return_value \u003d (False, None)"},{"line_number":452,"context_line":"        ret \u003d self.driver._get_service_target(vol)"},{"line_number":453,"context_line":"        (iscsi_ip, iscsi_port, ctl, svc_port, hdp, alias, secret) \u003d ret"},{"line_number":454,"context_line":"        self.assertEqual(\u0027evs1-tgt0\u0027, alias)"},{"line_number":455,"context_line":""},{"line_number":456,"context_line":"        # Test the case where volume is not already mapped - CHAP disabled"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_3509ed2c","line":453,"in_reply_to":"1a4dcd0f_1998babf","updated":"2015-08-11 15:04:28.000000000","message":"Done","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"7746fc66f489ddeaa0b1695ddf44882ee050152d","unresolved":false,"context_lines":[{"line_number":456,"context_line":"        # Test the case where volume is not already mapped - CHAP disabled"},{"line_number":457,"context_line":"        self.driver.config[\u0027chap_enabled\u0027] \u003d \u0027False\u0027"},{"line_number":458,"context_line":"        ret \u003d self.driver._get_service_target(vol)"},{"line_number":459,"context_line":"        (iscsi_ip, iscsi_port, ctl, svc_port, hdp, alias, secret) \u003d ret"},{"line_number":460,"context_line":"        self.assertEqual(\u0027evs1-tgt0\u0027, alias)"},{"line_number":461,"context_line":""},{"line_number":462,"context_line":"        # Test the case where all targets are full"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_79e1befd","line":459,"updated":"2015-08-05 07:43:49.000000000","message":"Why do we need parenthesis here? IMO, you can remove these redundant parenthesis.","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"2339505e7ad8a36e4c87c0fad3995eb7fac90e0c","unresolved":false,"context_lines":[{"line_number":456,"context_line":"        # Test the case where volume is not already mapped - CHAP disabled"},{"line_number":457,"context_line":"        self.driver.config[\u0027chap_enabled\u0027] \u003d \u0027False\u0027"},{"line_number":458,"context_line":"        ret \u003d self.driver._get_service_target(vol)"},{"line_number":459,"context_line":"        (iscsi_ip, iscsi_port, ctl, svc_port, hdp, alias, secret) \u003d ret"},{"line_number":460,"context_line":"        self.assertEqual(\u0027evs1-tgt0\u0027, alias)"},{"line_number":461,"context_line":""},{"line_number":462,"context_line":"        # Test the case where all targets are full"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_9529e18b","line":459,"in_reply_to":"1a4dcd0f_79e1befd","updated":"2015-08-11 15:04:28.000000000","message":"Done","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"}],"cinder/volume/drivers/hitachi/hnas_backend.py":[{"author":{"_account_id":7173,"name":"Scott DAngelo","email":"scott.dangelo@gmail.com","username":"scottda"},"change_message_id":"65f361911479c1ec4326fea2e97a57f43a02ddb6","unresolved":false,"context_lines":[{"line_number":310,"context_line":""},{"line_number":311,"context_line":"        tgt_list \u003d []"},{"line_number":312,"context_line":"        if \u0027No targets\u0027 in out:"},{"line_number":313,"context_line":"            LOG.debug(\"_get_targets returning\")"},{"line_number":314,"context_line":"            return tgt_list"},{"line_number":315,"context_line":""},{"line_number":316,"context_line":"        tgt_raw_list \u003d out.split(\u0027Alias\u0027)[1:]"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a50d1a3_cfb1aa02","line":313,"updated":"2015-07-29 15:18:09.000000000","message":"You might want to explicitly state that no targets were found in the debug message.","commit_id":"460c381952cb28f40f8c18a5835b81ff86d7e812"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"8a2e757798ba393f203f290ab75c465a1a6b9627","unresolved":false,"context_lines":[{"line_number":310,"context_line":""},{"line_number":311,"context_line":"        tgt_list \u003d []"},{"line_number":312,"context_line":"        if \u0027No targets\u0027 in out:"},{"line_number":313,"context_line":"            LOG.debug(\"_get_targets returning\")"},{"line_number":314,"context_line":"            return tgt_list"},{"line_number":315,"context_line":""},{"line_number":316,"context_line":"        tgt_raw_list \u003d out.split(\u0027Alias\u0027)[1:]"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a50d1a3_94ac06ee","line":313,"in_reply_to":"3a50d1a3_cfb1aa02","updated":"2015-07-29 19:43:32.000000000","message":"Done","commit_id":"460c381952cb28f40f8c18a5835b81ff86d7e812"},{"author":{"_account_id":7173,"name":"Scott DAngelo","email":"scott.dangelo@gmail.com","username":"scottda"},"change_message_id":"65f361911479c1ec4326fea2e97a57f43a02ddb6","unresolved":false,"context_lines":[{"line_number":340,"context_line":"            tgt_list.append(tgt)"},{"line_number":341,"context_line":""},{"line_number":342,"context_line":"        if tgtalias is not None:"},{"line_number":343,"context_line":"            # We tried to find  \u0027tgtalias\u0027 but didn\u0027t found. Return a empty"},{"line_number":344,"context_line":"            # list."},{"line_number":345,"context_line":"            return [{}]"},{"line_number":346,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3a50d1a3_6f709608","line":343,"updated":"2015-07-29 15:18:09.000000000","message":"found -\u003e find it","commit_id":"460c381952cb28f40f8c18a5835b81ff86d7e812"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"8a2e757798ba393f203f290ab75c465a1a6b9627","unresolved":false,"context_lines":[{"line_number":340,"context_line":"            tgt_list.append(tgt)"},{"line_number":341,"context_line":""},{"line_number":342,"context_line":"        if tgtalias is not None:"},{"line_number":343,"context_line":"            # We tried to find  \u0027tgtalias\u0027 but didn\u0027t found. Return a empty"},{"line_number":344,"context_line":"            # list."},{"line_number":345,"context_line":"            return [{}]"},{"line_number":346,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3a50d1a3_f4130ab6","line":343,"in_reply_to":"3a50d1a3_6f709608","updated":"2015-07-29 19:43:32.000000000","message":"Done","commit_id":"460c381952cb28f40f8c18a5835b81ff86d7e812"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"afea65c256a127f4edeed2228bc91d14b601a23c","unresolved":false,"context_lines":[{"line_number":310,"context_line":""},{"line_number":311,"context_line":"        tgt_list \u003d []"},{"line_number":312,"context_line":"        if \u0027No targets\u0027 in out:"},{"line_number":313,"context_line":"            LOG.debug(\"No targets found in EVS %(evsid)s\", {\u0027evsid\u0027: evsid})"},{"line_number":314,"context_line":"            return tgt_list"},{"line_number":315,"context_line":""},{"line_number":316,"context_line":"        tgt_raw_list \u003d out.split(\u0027Alias\u0027)[1:]"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a50d1a3_1b0205b5","line":313,"updated":"2015-07-31 14:14:06.000000000","message":"\".\" at EOL","commit_id":"221a33b1489ec445b27c1324f89476b7da561678"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"bf8becfc93ddcb63efbb409045b792205557f442","unresolved":false,"context_lines":[{"line_number":310,"context_line":""},{"line_number":311,"context_line":"        tgt_list \u003d []"},{"line_number":312,"context_line":"        if \u0027No targets\u0027 in out:"},{"line_number":313,"context_line":"            LOG.debug(\"No targets found in EVS %(evsid)s\", {\u0027evsid\u0027: evsid})"},{"line_number":314,"context_line":"            return tgt_list"},{"line_number":315,"context_line":""},{"line_number":316,"context_line":"        tgt_raw_list \u003d out.split(\u0027Alias\u0027)[1:]"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_df810091","line":313,"in_reply_to":"3a50d1a3_1b0205b5","updated":"2015-08-04 13:41:59.000000000","message":"Done","commit_id":"221a33b1489ec445b27c1324f89476b7da561678"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"afea65c256a127f4edeed2228bc91d14b601a23c","unresolved":false,"context_lines":[{"line_number":342,"context_line":"        if tgtalias is not None:"},{"line_number":343,"context_line":"            # We tried to find  \u0027tgtalias\u0027 but didn\u0027t find. Return a empty"},{"line_number":344,"context_line":"            # list."},{"line_number":345,"context_line":"            LOG.debug(\"There\u0027s no target %(alias)s in EVS %(evsid)s\","},{"line_number":346,"context_line":"                      {\u0027alias\u0027: tgtalias, \u0027evsid\u0027: evsid})"},{"line_number":347,"context_line":"            return [{}]"},{"line_number":348,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3a50d1a3_1b19a522","line":345,"updated":"2015-07-31 14:14:06.000000000","message":"\".\" at EOL","commit_id":"221a33b1489ec445b27c1324f89476b7da561678"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"bf8becfc93ddcb63efbb409045b792205557f442","unresolved":false,"context_lines":[{"line_number":342,"context_line":"        if tgtalias is not None:"},{"line_number":343,"context_line":"            # We tried to find  \u0027tgtalias\u0027 but didn\u0027t find. Return a empty"},{"line_number":344,"context_line":"            # list."},{"line_number":345,"context_line":"            LOG.debug(\"There\u0027s no target %(alias)s in EVS %(evsid)s\","},{"line_number":346,"context_line":"                      {\u0027alias\u0027: tgtalias, \u0027evsid\u0027: evsid})"},{"line_number":347,"context_line":"            return [{}]"},{"line_number":348,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_3f7584ca","line":345,"in_reply_to":"3a50d1a3_1b19a522","updated":"2015-08-04 13:41:59.000000000","message":"Done","commit_id":"221a33b1489ec445b27c1324f89476b7da561678"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"afea65c256a127f4edeed2228bc91d14b601a23c","unresolved":false,"context_lines":[{"line_number":554,"context_line":"        :param initiator: initiator address"},{"line_number":555,"context_line":"        \"\"\""},{"line_number":556,"context_line":""},{"line_number":557,"context_line":"        LOG.debug(\u0027Adding %(lun)s to %(tgt)s returns %s\u0027,"},{"line_number":558,"context_line":"                  {\u0027lun\u0027: lun_name, \u0027tgt\u0027: tgtalias})"},{"line_number":559,"context_line":"        found, lunid, tgt \u003d self.check_lu(cmd, ip0, user, pw, lun_name, hdp)"},{"line_number":560,"context_line":"        evsid \u003d self.get_evs(cmd, ip0, user, pw, hdp)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a50d1a3_bbde713c","line":557,"updated":"2015-07-31 14:14:06.000000000","message":"\".\" at EOL","commit_id":"221a33b1489ec445b27c1324f89476b7da561678"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"bf8becfc93ddcb63efbb409045b792205557f442","unresolved":false,"context_lines":[{"line_number":554,"context_line":"        :param initiator: initiator address"},{"line_number":555,"context_line":"        \"\"\""},{"line_number":556,"context_line":""},{"line_number":557,"context_line":"        LOG.debug(\u0027Adding %(lun)s to %(tgt)s returns %s\u0027,"},{"line_number":558,"context_line":"                  {\u0027lun\u0027: lun_name, \u0027tgt\u0027: tgtalias})"},{"line_number":559,"context_line":"        found, lunid, tgt \u003d self.check_lu(cmd, ip0, user, pw, lun_name, hdp)"},{"line_number":560,"context_line":"        evsid \u003d self.get_evs(cmd, ip0, user, pw, hdp)"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_bf68b4f6","line":557,"in_reply_to":"3a50d1a3_bbde713c","updated":"2015-08-04 13:41:59.000000000","message":"Done","commit_id":"221a33b1489ec445b27c1324f89476b7da561678"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"afea65c256a127f4edeed2228bc91d14b601a23c","unresolved":false,"context_lines":[{"line_number":563,"context_line":"            conn \u003d (int(lunid), lun_name, initiator, int(lunid), tgt[\u0027iqn\u0027],"},{"line_number":564,"context_line":"                    int(lunid), hdp, port)"},{"line_number":565,"context_line":"            out \u003d \"H-LUN: %d mapped LUN: %s, iSCSI Initiator: %s \\"},{"line_number":566,"context_line":"                   @ index: %d, and Target: %s @ index %d is \\"},{"line_number":567,"context_line":"                   successfully paired  @ CTL: %s, Port: %s\" % conn"},{"line_number":568,"context_line":"        else:"},{"line_number":569,"context_line":"            tgt \u003d self._get_targets(cmd, ip0, user, pw, evsid, tgtalias)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a50d1a3_9bae1580","line":566,"updated":"2015-07-31 14:14:06.000000000","message":"Is it possible to use \u0027()\u0027 instead of \u0027/\u0027 for line continuation here? I know its a convention to avoid using \u0027/\u0027 at all if possible.","commit_id":"221a33b1489ec445b27c1324f89476b7da561678"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"bf8becfc93ddcb63efbb409045b792205557f442","unresolved":false,"context_lines":[{"line_number":563,"context_line":"            conn \u003d (int(lunid), lun_name, initiator, int(lunid), tgt[\u0027iqn\u0027],"},{"line_number":564,"context_line":"                    int(lunid), hdp, port)"},{"line_number":565,"context_line":"            out \u003d \"H-LUN: %d mapped LUN: %s, iSCSI Initiator: %s \\"},{"line_number":566,"context_line":"                   @ index: %d, and Target: %s @ index %d is \\"},{"line_number":567,"context_line":"                   successfully paired  @ CTL: %s, Port: %s\" % conn"},{"line_number":568,"context_line":"        else:"},{"line_number":569,"context_line":"            tgt \u003d self._get_targets(cmd, ip0, user, pw, evsid, tgtalias)"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_eee7743e","line":566,"in_reply_to":"3a50d1a3_9bae1580","updated":"2015-08-04 13:41:59.000000000","message":"To use () I need to use \u0027+\u0027, which is also in a convention that says not to use it:\nout \u003d (\"H-LUN: %d mapped LUN: %s, iSCSI Initiator: %s\" +\n           \"@ index: %d, and Target: %s @ index %d is\" + \n           \" successfully paired  @ CTL: %s, Port: %s\") % conn\n\nDo you have a better suggestion? Is there any reason behind this convention? I see no reason not to use this.","commit_id":"221a33b1489ec445b27c1324f89476b7da561678"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"afea65c256a127f4edeed2228bc91d14b601a23c","unresolved":false,"context_lines":[{"line_number":579,"context_line":"                    int(lunid), hdp, port)"},{"line_number":580,"context_line":"            LOG.debug(\u0027trace erlon\u0027)"},{"line_number":581,"context_line":"            out \u003d \"H-LUN: %d mapped LUN: %s, iSCSI Initiator: %s \\"},{"line_number":582,"context_line":"                   @ index: %d, and Target: %s @ index %d is \\"},{"line_number":583,"context_line":"                   successfully paired  @ CTL: %s, Port: %s\" % conn"},{"line_number":584,"context_line":""},{"line_number":585,"context_line":"        LOG.debug(\u0027add_iscsi_conn: returns %s\u0027, out)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a50d1a3_9be5b5dd","line":582,"updated":"2015-07-31 14:14:06.000000000","message":"Same comment as above about using \u0027()\u0027 instead of \u0027/\u0027 if possible.","commit_id":"221a33b1489ec445b27c1324f89476b7da561678"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"afea65c256a127f4edeed2228bc91d14b601a23c","unresolved":false,"context_lines":[{"line_number":771,"context_line":"            related info."},{"line_number":772,"context_line":"        \"\"\""},{"line_number":773,"context_line":""},{"line_number":774,"context_line":"        LOG.debug(\"Checking if vol %s (hdp: %s) is attached\", volume_name, hdp)"},{"line_number":775,"context_line":"        evsid \u003d self.get_evs(cmd, ip0, user, pw, hdp)"},{"line_number":776,"context_line":"        tgt_list \u003d self._get_targets(cmd, ip0, user, pw, evsid)"},{"line_number":777,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3a50d1a3_bb36714f","line":774,"updated":"2015-07-31 14:14:06.000000000","message":"\".\" at EOL","commit_id":"221a33b1489ec445b27c1324f89476b7da561678"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"bf8becfc93ddcb63efbb409045b792205557f442","unresolved":false,"context_lines":[{"line_number":771,"context_line":"            related info."},{"line_number":772,"context_line":"        \"\"\""},{"line_number":773,"context_line":""},{"line_number":774,"context_line":"        LOG.debug(\"Checking if vol %s (hdp: %s) is attached\", volume_name, hdp)"},{"line_number":775,"context_line":"        evsid \u003d self.get_evs(cmd, ip0, user, pw, hdp)"},{"line_number":776,"context_line":"        tgt_list \u003d self._get_targets(cmd, ip0, user, pw, evsid)"},{"line_number":777,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_3faee42e","line":774,"in_reply_to":"3a50d1a3_bb36714f","updated":"2015-08-04 13:41:59.000000000","message":"Done","commit_id":"221a33b1489ec445b27c1324f89476b7da561678"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"afea65c256a127f4edeed2228bc91d14b601a23c","unresolved":false,"context_lines":[{"line_number":783,"context_line":"                lunid \u003d lun[\u0027id\u0027]"},{"line_number":784,"context_line":"                lunname \u003d lun[\u0027name\u0027]"},{"line_number":785,"context_line":"                if lunname[:29] \u003d\u003d volume_name[:29]:"},{"line_number":786,"context_line":"                    LOG.debug(\"LUN %(lun)s attached on %(lunid)s, \""},{"line_number":787,"context_line":"                              \"target: %(tgt)s\","},{"line_number":788,"context_line":"                              {\u0027lun\u0027: volume_name, \u0027lunid\u0027: lunid, \u0027tgt\u0027: tgt})"},{"line_number":789,"context_line":"                    return True, lunid, tgt"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a50d1a3_3beca1ba","line":786,"updated":"2015-07-31 14:14:06.000000000","message":"\".\" at EOL","commit_id":"221a33b1489ec445b27c1324f89476b7da561678"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"bf8becfc93ddcb63efbb409045b792205557f442","unresolved":false,"context_lines":[{"line_number":783,"context_line":"                lunid \u003d lun[\u0027id\u0027]"},{"line_number":784,"context_line":"                lunname \u003d lun[\u0027name\u0027]"},{"line_number":785,"context_line":"                if lunname[:29] \u003d\u003d volume_name[:29]:"},{"line_number":786,"context_line":"                    LOG.debug(\"LUN %(lun)s attached on %(lunid)s, \""},{"line_number":787,"context_line":"                              \"target: %(tgt)s\","},{"line_number":788,"context_line":"                              {\u0027lun\u0027: volume_name, \u0027lunid\u0027: lunid, \u0027tgt\u0027: tgt})"},{"line_number":789,"context_line":"                    return True, lunid, tgt"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_dfaa6019","line":786,"in_reply_to":"3a50d1a3_3beca1ba","updated":"2015-08-04 13:41:59.000000000","message":"Done","commit_id":"221a33b1489ec445b27c1324f89476b7da561678"},{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"04933a373d8299cb00d62816727194554bd1120f","unresolved":false,"context_lines":[{"line_number":302,"context_line":"                                    \"--evs\", evsid, \u0027iscsi-target\u0027, \u0027list\u0027,"},{"line_number":303,"context_line":"                                    check_exit_code\u003dTrue)"},{"line_number":304,"context_line":"        except putils.ProcessExecutionError as e:"},{"line_number":305,"context_line":"            LOG.warning(_LW(\u0027Error getting iSCSI target info\u0027"},{"line_number":306,"context_line":"                            \u0027from EVS %(evs)s.\u0027), {\u0027evs\u0027: evsid})"},{"line_number":307,"context_line":"            LOG.debug(\"out: %(out)s, err: %(err)s.\","},{"line_number":308,"context_line":"                      {\u0027out\u0027: e.stdout, \u0027err\u0027: e.stderr})"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_780d463d","line":305,"updated":"2015-08-05 00:06:37.000000000","message":"Space after \"info\"","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"2339505e7ad8a36e4c87c0fad3995eb7fac90e0c","unresolved":false,"context_lines":[{"line_number":302,"context_line":"                                    \"--evs\", evsid, \u0027iscsi-target\u0027, \u0027list\u0027,"},{"line_number":303,"context_line":"                                    check_exit_code\u003dTrue)"},{"line_number":304,"context_line":"        except putils.ProcessExecutionError as e:"},{"line_number":305,"context_line":"            LOG.warning(_LW(\u0027Error getting iSCSI target info\u0027"},{"line_number":306,"context_line":"                            \u0027from EVS %(evs)s.\u0027), {\u0027evs\u0027: evsid})"},{"line_number":307,"context_line":"            LOG.debug(\"out: %(out)s, err: %(err)s.\","},{"line_number":308,"context_line":"                      {\u0027out\u0027: e.stdout, \u0027err\u0027: e.stderr})"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_f5f945c9","line":305,"in_reply_to":"1a4dcd0f_780d463d","updated":"2015-08-11 15:04:28.000000000","message":"Good catch! Thanks!","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"},{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"04933a373d8299cb00d62816727194554bd1120f","unresolved":false,"context_lines":[{"line_number":304,"context_line":"        except putils.ProcessExecutionError as e:"},{"line_number":305,"context_line":"            LOG.warning(_LW(\u0027Error getting iSCSI target info\u0027"},{"line_number":306,"context_line":"                            \u0027from EVS %(evs)s.\u0027), {\u0027evs\u0027: evsid})"},{"line_number":307,"context_line":"            LOG.debug(\"out: %(out)s, err: %(err)s.\","},{"line_number":308,"context_line":"                      {\u0027out\u0027: e.stdout, \u0027err\u0027: e.stderr})"},{"line_number":309,"context_line":"            return []"},{"line_number":310,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_b309b12e","line":307,"updated":"2015-08-05 00:06:37.000000000","message":"Some context ( like operation name ) would help in this error logs.\nAlso should this be LOG.error?","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"2339505e7ad8a36e4c87c0fad3995eb7fac90e0c","unresolved":false,"context_lines":[{"line_number":304,"context_line":"        except putils.ProcessExecutionError as e:"},{"line_number":305,"context_line":"            LOG.warning(_LW(\u0027Error getting iSCSI target info\u0027"},{"line_number":306,"context_line":"                            \u0027from EVS %(evs)s.\u0027), {\u0027evs\u0027: evsid})"},{"line_number":307,"context_line":"            LOG.debug(\"out: %(out)s, err: %(err)s.\","},{"line_number":308,"context_line":"                      {\u0027out\u0027: e.stdout, \u0027err\u0027: e.stderr})"},{"line_number":309,"context_line":"            return []"},{"line_number":310,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_1522b101","line":307,"in_reply_to":"1a4dcd0f_b309b12e","updated":"2015-08-11 15:04:28.000000000","message":"Done","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"},{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"04933a373d8299cb00d62816727194554bd1120f","unresolved":false,"context_lines":[{"line_number":344,"context_line":"            # list."},{"line_number":345,"context_line":"            LOG.debug(\"There\u0027s no target %(alias)s in EVS %(evsid)s.\","},{"line_number":346,"context_line":"                      {\u0027alias\u0027: tgtalias, \u0027evsid\u0027: evsid})"},{"line_number":347,"context_line":"            return [{}]"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"        LOG.debug(\"Targets in EVS %(evs)s: %(tgtl)s.\","},{"line_number":350,"context_line":"                  {\u0027evs\u0027: evsid, \u0027tgtl\u0027: tgt_list})"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_d3f6bdf8","line":347,"updated":"2015-08-05 00:06:37.000000000","message":"line 309, 314 return []. Maybe you can return empty list","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"2339505e7ad8a36e4c87c0fad3995eb7fac90e0c","unresolved":false,"context_lines":[{"line_number":344,"context_line":"            # list."},{"line_number":345,"context_line":"            LOG.debug(\"There\u0027s no target %(alias)s in EVS %(evsid)s.\","},{"line_number":346,"context_line":"                      {\u0027alias\u0027: tgtalias, \u0027evsid\u0027: evsid})"},{"line_number":347,"context_line":"            return [{}]"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"        LOG.debug(\"Targets in EVS %(evs)s: %(tgtl)s.\","},{"line_number":350,"context_line":"                  {\u0027evs\u0027: evsid, \u0027tgtl\u0027: tgt_list})"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_b5e5fda8","line":347,"in_reply_to":"1a4dcd0f_d3f6bdf8","updated":"2015-08-11 15:04:28.000000000","message":"Done","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"},{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"04933a373d8299cb00d62816727194554bd1120f","unresolved":false,"context_lines":[{"line_number":361,"context_line":"                free_lun +\u003d 1"},{"line_number":362,"context_line":""},{"line_number":363,"context_line":"            if int(lun[\u0027id\u0027]) \u003e free_lun:"},{"line_number":364,"context_line":"                # found a free LUN number"},{"line_number":365,"context_line":"                break"},{"line_number":366,"context_line":""},{"line_number":367,"context_line":"        return free_lun"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_b3577101","line":364,"updated":"2015-08-05 00:06:37.000000000","message":"s/found/Found","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"2339505e7ad8a36e4c87c0fad3995eb7fac90e0c","unresolved":false,"context_lines":[{"line_number":361,"context_line":"                free_lun +\u003d 1"},{"line_number":362,"context_line":""},{"line_number":363,"context_line":"            if int(lun[\u0027id\u0027]) \u003e free_lun:"},{"line_number":364,"context_line":"                # found a free LUN number"},{"line_number":365,"context_line":"                break"},{"line_number":366,"context_line":""},{"line_number":367,"context_line":"        return free_lun"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_d5e0c998","line":364,"in_reply_to":"1a4dcd0f_b3577101","updated":"2015-08-11 15:04:28.000000000","message":"Done","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"7746fc66f489ddeaa0b1695ddf44882ee050152d","unresolved":false,"context_lines":[{"line_number":564,"context_line":"                    int(lunid), hdp, port)"},{"line_number":565,"context_line":"            out \u003d (\"H-LUN: %d mapped LUN: %s, iSCSI Initiator: %s\" +"},{"line_number":566,"context_line":"                   \"@ index: %d, and Target: %s @ index %d is\" +"},{"line_number":567,"context_line":"                   \" successfully paired  @ CTL: %s, Port: %s\") % conn"},{"line_number":568,"context_line":"        else:"},{"line_number":569,"context_line":"            tgt \u003d self._get_targets(cmd, ip0, user, pw, evsid, tgtalias)"},{"line_number":570,"context_line":"            lunid \u003d self._get_unused_lunid(cmd, ip0, user, pw, tgt[0])"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_b45f4de4","line":567,"updated":"2015-08-05 07:43:49.000000000","message":"Do not use \"+\" operator for line continuation, use parentheses instead.","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"},{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"04933a373d8299cb00d62816727194554bd1120f","unresolved":false,"context_lines":[{"line_number":564,"context_line":"                    int(lunid), hdp, port)"},{"line_number":565,"context_line":"            out \u003d (\"H-LUN: %d mapped LUN: %s, iSCSI Initiator: %s\" +"},{"line_number":566,"context_line":"                   \"@ index: %d, and Target: %s @ index %d is\" +"},{"line_number":567,"context_line":"                   \" successfully paired  @ CTL: %s, Port: %s\") % conn"},{"line_number":568,"context_line":"        else:"},{"line_number":569,"context_line":"            tgt \u003d self._get_targets(cmd, ip0, user, pw, evsid, tgtalias)"},{"line_number":570,"context_line":"            lunid \u003d self._get_unused_lunid(cmd, ip0, user, pw, tgt[0])"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_13d42545","line":567,"updated":"2015-08-05 00:06:37.000000000","message":"EOL \".\"","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"2339505e7ad8a36e4c87c0fad3995eb7fac90e0c","unresolved":false,"context_lines":[{"line_number":564,"context_line":"                    int(lunid), hdp, port)"},{"line_number":565,"context_line":"            out \u003d (\"H-LUN: %d mapped LUN: %s, iSCSI Initiator: %s\" +"},{"line_number":566,"context_line":"                   \"@ index: %d, and Target: %s @ index %d is\" +"},{"line_number":567,"context_line":"                   \" successfully paired  @ CTL: %s, Port: %s\") % conn"},{"line_number":568,"context_line":"        else:"},{"line_number":569,"context_line":"            tgt \u003d self._get_targets(cmd, ip0, user, pw, evsid, tgtalias)"},{"line_number":570,"context_line":"            lunid \u003d self._get_unused_lunid(cmd, ip0, user, pw, tgt[0])"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_951b2180","line":567,"in_reply_to":"1a4dcd0f_b45f4de4","updated":"2015-08-11 15:04:28.000000000","message":"Done","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"7746fc66f489ddeaa0b1695ddf44882ee050152d","unresolved":false,"context_lines":[{"line_number":579,"context_line":"                    int(lunid), hdp, port)"},{"line_number":580,"context_line":"            out \u003d (\"H-LUN: %d mapped LUN: %s, iSCSI Initiator: %s\" +"},{"line_number":581,"context_line":"                   \"@ index: %d, and Target: %s @ index %d is\" +"},{"line_number":582,"context_line":"                   \"successfully paired  @ CTL: %s, Port: %s\") % conn"},{"line_number":583,"context_line":""},{"line_number":584,"context_line":"        LOG.debug(\u0027add_iscsi_conn: returns %s.\u0027, out)"},{"line_number":585,"context_line":"        return out"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_d4d77921","line":582,"updated":"2015-08-05 07:43:49.000000000","message":"Do not use \"+\" operator for line continuation, use parentheses instead.","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"2339505e7ad8a36e4c87c0fad3995eb7fac90e0c","unresolved":false,"context_lines":[{"line_number":579,"context_line":"                    int(lunid), hdp, port)"},{"line_number":580,"context_line":"            out \u003d (\"H-LUN: %d mapped LUN: %s, iSCSI Initiator: %s\" +"},{"line_number":581,"context_line":"                   \"@ index: %d, and Target: %s @ index %d is\" +"},{"line_number":582,"context_line":"                   \"successfully paired  @ CTL: %s, Port: %s\") % conn"},{"line_number":583,"context_line":""},{"line_number":584,"context_line":"        LOG.debug(\u0027add_iscsi_conn: returns %s.\u0027, out)"},{"line_number":585,"context_line":"        return out"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_b5065d1e","line":582,"in_reply_to":"1a4dcd0f_d4d77921","updated":"2015-08-11 15:04:28.000000000","message":"Done","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"},{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"04933a373d8299cb00d62816727194554bd1120f","unresolved":false,"context_lines":[{"line_number":740,"context_line":""},{"line_number":741,"context_line":"    def check_target(self, cmd, ip0, user, pw, hdp, target_alias):"},{"line_number":742,"context_line":"        \"\"\"Checks if a given target exists and gets its info"},{"line_number":743,"context_line":""},{"line_number":744,"context_line":"        :param ip0: string IP address of controller"},{"line_number":745,"context_line":"        :param user: string user authentication for array"},{"line_number":746,"context_line":"        :param pw: string password authentication for array"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_133bc59d","line":743,"updated":"2015-08-05 00:06:37.000000000","message":"missing\n\n:param cmd\n\n:param hdp","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"7746fc66f489ddeaa0b1695ddf44882ee050152d","unresolved":false,"context_lines":[{"line_number":745,"context_line":"        :param user: string user authentication for array"},{"line_number":746,"context_line":"        :param pw: string password authentication for array"},{"line_number":747,"context_line":"        :param target_alias: alias of the target"},{"line_number":748,"context_line":"        :return True if target exists and the target info"},{"line_number":749,"context_line":"        \"\"\""},{"line_number":750,"context_line":""},{"line_number":751,"context_line":"        LOG.debug(\"Checking if target %(tgt)s exists.\", {\u0027tgt\u0027: target_alias})"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_343c9dc7","line":748,"updated":"2015-08-05 07:43:49.000000000","message":"Add :returns: for description of the return value.","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"2339505e7ad8a36e4c87c0fad3995eb7fac90e0c","unresolved":false,"context_lines":[{"line_number":745,"context_line":"        :param user: string user authentication for array"},{"line_number":746,"context_line":"        :param pw: string password authentication for array"},{"line_number":747,"context_line":"        :param target_alias: alias of the target"},{"line_number":748,"context_line":"        :return True if target exists and the target info"},{"line_number":749,"context_line":"        \"\"\""},{"line_number":750,"context_line":""},{"line_number":751,"context_line":"        LOG.debug(\"Checking if target %(tgt)s exists.\", {\u0027tgt\u0027: target_alias})"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_8bb9c2cd","line":748,"in_reply_to":"1a4dcd0f_343c9dc7","updated":"2015-08-11 15:04:28.000000000","message":"Done","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"},{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"04933a373d8299cb00d62816727194554bd1120f","unresolved":false,"context_lines":[{"line_number":764,"context_line":""},{"line_number":765,"context_line":"    def check_lu(self, cmd, ip0, user, pw, volume_name, hdp):"},{"line_number":766,"context_line":"        \"\"\"Checks if a given LUN is already mapped"},{"line_number":767,"context_line":""},{"line_number":768,"context_line":"        :param ip0: string IP address of controller"},{"line_number":769,"context_line":"        :param user: string user authentication for array"},{"line_number":770,"context_line":"        :param pw: string password authentication for array"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_9347d51c","line":767,"updated":"2015-08-05 00:06:37.000000000","message":"ditto","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"2339505e7ad8a36e4c87c0fad3995eb7fac90e0c","unresolved":false,"context_lines":[{"line_number":764,"context_line":""},{"line_number":765,"context_line":"    def check_lu(self, cmd, ip0, user, pw, volume_name, hdp):"},{"line_number":766,"context_line":"        \"\"\"Checks if a given LUN is already mapped"},{"line_number":767,"context_line":""},{"line_number":768,"context_line":"        :param ip0: string IP address of controller"},{"line_number":769,"context_line":"        :param user: string user authentication for array"},{"line_number":770,"context_line":"        :param pw: string password authentication for array"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_ebcac64e","line":767,"in_reply_to":"1a4dcd0f_9347d51c","updated":"2015-08-11 15:04:28.000000000","message":"Done","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"7746fc66f489ddeaa0b1695ddf44882ee050152d","unresolved":false,"context_lines":[{"line_number":770,"context_line":"        :param pw: string password authentication for array"},{"line_number":771,"context_line":"        :param volume_name: number of the LUN"},{"line_number":772,"context_line":"        :param hdp: storage pool of the LUN"},{"line_number":773,"context_line":"        :return True if the lun is attached, the LUN id and all target"},{"line_number":774,"context_line":"            related info."},{"line_number":775,"context_line":"        \"\"\""},{"line_number":776,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_7421c59e","line":773,"updated":"2015-08-05 07:43:49.000000000","message":"Add :returns: for description of the return value.","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"2339505e7ad8a36e4c87c0fad3995eb7fac90e0c","unresolved":false,"context_lines":[{"line_number":770,"context_line":"        :param pw: string password authentication for array"},{"line_number":771,"context_line":"        :param volume_name: number of the LUN"},{"line_number":772,"context_line":"        :param hdp: storage pool of the LUN"},{"line_number":773,"context_line":"        :return True if the lun is attached, the LUN id and all target"},{"line_number":774,"context_line":"            related info."},{"line_number":775,"context_line":"        \"\"\""},{"line_number":776,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_8b15429c","line":773,"in_reply_to":"1a4dcd0f_7421c59e","updated":"2015-08-11 15:04:28.000000000","message":"Done","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"},{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"04933a373d8299cb00d62816727194554bd1120f","unresolved":false,"context_lines":[{"line_number":792,"context_line":"                              {\u0027lun\u0027: volume_name, \u0027lunid\u0027: lunid, \u0027tgt\u0027: tgt})"},{"line_number":793,"context_line":"                    return True, lunid, tgt"},{"line_number":794,"context_line":""},{"line_number":795,"context_line":"        LOG.debug(\"LUN %(lun)s not attached!\", {\u0027lun\u0027: volume_name})"},{"line_number":796,"context_line":"        return False, 0, None"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_d35b1df5","line":795,"updated":"2015-08-05 00:06:37.000000000","message":"s/!/.","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"2339505e7ad8a36e4c87c0fad3995eb7fac90e0c","unresolved":false,"context_lines":[{"line_number":792,"context_line":"                              {\u0027lun\u0027: volume_name, \u0027lunid\u0027: lunid, \u0027tgt\u0027: tgt})"},{"line_number":793,"context_line":"                    return True, lunid, tgt"},{"line_number":794,"context_line":""},{"line_number":795,"context_line":"        LOG.debug(\"LUN %(lun)s not attached!\", {\u0027lun\u0027: volume_name})"},{"line_number":796,"context_line":"        return False, 0, None"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_8b7c62ec","line":795,"in_reply_to":"1a4dcd0f_d35b1df5","updated":"2015-08-11 15:04:28.000000000","message":"Done","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"},{"author":{"_account_id":7173,"name":"Scott DAngelo","email":"scott.dangelo@gmail.com","username":"scottda"},"change_message_id":"e6dc7c0103b440feeae9ddd09070028ea6e0b8f9","unresolved":false,"context_lines":[{"line_number":334,"context_line":"            tgt[\u0027alias\u0027] \u003d tgt_raw_info.split(\u0027\\n\u0027)[0].split(\u0027 \u0027).pop()"},{"line_number":335,"context_line":"            tgt[\u0027iqn\u0027] \u003d tgt_raw_info.split(\u0027\\n\u0027)[1].split(\u0027 \u0027).pop()"},{"line_number":336,"context_line":"            tgt[\u0027secret\u0027] \u003d tgt_raw_info.split(\u0027\\n\u0027)[3].split(\u0027 \u0027).pop()"},{"line_number":337,"context_line":"            tgt[\u0027auth\u0027] \u003d tgt_raw_info.split(\u0027\\n\u0027)[4].split(\u0027 \u0027).pop()"},{"line_number":338,"context_line":"            luns \u003d []"},{"line_number":339,"context_line":"            tgt_raw_info \u003d tgt_raw_info.split(\u0027\\n\\n\u0027)[1]"},{"line_number":340,"context_line":"            tgt_raw_list \u003d tgt_raw_info.split(\u0027\\n\u0027)[2:]"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a4dcd0f_79be4caf","line":337,"updated":"2015-08-12 14:01:42.000000000","message":"This code looks fine and I assume it works, but the next time you decide to refactor you might consider using regex to pull out the groups like \u0027alias\u0027, \u0027iqn\u0027, \u0027secret\u0027, etc.\nIt\u0027s just a suggestion that would make this code cleaner and easier to debug.","commit_id":"68f752376241e3937d5f726fbfef3e40d8efbf35"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"bfa3845f109f5e99d1a04a5933c1872e85d7cec8","unresolved":false,"context_lines":[{"line_number":334,"context_line":"            tgt[\u0027alias\u0027] \u003d tgt_raw_info.split(\u0027\\n\u0027)[0].split(\u0027 \u0027).pop()"},{"line_number":335,"context_line":"            tgt[\u0027iqn\u0027] \u003d tgt_raw_info.split(\u0027\\n\u0027)[1].split(\u0027 \u0027).pop()"},{"line_number":336,"context_line":"            tgt[\u0027secret\u0027] \u003d tgt_raw_info.split(\u0027\\n\u0027)[3].split(\u0027 \u0027).pop()"},{"line_number":337,"context_line":"            tgt[\u0027auth\u0027] \u003d tgt_raw_info.split(\u0027\\n\u0027)[4].split(\u0027 \u0027).pop()"},{"line_number":338,"context_line":"            luns \u003d []"},{"line_number":339,"context_line":"            tgt_raw_info \u003d tgt_raw_info.split(\u0027\\n\\n\u0027)[1]"},{"line_number":340,"context_line":"            tgt_raw_list \u003d tgt_raw_info.split(\u0027\\n\u0027)[2:]"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a4dcd0f_8b0b197d","line":337,"in_reply_to":"1a4dcd0f_79be4caf","updated":"2015-08-17 01:14:53.000000000","message":"Agree. At least don\u0027t do split() on the same string repeatedly. You could do it once up front and use the result for the rest.","commit_id":"68f752376241e3937d5f726fbfef3e40d8efbf35"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"bfa3845f109f5e99d1a04a5933c1872e85d7cec8","unresolved":false,"context_lines":[{"line_number":585,"context_line":"            conn \u003d (int(lunid), lun_name, initiator, int(lunid), tgt[\u0027iqn\u0027],"},{"line_number":586,"context_line":"                    int(lunid), hdp, port)"},{"line_number":587,"context_line":"            out \u003d (\"H-LUN: %d mapped LUN: %s, iSCSI Initiator: %s \""},{"line_number":588,"context_line":"                   \"@ index: %d, and Target: %s @ index %d is \""},{"line_number":589,"context_line":"                   \"successfully paired  @ CTL: %s, Port: %s.\") % conn"},{"line_number":590,"context_line":"        else:"},{"line_number":591,"context_line":"            tgt \u003d self._get_targets(cmd, ip0, user, pw, evsid, tgtalias)"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a4dcd0f_8b8239c7","line":588,"updated":"2015-08-17 01:14:53.000000000","message":"For multiple values, named variable substitution really should be used.","commit_id":"68f752376241e3937d5f726fbfef3e40d8efbf35"}],"cinder/volume/drivers/hitachi/hnas_iscsi.py":[{"author":{"_account_id":7173,"name":"Scott DAngelo","email":"scott.dangelo@gmail.com","username":"scottda"},"change_message_id":"65f361911479c1ec4326fea2e97a57f43a02ddb6","unresolved":false,"context_lines":[{"line_number":291,"context_line":"            if not tgt_exist:  # target does not exist"},{"line_number":292,"context_line":"                new_tgt_name \u003d tgt_alias"},{"line_number":293,"context_line":"                found_tgt \u003d True"},{"line_number":294,"context_line":"                break"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"        # We run out of targets, raise and go away"},{"line_number":297,"context_line":"        if not found_tgt:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a50d1a3_a53ebdb5","line":294,"updated":"2015-07-29 15:18:09.000000000","message":"if i\u003d1 and !tgt_exists, you will break out of this \u0027for\u0027 loop and never get to i\u003d2.\nI don\u0027t think you want to do this.","commit_id":"460c381952cb28f40f8c18a5835b81ff86d7e812"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"8a2e757798ba393f203f290ab75c465a1a6b9627","unresolved":false,"context_lines":[{"line_number":291,"context_line":"            if not tgt_exist:  # target does not exist"},{"line_number":292,"context_line":"                new_tgt_name \u003d tgt_alias"},{"line_number":293,"context_line":"                found_tgt \u003d True"},{"line_number":294,"context_line":"                break"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"        # We run out of targets, raise and go away"},{"line_number":297,"context_line":"        if not found_tgt:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a50d1a3_cfa51b03","line":294,"in_reply_to":"3a50d1a3_a53ebdb5","updated":"2015-07-29 19:43:32.000000000","message":"Actually yes. In this situation,\u0027evs\u003cevsid\u003e-tgt1\u0027 does not exist, so I found and available target to place the volume. Then I continue and create a target named \u0027evs\u003cevsid\u003e-tgt1\u0027.","commit_id":"460c381952cb28f40f8c18a5835b81ff86d7e812"},{"author":{"_account_id":7173,"name":"Scott DAngelo","email":"scott.dangelo@gmail.com","username":"scottda"},"change_message_id":"1ff4f9a2e1d832b43f1f0aebfd385268903e787a","unresolved":false,"context_lines":[{"line_number":291,"context_line":"            if not tgt_exist:  # target does not exist"},{"line_number":292,"context_line":"                new_tgt_name \u003d tgt_alias"},{"line_number":293,"context_line":"                found_tgt \u003d True"},{"line_number":294,"context_line":"                break"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"        # We run out of targets, raise and go away"},{"line_number":297,"context_line":"        if not found_tgt:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a50d1a3_b7f34108","line":294,"in_reply_to":"3a50d1a3_cfa51b03","updated":"2015-07-30 17:18:17.000000000","message":"OK, then I guess the comment on L#280 is off. You don\u0027t really want to go to the BE 32 times, you want to go until you find a target that does not exist OR a target that does exist with \u003c32 luns.","commit_id":"460c381952cb28f40f8c18a5835b81ff86d7e812"},{"author":{"_account_id":7173,"name":"Scott DAngelo","email":"scott.dangelo@gmail.com","username":"scottda"},"change_message_id":"65f361911479c1ec4326fea2e97a57f43a02ddb6","unresolved":false,"context_lines":[{"line_number":294,"context_line":"                break"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"        # We run out of targets, raise and go away"},{"line_number":297,"context_line":"        if not found_tgt:"},{"line_number":298,"context_line":"            LOG.error(_LE(\"No more targets avaliable\"))"},{"line_number":299,"context_line":"            raise exception.NoMoreTargets(param\u003dtgt_alias)"},{"line_number":300,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3a50d1a3_65443546","line":297,"updated":"2015-07-29 15:18:09.000000000","message":"you don\u0027t really need found_tgt, since if we get here it is not set to true on L#288 and L#293. You could just let it fall through.","commit_id":"460c381952cb28f40f8c18a5835b81ff86d7e812"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"8a2e757798ba393f203f290ab75c465a1a6b9627","unresolved":false,"context_lines":[{"line_number":294,"context_line":"                break"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"        # We run out of targets, raise and go away"},{"line_number":297,"context_line":"        if not found_tgt:"},{"line_number":298,"context_line":"            LOG.error(_LE(\"No more targets avaliable\"))"},{"line_number":299,"context_line":"            raise exception.NoMoreTargets(param\u003dtgt_alias)"},{"line_number":300,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3a50d1a3_8fe4f30c","line":297,"in_reply_to":"3a50d1a3_65443546","updated":"2015-07-29 19:43:32.000000000","message":"Yes, but if this was not set to True, I can\u0027t proceed as there will be no more targets avaliable in the BE.","commit_id":"460c381952cb28f40f8c18a5835b81ff86d7e812"},{"author":{"_account_id":7173,"name":"Scott DAngelo","email":"scott.dangelo@gmail.com","username":"scottda"},"change_message_id":"1ff4f9a2e1d832b43f1f0aebfd385268903e787a","unresolved":false,"context_lines":[{"line_number":294,"context_line":"                break"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"        # We run out of targets, raise and go away"},{"line_number":297,"context_line":"        if not found_tgt:"},{"line_number":298,"context_line":"            LOG.error(_LE(\"No more targets avaliable\"))"},{"line_number":299,"context_line":"            raise exception.NoMoreTargets(param\u003dtgt_alias)"},{"line_number":300,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3a50d1a3_97c72597","line":297,"in_reply_to":"3a50d1a3_8fe4f30c","updated":"2015-07-30 17:18:17.000000000","message":"ahh..ok, I mistook the indent here.","commit_id":"460c381952cb28f40f8c18a5835b81ff86d7e812"},{"author":{"_account_id":7173,"name":"Scott DAngelo","email":"scott.dangelo@gmail.com","username":"scottda"},"change_message_id":"65f361911479c1ec4326fea2e97a57f43a02ddb6","unresolved":false,"context_lines":[{"line_number":300,"context_line":""},{"line_number":301,"context_line":"        # We didn\u0027t found an available target but there\u0027s space to new one"},{"line_number":302,"context_line":"        if new_tgt_name:"},{"line_number":303,"context_line":"            tgt_alias \u003d new_tgt_name"},{"line_number":304,"context_line":""},{"line_number":305,"context_line":"        LOG.info(_LI(\"Using target label: %s\"), tgt_alias)"},{"line_number":306,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3a50d1a3_654e7539","line":303,"updated":"2015-07-29 15:18:09.000000000","message":"You\u0027ve already set new_tgt_name\u003d tgt_alias on L#292","commit_id":"460c381952cb28f40f8c18a5835b81ff86d7e812"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"8a2e757798ba393f203f290ab75c465a1a6b9627","unresolved":false,"context_lines":[{"line_number":300,"context_line":""},{"line_number":301,"context_line":"        # We didn\u0027t found an available target but there\u0027s space to new one"},{"line_number":302,"context_line":"        if new_tgt_name:"},{"line_number":303,"context_line":"            tgt_alias \u003d new_tgt_name"},{"line_number":304,"context_line":""},{"line_number":305,"context_line":"        LOG.info(_LI(\"Using target label: %s\"), tgt_alias)"},{"line_number":306,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3a50d1a3_4ff58b4e","line":303,"in_reply_to":"3a50d1a3_654e7539","updated":"2015-07-29 19:43:32.000000000","message":"Done","commit_id":"460c381952cb28f40f8c18a5835b81ff86d7e812"},{"author":{"_account_id":7173,"name":"Scott DAngelo","email":"scott.dangelo@gmail.com","username":"scottda"},"change_message_id":"a477028e28c1d5ad6c1329c37b5b6a78d273c762","unresolved":false,"context_lines":[{"line_number":293,"context_line":"                break"},{"line_number":294,"context_line":""},{"line_number":295,"context_line":"            if not tgt_exist:"},{"line_number":296,"context_line":"                # target not does not exist yet, proceed and create a target"},{"line_number":297,"context_line":"                # using this name"},{"line_number":298,"context_line":"                found_tgt \u003d True"},{"line_number":299,"context_line":"                break"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_00f4ff84","line":296,"updated":"2015-07-30 17:22:11.000000000","message":"\u0027target not does not\u0027 -\u003e \u0027target does not\u0027","commit_id":"994486469d7028a7d07d8d937b90c4e6aad58df3"},{"author":{"_account_id":7173,"name":"Scott DAngelo","email":"scott.dangelo@gmail.com","username":"scottda"},"change_message_id":"a477028e28c1d5ad6c1329c37b5b6a78d273c762","unresolved":false,"context_lines":[{"line_number":298,"context_line":"                found_tgt \u003d True"},{"line_number":299,"context_line":"                break"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"        # If we got here and found_tgt is not True, we run out of targets,"},{"line_number":302,"context_line":"        # raise and go away"},{"line_number":303,"context_line":"        if not found_tgt:"},{"line_number":304,"context_line":"            LOG.error(_LE(\"No more targets avaliable\"))"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_80924f4a","line":301,"updated":"2015-07-30 17:22:11.000000000","message":"we -\u003e we\u0027ve","commit_id":"994486469d7028a7d07d8d937b90c4e6aad58df3"},{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"04933a373d8299cb00d62816727194554bd1120f","unresolved":false,"context_lines":[{"line_number":259,"context_line":"        svc_label \u003d utils.extract_host(volume[\u0027host\u0027], level\u003d\u0027pool\u0027)"},{"line_number":260,"context_line":"        svc \u003d self.config[\u0027services\u0027][svc_label]"},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"        LOG.info(_LI(\"hdp %s.\"), hdp)"},{"line_number":263,"context_line":"        LOG.info(_LI(\"config[services]: %s.\"), self.config[\u0027services\u0027])"},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"        mapped, lunid, tgt \u003d self.bend.check_lu(self.config[\u0027hnas_cmd\u0027],"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_d338fd3f","line":262,"updated":"2015-08-05 00:06:37.000000000","message":"Log messages like these will be  more useful if you add some context of the operation.","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"2339505e7ad8a36e4c87c0fad3995eb7fac90e0c","unresolved":false,"context_lines":[{"line_number":259,"context_line":"        svc_label \u003d utils.extract_host(volume[\u0027host\u0027], level\u003d\u0027pool\u0027)"},{"line_number":260,"context_line":"        svc \u003d self.config[\u0027services\u0027][svc_label]"},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"        LOG.info(_LI(\"hdp %s.\"), hdp)"},{"line_number":263,"context_line":"        LOG.info(_LI(\"config[services]: %s.\"), self.config[\u0027services\u0027])"},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"        mapped, lunid, tgt \u003d self.bend.check_lu(self.config[\u0027hnas_cmd\u0027],"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_8b3462fb","line":262,"in_reply_to":"1a4dcd0f_d338fd3f","updated":"2015-08-11 15:04:28.000000000","message":"Done","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"7746fc66f489ddeaa0b1695ddf44882ee050152d","unresolved":false,"context_lines":[{"line_number":268,"context_line":"                                                self.config[\u0027password\u0027],"},{"line_number":269,"context_line":"                                                lun_name, hdp)"},{"line_number":270,"context_line":""},{"line_number":271,"context_line":"        LOG.info(_LI(\"Target is %(map)s! Targelist \u003d %(tgtl)s.\"),"},{"line_number":272,"context_line":"                 {\u0027map\u0027: \"mapped\" if mapped else \"not mapped\", \u0027tgtl\u0027: tgt})"},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"        # The volume is already mapped to a LUN, so no need to create any"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_7436a553","line":271,"updated":"2015-08-05 07:43:49.000000000","message":"s/Targelist/Targetlist","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"2339505e7ad8a36e4c87c0fad3995eb7fac90e0c","unresolved":false,"context_lines":[{"line_number":268,"context_line":"                                                self.config[\u0027password\u0027],"},{"line_number":269,"context_line":"                                                lun_name, hdp)"},{"line_number":270,"context_line":""},{"line_number":271,"context_line":"        LOG.info(_LI(\"Target is %(map)s! Targelist \u003d %(tgtl)s.\"),"},{"line_number":272,"context_line":"                 {\u0027map\u0027: \"mapped\" if mapped else \"not mapped\", \u0027tgtl\u0027: tgt})"},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"        # The volume is already mapped to a LUN, so no need to create any"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_2b12ee62","line":271,"in_reply_to":"1a4dcd0f_7436a553","updated":"2015-08-11 15:04:28.000000000","message":"Done","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"},{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"04933a373d8299cb00d62816727194554bd1120f","unresolved":false,"context_lines":[{"line_number":291,"context_line":"                                                    self.config[\u0027username\u0027],"},{"line_number":292,"context_line":"                                                    self.config[\u0027password\u0027],"},{"line_number":293,"context_line":"                                                    hdp, tgt_alias)"},{"line_number":294,"context_line":"            if tgt_exist and len(tgt[\u0027luns\u0027]) \u003c 32:"},{"line_number":295,"context_line":"                # target exists and has free space"},{"line_number":296,"context_line":"                found_tgt \u003d True"},{"line_number":297,"context_line":"                break"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_53f86d49","line":294,"updated":"2015-08-05 00:06:37.000000000","message":"You can restructure this and following if case as processing is same.","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"2339505e7ad8a36e4c87c0fad3995eb7fac90e0c","unresolved":false,"context_lines":[{"line_number":291,"context_line":"                                                    self.config[\u0027username\u0027],"},{"line_number":292,"context_line":"                                                    self.config[\u0027password\u0027],"},{"line_number":293,"context_line":"                                                    hdp, tgt_alias)"},{"line_number":294,"context_line":"            if tgt_exist and len(tgt[\u0027luns\u0027]) \u003c 32:"},{"line_number":295,"context_line":"                # target exists and has free space"},{"line_number":296,"context_line":"                found_tgt \u003d True"},{"line_number":297,"context_line":"                break"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_46cdf1b5","line":294,"in_reply_to":"1a4dcd0f_53f86d49","updated":"2015-08-11 15:04:28.000000000","message":"Done","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"7746fc66f489ddeaa0b1695ddf44882ee050152d","unresolved":false,"context_lines":[{"line_number":292,"context_line":"                                                    self.config[\u0027password\u0027],"},{"line_number":293,"context_line":"                                                    hdp, tgt_alias)"},{"line_number":294,"context_line":"            if tgt_exist and len(tgt[\u0027luns\u0027]) \u003c 32:"},{"line_number":295,"context_line":"                # target exists and has free space"},{"line_number":296,"context_line":"                found_tgt \u003d True"},{"line_number":297,"context_line":"                break"},{"line_number":298,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_740d458f","line":295,"updated":"2015-08-05 07:43:49.000000000","message":"Capitalize the comment string for consistency and add a period at the end.","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"2339505e7ad8a36e4c87c0fad3995eb7fac90e0c","unresolved":false,"context_lines":[{"line_number":292,"context_line":"                                                    self.config[\u0027password\u0027],"},{"line_number":293,"context_line":"                                                    hdp, tgt_alias)"},{"line_number":294,"context_line":"            if tgt_exist and len(tgt[\u0027luns\u0027]) \u003c 32:"},{"line_number":295,"context_line":"                # target exists and has free space"},{"line_number":296,"context_line":"                found_tgt \u003d True"},{"line_number":297,"context_line":"                break"},{"line_number":298,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_c6b90117","line":295,"in_reply_to":"1a4dcd0f_740d458f","updated":"2015-08-11 15:04:28.000000000","message":"Done","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"7746fc66f489ddeaa0b1695ddf44882ee050152d","unresolved":false,"context_lines":[{"line_number":298,"context_line":""},{"line_number":299,"context_line":"            if not tgt_exist:"},{"line_number":300,"context_line":"                # target does not exist yet, proceed and create a target"},{"line_number":301,"context_line":"                # using this name"},{"line_number":302,"context_line":"                found_tgt \u003d True"},{"line_number":303,"context_line":"                break"},{"line_number":304,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_d47d39e8","line":301,"updated":"2015-08-05 07:43:49.000000000","message":"Capitalize the comment string for consistency and add a period at the end.","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"2339505e7ad8a36e4c87c0fad3995eb7fac90e0c","unresolved":false,"context_lines":[{"line_number":298,"context_line":""},{"line_number":299,"context_line":"            if not tgt_exist:"},{"line_number":300,"context_line":"                # target does not exist yet, proceed and create a target"},{"line_number":301,"context_line":"                # using this name"},{"line_number":302,"context_line":"                found_tgt \u003d True"},{"line_number":303,"context_line":"                break"},{"line_number":304,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_0647e91d","line":301,"in_reply_to":"1a4dcd0f_d47d39e8","updated":"2015-08-11 15:04:28.000000000","message":"Done","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"7746fc66f489ddeaa0b1695ddf44882ee050152d","unresolved":false,"context_lines":[{"line_number":325,"context_line":"        # iscsi_secret has already been set, retrieve the secret if"},{"line_number":326,"context_line":"        # available, otherwise generate and store"},{"line_number":327,"context_line":"        if self.config[\u0027chap_enabled\u0027] \u003d\u003d \u0027True\u0027:"},{"line_number":328,"context_line":"            # it may not exist, create and set secret"},{"line_number":329,"context_line":"            if \u0027iscsi_secret\u0027 not in tgt_info.keys():"},{"line_number":330,"context_line":"                LOG.info(_LI(\"Retrieving secret for service: %s.\"),"},{"line_number":331,"context_line":"                         tgt_alias)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_d464594a","line":328,"updated":"2015-08-05 07:43:49.000000000","message":"Capitalize the comment string for consistency and add a period at the end.","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"2339505e7ad8a36e4c87c0fad3995eb7fac90e0c","unresolved":false,"context_lines":[{"line_number":325,"context_line":"        # iscsi_secret has already been set, retrieve the secret if"},{"line_number":326,"context_line":"        # available, otherwise generate and store"},{"line_number":327,"context_line":"        if self.config[\u0027chap_enabled\u0027] \u003d\u003d \u0027True\u0027:"},{"line_number":328,"context_line":"            # it may not exist, create and set secret"},{"line_number":329,"context_line":"            if \u0027iscsi_secret\u0027 not in tgt_info.keys():"},{"line_number":330,"context_line":"                LOG.info(_LI(\"Retrieving secret for service: %s.\"),"},{"line_number":331,"context_line":"                         tgt_alias)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_c65021d7","line":328,"in_reply_to":"1a4dcd0f_d464594a","updated":"2015-08-11 15:04:28.000000000","message":"Done","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"7746fc66f489ddeaa0b1695ddf44882ee050152d","unresolved":false,"context_lines":[{"line_number":336,"context_line":"                                                 self.config[\u0027password\u0027],"},{"line_number":337,"context_line":"                                                 tgt_alias, hdp)"},{"line_number":338,"context_line":"                tgt_info[\u0027iscsi_secret\u0027] \u003d out"},{"line_number":339,"context_line":"                if tgt_info[\u0027iscsi_secret\u0027] \u003d\u003d \"\":"},{"line_number":340,"context_line":"                    randon_secret \u003d utils.generate_password()[0:15]"},{"line_number":341,"context_line":"                    tgt_info[\u0027iscsi_secret\u0027] \u003d randon_secret"},{"line_number":342,"context_line":"                    self.bend.set_targetsecret(self.config[\u0027hnas_cmd\u0027],"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_f4e635b3","line":339,"updated":"2015-08-05 07:43:49.000000000","message":"if tgt_info[\u0027iscsi_secret\u0027] \u003d\u003d \"\" can be rewritten as\n\nif not tgt_info[\u0027iscsi_secret\u0027]","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"2339505e7ad8a36e4c87c0fad3995eb7fac90e0c","unresolved":false,"context_lines":[{"line_number":336,"context_line":"                                                 self.config[\u0027password\u0027],"},{"line_number":337,"context_line":"                                                 tgt_alias, hdp)"},{"line_number":338,"context_line":"                tgt_info[\u0027iscsi_secret\u0027] \u003d out"},{"line_number":339,"context_line":"                if tgt_info[\u0027iscsi_secret\u0027] \u003d\u003d \"\":"},{"line_number":340,"context_line":"                    randon_secret \u003d utils.generate_password()[0:15]"},{"line_number":341,"context_line":"                    tgt_info[\u0027iscsi_secret\u0027] \u003d randon_secret"},{"line_number":342,"context_line":"                    self.bend.set_targetsecret(self.config[\u0027hnas_cmd\u0027],"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_c667c1b5","line":339,"in_reply_to":"1a4dcd0f_f4e635b3","updated":"2015-08-11 15:04:28.000000000","message":"The logic is basically the same so Ill left as it is.","commit_id":"7a6277197edc48fdbc5db02ffbeeca24914781f2"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"bfa3845f109f5e99d1a04a5933c1872e85d7cec8","unresolved":false,"context_lines":[{"line_number":242,"context_line":"    def _get_service_target(self, volume):"},{"line_number":243,"context_line":"        \"\"\"Get the available service parameters"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"           Get the available service parameters for a given volume using"},{"line_number":246,"context_line":"           its type."},{"line_number":247,"context_line":"           :param volume: dictionary volume reference"},{"line_number":248,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":8,"id":"1a4dcd0f_4b543153","line":245,"updated":"2015-08-17 01:14:53.000000000","message":"Extra indentation on the docstring body. Entire block should be shifted left four spaces.","commit_id":"68f752376241e3937d5f726fbfef3e40d8efbf35"}]}
