Fuego directories in 'raw' format
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 * '''/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 ->)