[Fuego] Executing test on slave machine connected to target board via serial port

Tim.Bird at sony.com Tim.Bird at sony.com
Mon Feb 4 19:34:41 UTC 2019


> -----Original Message-----
> From: Dhinakar Kalyanasundaram
> 
> Dear Fuego Users,
> 
> I am checking out the feasibility of executing tests on a slave machine which
> is connected to target board via serial port.
> 
> The idea is to setup Fuego on a power server and creates nodes in it.
I don't know what this means.

> 
> Each node will resemble a host pc on the network which is connected to the
> target board via serial port.
> 
> I am not sure how to setup master/slave in such a scenario.
> 
> The Jenkins running inside Fuego container will be the master and slaves can
> be PCs (Linux/windows) with Jenkins agent installed?
I don't know what you mean by  'Jenkins agent'.  
Are you talking about /fuego-core/engine/scripts/slave.jar or
/var/cache/jenkins/war/WEB-INF/jenkins-cli.jar, or something else?

Are you trying to create Jenkins slaves on other nodes?

Specifically, are you talking about Jenkins masters and slaves
as described here:?
https://www.quora.com/What-is-the-use-of-master-and-slave-in-Jenkins

> How can the Jenkins running inside container connect to Jenkins slave on
> other PC? Any plugins required like 'docker plugin' to achieve this.

> 
> Please let me know if any of you had a similar requirement and implemented
> it.

I'm not following what you are trying to do here, or what problem you
are trying to solve.

Fuego is fairly heavily geared towards an environment where a single host
is connected to (or has network access to) one or more target boards.
It is possible, though, to split up test operations between different machines
(and that will likely be key to integrating better with LAVA in the near future).

Here are some letters to indicate where operations are performed during
test operation:
Jh = performed by Jenkins in docker container on Fuego host
Fh = performed by Fuego core code on the Fuego host
Th = performed by Test code on Fuego host
Tb = performed by test code on target board

Below is a list of test operations, and where they take place now.
Can you indicate which of these you would like to move to a separate machine,
and why?  I think this will help me understand whether (and how) Fuego
and Jenkins can support your proposed architecture.

 - trigger (detection that a test should be run) - Jh
 - job scheduling (deciding which node should execute a job, and waiting until the node is available) - Jh
 - build software under test (left as exercise for the user)
 - install software under test to the target board (left as an exercise for the user)
 - build test software - Fh/Th
 - deploy test software to target board - Fh/Th/Tb
 - execute test software - Tb
 - collect logs and results - Fh/Th/Tb
 - parse test log - Fh/Th
 - format results - Fh
 - display results - Jh

Depending on the test, it might also do:
 - reboot the target board - could be Fh or Th or Tb.

I believe you are proposing that some of these operations should be moved to other machines,
or have their execution or control split between a primary Fuego host and some secondary
machines.  Can you describe in greater detail what you want to do?

Thanks,
 -- Tim



More information about the Fuego mailing list