Fuego Object Details

Here are details about the elements of Docker, Fuego and Jenkins that make up the objects in the system:

Here is a list of objects:

Docker objects [edit section]

docker image [edit section]

A docker image is built when Fuego is installed. It contains a Debian distribution, and tools, libraries, and packages needed to perform test execution and support the Fuego system.

docker container [edit section]

This is runtime instance of the image, that has been instantiated and has persistent state. The container is the object that is actually executed by docker, and which Jenkins and Fuego run inside of, in order to perform tests.

Fuego objects [edit section]

Fuego board [edit section]

A board is defined by:

Also called 'Device' by Jenkins, and 'NODE_NAME' by Jenkins

Fuego test [edit section]

A test is defined by:

Fuego test results [edit section]

Fuego stores results for tests in a number of files.

test elements table [edit section]

Here is the same information in table form

The "test directory" is /fuego-core/engine/tests/{test_name}

A test consists of the following files or items:
File or item  ^ format  ^ location  ^ description  ^ test type  ^
tarfile tar format test directory Has the source code for the test program all
patches patch format test directory Zero or more patches to customize the test program (applied during the unpack phase all
base script shell script test directory Is the shell script that implements the different test phases in Fuego all
test spec JSON test directory Has groups of variables (and their values) that can be used with this test all
test plan(s) JSON /fuego-core/engine/overlays/testplans/testplan_default.json Has the testplan(s) for this test all
test.yaml YAML test directory Has the "manifest" for packaging a test all
p/n logs text test directory Are logs with the results (positive or negative) parsed out, for determination of test pass/fail functional only
parser.py python test directory Python program to parse benchmark metrics out of the test's log, and provide a dictionary of results to Fuego for processing benchmarks only
reference.json Fuego-specific test directory Has the threshold values and comparison operators for benchmark metrics measured by the test benchmarks only
chart_config.json JSON test directory provides the names of metrics to be plotted for this benchmark benchmarks only
criteria.json JSON test directory, or user-specified Provides the criteria for evaluating the results of the test. For example, it can indicate that some testcase results may be ignored. For benchmarks, this indicates threshold values that are used to determine pass or fail for the test.

(See also Adding a new test, Benchmark parser notes, parser.py, reference.log

Fuego run [edit section]

A test run is defined by:

Fuego testplan [edit section]

See Test Specs and Plans for more information.

Jenkins objects [edit section]

Jenkins node [edit section]

Jenkins job [edit section]

Jenkins build [edit section]