virt: Fix parsing configuration options
authorRadoslaw Jablonski <radoslawx.jablonski@intel.com>
Tue, 12 Mar 2019 09:02:06 +0000 (09:02 +0000)
committerRadoslaw Jablonski <radoslawx.jablonski@intel.com>
Fri, 22 Mar 2019 16:35:45 +0000 (16:35 +0000)
commit2a15a3ff1f98ab250c383c3cb9fb38628e3fdf41
treeb824696afa6ba284614a23d54b0ff72746f224b4
parentc4439c9cb3e2348ad7013644731de27a55eca478
virt: Fix parsing configuration options

-lv_config function was re-written to use complex config callback

-fixed invalid parsing that caused collectd termination even if values
in config file for virt were correct(ExtraStats and RefreshInterval)

-added return statement to properly finish successful parsing
'ExtraStats' option value - without that, parsing of config file will
fail if 'ExtraStats' option is used in the collectd config file
because return code is the one for unrecognized parameter key.

-fixed parsing of RefreshInterval - previously error was thrown by
mistake if value was not written between double quotes(i.e. "60" was
fine but 60 was not)

-previously validation for boolean option value(such as value of
'IgnoreSelected' parameter) in virt plugin was missing and bad input
in config file could be unnoticed by user(in config file, boolean
value is parsed from its string representation). Now validation is
added and error is thrown whenever value can't be parsed directly as
'true'|'yes'|'on' or 'false'|'no'|'off'.

-additionally error messages have been added in all places where
parsing failed in order to notify the user about the reason of
collectd initialization failure.

Change-Id: I2069977395371e89f4a02eb544ffb7bda8c5c5ce
Signed-off-by: Radoslaw Jablonski <radoslawx.jablonski@intel.com>
Makefile.am
src/virt.c