On Thu, Nov 28, 2019 at 10:44:31AM +0100, Peter Krempa wrote:
On Thu, Nov 28, 2019 at 09:38:18 +0100, Pavel Hrdina wrote:
> Libvirt commit <95f5ac9ae52455e9da47afc95fa31c9456ac27ae> changed the
> VIR_DOMAIN_QEMU_AGENT_COMMAND_* enum values to use different enum values
> instead of direct numbers. We need to translate it back.
>
> Traceback (most recent call last):
> File "generator.py", line 2143, in <module>
> qemuBuildWrappers(sys.argv[1])
> File "generator.py", line 2008, in qemuBuildWrappers
> items.sort(key=lambda i: (int(i[1]), i[0]))
> File "generator.py", line 2008, in <lambda>
> items.sort(key=lambda i: (int(i[1]), i[0]))
> ValueError: invalid literal for int() with base 10:
'VIR_DOMAIN_AGENT_RESPONSE_TIMEOUT_BLOCK'
>
> Signed-off-by: Pavel Hrdina <phrdina(a)redhat.com>
> ---
> generator.py | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/generator.py b/generator.py
> index 913dab8..3352521 100755
> --- a/generator.py
> +++ b/generator.py
> @@ -261,6 +261,12 @@ def lxc_enum(type, name, value):
> def qemu_enum(type, name, value):
> if type not in qemu_enums:
> qemu_enums[type] = {}
> + if value == 'VIR_DOMAIN_AGENT_RESPONSE_TIMEOUT_BLOCK':
These are not qemu specific. Shouldn't this go into 'enum' ?
They are defined in include/libvirt/libvirt-domain.h but used in
include/libvirt/libvirt-qemu.h for
virDomainQemuAgentCommandTimeoutValues enum.
The issue here is that the generator.py parses libvirt-qemu-api.xml
where the value for VIR_DOMAIN_QEMU_AGENT_COMMAND_BLOCK is
VIR_DOMAIN_AGENT_RESPONSE_TIMEOUT_BLOCK so we need to translate that
value to corresponding number. Ideally the generator.py would figure
out this automatically by looking into libvirt-api.xml but that would
require rewriting it.
Pavel
> + value = -2
> + elif value == 'VIR_DOMAIN_AGENT_RESPONSE_TIMEOUT_DEFAULT':
> + value = -1
> + elif value == 'VIR_DOMAIN_AGENT_RESPONSE_TIMEOUT_NOWAIT':
> + value = 0
> if onlyOverrides and name not in qemu_enums[type]:
> return
> qemu_enums[type][name] = value
> --
> 2.23.0
>
> --
> libvir-list mailing list
> libvir-list(a)redhat.com
>
https://www.redhat.com/mailman/listinfo/libvir-list