[libvirt] [PATCH 0/5] Reorganize storage auth (both disk and pool)
Michal Privoznik
mprivozn at redhat.com
Wed Jul 2 12:13:43 UTC 2014
On 27.06.2014 17:11, 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(-)
>
ACK series.
Michal
More information about the libvir-list
mailing list