[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-API] XCP daemon boilerplate
Hi, As I've been splitting up XCP services recently I've noticed the amount of duplicated boilerplate. I know this isn't a new observation :-) but I think it might be a good time to act. The following services: 1. xenopsd (domain manager): https://github.com/djs55/xenopsd 2. squeezed (ballooning manager): https://github.com/xen-org/squeezed 3. xcp-networkd (host networking manager): https://github.com/xen-org/xen-api/tree/master/ocaml/network 4. xcp-rrdd (statistics collector): https://github.com/xen-org/xen-api/tree/master/ocaml/rrdd ... and more I'm sure! Have the following in common (mostly): 1. configuration: through command-line parsing and config file reading 2. unix domain socket I/O 3. logging 4. daemonisation 5. rpc-light-style XML/JSON RPC interfaces I propose to add the boilerplate and interface definitions to the "xcp" library: https://github.com/djs55/xcp-idl I'd like to achieve the following: 1. avoid cut 'n paste (obviously) :-) 2. hide the unix daemon specifics (sockets, fork(), config files) so that a simple "xcp" package update could allow the services to use mirage[1] and be built as stub domains 3. make it easier to manage interface changes and versioning by keeping the interfaces in this repo, rather than next to the implementation. Several times now I've missed the significance of interface changes because the diffs were buried in the middle of implementation details. Thoughts? Cheers, Dave _______________________________________________ Xen-api mailing list Xen-api@xxxxxxxxxxxxx http://lists.xen.org/cgi-bin/mailman/listinfo/xen-api
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |