Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Test Triggering Structure

Image Removed

When a nightly test begins, the "all-pipeline-trigger" job is built by timer.  This job triggers the "vm-pipeline-trigger", "bm-pipeline-trigger", and "fabric-pipeline-trigger" jobs, which then trigger their corresponding test category pipeline.  Each trigger passes the tests required to be run onto the next trigger/pipeline.  The machine triggers (vm-pipeline-trigger, bm-pipeline-trigger, fabric-pipeline-trigger ) and test category pipelines (FUNC-pipeline-master, HA-pipeline-master, etc.) are run concurrently, but run their corresponding tests in sequential order.

Post Test Execution Details

...


Image Added

Master-Trigger is a Jenkins job that will automatically call any TestON test on any branch.  The job is triggered nightly at 7:30pm PDT to run a set of tests on a specific branch.  However, developers may run the job manually if needed.

When triggered nightly, Master-Trigger reads 3 files: branches.json, tests.json, and schedule.json, to determine the tests to run on a specified branch on a given day.  Then, depending on the selected tests, Master-Trigger will trigger various test category-branch downstream jobs on respective nodes to run the tests.  For example, if FUNCflow and SCPFcbench are scheduled to run today on the onos-1.15 branch, Master-Trigger will pass these tests to FUNC-Pipeline-1.15 on the VM and SCPF-Pipeline-1.15 on the BM, which will run FUNCflow and SCPFcbench, respectively.

Post Test Execution Details


After a test finishes running (in a test category pipeline), test failures are posted to Slack, test results (passed, planned, and failed data) are uploaded to the database, detailed test results containing each case results are posted to the wiki, and a graph plot of the test's results trend is generated and uploaded to the wiki.  The graphs may also be updated manually if any changes are made.