When I run my tests with passfail criteria set with provisioning: cloud or -cloud, bzt exits with code 0 even if some of the criteria are met.
I have narrowed the issue down to the URL used for querying thresholds in the post_process sequence. Currently the URL is:
/api/v4/masters/%s/reports/thresholds?external=false&source=default
For me, calling this URL does not seem to return the expected data. Every entry has success: true and no other information save for session IDs:
{
"success": true,
"stop": false,
"assertions": [],
"sessionId": "<REDACTED>"
}
Calling /api/v4/masters/%s/reports/thresholds (without the query parameters) on the other hand, provide a much more useful view, with all my thresholds and, critically, with success: false on the failed criteria.
{
"id": "<REDACTED>",
"field": "errors.percent",
"ignoreRampupTime": 0,
"labelId": "<REDACTED>",
"op": "gt",
"range": -1,
"stopTestOnViolation": true,
"success": false,
"threshold": 0.10000000000000001,
"value": 99.900895301765402,
"created": 1761854549,
"updated": 1761854848,
"masterId": <REDACTED>,
"testId": <REDACTED>,
"violations": []
}
However, save for correctly providing success, this still doesn't match the structure expected by CloudProvisioning.post_process:
{
"success": false,
"assertions": [
{
"success": false,
"field": "",
"label": ""
}
]
}
Is this a configuration issue on my end, or a bug in Taurus?
When I run my tests with
passfailcriteria set withprovisioning: cloudor-cloud,bztexits with code 0 even if some of the criteria are met.I have narrowed the issue down to the URL used for querying thresholds in the
post_processsequence. Currently the URL is:For me, calling this URL does not seem to return the expected data. Every entry has
success: trueand no other information save for session IDs:{ "success": true, "stop": false, "assertions": [], "sessionId": "<REDACTED>" }Calling
/api/v4/masters/%s/reports/thresholds(without the query parameters) on the other hand, provide a much more useful view, with all my thresholds and, critically, withsuccess: falseon the failed criteria.{ "id": "<REDACTED>", "field": "errors.percent", "ignoreRampupTime": 0, "labelId": "<REDACTED>", "op": "gt", "range": -1, "stopTestOnViolation": true, "success": false, "threshold": 0.10000000000000001, "value": 99.900895301765402, "created": 1761854549, "updated": 1761854848, "masterId": <REDACTED>, "testId": <REDACTED>, "violations": [] }However, save for correctly providing
success, this still doesn't match the structure expected by CloudProvisioning.post_process:{ "success": false, "assertions": [ { "success": false, "field": "", "label": "" } ] }Is this a configuration issue on my end, or a bug in Taurus?