Injecting public key into openbmc image for CI integration

Verdun, Jean-Marie jean-marie.verdun at
Wed Oct 7 04:45:07 AEDT 2020


I am working at bridging interactive CI to a testing automation framework as to scale basic testing and offer both mode. I spent some time looking at various options, and must admit that I am curious to look at the contest framework that facebook published a couple of months ago ( It is written in Go like many part of osfci, and seems to be lightweight as well as easy to understand.

One of the challenge to use it might be that there is no published test, and we might have to write some, but that is mostly the case with the many other framework I looked at.

As to manage such framework osfci will work in a client server mode, and I was looking at launching command through ssh (this assume that the network stack is properly setup on openbmc and linuxboot, but the CI is soon able to identify such failure), and using a private/public key solution.

I looked into openbmc and it doesn’t seem that there is any standard recipes to create a test user and inject into the account a public key. Does I am wrong ? I wrote a very basic recipe to make it happens, and was wondering if it could be relevant to upstream it ?

OSFCI workflow is starting from a github repo and a branch. I would like to avoid as much as possible to patch the input provided by the end user with a recipe which would be required to inject the public key before that the build happens. Does anybody else ever met such requirement ? If yes how did you addressed it ?

Right now the stack is able to:

  *   Get a github repo and a branch from openbmc , compile it and generate a ready to use OpenBMC HPE image
  *   Get a github repo and a branch from linuxboot, compile it and generate a ready to use host bios HPE image
  *   Provide a USB installed O/S image to validate that O/S installer works and we could deploy linux on the newly create firmware stack
  *   Boot these images on a physical machine to validate that everything starts smoothly
  *   All of this is under the control of the end user through interactive session, the next step is to automatize everything and focus on writing test. Right now every user actions are performed through the control of a web API written in go which is dispatching commands to the relevant backend systems

Thanks, have a great day,


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the openbmc mailing list