fastboot: retry boot and deployment steps

Change-Id: I654f31aa0c7e51549e92eb4c2642b15e691814cc
fastboot: check for connection status in _enter_fastboot

Change-Id: I1f6583cc356a5f0ba523887b1495999a3f532f27
Master/slave: also send the dtb url

Change-Id: I4faf43004cbc04b524983334f1ae6b095d595e20
Add an optional `timelimit` prefix to run_command which can help with hung processes blocking the dispatcher. This is especially helpful on VExpress boards that hang when calling umount. The shell process gets killed so LAVA reboots the board, which in turn disconnects the USB, which clears the umount block. \o/ Win

Change-Id: Ic7129ac81cd3d2a1d5b4a86dfe4a00836760b2c1
Revert "Add an optional `timelimit` prefix to run_command which can help with hung processes blocking the dispatcher. This is especially helpful on VExpress boards that hang when calling umount. The shell process gets killed so LAVA reboots the board, which in tu"

This reverts commit 08453a835f0eecc89de29cfa437185e730fb417b.

Change-Id: I85cae94d4c532631b884ce44406d31da707b4ceb
selinux: rework _image_has_selinux_suport to ensure proper detection

Change-Id: Iac04aa0680ea75500c2364f237b7ccd868a85122
fastboot: catch pexpect timeouts for deployment retries

Change-Id: I62a5828468c456e4e0751876e964c64d0561a453
pipeline: fix some typos

Change-Id: I1070649862d258568dd5a9f2db7716709dec57a3
fastmodels: implement flashloader1

Change-Id: I91fcca30ae41898b29a9a7cbabedd4ee16be4f53
STMC2: reset the serial-relay after a device hard reset

Change-Id: Ic3624e0e87c5b6bc1a9add37888c8466f45f63be
jtag: ensure key exists before reference

Change-Id: Iaede0c7549b051463cce7c1e8da4f4f3b25a8429
jtag: convert proc to instance variable and reset it when power_off is called

Change-Id: I8aa3e5aac4c841e84eac19251947d16aca9c25fd
Add Boot classes

Improve sample Device YAML to make it easier to parse.
Build a QEMU command line.
Add Timeout support for Actions.
Create a framework for initiating a shell connection.
Add initial code for sending text to the booted KVM.

Change-Id: I8409be6d02ba186206838ab06b6b7ddd266beb4c
Improve LMP modules status init code :
The test board can always connect with the LMPs, we can submit a non-LMP test(there isn't lmp_module section in the json file) jobs or a LMP-related test jobs.
patch detail:
    Add "def data_integrate(lmp_module_data, config)" in actions/lmp/init_boards.py for merging lmp default init data and lmp test init data
    Add lmp_*_defconf in config.py for lmp module default config data, for example:
        lmp_*_id = {module_name : id code}
        lmp_*_defconf = {module_name : default config}
            lmp_sata_id = {"default":"13060066"}
            lmp_sata_defconf = {"default":"disconnect"}
            lmp_usb_id = {"default":"13060020"}
            lmp_usb_defconf = {"default":"disconnect"}
            lmp_eth_id = {"default":"13060020"}
            lmp_eth_defconf = {"default":"disconnect"}
            lmp_hdmi_id = {"default":"13060020"}
            lmp_hdmi_defconf = {"default":"disconnect"}
            lmp_lsgpio_id = {"default":"13060020"}
            lmp_lsgpio_defconf = {"default":"a_in"}
            lmp_audio_defconf = {"default":"disconnect"}
    Improve LMP init code in job.py

Change-Id: Iba643a2e545a05c76cc2a0a0644a39d7e64818b9
Fix a typo in pipeline sample jobs.

Change-Id: Ia0796c34eadc224d93d5d317fbaf0f6c97e0681c
Fix PEP8.

Change-Id: Ia32b5d7c57b5a5967651ef44b6582ccf3070774b
Pipeline: add some FIXMEs and comments

Change-Id: I8196d334fef644496a950c1e0e35b67574c83b58
fastboot: raise CriticalError when deployment fails

Change-Id: I1309cad7ec7e03cec67b6e36ef2bad5c81405aca
fastmodel: save uefi variables only when present

Change-Id: Ia411f45db63c6fa9476ac34b85c7daa0b0868121
Run commands inside the shellconnection

Populate the test definition metadata.

Change-Id: I9f3d48a35fd15a456b117a9cfafefe0c005bac3f