[libvirt] [PATCH 0/5 v2] Improve Ceph Qemu+RBD support
Sage Weil
sage at newdream.net
Tue Sep 27 20:40:04 UTC 2011
Hi everyone,
Any feedback on this series? I touch a few pieces outside of the RBD bits
here...
Thanks!
sage
On Mon, 19 Sep 2011, Sage Weil wrote:
> 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.
>
> The first two patches update the xml schemas and conf to add a Ceph
> secret type and to specify authentication information along with the rbd
> disk.
>
> The next two patches make some libvirt changes. We pass virConnectPtr
> down into the Domain{Attach,Detach} methods (needed to access secrets
> while building the qemu command), and add a helper that will escape
> arbitrary characters.
>
> The final patch replaces the current RBD qemu code and uses the new conf
> info to do authentication properly. (We still need to make a change
> there to avoid having the authentication key show up on qemu command
> line; I'll clean that up shortly.)
>
> Comments on this approach?
>
> Thanks!
> sage
>
>
> Changes from v1:
> update docs/schemas/{domain,secret}.rng
>
> 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
>
> docs/schemas/domain.rng | 6 +
> docs/schemas/secret.rng | 17 ++
> 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 +
> 18 files changed, 328 insertions(+), 156 deletions(-)
>
> --
> 1.7.4.1
>
> >From 498cd06b76bbb4415a2f81f9d169f267ff99329c Mon Sep 17 00:00:00 2001
> From: Sage Weil <sage at newdream.net>
> Date: Thu, 15 Sep 2011 13:47:40 -0700
> Subject: [PATCH 0/5] Improve Ceph Qemu+RBD support
>
> 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 at vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
>
More information about the libvir-list
mailing list