[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