Fuego directories
Inside the container [edit section]
- /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
- overlays -
- 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)
- builds - data about all test runs for this test
- Benchmark.foo
- 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
- buildzone - symlink to /userdata/buildzone
- /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
- Benchmark.foo - log files for each the 'foo' test, including Benchmark.foo.info.json, Benchmark.foo.<metric>.json, plot.data and plot.png
- 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
in the fuego source repository [edit section]
- 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 [edit section]
- 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
- overlays - has the fuego script system and data
- 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 [edit section]
- 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 ->)