On Wed, Jun 03, 2020 at 11:45:49 +0200, Peter Krempa wrote:
On Wed, Jun 03, 2020 at 11:37:21 +0200, Erik Skultety wrote:
> On Wed, Jun 03, 2020 at 11:29:36AM +0200, Peter Krempa wrote:
> > On Wed, Jun 03, 2020 at 11:11:08 +0200, Michal Privoznik wrote:
> > > On 6/3/20 10:40 AM, Peter Krempa wrote:
> > > > On Wed, Jun 03, 2020 at 10:27:57 +0200, Michal Privoznik wrote:
> > > > > On 6/3/20 9:31 AM, Peter Krempa wrote:
[...]
> > Well. They are built on fedora, but certainly not taken from fedora.
> > It's built from git.
> >
> > > Maybe we can document configure arguments for QEMU so that it is
> > > reproducible.
> >
> > While I agree that we should do that to take one of the moving parts out
> > of the equation we still can't do anything about the machine dependance
> > of the output. Specifically it contains all cpu flags so it really can't
> > be re-generated reproducibly on a box with even a slightly different
> > cpu.
> >
> > Ideally we'd build it with the fedora spec-file, but I got lazy and
I'm
> > usually just re-running configure from my history in this case.
> >
> > My only idea how to provide stable output is to create a job on a box
> > which will periodically re-build qemu and fetch the capabilities and
> > publish them somewhere so that others could grab those and refresh the
> > caps themselves, but I can't really think of a way how to enable others
> > do it on their machine whithout messing up the CPU.
>
> You beat me in the response time wrt reply :). Hmm, how about we add this as a
> job to lcitool which controls how virt-install is spawned, that way + an Ansible
> playbook you always get a reproducible environment?
I don't think that's a particularly worthwhile idea. It would have to
run fully emulated to shield from cpu differences which would make it
super slow. In such case I'll rather periodically or on request update
it myself rather than deal with something which takes ages.
Also the problem of having a stable way to generate capabilities is
orthogonal to the original problem of whether to review the capabilities
or not.
I still think manual review is necessary regardless of how stable the
way to generate the capabilities is and in some cases there are even
differences which break tests (recent dropping of the 0.13 machine type
from upstream qemu, deprecation of some commands etc.) so I don't see
a way how this part can be avoided or any reasonably simple set of rules
for avoiding review to be established.
Obviously having a stable way to create capabilities would be certainly
desirable for other scenarios, but not at the cost of running it in TCG.
If we want to achieve that we probably will need a way to strip cpu
related commands from the capabilities and leave cpu probing for a
different test.
This in the end may be desirable due to other reasons as well, but I'm
certainly not sure how to achieve that. As of such I'll gladly continue
updating the capabilities on request by others for now as it doesn't
really cause any burden for me and I need to update it anyways for stuff
I'm developing.