[libvirt] [PATCH 10/13] Add support for admin API in libvirt daemon
Michal Privoznik
mprivozn at redhat.com
Fri May 22 07:52:12 UTC 2015
On 22.05.2015 07:22, Martin Kletzander wrote:
> On Thu, May 21, 2015 at 05:46:54PM +0200, Michal Privoznik wrote:
>> On 20.05.2015 07:19, Martin Kletzander wrote:
>>> For this to pe properly separated from other protocols used by the
>>> server, there is second server added which allows access to the whole
>>> virNetDaemon to its clients.
>>>
>>> Signed-off-by: Martin Kletzander <mkletzan at redhat.com>
>>> ---
>>> cfg.mk | 3 ++
>>> daemon/Makefile.am | 34 ++++++++++++++-
>>> daemon/admin_server.c | 116
>>> ++++++++++++++++++++++++++++++++++++++++++++++++++
>>> daemon/admin_server.h | 36 ++++++++++++++++
>>> daemon/libvirtd.c | 104
>>> +++++++++++++++++++++++++++++++++++++++-----
>>> daemon/libvirtd.h | 14 +++++-
>>> po/POTFILES.in | 1 +
>>> 7 files changed, 295 insertions(+), 13 deletions(-)
>>> create mode 100644 daemon/admin_server.c
>>> create mode 100644 daemon/admin_server.h
>>>
>>
>
>>> + !!config->keepalive_required,
>>> + NULL,
>>> + remoteAdmClientInitHook,
>>> + NULL,
>>> + remoteAdmClientFreeFunc,
>>> + dmn))) {
>>> + ret = VIR_DAEMON_ERR_INIT;
>>> + goto cleanup;
>>> + }
>>> +
>>> + if (virNetDaemonAddServer(dmn, srvAdm) < 0) {
>>> + ret = VIR_DAEMON_ERR_INIT;
>>> + goto cleanup;
>>> + }
>>
>> This is what I was talking about in reply to 02/13. Imagine the limits
>> for domain worker pool and sockets were set really low on daemon
>> startup. No new client can be accepted there. I would expect mgmt
>> application to connect to admin API and size up the limits. However, due
>> to bug in 2/13 all servers are suspended. I'll leave it up to you where
>> you'd like to solve it.
>>
>
> There's nothing to solve. The client is being added in a particular
> server and that server will call virNetServerUpdateServicesLocked()
> only on itself, not virNetDaemonUpdateServices() on the daemon.
Oh, right. I recalled adding updateServices function somewhere so that
server stops accepting new clients when a certain limit is reached. I
forgot it was updateServicesLocked() which you don't touch. Disregard my
comments to this then.
Michal
More information about the libvir-list
mailing list