The current support for qemu and Ceph RBD (rados block device) has two main deficiencies: authentication doesn't work, and it relies on environment variables (which don't work with latest upstream). This patch set addresses both those problems, while trying to integrate as cleanly as possible with the rest of libvirt. The first few patches make some changes to libvirt itself: adding a CEPH secret type (for Ceph/RBD authentication), adding authentication fields to the XML schema, passing the virConnectPtr into the Domain{Attach,Detach} methods (needed to access secrets while building the qemu command), a helper that will escape arbitrary characters, and finally a patch that replaces the current RBD qemu code. Comments on this approach? Thanks! sage Sage Weil (5): secret: add Ceph secret type storage: add authId, authDomain to virDomainDiskDef qemu: pass virConnectPtr into Domain{Attach,Detach}* buf: implement generic virBufferEscape qemu/rbd: improve rbd device specification include/libvirt/libvirt.h.in | 3 + src/conf/domain_conf.c | 43 +++- src/conf/domain_conf.h | 2 + src/conf/secret_conf.c | 45 ++++- src/conf/secret_conf.h | 1 + src/libvirt_private.syms | 1 + src/qemu/qemu_command.c | 273 +++++++++++--------- src/qemu/qemu_command.h | 3 +- src/qemu/qemu_driver.c | 17 +- src/qemu/qemu_hotplug.c | 15 +- src/qemu/qemu_hotplug.h | 9 +- src/secret/secret_driver.c | 8 + src/util/buf.c | 33 ++- src/util/buf.h | 1 + .../qemuxml2argv-disk-drive-network-rbd.args | 6 +- .../qemuxml2argv-disk-drive-network-rbd.xml | 1 + 16 files changed, 305 insertions(+), 156 deletions(-) -- 1.7.4.1 -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html