v1: http://www.redhat.com/archives/libvir-list/2016-April/msg00596.html Differences since v1: - Add qemuBuildiSCSICommandLine (and BuildDiskiSCSI && BuildHostdeviSCSI) These will do the magic necessary in order to support IV secret objects for the impending iSCSI -drive argument. This API doesn't require any qemu patches in order to work AFAICT. I also determined that the "id=" *isn't* required for an '-iscsi ...' argument, which made using the complete 'path' string for 'initiator-name' possible. The other option was to break it up and pass the "iqn.*" string as the initiator-name and a "modified" remaining string as the "id=" parameter. The modified would be to ensure only alphanumeric, '-', '.', and '_' characters are in the 'id=' string. - Fix up some logic found while actually working through the tests. Some of it related to what was found for the 'iscsi' options. A couple of other minor nits. - Add tests and mocks for virRandomBytes and gnutls_rnd (note: the former could be used to "randomly" (hah!) generate a UUID of all '0xff'). A mock of 'gnutls_encrypt' is not necessary since, it can only be called if the function gnutls_encrypt exists *and* we have a secret object capability. Not having a mock function allows us to validate that gnutls_encrypt actually generates a value we expect based on some less than stellar and totally non random key's! - Remove the hotplug IV code (I've saved it off for future expansion). Although not needing to do hotplug probably means patches 6-9 are not required, but still I think better than the existing so I kept them even though they have nothing to do with IV secrets (they'd need to go in after patches 1-5 anyways). - Ran the changes through the coverity checker... John Ferlan (12): qemu: Introduce qemuDomainSecretInfo qemu: Introduce qemuDomainSecretPrepare and Destroy qemu: Introduce qemuDomainHostdevPrivatePtr qemu: Introduce qemuDomainSecretHostdevPrepare and Destroy qemu: Use qemuDomainSecretInfoPtr in qemuBuildNetworkDriveURI qemu: hotplug: Assume support for -device for attach virtio disk qemu: hotplug: Adjust error path for attach scsi disk qemu: hotplug: Adjust error path for attach virtio disk qemu: hotplug: Adjust error path for attach hostdev scsi disk qemu: hotplug: Fix possible memory leak of props qemu: Introduce qemuDomainSecretIV qemu: Utilize qemu secret objects for SCSI/RBD auth/secret configure.ac | 1 + src/conf/domain_conf.c | 33 +- src/conf/domain_conf.h | 5 +- src/lxc/lxc_native.c | 4 +- src/qemu/qemu_alias.c | 23 + src/qemu/qemu_alias.h | 2 + src/qemu/qemu_command.c | 445 ++++++++++++++---- src/qemu/qemu_command.h | 13 +- src/qemu/qemu_domain.c | 516 ++++++++++++++++++++- src/qemu/qemu_domain.h | 81 +++- src/qemu/qemu_driver.c | 13 +- src/qemu/qemu_hotplug.c | 247 +++++----- src/qemu/qemu_hotplug.h | 4 +- src/qemu/qemu_parse_command.c | 4 +- src/qemu/qemu_process.c | 13 +- src/vbox/vbox_common.c | 4 +- src/xenconfig/xen_common.c | 4 +- src/xenconfig/xen_sxpr.c | 4 +- ...uxml2argv-disk-drive-network-iscsi-auth-IV.args | 39 ++ ...muxml2argv-disk-drive-network-iscsi-auth-IV.xml | 43 ++ ...emuxml2argv-disk-drive-network-rbd-auth-IV.args | 31 ++ ...qemuxml2argv-disk-drive-network-rbd-auth-IV.xml | 42 ++ ...emuxml2argv-hostdev-scsi-lsi-iscsi-auth-IV.args | 41 ++ ...qemuxml2argv-hostdev-scsi-lsi-iscsi-auth-IV.xml | 48 ++ ...xml2argv-hostdev-scsi-virtio-iscsi-auth-IV.args | 43 ++ ...uxml2argv-hostdev-scsi-virtio-iscsi-auth-IV.xml | 48 ++ tests/qemuxml2argvmock.c | 31 +- tests/qemuxml2argvtest.c | 19 + tests/virhostdevtest.c | 3 +- 29 files changed, 1557 insertions(+), 247 deletions(-) create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-iscsi-auth-IV.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-iscsi-auth-IV.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-rbd-auth-IV.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-rbd-auth-IV.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-lsi-iscsi-auth-IV.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-lsi-iscsi-auth-IV.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-virtio-iscsi-auth-IV.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-virtio-iscsi-auth-IV.xml -- 2.5.5 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list