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 pushed. Thanks for the reviews - John -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list