<div dir="ltr">An update. <div>It turns out that my heat branch is messed up by an obsolete api folder, which is supposed to be superseded by api.py.  </div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Aug 19, 2013 at 11:01 AM, XINYU ZHAO <span dir="ltr"><<a href="mailto:xyzjerry@gmail.com" target="_blank">xyzjerry@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi <div>I have run tempest full test multiple times based on the latest code base of master, but it always failed here: </div>
<div>I have checked the heat code , i don't find any reason why  extract_args can't be imported. </div>
<div>Could anybody help, thanks!<br><div><pre style="white-space:pre-wrap;word-wrap:break-word">======================================================================
FAIL: tempest.api.orchestration.stacks.test_stacks.StacksTestJSON.test_stack_crud_no_resources[gate,smoke]
tempest.api.orchestration.stacks.test_stacks.StacksTestJSON.test_stack_crud_no_resources[gate,smoke]
----------------------------------------------------------------------
_StringException: Empty attachments:
  stderr
  stdout

Traceback (most recent call last):
  File "tempest/api/orchestration/stacks/test_stacks.py", line 50, in test_stack_crud_no_resources
    stack_name, self.empty_template)
  File "tempest/api/orchestration/base.py", line 70, in create_stack
    parameters=parameters)
  File "tempest/services/orchestration/json/orchestration_client.py", line 57, in create_stack
    resp, body = self.post(uri, headers=headers, body=body)
  File "tempest/common/rest_client.py", line 259, in post
    return self.request('POST', url, headers, body)
  File "tempest/common/rest_client.py", line 387, in request
    resp, resp_body)
  File "tempest/common/rest_client.py", line 437, in _error_checker
    raise exceptions.BadRequest(resp_body)
BadRequest: Bad request
Details: {u'title': u'Bad Request', u'explanation': u'The server could not comply with the request since it is either malformed or otherwise incorrect.', u'code': 400, u'error': {u'message': u"'module' object has no attribute 'extract_args'", u'traceback': u'Traceback (most recent call last):\n\n  File "/opt/stack/new/heat/heat/openstack/common/rpc/amqp.py", line 435, in _process_data\n    **args)\n\n  File "/opt/stack/new/heat/heat/openstack/common/rpc/dispatcher.py", line 172, in dispatch\n    result = getattr(proxyobj, method)(ctxt, **kwargs)\n\n  File "/opt/stack/new/heat/heat/engine/service.py", line 55, in wrapped\n    return func(self, ctx, *args, **kwargs)\n\n  File "/opt/stack/new/heat/heat/engine/service.py", line 248, in create_stack\n    common_params = api.extract_args(args)\n\nAttributeError: \'module\' object has no attribute \'extract_args\'\n', u'type': u'AttributeError'}}


======================================================================
FAIL: process-returncode
process-returncode
----------------------------------------------------------------------
_StringException: Binary content:
  traceback (test/plain; charset="utf8")


----------------------------------------------------------------------
Ran 1177 tests in 2383.519s

FAILED (failures=2, skipped=65)
Test id                                 </pre></div></div></div>
</blockquote></div><br></div>