Questions 

Fuego 1.0 wiki

Login or create account

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 ->)












TBWiki engine 1.8.3 by Tim Bird