SessionClient uses requests library. It's response class doesn't have "status" property[1], so in case of any errors(with status code > 400), from_response method is called and raises AttributeError. Also, HTTPClient implementation uses requests lib by default[2](if 'http' argument was not transmitted), so from_response method will raise AttributeError too. [1] - http://docs.python-requests.org/en/master/api/#requests.Response.status_code [2] - https://github.com/openstack/python-ceilometerclient/blob/2.6.0/ceilometerclient/openstack/common/apiclient/client.py#L99-L100 Change-Id: Id8fb2f386e8101951716f30a6365c9aa15bd4b24 Closes-Bug: #1620974