Skip to content

Linaro/lkft-remote-lab

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LKFT remote lab

The LKFT framework is a collection of software tools and hardware devices. LKFT is composed of a builds scheduler (Jenkins), a device management framework (LAVA), an LKFT LAVA hardware micro-instance, and a scheduling framework and reporting framework (SQUAD).

This project documents the steps required to deploy a such LKFT test lab. It is named as lkft-remote-lab as it is able to share the following components that Linaro maintaining.

A lkft-remote-lab could be either of the following types:

  • Partially Hosted: only hosts a local lava-slave
  • Fully Hosted: hosts lava-slave plus lava-master with a public domain
  • Ultra secure: hosts everything except squad

The documents and configs included in the project is trying to cover all the aspects required to deploy a LKFT remote lab with step by step guidelines.

Ultra secure

  1. deploy-distributed-lava-instance
  2. deploy-docker-based-jenkins
  3. setup-report-system

Fully hosted

  1. deploy-distributed-lava-instance
  2. setup-report-system

Partially hosted

  1. Refer to deploy-distributed-lava-instance to install lava-slave.
  2. setup-report-system

Once local lava-slave installed and test devices connected, talk to administrator of Linaro's LKFT lava-master to:

  1. Establish openvpn connection to the lab
  2. Add your local lava-slave as a worker
  3. Add your test devices

CI flow

Once LKFT remote lab set properly, a new commit will trigger a new build from Jekkins, the build job will submit test jobs via squad to lava-master, and test results will be pull back and presented instantly. Once all test jobs finished, squad will send a report with the comparison with last build.

Refer to the below diagram for ultra secure mode for the flow LKFT remote lab diagram

How a micro local LAVA worker looks like

LAVA woker

Components used:

Releases

No releases published

Packages

No packages published

Languages

  • Shell 60.6%
  • Python 27.1%
  • HTML 12.3%