qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] QAPI magician wanted ...


From: Igor Mammedov
Subject: Re: [Qemu-devel] QAPI magician wanted ...
Date: Thu, 12 Oct 2017 14:38:15 +0200

On Thu, 12 Oct 2017 13:28:26 +0100
"Daniel P. Berrange" <address@hidden> wrote:

> On Thu, Oct 12, 2017 at 02:21:53PM +0200, Igor Mammedov wrote:
> > 
> > I'm working on introducing QMP command to set numa mappings
> > via QMP interface at runtime instead of CLI.
> > 
> > I'd prefer to reuse NumaOptions for parsing input,
> > but I can't wrap my head around QAPI magic.
> > 
> > So far I've added new command in qapi-schema.json:
> > 
> >   {
> >     'command': 'set-numa-node',                                             
> >        
> >     'data': {'cmd': 'NumaOptions'}                                          
> >        
> >   }  
> 
> I don't see any point in the extra level of nesting you have here, vs
> using NumaOptions as the data directly eg
> 
>    {
>      'command': 'set-numa-node',
>      'data': 'NumaOptions'              
>    }
I've tried that, it doesn't compile
   'data' for command 'set-numa-node' cannot use union type 'NumaOptions'

> 
> 
> > it at least compiles and manages to handle input without union part
> > 
> >   { "execute": "set-numa-node", "arguments": { "cmd": { "type": "node" } } }
> > 
> > however I can't figure out syntax that adds union part to it,
> > I have tried something like this
> > 
> >   { "execute": "set-numa-node", "arguments": { "cmd": { "type": "node", 
> > "node" : { "nodeid": 1 } } } }
> > 
> > but it errors out with
> > 
> >   {"error": {"class": "GenericError", "desc": "Parameter 'cmd.node' is 
> > unexpected"}}
> > 
> > Any advice on how to make it work if possible at all or
> > alternative ways how to achieve the end goal.  
> 
> I think the union gets flattenned - ie you probably want
> 
>    { "execute": "set-numa-node", "arguments": { "cmd": { "type": "node", 
> "nodeid": 1 } } }
thanks, that works for me 

> 
> Though with my suggestion above you could get it to just
> 
>    { "execute": "set-numa-node", "arguments": { "type": "node", "nodeid": 1 } 
> }
> 
> Regards,
> Daniel




reply via email to

[Prev in Thread] Current Thread [Next in Thread]