Change for changing the global requirements https://review.openstack.org/#/c/146049/. Adding nova for implementing HMAC-V4 support. Nova expects a 'Signature' named header, which is now part of the 'Authorization'. The issue can be reproduced with euca2ools: # source /opt/stack/new/devstack/accrc/demo/demo # euca-describe-keypairs --debug 2015-01-09 13:14:32,349 euca2ools [DEBUG]:Using access key provided by client. 2015-01-09 13:14:32,350 euca2ools [DEBUG]:Using secret key provided by client. 2015-01-09 13:14:32,351 euca2ools [DEBUG]:Method: POST 2015-01-09 13:14:32,351 euca2ools [DEBUG]:Path: /services/Cloud/ 2015-01-09 13:14:32,352 euca2ools [DEBUG]:Data: 2015-01-09 13:14:32,352 euca2ools [DEBUG]:Headers: {} 2015-01-09 13:14:32,352 euca2ools [DEBUG]:Host: 172.16.40.26 2015-01-09 13:14:32,353 euca2ools [DEBUG]:Port: 8773 2015-01-09 13:14:32,353 euca2ools [DEBUG]:Params: {'Action': 'DescribeKeyPairs', 'Version': '2010-08-31'} 2015-01-09 13:14:32,354 euca2ools [DEBUG]:establishing HTTP connection: kwargs={'port': 8773, 'timeout': 70} 2015-01-09 13:14:32,354 euca2ools [DEBUG]:Token: None 2015-01-09 13:14:32,355 euca2ools [DEBUG]:CanonicalRequest: POST /services/Cloud/ host:172.16.40.26:8773 x-amz-date:20150109T131432Z host;x-amz-date 93691be75657638bb0188c9dd56303b89bb2818598871011d73eee11e14e0cec 2015-01-09 13:14:32,356 euca2ools [DEBUG]:StringToSign: AWS4-HMAC-SHA256 20150109T131432Z 20150109/16/172/aws4_request f8748433ff623a4e9cbd616ef63ebe6e506b36f1fd341a41983c955e59b82de7 2015-01-09 13:14:32,357 euca2ools [DEBUG]:Signature: 2dfa2098a8b893cec02f42b0e2abbe7ae5c6077ca1e5d8e1426cad5621e93e24 2015-01-09 13:14:32,357 euca2ools [DEBUG]:Final headers: {'Content-Length': '42', 'User-Agent': 'Boto/2.35.0 Python/2.7.5 Linux/3.17.7-200.fc20.x86_64', 'Host': '172.16.40.26:8773', 'X-Amz-Date': '20150109T131432Z', 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8', 'Authorization': 'AWS4-HMAC-SHA256 Credential=6d8332aeeeb94e11bb23d4fc09c0a0f3/20150109/16/172/aws4_request,SignedHeaders=host;x-amz-date,Signature=2dfa2098a8b893cec02f42b0e2abbe7ae5c6077ca1e5d8e1426cad5621e93e24'} send: 'POST /services/Cloud/ HTTP/1.1\r\nAccept-Encoding: identity\r\nContent-Length: 42\r\nUser-Agent: Boto/2.35.0 Python/2.7.5 Linux/3.17.7-200.fc20.x86_64\r\nHost: 172.16.40.26:8773\r\nX-Amz-Date: 20150109T131432Z\r\nContent-Type: application/x-www-form-urlencoded; charset=UTF-8\r\nAuthorization: AWS4-HMAC-SHA256 Credential=6d8332aeeeb94e11bb23d4fc09c0a0f3/20150109/16/172/aws4_request,SignedHeaders=host;x-amz-date,Signature=2dfa2098a8b893cec02f42b0e2abbe7ae5c6077ca1e5d8e1426cad5621e93e24\r\n\r\nAction=DescribeKeyPairs&Version=2010-08-31' reply: 'HTTP/1.1 400 Bad Request\r\n' header: Content-Type: text/xml header: Content-Length: 203 header: Date: Fri, 09 Jan 2015 13:14:32 GMT 2015-01-09 13:14:32,365 euca2ools [DEBUG]:Response headers: [('date', 'Fri, 09 Jan 2015 13:14:32 GMT'), ('content-length', '203'), ('content-type', 'text/xml')] 2015-01-09 13:14:32,366 euca2ools [DEBUG]: AuthFailureSignature not providedreq-5e70be08-7c34-4cf7-84f3-e907a7c4765c 2015-01-09 13:14:32,366 euca2ools [ERROR]:400 Bad Request 2015-01-09 13:14:32,366 euca2ools [ERROR]: AuthFailureSignature not providedreq-5e70be08-7c34-4cf7-84f3-e907a7c4765c AuthFailure: Signature not provided