[libvirt] [PATCH 00/13] Admin API

Martin Kletzander mkletzan at redhat.com
Tue Jun 16 09:58:17 UTC 2015


This is a real post for an Admin API to get in.  Everything discussed
in previous posts should be a addressed.

I'll start a discussion later on today about the ideas for the APIs to
be added and the general near-future desing moves.

I'm also keeping the last three example patches in so you can try that
it works.


Martin Kletzander (13):
  Move daemon-related parts of virNetServer to virNetDaemon
  tests: Adapt virnetservertest to daemon refactor
  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                                        |   7 +-
 cfg.mk                                             |   9 +-
 configure.ac                                       |  12 +-
 daemon/Makefile.am                                 |  32 +-
 daemon/admin_server.c                              | 140 ++++
 daemon/admin_server.h                              |  36 +
 daemon/libvirtd-config.c                           |  27 +-
 daemon/libvirtd-config.h                           |  13 +-
 daemon/libvirtd.aug                                |  13 +
 daemon/libvirtd.c                                  | 205 ++++--
 daemon/libvirtd.conf                               |  24 +
 daemon/libvirtd.h                                  |  14 +-
 daemon/test_libvirtd.aug.in                        |   9 +
 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                                    |  21 +
 po/POTFILES.in                                     |   4 +
 src/Makefile.am                                    |  75 ++-
 src/admin/admin_protocol.x                         |  91 +++
 src/admin_protocol-structs                         |  15 +
 src/datatypes.c                                    |  30 +
 src/datatypes.h                                    |  37 +
 src/internal.h                                     |   1 +
 src/libvirt-admin.c                                | 412 ++++++++++++
 src/libvirt_admin.syms                             |  20 +
 src/libvirt_remote.syms                            |  31 +-
 src/locking/lock_daemon.c                          |  75 ++-
 src/locking/lock_daemon_config.c                   |   2 +-
 src/locking/lock_daemon_dispatch.c                 |   4 +-
 src/lxc/lxc_controller.c                           |  65 +-
 src/rpc/gendispatch.pl                             | 254 +++----
 src/rpc/virnetdaemon.c                             | 749 +++++++++++++++++++++
 src/rpc/virnetdaemon.h                             |  82 +++
 src/rpc/virnetserver.c                             | 530 ++-------------
 src/rpc/virnetserver.h                             |  46 +-
 src/rpc/virnetserverprogram.h                      |   3 +
 src/util/virerror.c                                |   1 +
 tests/Makefile.am                                  |  10 +-
 tests/confdata/libvirtd.conf                       |   6 +
 tests/confdata/libvirtd.out                        |   5 +
 .../{virnetserverdata => virnetdaemondata}/README  |   0
 .../virnetdaemondata/input-data-admin-nomdns.json  | 126 ++++
 .../input-data-anon-clients.json                   |   0
 .../input-data-initial-nomdns.json}                |   1 -
 .../input-data-initial.json                        |   0
 .../virnetdaemondata/output-data-admin-nomdns.json | 128 ++++
 .../virnetdaemondata/output-data-anon-clients.json |  66 ++
 .../output-data-initial-nomdns.json                |  66 ++
 tests/virnetdaemondata/output-data-initial.json    |  67 ++
 tests/{virnetservertest.c => virnetdaemontest.c}   |  70 +-
 tests/virnetserverdata/output-data-initial.json    |  63 --
 tools/virt-admin/Makefile.am                       |  69 ++
 tools/virt-admin/virt-admin.c                      |  72 ++
 tools/virt-admin/virt-admin.pod                    |  43 ++
 61 files changed, 3180 insertions(+), 833 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
 rename tests/{virnetserverdata => virnetdaemondata}/README (100%)
 create mode 100644 tests/virnetdaemondata/input-data-admin-nomdns.json
 rename tests/{virnetserverdata => virnetdaemondata}/input-data-anon-clients.json (100%)
 rename tests/{virnetserverdata/output-data-anon-clients.json => virnetdaemondata/input-data-initial-nomdns.json} (97%)
 rename tests/{virnetserverdata => virnetdaemondata}/input-data-initial.json (100%)
 create mode 100644 tests/virnetdaemondata/output-data-admin-nomdns.json
 create mode 100644 tests/virnetdaemondata/output-data-anon-clients.json
 create mode 100644 tests/virnetdaemondata/output-data-initial-nomdns.json
 create mode 100644 tests/virnetdaemondata/output-data-initial.json
 rename tests/{virnetservertest.c => virnetdaemontest.c} (84%)
 delete mode 100644 tests/virnetserverdata/output-data-initial.json
 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.3




More information about the libvir-list mailing list