I'm getting an error from Keystone whenever I try to signal a Heat WaitCondition. I'm trying to figure out if this is a bug or me simply not understanding how everything is supposed to communicate.
When trying to signal a WaitConditionHandle, I see in api-cfn.log that Heat gets as far as: DEBUG urllib3.connectionpool [-] "POST /v2.0/ec2tokens HTTP/1.1" 500 183 _make_request /usr/lib/python2.7/site-packages/urllib3/connectionpool.py:330 At this point, Keystone logs the following: ERROR keystone.common.wsgi [-] 'unicode' object has no attribute 'get' TRACE keystone.common.wsgi Traceback (most recent call last): TRACE keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/common/wsgi.py", line 238, in __call__ TRACE keystone.common.wsgi result = method(context, **params) TRACE keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/contrib/ec2/controllers.py", line 96, in authenticate TRACE keystone.common.wsgi creds_ref = self._get_credentials(credentials['access']) TRACE keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/contrib/ec2/controllers.py", line 237, in _get_credentials TRACE keystone.common.wsgi return self._convert_v3_to_ec2_credential(creds) TRACE keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/contrib/ec2/controllers.py", line 222, in _convert_v3_to_ec2_credential TRACE keystone.common.wsgi 'access': blob.get('access'), TRACE keystone.common.wsgi AttributeError: 'unicode' object has no attribute 'get' TRACE keystone.common.wsgi The HOT template looks (partially) like this: wait0_handle: type: AWS::CloudFormation::WaitConditionHandle wait0: type: AWS::CloudFormation::WaitCondition properties: Handle: {get_resource: wait0_handle} Timeout: 1800 instance0: type: OS::Nova::Server properties: flavor: {get_param: flavor} image: {get_param: image} key_name: { get_param: key_name } networks: - port: { get_resource: instance0_eth0 } user_data: str_replace: template: | #!/bin/sh cat > /root/wait-url.txt <<EOF WAIT_URL EOF params: WAIT_URL: {"Ref": wait0_handle} And I end up with a URL that looks like this: http://192.168.200.1:8000/v1/waitcondition/arn%3Aopenstack%3Aheat%3A%3A28a490a259974817b88ce490a74df8d2%3Astacks%2Fs0%2F36b013ca-1e46-4340-bf0e-44a609ae6758%2Fresources%2Fwait0_handle?Timestamp=2014-01-31T02%3A09%3A16Z&SignatureMethod=HmacSHA256&AWSAccessKeyId=cd6fbf4ebaed4ea1886ead9f98451f5a&SignatureVersion=2&Signature=9c2bvEYoedkm3uQwVOAcIA5xxy3x9q%2BO1KncY8Eeo%2BQ%3D I've tried signaling this both using cfn-signal and using the generated curl commandline directly. I'm using a recent (sometime this past week) Heat master, and Keystone 2013.2.1. -- Lars Kellogg-Stedman <l...@redhat.com> | larsks @ irc Cloud Engineering / OpenStack | " " @ twitter
pgp8V8FiAvkw_.pgp
Description: PGP signature
_______________________________________________ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev