Here is my proposal how to divide jsonrpc related files between packages:
- vdsm-api (we can get rid of the package)
- vdsm-jsonrpc (server and client)
__init__ (json server and client code) ???
vdsmapi-schema.json (plus schema processing)
BindingJsonRpc (wrapper for __init__)
Bridge (request and response verification code)
- vdsm-yajsonrpc (stomp)
betterAsyncore (asyncore related code)
stomp (stomp protocol impl)
stompReactor (stomp reactor with client and server)
- vdsm-xmlrpc (xml)
BindingXMLRPC (SimpleXMLRPCServer wrapper)
Later depending on the need we can split vdsm-jsonrpc into separate packages for server
and client.
Vdsm core rpc will require xmlrpc and jsonrpc.
jsonrpc will requite yajsonrpc.
----- Original Message -----
From: "Saggi Mizrahi" <smizrahi(a)redhat.com>
To: "Dan Kenigsberg" <danken(a)redhat.com>
Cc: "Piotr Kliczewski" <pkliczew(a)redhat.com>, devel(a)ovirt.org
Sent: Sunday, May 4, 2014 9:04:45 PM
Subject: Re: rpm deps
IIC the reason we have a separate package for the schema is because
we had the possibility of distributing it with vdsClient but seeing
as the in the future we would probably get it from the server we
could remove the schema package.
----- Original Message -----
> From: "Dan Kenigsberg" <danken(a)redhat.com>
> To: "Piotr Kliczewski" <pkliczew(a)redhat.com>
> Cc: smizrahi(a)redhat.com, devel(a)ovirt.org
> Sent: Wednesday, April 30, 2014 5:10:13 PM
> Subject: Re: Fwd: rpm deps
>
> On Wed, Apr 30, 2014 at 09:41:40AM -0400, Piotr Kliczewski wrote:
> > Adding to the discussion.
>
> Your CC line was too huge. devel(a)ovirt.org should be used to such
> discussions.
>
> >
> > Currently vdsm-xmlrpc rpm is required by vdsm and vdsm-cli rpms.
> > Initially
> > I suggested to have vdsm-jsonrpc required by vdsm-api but it do not seems
> > to be good idea.
> > I think that we need to add that dept to vdsm rpm in the same way as it
> > is
> > for vdsm-xmlrpc.
> >
> > I do not understand why we have decided to split jsonrpc code between two
> > rpms:
> >
> > vdms-api:
> > - vdsmapi-schema.json
> >
> > vdsm-jsonrpc:
> > - BindingJsonRpc
> > - Bridge
> >
> > vdsm-yajsonrpc:
> > - __init__
> > - betterAsyncore
> > - stomp
> > - stompReactor
> >
> > I understand that we may have schema in api package but do we really need
> > two packages for jsonrpc?
> > Currently we need a package for stomp reactor so I suggest for now to
> > have
> > one json(stomp) rpm and
> > create second for amqp when there will be need for it.
>
> I believe that the motivation for the current packaging was that
> - yajsonrpc is not strictly vdsm-related. It is a candidate for a
> spin-off
> - jsonrpc is sever-side only
> - api might be needed by clients, too. But I hope we'd have reasonable
> inspection to avoid this need.
>
> As long as vdsm can work without jsonrpc, I'd rather that it does not
> require the package. When we move away of xmlrpc, we could drop the
> xmlrpc requirement, too.
>
> Dan.
>