This page describes the fuego directory structure, and what the items in each area are used for.
|
This page describes the fuego directory structure, and what the items in each area are used for.
|
|
= Inside the container =
* '''/home/jenkins''' - the Jenkins "home" directory - were results and data live
* '''buildzone''' - symlink to /userdata/buildzone
* This is where test programs are built
* '''fuego''' - directory for fuego back-end system
* This is populated from the fuego-core repository when the container is created, and provides landing places for other symlinks in the system
* '''engine'''
* '''overlays''' -
* '''base''' - contains the base fuego functions and variables
* '''distribs''' - contains files for defining different targert distribution attributes
* '''testplans''' - contains testplan files (in json format)
* '''test_specs''' - contains test spec files (in json format)
* Note that each spec is in a named file (eg. Functional.bc.spec) in this directory
* '''scripts''' - core scripts which implement the Fuego test framework
* '''tests''' - actual test materials themselves, including the base script for each test
* '''Benchmark.foo''' - has the tarfile, patches, base script, parser.py and reference.log for a particular benchmark test
* '''Functional.bar''' - has the tarfile, patches, base script, results comparison logs (*_p.log and *_n.log) for a particular functional test
* '''jobs''' - holds the Jenkins test definition files (config.xml for each test) as well as test output for each test run
* '''Benchmark.foo'''
* '''builds''' - data about all test runs for this test
* '''''<timestamp>''''' - jenkins data and console log for a particular test run (build.xml and log)
* '''logs''' - symlink to /userdata/logs
* '''overlays''' - symlink to fuego/engine/overlays
* '''scripts''' - symlink to fuego/engine/scripts
* '''tests''' - symlink to fuego/engine/tests
* '''work''' - symlink to /userdata/work
|
- /userdata - has runtime data be used by the fuego system in the container, and actually stored on the host (for persistence)
* Note that this is volume-mounted from inside the container to the host system
* buildzone - place where test programs are built
* Functional.foo-platform-name - directory for build materials for that test and platform combination
* conf - place where Jenkins configuration is stored
* boards - place for board configuration files
* logs - place where test run logs are stored
* Benchmark.foo - log files for each the 'foo' test, including Benchmark.foo.info.json, Benchmark.foo.<metric>.json, plot.data and plot.png
* devlogs - developer logs for test runs (from inside the container)
* systemlogs - system logs for test runs (from the target)
* testlogs - test logs for test runs (from the actual test programs)
* Functional.bar - log files for the 'bar' test
* slaves - has Jenkins control logs for each target board
* <target> - has the slave logs for the indicated target
* toolchains - place where toolchains may be installed
* work - a working directory where temp files reside
|
* '''/userdata''' - has runtime data be used by the fuego system in the container, and actually stored on the host (for persistence)
* Note that this is volume-mounted from inside the container to the host system
* '''buildzone''' - place where test programs are built
* '''Functional.foo-''platform-name''''' - directory for build materials for that test and platform combination
* '''conf''' - place where Jenkins configuration is stored
* '''boards''' - place for board configuration files
* '''logs''' - place where test run logs are stored
* '''Benchmark.foo''' - log files for each the 'foo' test, including Benchmark.foo.info.json, Benchmark.foo.<metric>.json, plot.data and plot.png
* '''devlogs''' - developer logs for test runs (from inside the container)
* '''systemlogs''' - system logs for test runs (from the target)
* '''testlogs''' - test logs for test runs (from the actual test programs)
* '''Functional.bar''' - log files for the 'bar' test
* '''slaves''' - has Jenkins control logs for each target board
* '''''<target>''''' - has the slave logs for the indicated target
* '''toolchains''' - place where toolchains may be installed
* '''work''' - a working directory where temp files reside
|
- /var/lib/jenkins - - where Jenkins system configuration and data files live
* jobs - symlink to /home/jenkins/fuego/jobs
* logs - symlink to /userdata/logs
* plugins - place where Jenkins stores plugin code and data
* this is populated from the fuego source repository frontend-install/plugins when the container is created
* scriptler - symlink to /home/jenkins/fuego/plugins-conf/scriptler
* the linked directory is populated from frontend-install/... when the container is created
* userContent - material that is served by Jenkins for the user interface
* updates - used for Jenkins update operations
|
* '''/var/lib/jenkins''' - - where Jenkins system configuration and data files live
* '''jobs''' - symlink to /home/jenkins/fuego/jobs
* '''logs''' - symlink to /userdata/logs
* '''plugins''' - place where Jenkins stores plugin code and data
* this is populated from the fuego source repository frontend-install/plugins when the container is created
* '''scriptler''' - symlink to /home/jenkins/fuego/plugins-conf/scriptler
* the linked directory is populated from frontend-install/... when the container is created
* '''userContent''' - material that is served by Jenkins for the user interface
* '''updates''' - used for Jenkins update operations
|
|
= in the fuego source repository =
* '''container-cfg''' - has data files used to customize the container configuration
* '''docs''' - contains documentation for the Fuego system
* '''frontend-install''' - has material for configuring the Jenkins installation for Fuego (including the Debian package containing a fixed version of Jenkins)
* '''jenkins-updates''' - has scripts and data to customize jenkins to present the Fuego interface
* '''plugins''' - has plugins used by Jenkins
* Note that these are in their installed form, not a set of plugin packages.
* '''plugins-src''' - has source code for one custom Jenkins plugin (the flot-plotter plugin)
* '''fuego-host-scripts''' - contains scripts for creating and launching the fuego container
* '''fuego-scripts''' - contains miscellaneous scripts used at container build time and runtime
* '''userdata''' - has runtime data be used by the fuego system in the container
* Note that this is linked to /userdata inside the container
* '''buildzone''' - place where test programs are built
* '''conf''' - place where Jenkins configuration and Fuego board files are stored
* '''boards''' - has board files
* '''logs''' - place where test run logs are stored
* tests.info file
* '''toolchains''' - place where toolchains may be installed
* '''work''' - a working directory where temp files reside
|
|
= in the fuego-core source repository
* '''engine''' - this contains the main fuego engine (the back-end scripts and suporting data files)
* '''overlays''' - has the fuego script system and data
* '''base''' - contains the base fuego functions and variables
* '''distribs''' - contains files for defining different targert distribution attributes
* '''testplans''' - contains testplan files (in json format)
* '''test_specs''' - contains test spec files (in json format)
* Note that each spec is in a named file (eg. Functional.bc.spec) in this directory
* '''scripts''' - core scripts which implement the Fuego test framework
* '''tests''' - has the actual test materials themselves, including the base script for each test
* '''Benchmark.foo''' - has the tarfile, patches, base script, parser.py and reference.log for a particular benchmark test
* '''Functional.bar''' - has the tarfile, patches, base script, results comparison logs (*_p.log and *_n.log) for a particular functional test
* '''jobs''' - holds the Jenkins test definition files
* '''Benchmark.foo''' - has Jenkins test definition files for test 'foo'
* '''Functional.bar''' - has Jenkins test definition files for test 'bar'
* '''plugins-conf''' - has files and data for plugin configuration
* '''scriptler''' - has some Jenkins groovy scripts for collecting populating the user interface with tests, plans and targets
|
|
= file relationships =
* jenkins config (/var/lib/jenkins/config.xml) refers to test definitions?
* tests/<test_name>/config.xml refers to test script
* test script refers to test program (in build area)
* test script refers to target work area
* test script refers to test log
* Jenkins refers to console log (log)
* Jenkins refers to test run instances (build.xml ->)
|