FrontPage 

Fuego 1.0 wiki

Login

Fuego directories in split format

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 [edit section]

= 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 [edit section]

= 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 [edit section]

= 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 [edit section]

= 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 ->)
TBWiki engine 1.9.2 by Tim Bird