Fuego_directories 

Fuego 1.0 wiki

Login

Fuego directories

This page describes the fuego directory structure, and what the items in each area are used for.

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

TBWiki engine 1.9.2 by Tim Bird