)]}'
{"cinderclient/client.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9f15ffd2619fd2e0c08d1d929722703bf9ca6826","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        data \u003d json.loads(response.text)"},{"line_number":89,"context_line":"        versions \u003d data[\u0027versions\u0027]"},{"line_number":90,"context_line":"        for version in versions:"},{"line_number":91,"context_line":"            if \u00273.\u0027 in version[\u0027version\u0027]:"},{"line_number":92,"context_line":"                min_version \u003d version[\u0027min_version\u0027]"},{"line_number":93,"context_line":"                current_version \u003d version[\u0027version\u0027]"},{"line_number":94,"context_line":"                break"}],"source_content_type":"text/x-python","patch_set":2,"id":"df140735_e40dd635","line":91,"range":{"start_line":91,"start_character":12,"end_line":91,"end_character":42},"updated":"2017-05-31 15:13:33.000000000","message":"This is near the exact same code here:\n\nhttps://github.com/openstack/python-cinderclient/blob/2.1.0/cinderclient/api_versions.py#L242\n\nIf you want to fix that in this patch or a follow on.","commit_id":"8c10e686f60a843e10dc9d38496ee8a8dff5253e"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"b615a502d9b2afa83698bdb23db471bdba478e4d","unresolved":false,"context_lines":[{"line_number":92,"context_line":"                min_version \u003d version[\u0027min_version\u0027]"},{"line_number":93,"context_line":"                current_version \u003d version[\u0027version\u0027]"},{"line_number":94,"context_line":"                break"},{"line_number":95,"context_line":"    except exceptions.ClientException as e:"},{"line_number":96,"context_line":"        logger.warning(\"Error in server version query:%s\\n\""},{"line_number":97,"context_line":"                       \"Returning APIVersion 2.0\", six.text_type(e.message))"},{"line_number":98,"context_line":"    return api_versions.APIVersion(min_version), api_versions.APIVersion(current_version)"}],"source_content_type":"text/x-python","patch_set":2,"id":"df140735_693abf98","line":95,"range":{"start_line":95,"start_character":4,"end_line":95,"end_character":42},"updated":"2017-05-31 14:55:45.000000000","message":"When do we hit this?","commit_id":"8c10e686f60a843e10dc9d38496ee8a8dff5253e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a865679325a05f11bc28ce095d8cdbd5a5c86a13","unresolved":false,"context_lines":[{"line_number":92,"context_line":"                min_version \u003d version[\u0027min_version\u0027]"},{"line_number":93,"context_line":"                current_version \u003d version[\u0027version\u0027]"},{"line_number":94,"context_line":"                break"},{"line_number":95,"context_line":"    except exceptions.ClientException as e:"},{"line_number":96,"context_line":"        logger.warning(\"Error in server version query:%s\\n\""},{"line_number":97,"context_line":"                       \"Returning APIVersion 2.0\", six.text_type(e.message))"},{"line_number":98,"context_line":"    return api_versions.APIVersion(min_version), api_versions.APIVersion(current_version)"}],"source_content_type":"text/x-python","patch_set":2,"id":"df140735_6402e60b","line":95,"range":{"start_line":95,"start_character":4,"end_line":95,"end_character":42},"in_reply_to":"df140735_693abf98","updated":"2017-05-31 15:12:57.000000000","message":"I suppose if the request fails because the server is down? Does it require a token?","commit_id":"8c10e686f60a843e10dc9d38496ee8a8dff5253e"}],"cinderclient/tests/unit/test_client.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f82250fe8cfce232fc103c855a7f1b58ca3b905e","unresolved":false,"context_lines":[{"line_number":324,"context_line":"        url \u003d \"http://192.168.122.127:8776/v2/e5526285ebd741b1819393f772f11fc3\""},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"        min_version, max_version \u003d cinderclient.client.get_server_version(url)"},{"line_number":327,"context_line":"        self.assertEqual(min_version, api_versions.APIVersion(\u00272.0\u0027))"},{"line_number":328,"context_line":"        self.assertEqual(max_version, api_versions.APIVersion(\u00272.0\u0027))"},{"line_number":329,"context_line":""},{"line_number":330,"context_line":"    @mock.patch(\u0027cinderclient.client.requests.get\u0027)"},{"line_number":331,"context_line":"    def test_get_server_version(self, mock_request):"}],"source_content_type":"text/x-python","patch_set":3,"id":"df140735_780e0a8e","line":328,"range":{"start_line":327,"start_character":8,"end_line":328,"end_character":69},"updated":"2017-05-31 15:58:59.000000000","message":"nit: I\u0027d swap these since the args are (expected, actual) in testtools, and it impacts the output of the MismatchError if it\u0027s wrong.","commit_id":"70b8ef5ced978668cc1248e2c7d26b9a5a166d97"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"6c7a6fdd1e2cd12a1969fbc9cae1b32fb6cb5de2","unresolved":false,"context_lines":[{"line_number":324,"context_line":"        url \u003d \"http://192.168.122.127:8776/v2/e5526285ebd741b1819393f772f11fc3\""},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"        min_version, max_version \u003d cinderclient.client.get_server_version(url)"},{"line_number":327,"context_line":"        self.assertEqual(min_version, api_versions.APIVersion(\u00272.0\u0027))"},{"line_number":328,"context_line":"        self.assertEqual(max_version, api_versions.APIVersion(\u00272.0\u0027))"},{"line_number":329,"context_line":""},{"line_number":330,"context_line":"    @mock.patch(\u0027cinderclient.client.requests.get\u0027)"},{"line_number":331,"context_line":"    def test_get_server_version(self, mock_request):"}],"source_content_type":"text/x-python","patch_set":3,"id":"df140735_9bd67827","line":328,"range":{"start_line":327,"start_character":8,"end_line":328,"end_character":69},"in_reply_to":"df140735_780e0a8e","updated":"2017-05-31 16:22:04.000000000","message":"Done","commit_id":"70b8ef5ced978668cc1248e2c7d26b9a5a166d97"},{"author":{"_account_id":7173,"name":"Scott DAngelo","email":"scott.dangelo@gmail.com","username":"scottda"},"change_message_id":"cbedebd87a89ebea9d749c86b602999027e33b21","unresolved":false,"context_lines":[{"line_number":321,"context_line":""},{"line_number":322,"context_line":"        mock_request.return_value \u003d mock_response"},{"line_number":323,"context_line":""},{"line_number":324,"context_line":"        url \u003d \"http://192.168.122.127:8776/v2/e5526285ebd741b1819393f772f11fc3\""},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"        min_version, max_version \u003d cinderclient.client.get_server_version(url)"},{"line_number":327,"context_line":"        self.assertEqual(api_versions.APIVersion(\u00272.0\u0027), min_version)"}],"source_content_type":"text/x-python","patch_set":4,"id":"df140735_9b09d896","line":324,"updated":"2017-05-31 16:29:38.000000000","message":"The get_server_version is designed to hit the naked endpoint, i.e. without /v2.\nThe test should use the URL:\n\"http://192.168.122.127:8776\"\n\nand the return for fake_request_get_no_v3 will be different...I\u0027ll spin up an older cinder server to verify what that is.","commit_id":"d4ee67e359404da25e117018f83f8d2489f7a355"},{"author":{"_account_id":7173,"name":"Scott DAngelo","email":"scott.dangelo@gmail.com","username":"scottda"},"change_message_id":"057327b9cc61e0f31dad947746d52d77247acc80","unresolved":false,"context_lines":[{"line_number":321,"context_line":""},{"line_number":322,"context_line":"        mock_request.return_value \u003d mock_response"},{"line_number":323,"context_line":""},{"line_number":324,"context_line":"        url \u003d \"http://192.168.122.127:8776/v2/e5526285ebd741b1819393f772f11fc3\""},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"        min_version, max_version \u003d cinderclient.client.get_server_version(url)"},{"line_number":327,"context_line":"        self.assertEqual(api_versions.APIVersion(\u00272.0\u0027), min_version)"}],"source_content_type":"text/x-python","patch_set":4,"id":"df140735_1b7268e4","line":324,"in_reply_to":"df140735_9b09d896","updated":"2017-05-31 16:37:12.000000000","message":"Crap! Finding something without support for the version response means going back to Liberty. Not sure how to spin that up, since stable/ doesn\u0027t have it...\nSo, not sure of the proper response for fakes if we\u0027ve an older server that only supports v2.","commit_id":"d4ee67e359404da25e117018f83f8d2489f7a355"}]}
