)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7764,"name":"Peter Hamilton","email":"peter.hamilton@jhuapl.edu","username":"Peter"},"change_message_id":"9b0307a737c7eac7b1cc60057f76ec80f3fd06a1","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Lin Yang \u003clin.a.yang@intel.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-06-22 09:30:18 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Improve error message when exceed cinder quota exceed"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Current cinder client only show \u0027Request Entity Too Large\u0027 when exceed quota,"},{"line_number":10,"context_line":"which is caused by the exception message returned by keystone client doesn\u0027t"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"fa32b979_21ab4cd8","line":7,"updated":"2015-06-26 11:35:49.000000000","message":"nit: message when cinder quota exceeded","commit_id":"4fde2b5c2731ae77740b34f6a2694c48998e2a2f"},{"author":{"_account_id":7764,"name":"Peter Hamilton","email":"peter.hamilton@jhuapl.edu","username":"Peter"},"change_message_id":"9b0307a737c7eac7b1cc60057f76ec80f3fd06a1","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Improve error message when exceed cinder quota exceed"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Current cinder client only show \u0027Request Entity Too Large\u0027 when exceed quota,"},{"line_number":10,"context_line":"which is caused by the exception message returned by keystone client doesn\u0027t"},{"line_number":11,"context_line":"show actual exception reason from cinder service. So catch HttpError from"},{"line_number":12,"context_line":"keystone client and convert it to cinder ClientException."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"fa32b979_c18e2079","line":9,"updated":"2015-06-26 11:35:49.000000000","message":"nit: when quota exceeded","commit_id":"4fde2b5c2731ae77740b34f6a2694c48998e2a2f"},{"author":{"_account_id":7764,"name":"Peter Hamilton","email":"peter.hamilton@jhuapl.edu","username":"Peter"},"change_message_id":"9b0307a737c7eac7b1cc60057f76ec80f3fd06a1","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Improve error message when exceed cinder quota exceed"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Current cinder client only show \u0027Request Entity Too Large\u0027 when exceed quota,"},{"line_number":10,"context_line":"which is caused by the exception message returned by keystone client doesn\u0027t"},{"line_number":11,"context_line":"show actual exception reason from cinder service. So catch HttpError from"},{"line_number":12,"context_line":"keystone client and convert it to cinder ClientException."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"fa32b979_a1ec3c2a","line":10,"updated":"2015-06-26 11:35:49.000000000","message":"nit: keystone client which doesn\u0027t","commit_id":"4fde2b5c2731ae77740b34f6a2694c48998e2a2f"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"951827060d41daaa13d33ac95c82c6f67ae99f87","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Improve error message when cinder quota exceeded"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Current cinder client only show \u0027Request Entity Too Large\u0027 when quota exceeded,"},{"line_number":10,"context_line":"which is caused by the exception message returned by keystone client which"},{"line_number":11,"context_line":"doesn\u0027t show actual exception reason from cinder service. So catch HttpError"},{"line_number":12,"context_line":"from keystone client and convert it to cinder ClientException."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"ba3cc151_5ba3894f","line":9,"updated":"2015-07-01 07:46:36.000000000","message":"show / shows","commit_id":"2dedcf9ed5adbb948be98ef913f0c0b22b3ce235"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"951827060d41daaa13d33ac95c82c6f67ae99f87","unresolved":false,"context_lines":[{"line_number":11,"context_line":"doesn\u0027t show actual exception reason from cinder service. So catch HttpError"},{"line_number":12,"context_line":"from keystone client and convert it to cinder ClientException."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Moreover, it will make both SessionClient and HTTPClient to raise the unified"},{"line_number":15,"context_line":"cinder ClientException."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Closes-Bug: #1448672"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"ba3cc151_bb9415e2","line":14,"updated":"2015-07-01 07:46:36.000000000","message":"remove \u0027to\u0027","commit_id":"2dedcf9ed5adbb948be98ef913f0c0b22b3ce235"}],"cinderclient/client.py":[{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"123ee48b879cd298979c77290e96c9e5a7fdc0f9","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"class SessionClient(adapter.LegacyJsonAdapter):"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    def request(self, url, method, **kwargs):"},{"line_number":85,"context_line":"        kwargs.setdefault(\u0027authenticated\u0027, False)"},{"line_number":86,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_c76f635e","line":83,"updated":"2015-06-01 13:53:46.000000000","message":"Is it possible to add test case for this method?","commit_id":"b14b41ee474d35efacca865e6c9296159a906a4b"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"123ee48b879cd298979c77290e96c9e5a7fdc0f9","unresolved":false,"context_lines":[{"line_number":96,"context_line":"                and project_id is not None):"},{"line_number":97,"context_line":"            url \u003d \u0027{0}{1}{2}\u0027.format(endpoint, project_id, url)"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"        # catch keystoneclient HttpError, converted it to cinderclient"},{"line_number":100,"context_line":"        # ClientException instance and raise it"},{"line_number":101,"context_line":"        raise_exc \u003d kwargs.pop(\u0027raise_exc\u0027, True)"},{"line_number":102,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_87a60bbf","line":99,"updated":"2015-06-01 13:53:46.000000000","message":"catch \u003d \u003e Catch\nconverted \u003d \u003e convert","commit_id":"b14b41ee474d35efacca865e6c9296159a906a4b"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"951827060d41daaa13d33ac95c82c6f67ae99f87","unresolved":false,"context_lines":[{"line_number":26,"context_line":"from keystoneclient import access"},{"line_number":27,"context_line":"from keystoneclient import adapter"},{"line_number":28,"context_line":"from keystoneclient.auth.identity import base"},{"line_number":29,"context_line":"from keystoneclient.exceptions import HttpError as keystoneclient_httperror"},{"line_number":30,"context_line":"from keystoneclient import discover"},{"line_number":31,"context_line":"import requests"},{"line_number":32,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"ba3cc151_fbb13d90","line":29,"updated":"2015-07-01 07:46:36.000000000","message":"Put Line 29 under Line 30.","commit_id":"2dedcf9ed5adbb948be98ef913f0c0b22b3ce235"},{"author":{"_account_id":13636,"name":"aarefiev","display_name":"Anton","email":"arefyevanton@gmail.com","username":"aarefiev"},"change_message_id":"dada003346c1b742fa81fc1f1b58cf5f5be6afe4","unresolved":false,"context_lines":[{"line_number":27,"context_line":"from keystoneclient import adapter"},{"line_number":28,"context_line":"from keystoneclient.auth.identity import base"},{"line_number":29,"context_line":"from keystoneclient import discover"},{"line_number":30,"context_line":"from keystoneclient.exceptions import HttpError as keystoneclient_httperror"},{"line_number":31,"context_line":"import requests"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"from cinderclient import exceptions"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba3cc151_58890f74","line":30,"updated":"2015-07-02 09:01:01.000000000","message":"Please, do not import objects, only modules http://docs.openstack.org/developer/hacking/#imports","commit_id":"cd53ad03098fe031f4befef90dd40a043f3b052a"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"284f7e4affc4742e515de971c7e61c337acf5eb2","unresolved":false,"context_lines":[{"line_number":89,"context_line":"            resp, body \u003d super(SessionClient, self).request(*args,"},{"line_number":90,"context_line":"                                                            raise_exc\u003dFalse,"},{"line_number":91,"context_line":"                                                            **kwargs)"},{"line_number":92,"context_line":"        except keystoneclient_exc.HttpError as exc:"},{"line_number":93,"context_line":"            raise exceptions.from_exception(exc)"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"        if raise_exc and resp.status_code \u003e\u003d 400:"}],"source_content_type":"text/x-python","patch_set":9,"id":"3a50d1a3_7520f8b0","line":92,"updated":"2015-07-27 01:51:44.000000000","message":"This shouldn\u0027t ever have been raised. HttpError is a 4xx or 5xx error code not a connection error. Having raise_exc\u003dFalse means that this will return the response with the error code and the exceptions.from_response below will actually convert this to a cinder error. \n\nCan you trace through the call and tell my why this is raising a keystoneclient error?","commit_id":"2ca8040c473f5b7ec131d6868e8b0fc77e54c979"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"5575d27f19a5e627d9a200131d5ad024a4e55952","unresolved":false,"context_lines":[{"line_number":89,"context_line":"            resp, body \u003d super(SessionClient, self).request(*args,"},{"line_number":90,"context_line":"                                                            raise_exc\u003dFalse,"},{"line_number":91,"context_line":"                                                            **kwargs)"},{"line_number":92,"context_line":"        except keystoneclient_exc.HttpError as exc:"},{"line_number":93,"context_line":"            raise exceptions.from_exception(exc)"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"        if raise_exc and resp.status_code \u003e\u003d 400:"}],"source_content_type":"text/x-python","patch_set":9,"id":"3a50d1a3_40189c75","line":92,"in_reply_to":"3a50d1a3_7520f8b0","updated":"2015-07-27 01:52:42.000000000","message":"Note: if this is a bug in keystoneclient then yes this is the right place to catch and convert this error and the implementation looks good.","commit_id":"2ca8040c473f5b7ec131d6868e8b0fc77e54c979"},{"author":{"_account_id":12597,"name":"Lin Yang","email":"lin.a.yang@intel.com","username":"lin.yang"},"change_message_id":"75ad4a296751496624ada307d7bff8c617d8ffef","unresolved":false,"context_lines":[{"line_number":89,"context_line":"            resp, body \u003d super(SessionClient, self).request(*args,"},{"line_number":90,"context_line":"                                                            raise_exc\u003dFalse,"},{"line_number":91,"context_line":"                                                            **kwargs)"},{"line_number":92,"context_line":"        except keystoneclient_exc.HttpError as exc:"},{"line_number":93,"context_line":"            raise exceptions.from_exception(exc)"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"        if raise_exc and resp.status_code \u003e\u003d 400:"}],"source_content_type":"text/x-python","patch_set":9,"id":"3a50d1a3_586a93ee","line":92,"in_reply_to":"3a50d1a3_7520f8b0","updated":"2015-07-28 08:01:52.000000000","message":"Thanks a lot, Jamie. This bug already has been fixed another commit de367556. After upgraded both cinderclient and keystoneclient, I confirm keystoneclient will return response object instead of HttpError. My bad.","commit_id":"2ca8040c473f5b7ec131d6868e8b0fc77e54c979"}],"cinderclient/exceptions.py":[{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"123ee48b879cd298979c77290e96c9e5a7fdc0f9","unresolved":false,"context_lines":[{"line_number":173,"context_line":"        except HttpError as exc:"},{"line_number":174,"context_line":"            raise exception.from_exception(exc)"},{"line_number":175,"context_line":"    \"\"\""},{"line_number":176,"context_line":"    # return origin exception instance if its \u0027response\u0027 attribution"},{"line_number":177,"context_line":"    # doesn\u0027t exsit"},{"line_number":178,"context_line":"    if not getattr(exception, \u0027response\u0027, None):"},{"line_number":179,"context_line":"        return exception"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_e79dbf66","line":176,"updated":"2015-06-01 13:53:46.000000000","message":"return \u003d \u003e Return","commit_id":"b14b41ee474d35efacca865e6c9296159a906a4b"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"59e17f772f38b8dd907c523fcec434ad51176ca7","unresolved":false,"context_lines":[{"line_number":174,"context_line":"            raise exception.from_exception(exc)"},{"line_number":175,"context_line":"    \"\"\""},{"line_number":176,"context_line":"    # Return origin exception instance if its \u0027response\u0027 attribution"},{"line_number":177,"context_line":"    # doesn\u0027t exsit"},{"line_number":178,"context_line":"    if not hasattr(exception, \u0027response\u0027):"},{"line_number":179,"context_line":"        return exception"},{"line_number":180,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_63761840","line":177,"updated":"2015-06-22 11:06:17.000000000","message":"s/exsit/exist/","commit_id":"4fde2b5c2731ae77740b34f6a2694c48998e2a2f"},{"author":{"_account_id":7764,"name":"Peter Hamilton","email":"peter.hamilton@jhuapl.edu","username":"Peter"},"change_message_id":"9b0307a737c7eac7b1cc60057f76ec80f3fd06a1","unresolved":false,"context_lines":[{"line_number":184,"context_line":"        try:"},{"line_number":185,"context_line":"            body \u003d json.loads(resp.text)"},{"line_number":186,"context_line":"        except ValueError:"},{"line_number":187,"context_line":"            pass"},{"line_number":188,"context_line":"            body \u003d None"},{"line_number":189,"context_line":"    else:"},{"line_number":190,"context_line":"        body \u003d None"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_7e2fb5a7","line":187,"updated":"2015-06-26 11:35:49.000000000","message":"This is redundant.","commit_id":"4fde2b5c2731ae77740b34f6a2694c48998e2a2f"},{"author":{"_account_id":7764,"name":"Peter Hamilton","email":"peter.hamilton@jhuapl.edu","username":"Peter"},"change_message_id":"9b0307a737c7eac7b1cc60057f76ec80f3fd06a1","unresolved":false,"context_lines":[{"line_number":187,"context_line":"            pass"},{"line_number":188,"context_line":"            body \u003d None"},{"line_number":189,"context_line":"    else:"},{"line_number":190,"context_line":"        body \u003d None"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"    return from_response(resp, body)"},{"line_number":193,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_81fd780a","line":190,"updated":"2015-06-26 11:35:49.000000000","message":"You should probably refactor this to just define:\n\n    body \u003d None\n\nbefore the if-block, getting rid of the else-case here and the body statement in the except-block (in which case, you would keep the pass-statement there or add a logging statement to at least acknowledge that an error occurred; silently squashing exceptions is rarely a good idea).","commit_id":"4fde2b5c2731ae77740b34f6a2694c48998e2a2f"},{"author":{"_account_id":12597,"name":"Lin Yang","email":"lin.a.yang@intel.com","username":"lin.yang"},"change_message_id":"f0e3b380664f45b7bd9ee53c5db33a5d9ed7b89a","unresolved":false,"context_lines":[{"line_number":187,"context_line":"            pass"},{"line_number":188,"context_line":"            body \u003d None"},{"line_number":189,"context_line":"    else:"},{"line_number":190,"context_line":"        body \u003d None"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"    return from_response(resp, body)"},{"line_number":193,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ba3cc151_351ac218","line":190,"in_reply_to":"fa32b979_81fd780a","updated":"2015-06-29 05:33:39.000000000","message":"Thanks for your comments. Update it soon.","commit_id":"4fde2b5c2731ae77740b34f6a2694c48998e2a2f"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"8186df13910b9d926041fdf297697c435040e8c3","unresolved":false,"context_lines":[{"line_number":176,"context_line":"        try:"},{"line_number":177,"context_line":"            resp, body \u003d super(SessionClient, self).request(...)"},{"line_number":178,"context_line":"        except HttpError as exc:"},{"line_number":179,"context_line":"            raise exception.from_exception(exc)"},{"line_number":180,"context_line":"    \"\"\""},{"line_number":181,"context_line":"    # Return origin exception instance if its \u0027response\u0027 attribution"},{"line_number":182,"context_line":"    # doesn\u0027t exist"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba3cc151_20c7ea65","line":179,"updated":"2015-07-03 16:15:06.000000000","message":"/exception.from/exceptions.from/","commit_id":"f4e1975aa98f3e98f112e89dca068a31ca63526a"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"8186df13910b9d926041fdf297697c435040e8c3","unresolved":false,"context_lines":[{"line_number":178,"context_line":"        except HttpError as exc:"},{"line_number":179,"context_line":"            raise exception.from_exception(exc)"},{"line_number":180,"context_line":"    \"\"\""},{"line_number":181,"context_line":"    # Return origin exception instance if its \u0027response\u0027 attribution"},{"line_number":182,"context_line":"    # doesn\u0027t exist"},{"line_number":183,"context_line":"    if not hasattr(exception, \u0027response\u0027):"},{"line_number":184,"context_line":"        return exception"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba3cc151_00a506b4","line":181,"updated":"2015-07-03 16:15:06.000000000","message":"/origin/original/","commit_id":"f4e1975aa98f3e98f112e89dca068a31ca63526a"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"8186df13910b9d926041fdf297697c435040e8c3","unresolved":false,"context_lines":[{"line_number":190,"context_line":"        try:"},{"line_number":191,"context_line":"            body \u003d json.loads(resp.text)"},{"line_number":192,"context_line":"        except ValueError as e:"},{"line_number":193,"context_line":"            logger.debug(\"Load http response text error: %s\" % e)"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"    return from_response(resp, body)"},{"line_number":196,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"ba3cc151_80911655","line":193,"updated":"2015-07-03 16:15:06.000000000","message":"Change % to , so e is passed in to the logger as an argument. It will take care of formatting the string only if logging level requires it.","commit_id":"f4e1975aa98f3e98f112e89dca068a31ca63526a"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"10eaad10d447a9acc6611a3153f45298daf2c572","unresolved":false,"context_lines":[{"line_number":20,"context_line":"import logging"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"try:"},{"line_number":23,"context_line":"    import json"},{"line_number":24,"context_line":"except ImportError:"},{"line_number":25,"context_line":"    import simplejson as json"},{"line_number":26,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"ba3cc151_48cea8b5","line":23,"updated":"2015-07-06 15:09:38.000000000","message":"This isn\u0027t necessary. json is in 2.6 and that\u0027s as far back as we support.","commit_id":"9029401a3ddfb4b9f82af1c1a079ebee5a39f59a"},{"author":{"_account_id":12597,"name":"Lin Yang","email":"lin.a.yang@intel.com","username":"lin.yang"},"change_message_id":"d702f1cd4a094ed6a30f5f71a1d91b4a78680323","unresolved":false,"context_lines":[{"line_number":20,"context_line":"import logging"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"try:"},{"line_number":23,"context_line":"    import json"},{"line_number":24,"context_line":"except ImportError:"},{"line_number":25,"context_line":"    import simplejson as json"},{"line_number":26,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"ba3cc151_7baf86e3","line":23,"in_reply_to":"ba3cc151_48cea8b5","updated":"2015-07-07 12:03:48.000000000","message":"True. Thanks for pointing this.","commit_id":"9029401a3ddfb4b9f82af1c1a079ebee5a39f59a"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"b511e51ae2aba1aca204242dd700cd75a782d6c4","unresolved":false,"context_lines":[{"line_number":163,"context_line":""},{"line_number":164,"context_line":"def from_exception(exception):"},{"line_number":165,"context_line":"    \"\"\""},{"line_number":166,"context_line":"    Return an instance of ClientException or subclass based on"},{"line_number":167,"context_line":"    keystoneclient.openstack.common.apiclient.exceptions.HttpError"},{"line_number":168,"context_line":"    or subclass."},{"line_number":169,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"ba3cc151_1aabbfd7","line":166,"updated":"2015-07-07 18:31:36.000000000","message":"Please reformat docstring to follow guidelines:\n\nhttp://docs.openstack.org/developer/hacking/#docstrings","commit_id":"9d741220c2536293f774730ca6995ad3a4070f12"}],"cinderclient/tests/unit/test_client.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"b511e51ae2aba1aca204242dd700cd75a782d6c4","unresolved":false,"context_lines":[{"line_number":191,"context_line":"        with mock.patch.object(adapter.Adapter, \u0027request\u0027,"},{"line_number":192,"context_line":"                               side_effect\u003dmock_exception):"},{"line_number":193,"context_line":"            mock_session \u003d mock.Mock()"},{"line_number":194,"context_line":"            mock_session.get_endpoint.return_value \u003d fixture_base.VOLUME_V1_URL"},{"line_number":195,"context_line":"            session_client \u003d cinderclient.client.SessionClient("},{"line_number":196,"context_line":"                session\u003dmock_session)"},{"line_number":197,"context_line":"            self.assertRaises(exceptions.OverLimit,"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba3cc151_ba909396","line":194,"updated":"2015-07-07 18:31:36.000000000","message":"fixture_base is not defined anywhere.","commit_id":"9d741220c2536293f774730ca6995ad3a4070f12"}]}
