From 73ed1d7401183a868e1a3d8dcd1bda82f5e017cd Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Tue, 16 Feb 2016 11:49:07 -0500 Subject: [PATCH] tests: qemuargv2xml: hardcode disk auth usage If a qemuargv has iscsi or ceph secrets on the command line, we will convert that to XML like: This is not valid XML, as either a UUID or usage must be specified in the secret block. It's not clear though how the argv2xml code can do anything correct here, since XML like this requires a libvirt secret object to have already been defined. The current test suite handles this by blanking out any block in the XML. This avoids domainschematest failures. Instead of blanking, let's hardcode a usage= name. This lets us test the other bits of generated XML, and is a step towards wiring up VIR_TEST_REGENERATE_OUTPUT --- ...qemuargv2xml-disk-drive-network-iscsi-auth.xml | 2 +- .../qemuargv2xml-disk-drive-network-rbd-auth.xml | 2 +- tests/qemuargv2xmltest.c | 15 ++++++++++++++- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-iscsi-auth.xml b/tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-iscsi-auth.xml index 5ac4abfdb2..35b3abc507 100644 --- a/tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-iscsi-auth.xml +++ b/tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-iscsi-auth.xml @@ -17,7 +17,7 @@ - + diff --git a/tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-rbd-auth.xml b/tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-rbd-auth.xml index ac2e942090..4db031b70b 100644 --- a/tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-rbd-auth.xml +++ b/tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-rbd-auth.xml @@ -23,7 +23,7 @@ - + diff --git a/tests/qemuargv2xmltest.c b/tests/qemuargv2xmltest.c index 6650cf0344..8e0e71100d 100644 --- a/tests/qemuargv2xmltest.c +++ b/tests/qemuargv2xmltest.c @@ -24,7 +24,6 @@ static virQEMUDriver driver; static int blankProblemElements(char *data) { if (virtTestClearLineRegex("[[:digit:]]+", data) < 0 || - virtTestClearLineRegex("", data) < 0 || virtTestClearLineRegex("[[:digit:]]+", data) < 0) return -1; @@ -33,12 +32,26 @@ static int blankProblemElements(char *data) static int testSanitizeDef(virDomainDefPtr vmdef) { + size_t i = 0; int ret = -1; /* Remove UUID randomness */ if (virUUIDParse("c7a5fdbd-edaf-9455-926a-d65c16db1809", vmdef->uuid) < 0) goto fail; + /* qemuargv2xml doesn't know what to set for a secret usage/uuid, + * so hardcode usage='qemuargv2xml_usage' to appead the schema checker */ + for (i = 0; i < vmdef->ndisks; i++) { + virDomainDiskDefPtr disk = vmdef->disks[i]; + + if (disk->src->auth) { + disk->src->auth->secretType = VIR_STORAGE_SECRET_TYPE_USAGE; + if (VIR_STRDUP(disk->src->auth->secret.usage, + "qemuargv2xml_usage") < 0) + goto fail; + } + } + ret = 0; fail: return ret; -- GitLab