[Fuego] How to add a Power-Controller and Console Server to FUEGO?

daniel.sangorrin at toshiba.co.jp daniel.sangorrin at toshiba.co.jp
Fri Jun 21 01:34:32 UTC 2019

> From: Heinrich.Toews at wago.com <Heinrich.Toews at wago.com>
> On 19.06.19 02:47, daniel.sangorrin at toshiba.co.jp wrote:
> > Hello Heinrich,
> >
> >> From: fuego-bounces at lists.linuxfoundation.org <fuego-bounces at lists.linuxfoundation.org> On Behalf Of
> >> Heinrich.Toews at wago.com
> >> Sent: Tuesday, June 18, 2019 6:45 PM
> >> To: fuego at lists.linuxfoundation.org
> >> Subject: [Fuego] How to add a Power-Controller and Console Server to FUEGO?
> >>
> >> Hey altogether,
> >>
> >> at our company we are willing to use FUEGO for our Linux Kernel Testing.
> >>
> >> We already have installed Racks ready with our own MODBUS TCP/UDP
> >> power-controllers and console servers interfacing with TELNET/SSH.
> >
> > I will assume that this is what you want to do, otherwise please let me know:
> >
> > [FUEGO HOST] --TCP--> [MODBUS TCP/UDP]--power on/off--> [boards under test]
> >               `---SSH--> [Console Server]--serial port-----------^
> Yea, you're right that's exactly what I want to do!

Oops I missed something important. 
Are the boards under test connected to a LAN?
I ask that for two reasons:

1) You probably want to install the latest kernel and file system image before you start testing. For example, you can do that by booting from tftpboot, or you could use some more advanced solution such as LAVA. Both of them require a LAN connection. 
[Note] Alternatively, you can install the latest kernel/image manually.

2) You also need to install the tests that you want to run. Most Fuego built-in tests assume that there is a connection with the board to install test software (a transport layer). If you don't have such a connection, you will need to build your tests in your image and skip the build and deploy phase in Fuego (using ftc command arguments). 

> >> What would be the best practice to add such support to the FUEGO code?
> >
> > For the power-controllers, I sent a patch to Fuego that adds support for PDUdaemon [1]. Unfortunately, it got
> stalled and never made it into Fuego. Perhaps I can revive that thread.
> > https://lists.linuxfoundation.org/pipermail/fuego/2019-March/thread.html
> Thanks! I walked briefly through the thread and I find it reasonable to
> use PDUdaemon for this purpose .. It would be great if it gets revived!
> I think many will have this requirement ..

OK, give me a bit of time and I will re-send the patches.

> > In parallel, could you check if PDUdaemon supports your power controllers?.
> > https://github.com/pdudaemon/pdudaemon/tree/master/pdudaemon/drivers
> A Modbus driver is not included yet but it would be an easy task to add it.

OK, good.
[Note] Another option is to add new BOARD_CONTROL type or override ov_board_control_power_xxx functions in your board file.

> > For the console server, I guess that you can use the SSH transport support available in Fuego. I have never
> used a Console server. Does it use a different SSH port for each of the underlying serial port connections?. If that
> is the case, you will need to define the SSH_PORT on the corresponding board file at `fuego-ro/boards`. If you
> are using different user names instead, then you would need to set the SSH_KEY or the SSH user and password
> (LOGIN, PASSWORD) in the board file.
> Okay, thanks - I will try this. We are using ConnectPort LTS32 .. SSH
> should be possible somehow. Until now we only used TELNET.

SORRY, I was probably half-sleep when I said that. Probably, you CANNOT use Fuego's SSH transport because you are using serial ports on the boards' side.

Your setup is probably closer to what we call "Serial" transport. In other words, I believe that the console server provides you only with a serial console, not a session where you can send or receive files to and from the board. 

If you can install your own software (e.g. serio) on the console server, then you can probably use the the Fuego transport "ssh2serial". I believe that this transport uses SSH to get to the console server and then uses "serio" to put/get files through the serial port.
Tim: could you confirm that?

But as I said above, this is not the ideal setup or use case for Fuego. Fuego works much better when it has direct SSH access to the board.

For your architecture, I think that LAVA and LKFT test definitions might suit you better.


> >> Is there something ready that we could just reuse?
> >
> > Hopefully, you don't need to add anything.
> Just the modbus driver :)
> Thanks & have a nice day!
> Heinrich

More information about the Fuego mailing list