[libvirt] [PATCH 3/4] logd: add support for admin protocol in virtlogd

Michal Privoznik mprivozn at redhat.com
Mon Jan 22 15:44:13 UTC 2018


On 01/19/2018 06:09 PM, Daniel P. Berrange wrote:
> Add a virtlogd-admin-sock can serves the admin protocol for the virtlogd
> daemon and define a virtlogd:///{system,session}  URI scheme for
> connecting to it.
> 
> Signed-off-by: Daniel P. Berrange <berrange at redhat.com>
> ---
>  src/Makefile.am                      |   1 +
>  src/libvirt-admin.c                  |  20 ++++--
>  src/logging/log_daemon.c             | 135 ++++++++++++++++++++++++++---------
>  src/logging/log_daemon_config.c      |   3 +
>  src/logging/log_daemon_config.h      |   1 +
>  src/logging/test_virtlogd.aug.in     |   4 ++
>  src/logging/virtlogd-admin.socket.in |  10 +++
>  src/logging/virtlogd.aug             |   1 +
>  src/logging/virtlogd.service.in      |   1 +
>  9 files changed, 136 insertions(+), 40 deletions(-)
>  create mode 100644 src/logging/virtlogd-admin.socket.in
> 


> diff --git a/src/logging/log_daemon_config.c b/src/logging/log_daemon_config.c
> index cf58e6230e..3226b2c484 100644
> --- a/src/logging/log_daemon_config.c
> +++ b/src/logging/log_daemon_config.c
> @@ -73,6 +73,7 @@ virLogDaemonConfigNew(bool privileged ATTRIBUTE_UNUSED)
>          return NULL;
>  
>      data->max_clients = 1024;
> +    data->admin_max_clients = 5000;
>      data->max_size = 1024 * 1024 * 2;
>      data->max_backups = 3;

5000 seems like huge default. Perhaps 5 is enough? Or 10 so that we
match the value from the aug test. Which brigns up interesting question
- how come we don't need src/logging/virtlogd.conf change too? And also,
how can it be that the aug test doesn't test virtlogd.conf but some
crafted input? We should have something similar to qemu.conf test.

>  
> @@ -103,6 +104,8 @@ virLogDaemonConfigLoadOptions(virLogDaemonConfigPtr data,
>          return -1;
>      if (virConfGetValueUInt(conf, "max_clients", &data->max_clients) < 0)
>          return -1;
> +    if (virConfGetValueUInt(conf, "admin_max_clients", &data->admin_max_clients) < 0)
> +        return -1;
>      if (virConfGetValueSizeT(conf, "max_size", &data->max_size) < 0)
>          return -1;
>      if (virConfGetValueSizeT(conf, "max_backups", &data->max_backups) < 0)
> diff --git a/src/logging/log_daemon_config.h b/src/logging/log_daemon_config.h
> index 72d77d5e6f..53101b0610 100644
> --- a/src/logging/log_daemon_config.h
> +++ b/src/logging/log_daemon_config.h
> @@ -34,6 +34,7 @@ struct _virLogDaemonConfig {
>      char *log_filters;
>      char *log_outputs;
>      unsigned int max_clients;
> +    unsigned int admin_max_clients;
>  
>      size_t max_backups;
>      size_t max_size;
> diff --git a/src/logging/test_virtlogd.aug.in b/src/logging/test_virtlogd.aug.in
> index 3e6888fd48..ee3fae5cde 100644
> --- a/src/logging/test_virtlogd.aug.in
> +++ b/src/logging/test_virtlogd.aug.in
> @@ -2,6 +2,8 @@ module Test_virtlogd =
>    let conf = "log_level = 3
>  log_filters=\"3:remote 4:event\"
>  log_outputs=\"3:syslog:virtlogd\"
> +max_clients = 10
> +admin_max_clients = 10
>  max_size = 131072
>  max_backups = 3
>  "
> @@ -10,5 +12,7 @@ max_backups = 3
>          { "log_level" = "3" }
>          { "log_filters" = "3:remote 4:event" }
>          { "log_outputs" = "3:syslog:virtlogd" }
> +	{ "max_clients" = "10" }
> +	{ "admin_max_clients" = "10" }

Expand the TABs please.

Michal




More information about the libvir-list mailing list