RFC: multiple system configurations in a single image
bradleyb at fuzziesquirrel.com
Tue Nov 28 08:14:32 AEDT 2017
A new use-case for OpenBMC I'm excited to support is multiple system
configurations in a single image.
First, a recap of the current state of affairs.
No support exists in-tree for this use case today. At the moment
OpenBMC applications are data-driven using in-memory structures (via
generated source code). This is the yaml->python->mako pattern you
might be familiar with.
Obviously this pattern alone does not enable multiple configurations to
be supported in a single image so a fundamental change is required.
One proposal that has been made (out in Gerrit) is to replace the YAML
with JSON and parse it on the BMC.
I'll outline what I think the good/not-so-good of this approach are, as
compared to some other yet-to-be-invented idea for achieving the same
- low complexity
- removal of python dependency from application build
- complexity shift from build to runtime (parsing, validation)
- loss of implementation freedom of choice (adopting the proposed
solution _requires_ json parsing on _all_ platforms using reference
applications, even platforms using single configuration images)
I'd like to hear about any of the following:
- alternative ways to support multiple configurations in a single image
- items missing from the pro/con list above
- thoughts on whether or not the cons listed have any meaningful impact
thx - brad
More information about the openbmc