)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9624,"name":"Ramy Asselin","email":"ramyasselin@yahoo.com","username":"asselin"},"change_message_id":"62dac8c0fd8d61e4b63d10700f4272d319651a9f","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Remove locks from LeftHand driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"By removing synchronization locks from the 3PAR LeftHand driver"},{"line_number":10,"context_line":"support for many simultaneous volume creation/deletes and"},{"line_number":11,"context_line":"volume attach/detachs will be added.  This is useful for high"},{"line_number":12,"context_line":"availability environments where performance with locks in place"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3a961159_eb8cff81","line":9,"updated":"2014-12-16 22:33:15.000000000","message":"Remove \u00273PAR\u0027","commit_id":"8fd475a7ddaebcd57f285d5f69f68add84f7fab0"},{"author":{"_account_id":11903,"name":"Anthony Lee","email":"anthony.mic.lee@hpe.com","username":"leeantho"},"change_message_id":"c506f933ea3445526d36f6515d436fd0b445c21c","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Remove locks from LeftHand driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"By removing synchronization locks from the 3PAR LeftHand driver"},{"line_number":10,"context_line":"support for many simultaneous volume creation/deletes and"},{"line_number":11,"context_line":"volume attach/detachs will be added.  This is useful for high"},{"line_number":12,"context_line":"availability environments where performance with locks in place"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3a961159_ea8f8b2c","line":9,"in_reply_to":"3a961159_eb8cff81","updated":"2014-12-17 09:35:12.000000000","message":"Done","commit_id":"8fd475a7ddaebcd57f285d5f69f68add84f7fab0"}],"cinder/tests/test_hplefthand.py":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"93306035aad9a03a3c030b0ab35be35d9916b16f","unresolved":false,"context_lines":[{"line_number":903,"context_line":"                self.connector)"},{"line_number":904,"context_line":""},{"line_number":905,"context_line":"            # validate"},{"line_number":906,"context_line":"            self.assertEqual(result[\u0027driver_volume_type\u0027], \u0027iscsi\u0027)"},{"line_number":907,"context_line":"            self.assertEqual(result[\u0027data\u0027][\u0027target_discovered\u0027], False)"},{"line_number":908,"context_line":"            self.assertEqual(result[\u0027data\u0027][\u0027volume_id\u0027], self.volume_id)"},{"line_number":909,"context_line":"            self.assertTrue(\u0027auth_method\u0027 not in result[\u0027data\u0027])"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_0ba3ddb1","line":906,"updated":"2015-01-13 18:16:14.000000000","message":"The order of the parameters is reversed.","commit_id":"de2a9d4a384d2d672ed165ee072520dfe4c791b4"},{"author":{"_account_id":11903,"name":"Anthony Lee","email":"anthony.mic.lee@hpe.com","username":"leeantho"},"change_message_id":"918400dde21109a01651521cd4e79b214912b569","unresolved":false,"context_lines":[{"line_number":903,"context_line":"                self.connector)"},{"line_number":904,"context_line":""},{"line_number":905,"context_line":"            # validate"},{"line_number":906,"context_line":"            self.assertEqual(result[\u0027driver_volume_type\u0027], \u0027iscsi\u0027)"},{"line_number":907,"context_line":"            self.assertEqual(result[\u0027data\u0027][\u0027target_discovered\u0027], False)"},{"line_number":908,"context_line":"            self.assertEqual(result[\u0027data\u0027][\u0027volume_id\u0027], self.volume_id)"},{"line_number":909,"context_line":"            self.assertTrue(\u0027auth_method\u0027 not in result[\u0027data\u0027])"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_cee00329","line":906,"in_reply_to":"3a961159_0ba3ddb1","updated":"2015-01-13 19:05:56.000000000","message":"Done","commit_id":"de2a9d4a384d2d672ed165ee072520dfe4c791b4"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"93306035aad9a03a3c030b0ab35be35d9916b16f","unresolved":false,"context_lines":[{"line_number":904,"context_line":""},{"line_number":905,"context_line":"            # validate"},{"line_number":906,"context_line":"            self.assertEqual(result[\u0027driver_volume_type\u0027], \u0027iscsi\u0027)"},{"line_number":907,"context_line":"            self.assertEqual(result[\u0027data\u0027][\u0027target_discovered\u0027], False)"},{"line_number":908,"context_line":"            self.assertEqual(result[\u0027data\u0027][\u0027volume_id\u0027], self.volume_id)"},{"line_number":909,"context_line":"            self.assertTrue(\u0027auth_method\u0027 not in result[\u0027data\u0027])"},{"line_number":910,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_6b93815c","line":907,"updated":"2015-01-13 18:16:14.000000000","message":"Same","commit_id":"de2a9d4a384d2d672ed165ee072520dfe4c791b4"},{"author":{"_account_id":11903,"name":"Anthony Lee","email":"anthony.mic.lee@hpe.com","username":"leeantho"},"change_message_id":"918400dde21109a01651521cd4e79b214912b569","unresolved":false,"context_lines":[{"line_number":904,"context_line":""},{"line_number":905,"context_line":"            # validate"},{"line_number":906,"context_line":"            self.assertEqual(result[\u0027driver_volume_type\u0027], \u0027iscsi\u0027)"},{"line_number":907,"context_line":"            self.assertEqual(result[\u0027data\u0027][\u0027target_discovered\u0027], False)"},{"line_number":908,"context_line":"            self.assertEqual(result[\u0027data\u0027][\u0027volume_id\u0027], self.volume_id)"},{"line_number":909,"context_line":"            self.assertTrue(\u0027auth_method\u0027 not in result[\u0027data\u0027])"},{"line_number":910,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_eece9fb6","line":907,"in_reply_to":"3a961159_6b93815c","updated":"2015-01-13 19:05:56.000000000","message":"Done","commit_id":"de2a9d4a384d2d672ed165ee072520dfe4c791b4"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"93306035aad9a03a3c030b0ab35be35d9916b16f","unresolved":false,"context_lines":[{"line_number":905,"context_line":"            # validate"},{"line_number":906,"context_line":"            self.assertEqual(result[\u0027driver_volume_type\u0027], \u0027iscsi\u0027)"},{"line_number":907,"context_line":"            self.assertEqual(result[\u0027data\u0027][\u0027target_discovered\u0027], False)"},{"line_number":908,"context_line":"            self.assertEqual(result[\u0027data\u0027][\u0027volume_id\u0027], self.volume_id)"},{"line_number":909,"context_line":"            self.assertTrue(\u0027auth_method\u0027 not in result[\u0027data\u0027])"},{"line_number":910,"context_line":""},{"line_number":911,"context_line":"            expected \u003d self.driver_startup_call_stack + ["}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_8b8eed30","line":908,"updated":"2015-01-13 18:16:14.000000000","message":"Same","commit_id":"de2a9d4a384d2d672ed165ee072520dfe4c791b4"},{"author":{"_account_id":11903,"name":"Anthony Lee","email":"anthony.mic.lee@hpe.com","username":"leeantho"},"change_message_id":"918400dde21109a01651521cd4e79b214912b569","unresolved":false,"context_lines":[{"line_number":905,"context_line":"            # validate"},{"line_number":906,"context_line":"            self.assertEqual(result[\u0027driver_volume_type\u0027], \u0027iscsi\u0027)"},{"line_number":907,"context_line":"            self.assertEqual(result[\u0027data\u0027][\u0027target_discovered\u0027], False)"},{"line_number":908,"context_line":"            self.assertEqual(result[\u0027data\u0027][\u0027volume_id\u0027], self.volume_id)"},{"line_number":909,"context_line":"            self.assertTrue(\u0027auth_method\u0027 not in result[\u0027data\u0027])"},{"line_number":910,"context_line":""},{"line_number":911,"context_line":"            expected \u003d self.driver_startup_call_stack + ["}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_0ed20b5b","line":908,"in_reply_to":"3a961159_8b8eed30","updated":"2015-01-13 19:05:56.000000000","message":"Done","commit_id":"de2a9d4a384d2d672ed165ee072520dfe4c791b4"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"93306035aad9a03a3c030b0ab35be35d9916b16f","unresolved":false,"context_lines":[{"line_number":949,"context_line":"                self.connector)"},{"line_number":950,"context_line":""},{"line_number":951,"context_line":"            # validate"},{"line_number":952,"context_line":"            self.assertEqual(result[\u0027driver_volume_type\u0027], \u0027iscsi\u0027)"},{"line_number":953,"context_line":"            self.assertEqual(result[\u0027data\u0027][\u0027target_discovered\u0027], False)"},{"line_number":954,"context_line":"            self.assertEqual(result[\u0027data\u0027][\u0027volume_id\u0027], self.volume_id)"},{"line_number":955,"context_line":"            self.assertEqual(result[\u0027data\u0027][\u0027auth_method\u0027], \u0027CHAP\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_2b8179fb","line":952,"updated":"2015-01-13 18:16:14.000000000","message":"Same here and below.","commit_id":"de2a9d4a384d2d672ed165ee072520dfe4c791b4"},{"author":{"_account_id":11903,"name":"Anthony Lee","email":"anthony.mic.lee@hpe.com","username":"leeantho"},"change_message_id":"918400dde21109a01651521cd4e79b214912b569","unresolved":false,"context_lines":[{"line_number":949,"context_line":"                self.connector)"},{"line_number":950,"context_line":""},{"line_number":951,"context_line":"            # validate"},{"line_number":952,"context_line":"            self.assertEqual(result[\u0027driver_volume_type\u0027], \u0027iscsi\u0027)"},{"line_number":953,"context_line":"            self.assertEqual(result[\u0027data\u0027][\u0027target_discovered\u0027], False)"},{"line_number":954,"context_line":"            self.assertEqual(result[\u0027data\u0027][\u0027volume_id\u0027], self.volume_id)"},{"line_number":955,"context_line":"            self.assertEqual(result[\u0027data\u0027][\u0027auth_method\u0027], \u0027CHAP\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_6ec2af87","line":952,"in_reply_to":"3a961159_2b8179fb","updated":"2015-01-13 19:05:56.000000000","message":"Done","commit_id":"de2a9d4a384d2d672ed165ee072520dfe4c791b4"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"93306035aad9a03a3c030b0ab35be35d9916b16f","unresolved":false,"context_lines":[{"line_number":1107,"context_line":"            expected_iqn \u003d \u0027iqn.1993-08.org.debian:01:222 0\u0027"},{"line_number":1108,"context_line":"            expected_location \u003d \"10.0.1.6:3260,1 %s\" % expected_iqn"},{"line_number":1109,"context_line":"            self.assertEqual(model_update[\u0027provider_location\u0027],"},{"line_number":1110,"context_line":"                             expected_location)"},{"line_number":1111,"context_line":""},{"line_number":1112,"context_line":"            expected \u003d self.driver_startup_call_stack + ["},{"line_number":1113,"context_line":"                mock.call.getSnapshotByName(\u0027fakeshapshot\u0027),"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_8b750d35","line":1110,"updated":"2015-01-13 18:16:14.000000000","message":"Here too","commit_id":"de2a9d4a384d2d672ed165ee072520dfe4c791b4"},{"author":{"_account_id":11903,"name":"Anthony Lee","email":"anthony.mic.lee@hpe.com","username":"leeantho"},"change_message_id":"918400dde21109a01651521cd4e79b214912b569","unresolved":false,"context_lines":[{"line_number":1107,"context_line":"            expected_iqn \u003d \u0027iqn.1993-08.org.debian:01:222 0\u0027"},{"line_number":1108,"context_line":"            expected_location \u003d \"10.0.1.6:3260,1 %s\" % expected_iqn"},{"line_number":1109,"context_line":"            self.assertEqual(model_update[\u0027provider_location\u0027],"},{"line_number":1110,"context_line":"                             expected_location)"},{"line_number":1111,"context_line":""},{"line_number":1112,"context_line":"            expected \u003d self.driver_startup_call_stack + ["},{"line_number":1113,"context_line":"                mock.call.getSnapshotByName(\u0027fakeshapshot\u0027),"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_ee5cdff2","line":1110,"in_reply_to":"3a961159_8b750d35","updated":"2015-01-13 19:05:56.000000000","message":"Done","commit_id":"de2a9d4a384d2d672ed165ee072520dfe4c791b4"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"e1ad7acfcdbd7991af9ea2a0e6231e2a0a7c108e","unresolved":false,"context_lines":[{"line_number":856,"context_line":"                self.connector)"},{"line_number":857,"context_line":""},{"line_number":858,"context_line":"            # validate"},{"line_number":859,"context_line":"            self.assertEqual(result[\u0027driver_volume_type\u0027], \u0027iscsi\u0027)"},{"line_number":860,"context_line":"            self.assertEqual(result[\u0027data\u0027][\u0027target_discovered\u0027], False)"},{"line_number":861,"context_line":"            self.assertEqual(result[\u0027data\u0027][\u0027volume_id\u0027], self.volume_id)"},{"line_number":862,"context_line":"            self.assertTrue(\u0027auth_method\u0027 not in result[\u0027data\u0027])"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a961159_c247f2ba","line":859,"updated":"2015-01-13 21:11:30.000000000","message":"Sorry, I missed a few here.","commit_id":"b06625c5eacc574e312b846fc0984cc3ebb97bd6"},{"author":{"_account_id":11903,"name":"Anthony Lee","email":"anthony.mic.lee@hpe.com","username":"leeantho"},"change_message_id":"8d440153e8aa2e06aef713b237d4752685ff0c01","unresolved":false,"context_lines":[{"line_number":856,"context_line":"                self.connector)"},{"line_number":857,"context_line":""},{"line_number":858,"context_line":"            # validate"},{"line_number":859,"context_line":"            self.assertEqual(result[\u0027driver_volume_type\u0027], \u0027iscsi\u0027)"},{"line_number":860,"context_line":"            self.assertEqual(result[\u0027data\u0027][\u0027target_discovered\u0027], False)"},{"line_number":861,"context_line":"            self.assertEqual(result[\u0027data\u0027][\u0027volume_id\u0027], self.volume_id)"},{"line_number":862,"context_line":"            self.assertTrue(\u0027auth_method\u0027 not in result[\u0027data\u0027])"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a961159_ddd433eb","line":859,"in_reply_to":"3a961159_c247f2ba","updated":"2015-01-13 21:38:20.000000000","message":"Done","commit_id":"b06625c5eacc574e312b846fc0984cc3ebb97bd6"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"e1ad7acfcdbd7991af9ea2a0e6231e2a0a7c108e","unresolved":false,"context_lines":[{"line_number":857,"context_line":""},{"line_number":858,"context_line":"            # validate"},{"line_number":859,"context_line":"            self.assertEqual(result[\u0027driver_volume_type\u0027], \u0027iscsi\u0027)"},{"line_number":860,"context_line":"            self.assertEqual(result[\u0027data\u0027][\u0027target_discovered\u0027], False)"},{"line_number":861,"context_line":"            self.assertEqual(result[\u0027data\u0027][\u0027volume_id\u0027], self.volume_id)"},{"line_number":862,"context_line":"            self.assertTrue(\u0027auth_method\u0027 not in result[\u0027data\u0027])"},{"line_number":863,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"3a961159_e2422eaa","line":860,"updated":"2015-01-13 21:11:30.000000000","message":"Here too.","commit_id":"b06625c5eacc574e312b846fc0984cc3ebb97bd6"},{"author":{"_account_id":11903,"name":"Anthony Lee","email":"anthony.mic.lee@hpe.com","username":"leeantho"},"change_message_id":"8d440153e8aa2e06aef713b237d4752685ff0c01","unresolved":false,"context_lines":[{"line_number":857,"context_line":""},{"line_number":858,"context_line":"            # validate"},{"line_number":859,"context_line":"            self.assertEqual(result[\u0027driver_volume_type\u0027], \u0027iscsi\u0027)"},{"line_number":860,"context_line":"            self.assertEqual(result[\u0027data\u0027][\u0027target_discovered\u0027], False)"},{"line_number":861,"context_line":"            self.assertEqual(result[\u0027data\u0027][\u0027volume_id\u0027], self.volume_id)"},{"line_number":862,"context_line":"            self.assertTrue(\u0027auth_method\u0027 not in result[\u0027data\u0027])"},{"line_number":863,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"3a961159_fd02cf70","line":860,"in_reply_to":"3a961159_e2422eaa","updated":"2015-01-13 21:38:20.000000000","message":"Done","commit_id":"b06625c5eacc574e312b846fc0984cc3ebb97bd6"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"e1ad7acfcdbd7991af9ea2a0e6231e2a0a7c108e","unresolved":false,"context_lines":[{"line_number":858,"context_line":"            # validate"},{"line_number":859,"context_line":"            self.assertEqual(result[\u0027driver_volume_type\u0027], \u0027iscsi\u0027)"},{"line_number":860,"context_line":"            self.assertEqual(result[\u0027data\u0027][\u0027target_discovered\u0027], False)"},{"line_number":861,"context_line":"            self.assertEqual(result[\u0027data\u0027][\u0027volume_id\u0027], self.volume_id)"},{"line_number":862,"context_line":"            self.assertTrue(\u0027auth_method\u0027 not in result[\u0027data\u0027])"},{"line_number":863,"context_line":""},{"line_number":864,"context_line":"            expected \u003d self.driver_startup_call_stack + ["}],"source_content_type":"text/x-python","patch_set":7,"id":"3a961159_2214369e","line":861,"updated":"2015-01-13 21:11:30.000000000","message":"Here too.","commit_id":"b06625c5eacc574e312b846fc0984cc3ebb97bd6"},{"author":{"_account_id":11903,"name":"Anthony Lee","email":"anthony.mic.lee@hpe.com","username":"leeantho"},"change_message_id":"8d440153e8aa2e06aef713b237d4752685ff0c01","unresolved":false,"context_lines":[{"line_number":858,"context_line":"            # validate"},{"line_number":859,"context_line":"            self.assertEqual(result[\u0027driver_volume_type\u0027], \u0027iscsi\u0027)"},{"line_number":860,"context_line":"            self.assertEqual(result[\u0027data\u0027][\u0027target_discovered\u0027], False)"},{"line_number":861,"context_line":"            self.assertEqual(result[\u0027data\u0027][\u0027volume_id\u0027], self.volume_id)"},{"line_number":862,"context_line":"            self.assertTrue(\u0027auth_method\u0027 not in result[\u0027data\u0027])"},{"line_number":863,"context_line":""},{"line_number":864,"context_line":"            expected \u003d self.driver_startup_call_stack + ["}],"source_content_type":"text/x-python","patch_set":7,"id":"3a961159_1d06bb85","line":861,"in_reply_to":"3a961159_2214369e","updated":"2015-01-13 21:38:20.000000000","message":"Done","commit_id":"b06625c5eacc574e312b846fc0984cc3ebb97bd6"}],"cinder/volume/drivers/san/hp/hp_lefthand_iscsi.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"3c807bd646c068988a44a3504a72fb4116acb2e1","unresolved":false,"context_lines":[{"line_number":82,"context_line":"            \"proxy_ver\": self.proxy.get_version_string()})"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"        if isinstance(self.proxy, cliq_proxy.HPLeftHandCLIQProxy):"},{"line_number":85,"context_line":"            self.proxy.do_setup(context)"},{"line_number":86,"context_line":"        else:"},{"line_number":87,"context_line":"            # Check minimum client version for REST proxy"},{"line_number":88,"context_line":"            client_version \u003d rest_proxy.hplefthandclient.version"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_6b3d412c","line":85,"updated":"2015-01-13 18:21:38.000000000","message":"Is it not possible for an error to be returned?  Will this always work?  Just wondering if we need some error checking here.","commit_id":"de2a9d4a384d2d672ed165ee072520dfe4c791b4"},{"author":{"_account_id":11903,"name":"Anthony Lee","email":"anthony.mic.lee@hpe.com","username":"leeantho"},"change_message_id":"4e7ecfd6e8bd0fc20f480133d9c3732e5e61b28f","unresolved":false,"context_lines":[{"line_number":82,"context_line":"            \"proxy_ver\": self.proxy.get_version_string()})"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"        if isinstance(self.proxy, cliq_proxy.HPLeftHandCLIQProxy):"},{"line_number":85,"context_line":"            self.proxy.do_setup(context)"},{"line_number":86,"context_line":"        else:"},{"line_number":87,"context_line":"            # Check minimum client version for REST proxy"},{"line_number":88,"context_line":"            client_version \u003d rest_proxy.hplefthandclient.version"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_8e3a7bc2","line":85,"in_reply_to":"3a961159_6b3d412c","updated":"2015-01-13 18:40:13.000000000","message":"Currently the HPLeftHandCLIQProxy do_setup(...) method just does a pass so no error should be generated.  I was mainly keeping the call here so that  there are no changes to calls made to HPLeftHandCLIQProxy.","commit_id":"de2a9d4a384d2d672ed165ee072520dfe4c791b4"}],"cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py":[{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"098a0ae113786640bce22e7c8460b0ae1f338794","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        # so we need to use it as a separator"},{"line_number":111,"context_line":"        self.DRIVER_LOCATION \u003d self.__class__.__name__ + \u0027 %(cluster)s %(vip)s\u0027"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    def _login(self):"},{"line_number":114,"context_line":"        client \u003d self.do_setup(None)"},{"line_number":115,"context_line":"        return client"},{"line_number":116,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_d3b65f88","line":113,"updated":"2015-01-08 19:14:24.000000000","message":"Could client be implemented like context manager (https://docs.python.org/2/reference/datamodel.html#with-statement-context-managers). I will make code more clear","commit_id":"a18ff8e09611d930aa39fd6149d9ec5ed0903f7d"},{"author":{"_account_id":11903,"name":"Anthony Lee","email":"anthony.mic.lee@hpe.com","username":"leeantho"},"change_message_id":"5df76f603564e90092cdea27ca9456d298dd5789","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        # so we need to use it as a separator"},{"line_number":111,"context_line":"        self.DRIVER_LOCATION \u003d self.__class__.__name__ + \u0027 %(cluster)s %(vip)s\u0027"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    def _login(self):"},{"line_number":114,"context_line":"        client \u003d self.do_setup(None)"},{"line_number":115,"context_line":"        return client"},{"line_number":116,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_c92e688c","line":113,"in_reply_to":"3a961159_969bc965","updated":"2015-01-12 18:58:42.000000000","message":"I would prefer to keep the structure the current way unless there is a significant reason to change it to be like context manager.","commit_id":"a18ff8e09611d930aa39fd6149d9ec5ed0903f7d"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"1e20418b59c24c04bf47c81653c3ef803f3b6297","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        # so we need to use it as a separator"},{"line_number":111,"context_line":"        self.DRIVER_LOCATION \u003d self.__class__.__name__ + \u0027 %(cluster)s %(vip)s\u0027"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    def _login(self):"},{"line_number":114,"context_line":"        client \u003d self.do_setup(None)"},{"line_number":115,"context_line":"        return client"},{"line_number":116,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_969bc965","line":113,"in_reply_to":"3a961159_d3b65f88","updated":"2015-01-09 18:55:36.000000000","message":"I think this is fine the way it is.","commit_id":"a18ff8e09611d930aa39fd6149d9ec5ed0903f7d"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"63e780e031750f72d55124143e221066d7617591","unresolved":false,"context_lines":[{"line_number":479,"context_line":"        finally:"},{"line_number":480,"context_line":"            self._logout(client)"},{"line_number":481,"context_line":""},{"line_number":482,"context_line":"        client \u003d self._login()"},{"line_number":483,"context_line":"        try:"},{"line_number":484,"context_line":"            # pick out the LH extra specs"},{"line_number":485,"context_line":"            new_extra_specs \u003d dict(new_type).get(\u0027extra_specs\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a961159_4ecb05a4","line":482,"updated":"2015-01-14 20:32:01.000000000","message":"I would combine these 2 try blocks into 1, so we can avoid the double logins here.","commit_id":"445674b02b55f5863a0e422ba5761d4689c97c9e"},{"author":{"_account_id":11903,"name":"Anthony Lee","email":"anthony.mic.lee@hpe.com","username":"leeantho"},"change_message_id":"b7e5170627ccf1cc23afc4a189b8762d8aac08e3","unresolved":false,"context_lines":[{"line_number":479,"context_line":"        finally:"},{"line_number":480,"context_line":"            self._logout(client)"},{"line_number":481,"context_line":""},{"line_number":482,"context_line":"        client \u003d self._login()"},{"line_number":483,"context_line":"        try:"},{"line_number":484,"context_line":"            # pick out the LH extra specs"},{"line_number":485,"context_line":"            new_extra_specs \u003d dict(new_type).get(\u0027extra_specs\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a961159_6e88c1c6","line":482,"in_reply_to":"3a961159_4ecb05a4","updated":"2015-01-14 22:05:21.000000000","message":"Done","commit_id":"445674b02b55f5863a0e422ba5761d4689c97c9e"}]}
