taurus icon indicating copy to clipboard operation
taurus copied to clipboard

Cloud Provisioning does not set CLI exit code on met passfail criteria

Open nitrofski opened this issue 2 months ago • 0 comments

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?

nitrofski avatar Oct 31 '25 20:10 nitrofski