
On 08/31/2017 07:56 AM, Peter Krempa wrote:
On Wed, Aug 30, 2017 at 18:46:09 -0400, John Ferlan wrote:
From: Ashish Mittal <Ashish.Mittal@veritas.com>
Add a test case to verify TLS arguments are parsed correctly for a VxHS disk
Test case verifies that XML is generated correctly for a VxHS disk having TLS enabled.
Signed-off-by: Ashish Mittal <Ashish.Mittal@veritas.com> Signed-off-by: John Ferlan <jferlan@redhat.com> ---
This is essentially the v5 patch7 with a couple of minor adjustments (port == 9999 and "type":"tcp" added).
tests/virstoragetest.c | 12 ++++++++++++ 1 file changed, 12 insertions(+)
diff --git a/tests/virstoragetest.c b/tests/virstoragetest.c index ffebd4d..f437de4 100644 --- a/tests/virstoragetest.c +++ b/tests/virstoragetest.c @@ -1603,6 +1603,18 @@ mymain(void) "<source protocol='vxhs' name='c6718f6b-0401-441d-a8c3-1f0064d75ee0'>\n" " <host name='example.com' port='9999'/>\n" "</source>\n"); + TEST_BACKING_PARSE("json:{\"file\":{\"driver\":\"vxhs\"," + "\"vdisk-id\":\"c6718f6b-0401-441d-a8c3-1f0064d75ee0\"," + "\"server\": { \"type\":\"tcp\"," + "\"host\":\"example.com\"," + "\"port\":\"9999\"" + "}," + "\"tls\":\"yes\""
There is no 'tls' property in the QAPI schema for VXHS [1] drives, so this test is bogus.
Yeah - I was wondering about this too. I just forgot to note it while working through things. Of course the problem is in the previous patch... Where "tls" is incorrectly handled in virStorageSourceParseBackingJSONVxHS. It should have been: const char *haveTLS = virJSONValueObjectGetString(json, "tls-creds"); and then if (haveTLS) src->haveTLS = VIR_TRISTATE_BOOL_YES; Making this patch alter the "tls":"yes" above to be: "\"tls-creds\":\"objvirtio-disk0_tls0\"" Whether this patch combines with the previous one or the previous one doesn't make the virStorageSourceParseBackingJSONVxHS change and this patch does is a matter of taste I suppose. I think combining them by this point in time would be fine, but I can separate too. Tks - John
[1]
## # @BlockdevOptionsVxHS: # # Driver specific block device options for VxHS # # @vdisk-id: UUID of VxHS volume # @server: vxhs server IP, port # @tls-creds: TLS credentials ID # # Since: 2.10 ## { 'struct': 'BlockdevOptionsVxHS', 'data': { 'vdisk-id': 'str', 'server': 'InetSocketAddressBase', '*tls-creds': 'str' } }