The second time the stack is delete is attempted the delete succeeds.
2014-04-17 15:35:54.174 ERROR heat.engine.parser [-] You are not authorized to perform the requested action. (HTTP 403)
2014-04-17 15:35:54.174 TRACE heat.engine.parser Traceback (most recent call last):
2014-04-17 15:35:54.174 TRACE heat.engine.parser File "/home/steveb/dev/localstack/heat/heat/engine/parser.py", line 667, in delete
2014-04-17 15:35:54.174 TRACE heat.engine.parser self.clients.keystone().delete_trust(trust_id)
2014-04-17 15:35:54.174 TRACE heat.engine.parser File "/home/steveb/dev/localstack/heat/heat/common/heat_keystoneclient.py", line 255, in delete_trust
2014-04-17 15:35:54.174 TRACE heat.engine.parser self.client.trusts.delete(trust_id)
2014-04-17 15:35:54.174 TRACE heat.engine.parser File "/home/steveb/dev/localstack/python-keystoneclient/keystoneclient/v3/contrib/trusts.py", line 87, in delete
2014-04-17 15:35:54.174 TRACE heat.engine.parser return super(TrustManager, self).delete(trust_id=base.getid(trust))
2014-04-17 15:35:54.174 TRACE heat.engine.parser File "/home/steveb/dev/localstack/python-keystoneclient/keystoneclient/base.py", line 66, in func
2014-04-17 15:35:54.174 TRACE heat.engine.parser return f(*args, **new_kwargs)
2014-04-17 15:35:54.174 TRACE heat.engine.parser File "/home/steveb/dev/localstack/python-keystoneclient/keystoneclient/base.py", line 360, in delete
2014-04-17 15:35:54.174 TRACE heat.engine.parser self.build_url(dict_args_in_out=kwargs))
2014-04-17 15:35:54.174 TRACE heat.engine.parser File "/home/steveb/dev/localstack/python-keystoneclient/keystoneclient/base.py", line 197, in _delete
2014-04-17 15:35:54.174 TRACE heat.engine.parser return self.client.delete(url)
2014-04-17 15:35:54.174 TRACE heat.engine.parser File "/home/steveb/dev/localstack/python-keystoneclient/keystoneclient/httpclient.py", line 605, in delete
2014-04-17 15:35:54.174 TRACE heat.engine.parser return self._cs_request(url, 'DELETE', **kwargs)
2014-04-17 15:35:54.174 TRACE heat.engine.parser File "/home/steveb/dev/localstack/python-keystoneclient/keystoneclient/httpclient.py", line 582, in _cs_request
2014-04-17 15:35:54.174 TRACE heat.engine.parser return self.request(url, method, **kwargs)
2014-04-17 15:35:54.174 TRACE heat.engine.parser File "/home/steveb/dev/localstack/python-keystoneclient/keystoneclient/httpclient.py", line 564, in request
2014-04-17 15:35:54.174 TRACE heat.engine.parser resp = super(HTTPClient, self).request(url, method, **kwargs)
2014-04-17 15:35:54.174 TRACE heat.engine.parser File "/home/steveb/dev/localstack/python-keystoneclient/keystoneclient/baseclient.py", line 21, in request
2014-04-17 15:35:54.174 TRACE heat.engine.parser return self.session.request(url, method, **kwargs)
2014-04-17 15:35:54.174 TRACE heat.engine.parser File "/home/steveb/dev/localstack/python-keystoneclient/keystoneclient/utils.py", line 318, in inner
2014-04-17 15:35:54.174 TRACE heat.engine.parser return func(*args, **kwargs)
2014-04-17 15:35:54.174 TRACE heat.engine.parser File "/home/steveb/dev/localstack/python-keystoneclient/keystoneclient/session.py", line 251, in request
2014-04-17 15:35:54.174 TRACE heat.engine.parser raise exceptions.from_response(resp, method, url)
2014-04-17 15:35:54.174 TRACE heat.engine.parser Forbidden: You are not authorized to perform the requested action. (HTTP 403)
2014-04-17 15:35:54.174 TRACE heat.engine.parser
Any steps to reproduce? I've never seen this problem (unless you try to delete the stack as a different user the first time?) so more info on how you triggered it would be most helpful :)