waiverdb-cli

Synopsis

waiverdb-cli [OPTIONS]

Description

waiverdb-cli is a CLI tool for reading and modifying WaiverDB (companion service to ResultsDB, for recording waivers against).

Options

-C, --config-file PATH

Specify a config file to use.

-r, --result-id INTEGER

Specify one or more results to be waived.

-s, --subject TEXT

Deprecated. Use –subject-identifier and –subject-type instead. Subject for a result to waive.

-i, --subject-identifier TEXT

Subject identifier for a result to waive.

-T, --subject-type TEXT

Subject type for a result to waive.

-t, --testcase TEXT

Specify a testcase for the subject.

-S, --scenario SCENARIO

Specify a scenario for a result to waive.

-p, --product-version TEXT

Specify one of PDC’s product version identifiers.

--waived, --no-waived

Whether or not the result is waived.

-c, --comment TEXT

A comment explaining why the result is waived.

-u, --username TEXT

Username on whose behalf the caller is proxying.

-h, --help

Print usage help and exit.

Note

Usually, subject_identifier must match item result’s data in ResultsDB.

Usually, subject_type must match type in ResultsDB.

And there is no restriction for subject_type and subject_identifier, so the basic info on how to figure out the identifier is as following:

If the result is failed, user can check the value of item in ResultsDB:

  • https://taskotron.fedoraproject.org/resultsdb_api/api/v2.0/results/{ID}

If the result is missing, they can get the value from previous waivers or results of the same subject_type/type:

  • https://waiverdb.fedoraproject.org/api/v1.0/waivers/?subject_type={subject_type}

  • https://taskotron.fedoraproject.org/resultsdb_api/api/v2.0/results?type={subject_type}

If user does not even know the type, they can list all distinct types for the failed test case:

  • https://taskotron.fedoraproject.org/resultsdb_api/api/v2.0/results/latest?_distinct_on=type&testcases={testcases}

Files

/usr/share/doc/waiverdb/client.conf.example

Template for configuration file.

/etc/waiverdb/client.conf

Default configuration file.

Examples

Waive test results with IDs 47 and 48 and specific product version:

waiverdb-cli -r 47 -r 48 -p "fedora-28" -c "This is fine"

Waive test results with specific subject and product version:

waiverdb-cli -t dist.rpmdeplint \
    -s '{"item": "qclib-1.3.1-3.fc28", "type": "koji_build"}' \
    -p "fedora-28" -c "This is expected for non-x86 packages"

Waive test results with a specific subject and scenario:

waiverdb-cli -t update.install_default_update_live \
    -i FEDORA-2020-a70501de3d -T koji_build \
    -S "fedora.updates-everything-boot-iso.x86_64.uefi" \
    -c "This is ok"