[libvirt] [RFC PATCH 0/7] Adding 'config' driver

Peter Krempa pkrempa at redhat.com
Mon Jan 20 15:58:07 UTC 2014


On 12/21/13 05:03, Adam Walters wrote:
> This patchset adds a driver named 'config' that allows access to configuration data, such as secret and storage definitions. This is a pre-requisite for my next patchset which resolves the race condition on libvirtd startup and the circular dependencies between QEMU and the storage driver.
> 
> The basic rationale behind this idea is that there exist circumstances under which a driver may need to access things such as secrets during a time at which there is no active connection to a hypervisor. Without a connection, the data can't be accessed currently. I felt that this was a much simpler solution to the problem that building new APIs that do not require a connection to operate.
> 
> This driver is technically what one may call a hypervisor driver, but it does not implement any domain operations. It simply exists to handle requests by drivers for access to informatino that would otherwise require a connection. The URI used for this driver is 'config:///' and has been tested working on 4 different machines of mine, running three different distributions of Linux (Archlinux, Gentoo, and CentOS). Being a very simple driver, I would expect it to work pretty much anywhere.
> 
> I would love to hear any comments and suggestions you may have about this driver. At the very least this plus my next patchset resolves the startup race condition on my machine. If a more robust setup (likely a new internal API) is in the works, this driver could act as a band-aid to allow access to this type of data in the interim if a better resolution is a ways off.
> 
> Adam Walters (7):
>   config: Adding source for the config driver
>   config: Adding header for the config driver
>   virterror: Adding a new VIR_FROM_ define
>   libvirtd: Add config driver hooks
>   po: Add config_driver.c to POTFILES.in
>   configure: Add config driver to configure script
>   Makefile: Add config driver to src/Makefile.am
> 
>  configure.ac                |  10 ++
>  daemon/libvirtd.c           |  21 ++--
>  include/libvirt/virterror.h |   2 +
>  po/POTFILES.in              |   1 +
>  src/Makefile.am             |  25 +++++
>  src/config/config_driver.c  | 237 ++++++++++++++++++++++++++++++++++++++++++++
>  src/config/config_driver.h  |  44 ++++++++
>  src/util/virerror.c         |   2 +
>  8 files changed, 336 insertions(+), 6 deletions(-)
>  create mode 100644 src/config/config_driver.c
>  create mode 100644 src/config/config_driver.h
> 

In general the code looks sane. I'm looking forward to see a v2 of this
series and I promise it won't take that long to review it as this time :).

Peter

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 901 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20140120/b0465528/attachment-0001.sig>


More information about the libvir-list mailing list