The tools that we’ve used to develop Keystone have changed a bit over the years. As I work on some long standing bugs, I’ve had to learn what the latest tools are, and how to use them. Recently I had to track down the cause of a failed Tempest run. Here are the steps I went through to find the trace.
First, lets start with a failure of a review that I submitted. This failed, not in the unit tests, but in the functional tests. I had not run against a full tempest suite, not suspecting that the tests would fail there, but they did.
Note the tempest failure on legacy-tempest-dsvm-py35. Since this is a voting check, if I don’t get the test to pass, the review will not merge. This is a clickable link, and clicking on it brings me to the top level page with a little guide to the test run:
This does not give a lot to work with. What I want is the test output. You can see that in the past I’ve clicked on logs (it is a more reddish shade than the blue links). That brings up the cached logs.
Scroll down to the bottom to find the link for tempest logs.
The tempest log output looks like this:
And clicking on the blue “fail” link for expands the stack trace, telling me what actually failed.
Here I can read the stack trace and see it was calling “create_endpoint” which failed due to a policy check.