This is a working part of the administration API with some usability
helpers. We're still missing documentation and proper client (for
which virsh needs to be split), but apart from the last three patches,
this series is ready to go in if we decide that the documentation and
client work can be done later on.
Martin Kletzander (13):
util: add virJSONValueCopy
Move daemon-related parts of virNetServer to virNetDaemon
Teach gendispatch how to handle admin dispatching files
Add admin protocol
Build client headers for admin protocol
Add admin error domain
Add libvirt-admin library
Add XML files with admin API specification
Add configuration options for permissions on daemon's admin socket
Add support for admin API in libvirt daemon
rpc: Add virNetServerGetNClients
admin: Add virAdmHello function
Example virt-admin
.gitignore | 5 +
Makefile.am | 4 +-
cfg.mk | 9 +-
configure.ac | 11 +-
daemon/Makefile.am | 34 +-
daemon/admin_server.c | 139 +++++++
daemon/admin_server.h | 36 ++
daemon/libvirtd-config.c | 5 +-
daemon/libvirtd-config.h | 1 +
daemon/libvirtd.aug | 1 +
daemon/libvirtd.c | 205 +++++++---
daemon/libvirtd.conf | 8 +
daemon/libvirtd.h | 14 +-
daemon/test_libvirtd.aug.in | 1 +
docs/Makefile.am | 23 +-
docs/apibuild.py | 10 +-
docs/internals.html.in | 4 +-
docs/internals/rpc.html.in | 7 +
include/libvirt/Makefile.am | 4 +-
include/libvirt/libvirt-admin.h | 63 ++++
include/libvirt/virterror.h | 3 +-
libvirt-admin.pc.in | 13 +
libvirt.spec.in | 10 +
po/POTFILES.in | 4 +
src/Makefile.am | 127 ++++++-
src/admin/admin_protocol.x | 78 ++++
src/admin_protocol-structs | 18 +
src/datatypes.c | 30 ++
src/datatypes.h | 37 ++
src/internal.h | 1 +
src/libvirt-admin.c | 412 ++++++++++++++++++++
src/libvirt_admin.syms | 19 +
src/libvirt_private.syms | 1 +
src/libvirt_remote.syms | 29 +-
src/locking/lock_daemon.c | 63 ++--
src/locking/lock_daemon_config.c | 2 +-
src/locking/lock_daemon_dispatch.c | 4 +-
src/lxc/lxc_controller.c | 65 ++--
src/rpc/gendispatch.pl | 130 ++++---
src/rpc/virnetdaemon.c | 746 +++++++++++++++++++++++++++++++++++++
src/rpc/virnetdaemon.h | 82 ++++
src/rpc/virnetserver.c | 536 ++++----------------------
src/rpc/virnetserver.h | 46 +--
src/rpc/virnetserverprogram.h | 3 +
src/util/virerror.c | 1 +
src/util/virjson.c | 65 +++-
src/util/virjson.h | 4 +-
tests/confdata/libvirtd.conf | 6 +
tests/confdata/libvirtd.out | 5 +
tests/jsontest.c | 111 ++++++
tools/virt-admin/Makefile.am | 70 ++++
tools/virt-admin/virt-admin.c | 72 ++++
tools/virt-admin/virt-admin.pod | 43 +++
53 files changed, 2735 insertions(+), 685 deletions(-)
create mode 100644 daemon/admin_server.c
create mode 100644 daemon/admin_server.h
create mode 100644 include/libvirt/libvirt-admin.h
create mode 100644 libvirt-admin.pc.in
create mode 100644 src/admin/admin_protocol.x
create mode 100644 src/admin_protocol-structs
create mode 100644 src/libvirt-admin.c
create mode 100644 src/libvirt_admin.syms
create mode 100644 src/rpc/virnetdaemon.c
create mode 100644 src/rpc/virnetdaemon.h
create mode 100644 tools/virt-admin/Makefile.am
create mode 100644 tools/virt-admin/virt-admin.c
create mode 100644 tools/virt-admin/virt-admin.pod
--
2.4.0