提交 1cb98a1f 编写于 作者: P Peter Krempa

qemu: block: Add support for RBD authentication for blockdev

To allow using -blockdev with RBD we need to support the recently added
RBD authentication.
Signed-off-by: NPeter Krempa <pkrempa@redhat.com>
Reviewed-by: NJán Tomko <jtomko@redhat.com>
上级 8b4a31ef
......@@ -906,13 +906,33 @@ qemuBlockStorageSourceGetRBDProps(virStorageSourcePtr src)
virJSONValuePtr servers = NULL;
virJSONValuePtr ret = NULL;
const char *username = NULL;
virJSONValuePtr authmodes = NULL;
virJSONValuePtr mode = NULL;
const char *keysecret = NULL;
if (src->nhosts > 0 &&
!(servers = qemuBlockStorageSourceBuildHostsJSONInetSocketAddress(src)))
return NULL;
if (src->auth)
if (src->auth) {
username = srcPriv->secinfo->s.aes.username;
keysecret = srcPriv->secinfo->s.aes.alias;
/* the auth modes are modelled after our old command line generator */
if (!(authmodes = virJSONValueNewArray()))
goto cleanup;
if (!(mode = virJSONValueNewString("cephx")) ||
virJSONValueArrayAppend(authmodes, mode) < 0)
goto cleanup;
mode = NULL;
if (!(mode = virJSONValueNewString("none")) ||
virJSONValueArrayAppend(authmodes, mode) < 0)
goto cleanup;
mode = NULL;
}
if (virJSONValueObjectCreate(&ret,
"s:driver", "rbd",
......@@ -922,10 +942,14 @@ qemuBlockStorageSourceGetRBDProps(virStorageSourcePtr src)
"S:conf", src->configFile,
"A:server", &servers,
"S:user", username,
"A:auth-client-required", &authmodes,
"S:key-secret", keysecret,
NULL) < 0)
goto cleanup;
cleanup:
virJSONValueFree(authmodes);
virJSONValueFree(mode);
virJSONValueFree(servers);
return ret;
}
......
......@@ -24,6 +24,11 @@
}
],
"user": "testuser-rbd",
"auth-client-required": [
"cephx",
"none"
],
"key-secret": "node-a-s-secalias",
"node-name": "node-a-s",
"cache": {
"direct": false,
......
......@@ -24,6 +24,11 @@
}
],
"user": "testuser-rbd",
"auth-client-required": [
"cephx",
"none"
],
"key-secret": "node-a-s-secalias",
"node-name": "node-a-s",
"read-only": false,
"discard": "unmap"
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册