Add an helper for VCS cloning

Still to implement:
 * tar and url support

Change-Id: I0ce7dd2fbf94c7f32f4907b64ef8caa965c85b67
Add a refactored SignalDirector

Outline support for dependent test definitions, parameters or install:deps
Integrate handling of testcase results into TestAction.
Base Connection on the Job so that any Connection has access to both
 the device and the dynamic pipeline_data in the job context.
Populate lava-test-case results into the pipeline data.
Split out Connection classes
Handle keep_running inside the TestAction to easily associate
 test results with a TestAction.
Add Timeout support

Change-Id: Icf46f779fcc0ca89b16b65af4cf3b55feeda2163
Add Failure Retry and Diagnostics support

Add unit tests for failure-retry and Diagnostic classes.
Completes LAVA-1379.

Change-Id: I8fb73e8f5e959acda9f96ed2ced94c915c24fcb4
Pipeline: fix random failures in the test suite

lava_dispatcher.pipeline.test.test_defs.TestDefinitionHandlers.test_overlay is
failing on my machine because the elements in the list are not in the same
order.
See the Traceback:
  File "lava_dispatcher/pipeline/test/test_defs.py", line 112, in test_overlay
    self.assertEqual(check_list, script_list)
AssertionError: Lists differ: ['lava-vm-groups-setup-host', ... != ['lava-test-case', 'lava-add-k...

Using assertItemsEqual (python >= 2.7) allows to check that both list contains
the same elements, even if the order is different.

Change-Id: I9345e19e142fcd7a389279300240d36541216296
Migrate deployment data

LAVA-1603, LAVA-1545 - drop references to old
LavaContext and lava_dispatcher.config calls and
use NewDevice in the pipeline.

Change-Id: I2525611fa718b0aa8551a013b5bc6a3b1c349241
Improve test shell handling

LAVA-1419 - also fix the loghandler usage in the
Connection.

Change-Id: I0898c2b9851b705f34ff73527249a562826c5bbe
Remove remaining sign of the pipeline_data

Change-Id: If428723c3b2f22a5bdad6067082741ae7a84e3ba
Pipeline: move some functions to a utils module.

The folowing function are now available:
 * filesystem.rmtree
 * filesystem.mkdtemp
 * shell.which
 * strings.indices

Change-Id: Ic9fdac5d24ac40d09bed0ef49e06474c3c1a902e
Replace 'if k not in X:...' by setdefault

setdefault gives the exact same result while reducing the code size.

Change-Id: I35b44b46f442dd059458d1c31127305197a0b604
Add some FiXMEs

Change-Id: I9a4a419b67216119bf852fc7c3528da1d744f7af
Deployment: remove one uneeded function

Change-Id: If66117e68383a115c97a01eb32ca145a82c75e91
Give the current parameters to the created action

The parameters are then available during the populate stage which is required
to change the internal pipeline according to the job.
For instance, handling a qcow2 image is now way easier and can be done in the
populate function.

Change-Id: I5e8263e81ba393522873498778371cdab7ec6745
Handle qcow2 images

The pipeline is now able to check if the filename looks like one of a qcow2
image. In this case a conversion action is added in the pipeline to convert
into raw.

Change-Id: I9bfe7d145ac02e8edbac2db91e01e7b449c7bc82
Validate every pipeline element, then raise errors

This will helps users to fix all errors in one shot.

Change-Id: I3669815657eed6cde1f09f3228146ba6361f8629
Implement AutoLogin action

Change-Id: I6036928eb2ff14178d307853ebd5bac3bc9c8834
nfs exports: make async default

Sync in exports causes abysmal performance. We had this problem
in linaro lab, and also on my fresh install.

Since the data lava exports over nfs is ephemeral, async is a safe
option.

Change-Id: I1b2c93de43e2c17bbc3be1502b470df03b33130e
Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
LAVA-1539 - Support for parameters in git-repos section of yaml

 * LAVA-1616 - Parameters within git-repos section of YAML
 * LAVA-1617 - Control parameters within git-repos section from job definition

Change-Id: Ic5e9ebab6df23702973c1e1fa27d7afc14990179
LAVA-1538: Add the ability to process params within the install section

 * LAVA-1618 Expose few parameters from JSON to YAML

Change-Id: I521001b34b19d84009f84983f767ae21be0ed92c
Remove FIXME that indicates usage of ast.literal_eval which was fixed.

Change-Id: I9014aabf821cc874b9c3266d723a106265eb8d59
Refresh the overlay class

LAVA-1586 - Use idempotent MultiNode and LMP actions
Create a separate overlay tarball and retain as part
of the final job.

Change-Id: I9bfcb3b1cb8ee98a94ae6c3946f07b1caf49dec8