Bug 10975

Summary: Setup lastest DAFT version upon vm inside GDC Autobuilder cluster
Product: [Infrastructure] Release Process Reporter: Plauchu Edwin <edwin.plauchu.camacho>
Component: Release ProcessAssignee: Plauchu Edwin <edwin.plauchu.camacho>
Status: RESOLVED FIXED QA Contact:
Severity: major    
Priority: Medium+ CC: joshuagloe, juan.m.cruz.alcaraz, leonardo.sandoval.gonzalez, stanley.cheong.kwan.phoong
Version: 2.3   
Target Milestone: 2.4 M1   
Hardware: All   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: Don't know
Bug Depends on:    
Bug Blocks: 10603    

Description Plauchu Edwin 2017-01-26 17:18:30 UTC
The Distributed Automatic Flasher Tester (DAFT) is a tool for automated flashing and testing of an OS image upon a real device and its goal is to both standardize and simplify the testing over a ample variety of DUTs.

That's why the GDC's intention is to achieve an integration of its functionality within GDC's autobuilder cluster.

First step to do so shall be to setup the latest version of DAFT( here - the latest version https://github.com/01org/DAFT ) upon a virtual machine of GDC's auto builder cluster. Once it has been done, it shall be tested with a DUT.
Comment 1 Plauchu Edwin 2017-01-26 17:25:00 UTC
edwin.plauchu.camacho: There is a typo within section 2.4.3 of implementation document https://github.com/01org/DAFT/blob/master/README.MD
edwin.plauchu.camacho: tftp0x8000000                               
edwin.plauchu.camacho: it should have a blank space between tftp and 0x8000000                        

simo.kuusela: I'll fix the typo, must have been really annoying, not sure how I have copied the uEnv wrong to the guide :s
Comment 2 Plauchu Edwin 2017-01-26 17:48:40 UTC
Eliminated dhcp contamination inside DUT lan.

"""DAFT is pretty tied to the dnsmasq files so far. """
At the moment It is a justified approach due to DAFT is always inquiring dnsmasq's data associated with ip and mac addresses that were granted by dnsmasq. 

That's why prior dhcp server upon DUT lan has been turned off.

From this point onward we are using dnsmasq as the DUT lan dhcp server.
Comment 3 Plauchu Edwin 2017-01-26 19:46:11 UTC
Uboot config has been verified as ok

Beagle Bone Black is booting its kernel through TFTP and mounting its file system with NFS.
The verification was performed with a small hub connected to GDC's auto builder bridge.
Comment 4 Plauchu Edwin 2017-01-26 20:40:17 UTC
BBB file system utilized during this implementation
http://skuusela.fi.intel.com/download/Beaglebone_harness/bbb_nfs.tar.gz
Comment 5 Plauchu Edwin 2017-01-26 21:33:41 UTC
Connected homemade "normally closed" relay to BBB

Configuration for relay cables:
Green - 5V (from the board)
White/Green - GND (from the board)
Blue - Signal (min 3.3V max 5V, from the board)

Further details about the relay circuits can be found at https://wiki.yoctoproject.org/wiki/Arduino_Single_power_control_unit
Comment 6 Plauchu Edwin 2017-01-26 22:48:48 UTC
Wiring schema between BBB and homemade relay "normally closed"
_________________________________________________________________________
Pin | Color relay | Description 
1   | White/Green | GND (from the board)
7   | Green       | 5V (from the board)
12  | Blue        | Signal (min 3.3V max 5V, from the board)
-------------------------------------------------------------------------
http://robotshop.com/letsmakerobots/files/userpics/u19048/B_3PinOut3.png


   _O_        _____         _<>_          ___  
 /     \     |     |      /      \      /  _  \
|==/=\==|    |[/_\]|     |==\==/==|    |  / \  |
|  O O  |    / O O \     |   ><   |    |  |"|  |
 \  V  /    /\  -  /\  ,-\   ()   /-.   \  X  /
 /`---'\     /`---'\   V( `-====-' )V   /`---'\
 O'_:_`O     O'M|M`O   (_____:|_____)   O'_|_`O 
  -- --       -- --      ----  ----      -- --
Comment 7 Plauchu Edwin 2017-03-22 16:12:48 UTC
Latest version of DAFT has been implemented in GDC as per plan 
but it is not completely functional to collaborate with auto builder.

Several modifications in DAFT are required.

-
Comment 8 Plauchu Edwin 2017-03-22 16:52:19 UTC
1) Decouple test injection mechanism, it is currently not decoupled from DAFT. Once It could be made, auto builder should play as a test injector entity through the newer DAFT’s service. ( https://bugzilla.yoctoproject.org/show_bug.cgi?id=11215 )

2) Newer test specification format needed, because of the current one is not aware if a test would be runnable or not upon specific DUT. ( https://bugzilla.yoctoproject.org/show_bug.cgi?id=11219 )

3) Convert DAFT in a service available for any Yocto auto builder worker ( https://bugzilla.yoctoproject.org/show_bug.cgi?id=11216 )

4) Merged devauto library with DAFT. Devauto is a library developed in GDC one year ago. Such library offers common interfaces and one config file to operate power switches and keyboard emulators through proxy objects. ( https://bugzilla.yoctoproject.org/show_bug.cgi?id=11218 )

5) Remove DAFT's DHCP server dependency. It would work OK in the past when it was AFT ("the centralize approach") but today we are suffering with needless auto discovering of devices which are not required at all. ( https://bugzilla.yoctoproject.org/show_bug.cgi?id=11217 )

6) Update DAFT implementation manual