Hi All,

This is a brain dump of what I learned about running LAVA today.

Dave will probably find a place for this in the Validation wiki, but I'll pass it round in the meantime.

Hope it helps

Andrew
1. Get permission to schedule tests on validation.linaro.org:

  Click "sign in" at top right of the website, select launchpad.net
  log in option, ensure that your name, username, and email address are
  checked, and sign in. Then, contact the validation team, and ask them
  to add the correct permissions to your account.

2. Install the lava client tools:

  sudo add-apt-repository ppa:linaro-validation/ppa
  sudo apt-get update
  sudo apt-get install lava-scheduler-tool lava-dashboard-tool

3. Create an Authorization Token on validation.linaro.org:

  Click "API"
      -> "Tokens"
      -> "create" (on right)
      -> "Create Token"
      -> "Toggle"

  A long token string should be displayed.

4. Install the token on you machine:

  lava-tool auth-add https://use...@validation.linaro.org/lava-server/RPC2/

5. Create a personal test stream to store your test results:

  This may not be necessary if you wish to post your results to one of the
  existing streams on validation.linaro.org.

  lava-dashboard-tool make-stream \
       --dashboard-url http://validation.linaro.org/lava-server/RPC2/ \
       /anonymous/USERNAME/

6. Create a job file:

  This example just runs the 'stream' basic test which is built into lava-test.

  You need to select suitable rootfs and hwpack tar files. It's easiest to
  select some from releases.linaro.org or snapshots.linaro.org. Beware that
  not all images work - you can get a clue about recent images from the
  validation.linaro.org home page.

---jobfile1.json-----------------------------
{
  "job_name": "foo",
  "device_type": "panda",
  "timeout": 18000,
  "actions": [
    {
      "command": "deploy_linaro_image",
      "parameters":
        {
          "rootfs": "ROOTFS-URL-HERE",
          "hwpack": "HWPACK-URL-HERE"
        }
    },
    {
      "command": "lava_test_install",
      "parameters":
        {
            "tests": ["stream"]
        }
    },
    {
      "command": "boot_linaro_image"
    },
    {
      "command": "lava_test_run",
      "parameters":
        {
          "test_name": "stream"
        }
    },
    {
      "command": "submit_results",
      "parameters":
        {
          "server": "http://validation.linaro.org/lava-server/RPC2/";,
          "stream": "/anonymous/USERNAME/"
        }
    }
  ]
}
--------------------------------------

7. Submit the test to the LAVA scheduler

  lava-tool submit-job \
        https://use...@validation.linaro.org/lava-server/RPC2/ \
        jobfile1.json 



==============

If you want to run a custom test not pre-installed with lava-test,
i.e. an "Out-of-Tree Test", this can be done too.

1. Wrap up your testsuite in a tar file with a simple script

  This can look like whatever you like, it just needs to do the right
  thing when invoked.

2. Post your testfile to a public place.

  people.linaro.org is a good place.

3. Create a "Test Definition File".

  This gives what commands need to be executed to install and launch
  your test file.

  So, for example, this installs bzr, downloads and untars a file,
  runs a script, and uses the standard regex for recognising PASS
  or FAIL lines:

--simple-oot-test.json--------------------------------------
{
    "format": "Lava-Test Test Definition 1.0",
    "test_id": "mwhudson-dummy",
    "install": {
        "deps": ["bzr"]
        "url": http://people.linaro.org/...";
        "steps": ["bzr branch ....", "tar xf ...."],
    },
    "run": {
        "steps": ["mytestdir/go-script some parameters"]
    },
    "parse": {
        "native": true
    }
}
------------------------------------------------

4. Create a job file.

  This is exactly the same as the job file above, but references the
  definition file:

--jobfile2.json----------------------------------
{
  "job_name": "foo",
  "device_type": "panda",
  "timeout": 18000,
  "actions": [
    {
      "command": "deploy_linaro_image",
      "parameters":
        {
          "rootfs": "ROOTFS_URL_HERE",
          "hwpack": "HWPACK_URL_HERE"
        }
    },
    {
      "command": "lava_test_install",
      "parameters":
        {
            "tests": ["my-out-of-tree-test"],
            "register": ["http://people.linaro.org/..../simple-oot-test.json";]
        }
    },
    {
      "command": "boot_linaro_image"
    },
    {
      "command": "lava_test_run",
      "parameters":
        {
          "test_name": "my-out-of-tree-test"
        }
    },
    {
      "command": "submit_results",
      "parameters":
        {
          "server": "http://validation.linaro.org/lava-server/RPC2/";,
          "stream": "/anonymous/USERNAME/"
        }
    }
  ]
}
------------------------------------------------

5. Submit the job, as before.

  lava-tool submit-job \
       https://use...@validation.linaro.org/lava-server/RPC2/ \
       jobfile2.json 

_______________________________________________
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain

Reply via email to