From f309f03acf0eced103384163e5ac00272751bfd6 Mon Sep 17 00:00:00 2001 From: Filippos Giannakos <philipgian@grnet.gr> Date: Wed, 28 Jun 2017 12:23:13 +0300 Subject: [PATCH] Add cephx support for userspace access --- ext_scripts/ext_rbd.py | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/ext_scripts/ext_rbd.py b/ext_scripts/ext_rbd.py index b74ae1b..006e5c0 100755 --- a/ext_scripts/ext_rbd.py +++ b/ext_scripts/ext_rbd.py @@ -281,6 +281,22 @@ def snapshot(env): return 1 +def format_qemu_uri(name, pool=None, cephx=None, conf_file=None): + """Create a QEMU RBD URI for the specific image / environment""" + + uri = 'kvm:rbd:%s' % RBD.format_name(name, pool=pool) + extra_conf = '' + if cephx['id']: + extra_conf += ':id=%s' % cephx['id'] + if conf_file: + extra_conf += ':conf=%s' % conf_file + + if extra_conf: + uri += extra_conf + + return uri + + def attach(env): """ Map an existing RBD Image to a block device @@ -294,6 +310,7 @@ def attach(env): userspace_only = env.get("userspace_only") name = env.get("name") pool = env.get("rbd_pool") + cephx = env.get("cephx") if userspace_only: device = "" else: @@ -308,7 +325,9 @@ def attach(env): % (RBD.format_name(name, pool=pool), device)) sys.stdout.write("%s" % device) - sys.stdout.write("\nkvm:rbd:%s" % RBD.format_name(name, pool=pool)) + qemu_uri = format_qemu_uri(name, pool=pool, cephx=cephx) + sys.stdout.write("\n%s" % qemu_uri) + return 0 -- GitLab