Comment 4 for bug 1697610

Revision history for this message
Christian Ehrhardt  (paelzer) wrote : Re: logfile not supported in this QEMU binary

There are arm specific tweaks in virQEMUCapsSupportsChardev that can lead to "false" in that case it has to fallback to the older code which does not support log= attributes (and thereby the logfile argument).

Those cases are:
if ((def->os.arch != VIR_ARCH_ARMV7L) && (def->os.arch != VIR_ARCH_AARCH64))
    return true;

Ok, we are VIR_ARCH_AARCH64 so this does not trigger - which it would for all non-arms.
So this is already arm special for sure, the next check is:

/* This may not be true for all ARM machine types, but at least
 * the only supported non-virtio serial devices of vexpress and versatile
 * don't have the -chardev property wired up. */
return (chr->info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_VIRTIO_MMIO ||
       (chr->deviceType == VIR_DOMAIN_CHR_DEVICE_TYPE_CONSOLE &&
        chr->targetType == VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_VIRTIO));

The chr is the serial object.
So it has either to be of type virtio or virtio-console - all others would fall back and cause the issue.

I checked this was that way since back to at least Xenial (or more).
So this is really not a bug/regression - it is a constraint of the arm platform that their serials can not represent the logfile and therefore the check returning false and due to that rejecting your logfile argument.

@admcleod - in regard to the initial bug this really is unrelated.

@admcleod - might this be an artifact of your "enabling debugging everywhere" or does nova set log= everywhere&all-the-time. Do you have an old case that worked with this or do we have to consider this just as an open issue that never was solved before?