[libvirt] [python PATCH] generator.py: add mapping for VIR_DOMAIN_QEMU_AGENT_COMMAND_*

Peter Krempa pkrempa at redhat.com
Thu Nov 28 09:54:07 UTC 2019


On Thu, Nov 28, 2019 at 10:50:38 +0100, Pavel Hrdina wrote:
> 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 at 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.

Oh, that's stupid. I guess I don't care that much. Since this fixes the
problem:

Reviewed-by: Peter Krempa <pkrempa at redhat.com>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20191128/2937015d/attachment-0001.sig>


More information about the libvir-list mailing list