[libvirt] [PATCH 0/5] Reorganize storage auth (both disk and pool)

John Ferlan jferlan at redhat.com
Thu Jul 3 21:44:47 UTC 2014

On 06/27/2014 11:11 AM, John Ferlan wrote:
> While understandably not really a 1.2.6 candidate, I figured I'd post this
> now in hopes that it gets the ball rolling.  The changes will help with
> a related bz to support libiscsi for SCSI passthrough devices where a
> <hostdev> entry for an iscsi adapter would be able to have <auth> data.
> The bulk of changes are code motion/merge. The details for each are:
> The first patch will create new API's which will then be used by the
> parse domain disk and the parse storage pool code if the "<auth" element
> is found. The logic merges the parsing found in the domain disk and
> storage pool code with one slight caveat - the domain disk code expects
> to find "<secret type='xxxx'", where xxxx is 'iscsi' or 'ceph'. Trying
> use the Type{To/From}String API's in virstoragefile.c resulted in a
> link time failure (even though secret_conf.h was included).  Never quite
> figured it out - I will take suggestions though. Although since the
> domain disk code is all that really cares about it and the domain_conf
> code can use the Type{To/From}String API's - I just left it as is. The
> new copy API is used when the pool code needs to copy it's auth data into
> each domain disk's auth entry.
> The second patch will fix a not-run test that tests the auth.  It seems
> it was not added to the active list of tests because the output generated
> did not include the "usage" information (eg " usage='mycluster_myname") that
> is part of the <secret> element. Additionally because it did not include
> it the output was "<secret type='iscsi' </auth>".  So rather than ignore
> the test - add to the filters to avoid looking for "<secret" - through
> to the closing ">".  The -auth.xml and -auth.args files needed adjustments
> to follow the non "-auth" version of the files that have changed over time,
> but not also changed int the "-auth" files.
> The third patch will cause the domain disk algorithms to utilize the
> new generic parse and format APIs as well as using the 'authdef' instead
> of the inline structure fields.  This patch also restores the checking for
> </auth> in the recently restored auth test.  Still avoiding the whole
> <secret... /> line as I saw no way to filter just the usage that's in
> the stored XML file.
> The fourth patch is a mostly innocuous html change - it could go early,
> but it just felt better in this place.
> The fifth patch will cause the storage pool algorithms to utilize the
> new generic parse/format API's as well as new authdef structure for
> accessing the data. The removal of the duplicated cephx/chap structures
> seems (in my mind at least) to simplify things. They were essentially
> copies of each other with no seemingly real value in keeping separate
> other than the visual in the code of ".chap." or ".cephx.". 
> John Ferlan (5):
>   virstorage: Introduce virStorageAuthDef
>   qemuargv2xmltest: Resurrect RBD and iSCSI auth
>   Utilize virDomainDiskAuth for domain disk
>   formatdomain: Fix issues found describing auth
>   Utilize virDomainDiskAuth for storage pools
>  docs/formatdomain.html.in                          |  24 +--
>  src/conf/domain_conf.c                             | 106 ++--------
>  src/conf/storage_conf.c                            | 152 ++------------
>  src/conf/storage_conf.h                            |  38 +---
>  src/libvirt_private.syms                           |   5 +-
>  src/qemu/qemu_command.c                            |  72 ++++---
>  src/qemu/qemu_conf.c                               |  46 +----
>  src/storage/storage_backend_iscsi.c                |  41 ++--
>  src/storage/storage_backend_rbd.c                  |  65 +++---
>  src/util/virstoragefile.c                          | 219 +++++++++++++++++++--
>  src/util/virstoragefile.h                          |  37 +++-
>  tests/qemuargv2xmltest.c                           |   3 +
>  ...qemuxml2argv-disk-drive-network-iscsi-auth.args |   4 +-
>  .../qemuxml2argv-disk-drive-network-iscsi-auth.xml |  12 +-
>  .../qemuxml2argv-disk-drive-network-rbd-auth.xml   |   4 +-
>  15 files changed, 415 insertions(+), 413 deletions(-)

Made adjustments from reviews, made sure my build worked, retested, and

Thanks for the reviews -


More information about the libvir-list mailing list