From nobody Sun May 5 00:04:57 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1516092814593351.44486904610744; Tue, 16 Jan 2018 00:53:34 -0800 (PST) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 97DB378540; Tue, 16 Jan 2018 08:53:26 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id EFA1060D61; Tue, 16 Jan 2018 08:53:23 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 4F92018033DA; Tue, 16 Jan 2018 08:53:20 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w0G8rHTa029377 for ; Tue, 16 Jan 2018 03:53:17 -0500 Received: by smtp.corp.redhat.com (Postfix) id 536B060C81; Tue, 16 Jan 2018 08:53:17 +0000 (UTC) Received: from mx1.redhat.com (ext-mx09.extmail.prod.ext.phx2.redhat.com [10.5.110.38]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 4B2856090C for ; Tue, 16 Jan 2018 08:53:10 +0000 (UTC) Received: from mail-it0-f41.google.com (mail-it0-f41.google.com [209.85.214.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 741004900E for ; Tue, 16 Jan 2018 08:53:05 +0000 (UTC) Received: by mail-it0-f41.google.com with SMTP id c16so4004763itc.5 for ; Tue, 16 Jan 2018 00:53:05 -0800 (PST) Received: from localhost.localdomain ([210.12.16.251]) by smtp.gmail.com with ESMTPSA id 1sm839448ion.51.2018.01.16.00.53.02 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 16 Jan 2018 00:53:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=7a4qPwhmLxHGsPe7dAq+tCkZ1tUMkA60CyKFjQc1ggk=; b=c5aWwsH903nbBk3vdNRuKvKZtg7W/ReUopKhc7dkYYGGOgGHhtYu3ehkm3opA6nInK lCNKc7lUTI3HzO4Ii6IdWqvdNzmOd5vWdKavS8DlnwTmWXSiTzFDZIgueAiB9ZRrA+qx HVxK/DZ0707DsE3W9aWeJQc8qeK+YIPNqyfLSk9awuRqw+0EnPPX0CyzB7/XH9/BnAf2 bOPDXSUGDtbJajw4aKM7c9eiupfcAU/ZGVYwNq0tYHqZ6dBH8U6nqpAQiVmQp6LJbj+d QdYQjoEhfHKwAy/Y4zQdHD3gzPvB2vhR/CgecLwdrjmEYB2NXg7WObN3vwvT2DMoojTh p/dQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=7a4qPwhmLxHGsPe7dAq+tCkZ1tUMkA60CyKFjQc1ggk=; b=rFRyrJ5iu6zlprJ39FgR9SRkCtANGFwObrs6VI0nS1tGF8Ldof/bUB0YV5B+XRQD9x fpJmrIeU/xakCp+5cZ/JYhd3TLMVJNjkVtEfFsuVgDyKMQeqZOKOx1CmkX4dhwMbfStS qVSW/m/5D10wxzKQaF8hG9xGOZ4OaD5WXScR/aBAf2kZM2kWaC9b038iCBegsKJrLt2z fSBJAxpVw+Z+DgVdaDxhYhsZJJrRsDDFex4POtPPvrpTNWQRvfhAywfxZg04SMncg32C nl/NMRAUHJxeC+bx+TXLEBl+zJQgnmLWRTR+WFj7OM7D7SGVTyOjtFDa5X7wJX/67rzd UPLw== X-Gm-Message-State: AKwxytdJCgjidHFMJYKWz7n8OdoXrpvhx5cZEaoD2HthyHqAeAD/JFFP SfnuL1Rhd5rwxciUgLKt3sxa1A== X-Google-Smtp-Source: ACJfBotlFkpzT7caGy0MmAIy4QIM8cVRCaB9xlxGMXE2b+JM21ln5N9pUcGs2eCy9QJT/mEy+UftWg== X-Received: by 10.36.170.75 with SMTP id y11mr4402658iti.86.1516092784356; Tue, 16 Jan 2018 00:53:04 -0800 (PST) From: lichstor@gmail.com To: libvir-list@redhat.com Date: Tue, 16 Jan 2018 16:52:53 +0800 Message-Id: <20180116085253.28223-1-lichstor@gmail.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Tue, 16 Jan 2018 08:53:05 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Tue, 16 Jan 2018 08:53:05 +0000 (UTC) for IP:'209.85.214.41' DOMAIN:'mail-it0-f41.google.com' HELO:'mail-it0-f41.google.com' FROM:'lichstor@gmail.com' RCPT:'' X-RedHat-Spam-Score: -0.13 (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_PASS) 209.85.214.41 mail-it0-f41.google.com 209.85.214.41 mail-it0-f41.google.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.38 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-loop: libvir-list@redhat.com Cc: zhangshengyu Subject: [libvirt] [PATCH] add support of iSER transport type in qemu with libiscsi X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Tue, 16 Jan 2018 08:53:28 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" From: zhangshengyu --- docs/schemas/domaincommon.rng | 28 +++++++++++++ src/conf/domain_conf.c | 8 ++++ src/qemu/qemu_block.c | 24 ++++++++++- src/qemu/qemu_command.c | 3 ++ src/qemu/qemu_parse_command.c | 10 ++++- src/storage/storage_backend_gluster.c | 1 + src/util/virstoragefile.c | 3 +- src/util/virstoragefile.h | 1 + .../disk-drive-network-iser-auth.args | 25 ++++++++++++ .../disk-drive-network-iser-auth.xml | 44 ++++++++++++++++++= ++ .../qemuargv2xmldata/disk-drive-network-iser.args | 25 ++++++++++++ tests/qemuargv2xmldata/disk-drive-network-iser.xml | 41 +++++++++++++++++++ tests/qemuargv2xmltest.c | 2 + ...-drive-network-iser-auth-secrettype-invalid.xml | 33 +++++++++++++++ ...sk-drive-network-iser-auth-wrong-secrettype.xml | 33 +++++++++++++++ .../disk-drive-network-iser-auth.args | 31 ++++++++++++++ .../disk-drive-network-iser-auth.xml | 43 ++++++++++++++++++= ++ .../disk-drive-network-iser-lun.args | 27 +++++++++++++ .../disk-drive-network-iser-lun.xml | 28 +++++++++++++ .../qemuxml2argvdata/disk-drive-network-iser.args | 29 +++++++++++++ tests/qemuxml2argvdata/disk-drive-network-iser.xml | 37 +++++++++++++++++ tests/qemuxml2argvtest.c | 7 ++++ .../disk-drive-network-iser-auth.xml | 47 ++++++++++++++++++= ++++ .../qemuxml2xmloutdata/disk-drive-network-iser.xml | 41 +++++++++++++++++++ tests/qemuxml2xmltest.c | 2 + 25 files changed, 569 insertions(+), 4 deletions(-) create mode 100644 tests/qemuargv2xmldata/disk-drive-network-iser-auth.args create mode 100644 tests/qemuargv2xmldata/disk-drive-network-iser-auth.xml create mode 100644 tests/qemuargv2xmldata/disk-drive-network-iser.args create mode 100644 tests/qemuargv2xmldata/disk-drive-network-iser.xml create mode 100644 tests/qemuxml2argvdata/disk-drive-network-iser-auth-sec= rettype-invalid.xml create mode 100644 tests/qemuxml2argvdata/disk-drive-network-iser-auth-wro= ng-secrettype.xml create mode 100644 tests/qemuxml2argvdata/disk-drive-network-iser-auth.args create mode 100644 tests/qemuxml2argvdata/disk-drive-network-iser-auth.xml create mode 100644 tests/qemuxml2argvdata/disk-drive-network-iser-lun.args create mode 100644 tests/qemuxml2argvdata/disk-drive-network-iser-lun.xml create mode 100644 tests/qemuxml2argvdata/disk-drive-network-iser.args create mode 100644 tests/qemuxml2argvdata/disk-drive-network-iser.xml create mode 100644 tests/qemuxml2xmloutdata/disk-drive-network-iser-auth.x= ml create mode 100644 tests/qemuxml2xmloutdata/disk-drive-network-iser.xml diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng index f22c932f6..819a8791d 100644 --- a/docs/schemas/domaincommon.rng +++ b/docs/schemas/domaincommon.rng @@ -1534,6 +1534,7 @@ tcp rdma + iser @@ -1613,6 +1614,15 @@ + + + + tcp + rdma + iser + + + =20 @@ -4386,6 +4396,15 @@ + + + + tcp + rdma + iser + + + @@ -4397,6 +4416,15 @@ + + + + tcp + rdma + iser + + + diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index a1c25060f..8aa193ac2 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -7075,6 +7075,7 @@ virDomainStorageNetworkParseHosts(xmlNodePtr node, virStorageNetHostDefPtr *hosts, size_t *nhosts) { + char *transport =3D NULL; xmlNodePtr child; =20 for (child =3D node->children; child; child =3D child->next) { @@ -7086,6 +7087,9 @@ virDomainStorageNetworkParseHosts(xmlNodePtr node, } } =20 + if ((*hosts) && (transport =3D virXMLPropString(node, "transport"))) + (*hosts)->transport =3D virStorageNetHostTransportTypeFromString(t= ransport); + return 0; } =20 @@ -8490,6 +8494,7 @@ virDomainDiskSourceNetworkParse(xmlNodePtr node, if (virDomainStorageNetworkParseHosts(node, &src->hosts, &src->nhosts)= < 0) goto cleanup; =20 + virStorageSourceNetworkAssignDefaultPorts(src); =20 ret =3D 0; @@ -22371,6 +22376,9 @@ virDomainDiskSourceFormatNetwork(virBufferPtr attrB= uf, =20 VIR_FREE(path); =20 + if (src->hosts && src->hosts->transport =3D=3D VIR_STORAGE_NET_HOST_TR= ANS_ISER) + virBufferEscapeString(attrBuf, " transport=3D'%s'", "iser"); + if (src->haveTLS !=3D VIR_TRISTATE_BOOL_ABSENT && !(flags & VIR_DOMAIN_DEF_FORMAT_MIGRATABLE && src->tlsFromConfig)) diff --git a/src/qemu/qemu_block.c b/src/qemu/qemu_block.c index 585f0255e..49837205f 100644 --- a/src/qemu/qemu_block.c +++ b/src/qemu/qemu_block.c @@ -433,6 +433,12 @@ qemuBlockStorageSourceGetURI(virStorageSourcePtr src) if (VIR_STRDUP(uri->scheme, virStorageNetProtocolTypeToString(src->protocol)) <= 0) goto cleanup; + } else if (src->hosts->transport =3D=3D VIR_STORAGE_NET_HOST_TRANS_ISE= R) { + uri->port =3D src->hosts->port; + + if (VIR_STRDUP(uri->scheme, + virStorageNetHostTransportTypeToString(src->hosts->= transport)) < 0) + goto cleanup; } else { if (virAsprintf(&uri->scheme, "%s+%s", virStorageNetProtocolTypeToString(src->protocol), @@ -506,6 +512,19 @@ qemuBlockStorageSourceBuildJSONSocketAddress(virStorag= eNetHostDefPtr host, goto cleanup; break; =20 + case VIR_STORAGE_NET_HOST_TRANS_ISER: + transport =3D "iser"; + if (virAsprintf(&port, "%u", host->port) < 0) + goto cleanup; + + if (virJSONValueObjectCreate(&server, + "s:type", transport, + "s:host", host->name, + "s:port", port, + NULL) < 0) + goto cleanup; + break; + case VIR_STORAGE_NET_HOST_TRANS_UNIX: if (virJSONValueObjectCreate(&server, "s:type", "unix", @@ -590,7 +609,8 @@ qemuBlockStorageSourceBuildJSONInetSocketAddress(virSto= rageNetHostDefPtr host) virJSONValuePtr ret =3D NULL; char *port =3D NULL; =20 - if (host->transport !=3D VIR_STORAGE_NET_HOST_TRANS_TCP) { + if (host->transport !=3D VIR_STORAGE_NET_HOST_TRANS_TCP && + host->transport !=3D VIR_STORAGE_NET_HOST_TRANS_ISER) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("only TCP protocol can be converted to InetSocket= Address")); return NULL; @@ -831,7 +851,7 @@ qemuBlockStorageSourceGetISCSIProps(virStorageSourcePtr= src) "s:portal", portal, "s:target", target, "u:lun", lun, - "s:transport", "tcp", + "s:transport", virStorageNetHost= TransportTypeToString(src->hosts->transport), "S:user", username, "S:password-secret", objalias, NULL)); diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index b8aede32d..dd6e3be9a 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -883,6 +883,8 @@ qemuBuildNetworkDriveStr(virStorageSourcePtr src, if (!((src->hosts->name && strchr(src->hosts->name, ':')) || (src->hosts->transport =3D=3D VIR_STORAGE_NET_HOST_TRANS= _TCP && !src->hosts->name) || + (src->hosts->transport =3D=3D VIR_STORAGE_NET_HOST_TRANS= _ISER && + !src->hosts->name) || (src->hosts->transport =3D=3D VIR_STORAGE_NET_HOST_TRANS= _UNIX && src->hosts->socket && src->hosts->socket[0] !=3D '/'))) { @@ -891,6 +893,7 @@ qemuBuildNetworkDriveStr(virStorageSourcePtr src, =20 switch (src->hosts->transport) { case VIR_STORAGE_NET_HOST_TRANS_TCP: + case VIR_STORAGE_NET_HOST_TRANS_ISER: virBufferAsprintf(&buf, "%s:%u", src->hosts->name, src->hosts->port); break; diff --git a/src/qemu/qemu_parse_command.c b/src/qemu/qemu_parse_command.c index 5fe3f97d0..d376af208 100644 --- a/src/qemu/qemu_parse_command.c +++ b/src/qemu/qemu_parse_command.c @@ -70,7 +70,9 @@ qemuParseDriveURIString(virDomainDiskDefPtr def, virURIPt= r uri, if (transp) *transp++ =3D 0; =20 - if (STRNEQ(uri->scheme, scheme)) { + if (STREQ(uri->scheme, "iser")) { + transp =3D (char *)"iser"; + } else if (STRNEQ(uri->scheme, scheme)) { virReportError(VIR_ERR_INTERNAL_ERROR, _("Invalid transport/scheme '%s'"), uri->scheme); goto error; @@ -709,6 +711,12 @@ qemuParseCommandLineDisk(virDomainXMLOptionPtr xmlopt, =20 if (qemuParseISCSIString(def) < 0) goto error; + } else if (STRPREFIX(def->src->path, "iser:")) { + def->src->type =3D VIR_STORAGE_TYPE_NETWORK; + def->src->protocol =3D VIR_STORAGE_NET_PROTOCOL_ISCSI; + + if (qemuParseISCSIString(def) < 0) + goto error; } else if (STRPREFIX(def->src->path, "sheepdog:")) { char *p =3D def->src->path; char *port, *vdi; diff --git a/src/storage/storage_backend_gluster.c b/src/storage/storage_ba= ckend_gluster.c index 5eea84f16..1452fa0cd 100644 --- a/src/storage/storage_backend_gluster.c +++ b/src/storage/storage_backend_gluster.c @@ -608,6 +608,7 @@ virStorageFileBackendGlusterInitServer(virStorageFileBa= ckendGlusterPrivPtr priv, hoststr =3D host->socket; break; =20 + case VIR_STORAGE_NET_HOST_TRANS_ISER: case VIR_STORAGE_NET_HOST_TRANS_LAST: break; } diff --git a/src/util/virstoragefile.c b/src/util/virstoragefile.c index 5780180a9..63253a9c4 100644 --- a/src/util/virstoragefile.c +++ b/src/util/virstoragefile.c @@ -92,7 +92,8 @@ VIR_ENUM_IMPL(virStorageNetProtocol, VIR_STORAGE_NET_PROT= OCOL_LAST, VIR_ENUM_IMPL(virStorageNetHostTransport, VIR_STORAGE_NET_HOST_TRANS_LAST, "tcp", "unix", - "rdma") + "rdma", + "iser") =20 VIR_ENUM_IMPL(virStorageSourcePoolMode, VIR_STORAGE_SOURCE_POOL_MODE_LAST, diff --git a/src/util/virstoragefile.h b/src/util/virstoragefile.h index ecd806c93..5a6ec7776 100644 --- a/src/util/virstoragefile.h +++ b/src/util/virstoragefile.h @@ -147,6 +147,7 @@ typedef enum { VIR_STORAGE_NET_HOST_TRANS_TCP, VIR_STORAGE_NET_HOST_TRANS_UNIX, VIR_STORAGE_NET_HOST_TRANS_RDMA, + VIR_STORAGE_NET_HOST_TRANS_ISER, =20 VIR_STORAGE_NET_HOST_TRANS_LAST } virStorageNetHostTransport; diff --git a/tests/qemuargv2xmldata/disk-drive-network-iser-auth.args b/tes= ts/qemuargv2xmldata/disk-drive-network-iser-auth.args new file mode 100644 index 000000000..aaf10d8c8 --- /dev/null +++ b/tests/qemuargv2xmldata/disk-drive-network-iser-auth.args @@ -0,0 +1,25 @@ +LC_ALL=3DC \ +PATH=3D/bin \ +HOME=3D/home/test \ +USER=3Dtest \ +LOGNAME=3Dtest \ +QEMU_AUDIO_DRV=3Dnone \ +/usr/bin/qemu-system-i686 \ +-name QEMUGuest1 \ +-S \ +-M pc \ +-m 214 \ +-smp 1 \ +-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \ +-nographic \ +-monitor unix:/tmp/test-monitor,server,nowait \ +-no-acpi \ +-boot c \ +-usb \ +-drive file=3Diser://myname:AQCVn5hO6HzFAhAAq0NCv8jtJcIcE+HOBlMQ1A@example= .org:\ +6000/iqn.1992-01.com.example%3Astorage/1,format=3Draw,if=3Dvirtio \ +-drive file=3Diser://example.org:6000/iqn.1992-01.com.example%3Astorage/2,\ +format=3Draw,if=3Dvirtio \ +-net none \ +-serial none \ +-parallel none diff --git a/tests/qemuargv2xmldata/disk-drive-network-iser-auth.xml b/test= s/qemuargv2xmldata/disk-drive-network-iser-auth.xml new file mode 100644 index 000000000..7226443fb --- /dev/null +++ b/tests/qemuargv2xmldata/disk-drive-network-iser-auth.xml @@ -0,0 +1,44 @@ + + QEMUGuest1 + c7a5fdbd-edaf-9455-926a-d65c16db1809 + 219136 + 219136 + 1 + + hvm + + + + destroy + restart + destroy + + /usr/bin/qemu-system-i686 + + + + + + + + + +
+ + + + + + + +
+ + +
+ + + + + + + diff --git a/tests/qemuargv2xmldata/disk-drive-network-iser.args b/tests/qe= muargv2xmldata/disk-drive-network-iser.args new file mode 100644 index 000000000..c476e759e --- /dev/null +++ b/tests/qemuargv2xmldata/disk-drive-network-iser.args @@ -0,0 +1,25 @@ +LC_ALL=3DC \ +PATH=3D/bin \ +HOME=3D/home/test \ +USER=3Dtest \ +LOGNAME=3Dtest \ +QEMU_AUDIO_DRV=3Dnone \ +/usr/bin/qemu-system-i686 \ +-name QEMUGuest1 \ +-S \ +-M pc \ +-m 214 \ +-smp 1 \ +-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \ +-nographic \ +-monitor unix:/tmp/test-monitor,server,nowait \ +-no-acpi \ +-boot c \ +-usb \ +-drive file=3Diser://example.org:6000/iqn.1992-01.com.example,format=3Draw= ,\ +if=3Dvirtio \ +-drive file=3Diser://example.org:6000/iqn.1992-01.com.example/1,format=3Dr= aw,\ +if=3Dvirtio \ +-net none \ +-serial none \ +-parallel none diff --git a/tests/qemuargv2xmldata/disk-drive-network-iser.xml b/tests/qem= uargv2xmldata/disk-drive-network-iser.xml new file mode 100644 index 000000000..88f043f66 --- /dev/null +++ b/tests/qemuargv2xmldata/disk-drive-network-iser.xml @@ -0,0 +1,41 @@ + + QEMUGuest1 + c7a5fdbd-edaf-9455-926a-d65c16db1809 + 219136 + 219136 + 1 + + hvm + + + + destroy + restart + destroy + + /usr/bin/qemu-system-i686 + + + + + + +
+ + + + + + + +
+ + +
+ + + + + + + diff --git a/tests/qemuargv2xmltest.c b/tests/qemuargv2xmltest.c index cb010268c..59b26c647 100644 --- a/tests/qemuargv2xmltest.c +++ b/tests/qemuargv2xmltest.c @@ -213,6 +213,8 @@ mymain(void) DO_TEST("disk-drive-network-nbd-unix"); DO_TEST("disk-drive-network-iscsi"); DO_TEST("disk-drive-network-iscsi-auth"); + DO_TEST("disk-drive-network-iser"); + DO_TEST("disk-drive-network-iser-auth"); DO_TEST("disk-drive-network-gluster"); DO_TEST("disk-drive-network-rbd"); DO_TEST("disk-drive-network-rbd-auth"); diff --git a/tests/qemuxml2argvdata/disk-drive-network-iser-auth-secrettype= -invalid.xml b/tests/qemuxml2argvdata/disk-drive-network-iser-auth-secretty= pe-invalid.xml new file mode 100644 index 000000000..dbcf484dc --- /dev/null +++ b/tests/qemuxml2argvdata/disk-drive-network-iser-auth-secrettype-invali= d.xml @@ -0,0 +1,33 @@ + + QEMUGuest1 + c7a5fdbd-edaf-9455-926a-d65c16db1809 + 219136 + 219136 + 1 + + hvm + + + + destroy + restart + destroy + + /usr/bin/qemu-system-i686 + + + + + + + + + + + + + + + + + diff --git a/tests/qemuxml2argvdata/disk-drive-network-iser-auth-wrong-secr= ettype.xml b/tests/qemuxml2argvdata/disk-drive-network-iser-auth-wrong-secr= ettype.xml new file mode 100644 index 000000000..5525e9d86 --- /dev/null +++ b/tests/qemuxml2argvdata/disk-drive-network-iser-auth-wrong-secrettype.= xml @@ -0,0 +1,33 @@ + + QEMUGuest1 + c7a5fdbd-edaf-9455-926a-d65c16db1809 + 219136 + 219136 + 1 + + hvm + + + + destroy + restart + destroy + + /usr/bin/qemu-system-i686 + + + + + + + + + + + + + + + + + diff --git a/tests/qemuxml2argvdata/disk-drive-network-iser-auth.args b/tes= ts/qemuxml2argvdata/disk-drive-network-iser-auth.args new file mode 100644 index 000000000..5fa7a04bb --- /dev/null +++ b/tests/qemuxml2argvdata/disk-drive-network-iser-auth.args @@ -0,0 +1,31 @@ +LC_ALL=3DC \ +PATH=3D/bin \ +HOME=3D/home/test \ +USER=3Dtest \ +LOGNAME=3Dtest \ +QEMU_AUDIO_DRV=3Dnone \ +/usr/bin/qemu-system-i686 \ +-name QEMUGuest1 \ +-S \ +-M pc \ +-m 214 \ +-smp 1,sockets=3D1,cores=3D1,threads=3D1 \ +-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \ +-nographic \ +-nodefaults \ +-chardev socket,id=3Dcharmonitor,path=3D/tmp/lib/domain--1-QEMUGuest1/moni= tor.sock,\ +server,nowait \ +-mon chardev=3Dcharmonitor,id=3Dmonitor,mode=3Dreadline \ +-no-acpi \ +-boot c \ +-usb \ +-drive file=3Diser://myname:AQCVn5hO6HzFAhAAq0NCv8jtJcIcE+HOBlMQ1A@example= .org:\ +6000/iqn.1992-01.com.example%3Astorage/1,format=3Draw,if=3Dnone,\ +id=3Ddrive-virtio-disk0 \ +-device virtio-blk-pci,bus=3Dpci.0,addr=3D0x3,drive=3Ddrive-virtio-disk0,\ +id=3Dvirtio-disk0 \ +-drive file=3Diser://myname:AQCVn5hO6HzFAhAAq0NCv8jtJcIcE+HOBlMQ1A@example= .org:\ +6000/iqn.1992-01.com.example%3Astorage/2,format=3Draw,if=3Dnone,\ +id=3Ddrive-virtio-disk1 \ +-device virtio-blk-pci,bus=3Dpci.0,addr=3D0x4,drive=3Ddrive-virtio-disk1,\ +id=3Dvirtio-disk1 diff --git a/tests/qemuxml2argvdata/disk-drive-network-iser-auth.xml b/test= s/qemuxml2argvdata/disk-drive-network-iser-auth.xml new file mode 100644 index 000000000..fbcb6b4f1 --- /dev/null +++ b/tests/qemuxml2argvdata/disk-drive-network-iser-auth.xml @@ -0,0 +1,43 @@ + + QEMUGuest1 + c7a5fdbd-edaf-9455-926a-d65c16db1809 + 219136 + 219136 + 1 + + hvm + + + + destroy + restart + destroy + + /usr/bin/qemu-system-i686 + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/qemuxml2argvdata/disk-drive-network-iser-lun.args b/test= s/qemuxml2argvdata/disk-drive-network-iser-lun.args new file mode 100644 index 000000000..d9428533b --- /dev/null +++ b/tests/qemuxml2argvdata/disk-drive-network-iser-lun.args @@ -0,0 +1,27 @@ +LC_ALL=3DC \ +PATH=3D/bin \ +HOME=3D/home/test \ +USER=3Dtest \ +LOGNAME=3Dtest \ +QEMU_AUDIO_DRV=3Dnone \ +/usr/bin/qemu-system-i686 \ +-name QEMUGuest1 \ +-S \ +-M pc \ +-m 214 \ +-smp 1,sockets=3D1,cores=3D1,threads=3D1 \ +-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \ +-nographic \ +-nodefconfig \ +-nodefaults \ +-chardev socket,id=3Dcharmonitor,path=3D/tmp/lib/domain--1-QEMUGuest1/moni= tor.sock,\ +server,nowait \ +-mon chardev=3Dcharmonitor,id=3Dmonitor,mode=3Dreadline \ +-no-acpi \ +-boot c \ +-device virtio-scsi-pci,id=3Dscsi0,bus=3Dpci.0,addr=3D0x3 \ +-usb \ +-drive file=3Diser://example.org:3260/iqn.1992-01.com.example/0,format=3Dr= aw,\ +if=3Dnone,id=3Ddrive-scsi0-0-0-0 \ +-device scsi-block,bus=3Dscsi0.0,channel=3D0,scsi-id=3D0,lun=3D0,\ +drive=3Ddrive-scsi0-0-0-0,id=3Dscsi0-0-0-0 diff --git a/tests/qemuxml2argvdata/disk-drive-network-iser-lun.xml b/tests= /qemuxml2argvdata/disk-drive-network-iser-lun.xml new file mode 100644 index 000000000..25fa76140 --- /dev/null +++ b/tests/qemuxml2argvdata/disk-drive-network-iser-lun.xml @@ -0,0 +1,28 @@ + + QEMUGuest1 + c7a5fdbd-edaf-9455-926a-d65c16db1809 + 219136 + 219136 + 1 + + hvm + + + + destroy + restart + destroy + + /usr/bin/qemu-system-i686 + + + + + + + + + + + + diff --git a/tests/qemuxml2argvdata/disk-drive-network-iser.args b/tests/qe= muxml2argvdata/disk-drive-network-iser.args new file mode 100644 index 000000000..49ea467ff --- /dev/null +++ b/tests/qemuxml2argvdata/disk-drive-network-iser.args @@ -0,0 +1,29 @@ +LC_ALL=3DC \ +PATH=3D/bin \ +HOME=3D/home/test \ +USER=3Dtest \ +LOGNAME=3Dtest \ +QEMU_AUDIO_DRV=3Dnone \ +/usr/bin/qemu-system-i686 \ +-name QEMUGuest1 \ +-S \ +-M pc \ +-m 214 \ +-smp 1,sockets=3D1,cores=3D1,threads=3D1 \ +-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \ +-nographic \ +-nodefaults \ +-chardev socket,id=3Dcharmonitor,path=3D/tmp/lib/domain--1-QEMUGuest1/moni= tor.sock,\ +server,nowait \ +-mon chardev=3Dcharmonitor,id=3Dmonitor,mode=3Dreadline \ +-no-acpi \ +-boot c \ +-usb \ +-drive file=3Diser://example.org:6000/iqn.1992-01.com.example/0,format=3Dr= aw,\ +if=3Dnone,id=3Ddrive-virtio-disk0 \ +-device virtio-blk-pci,bus=3Dpci.0,addr=3D0x3,drive=3Ddrive-virtio-disk0,\ +id=3Dvirtio-disk0 \ +-drive file=3Diser://example.org:6000/iqn.1992-01.com.example/1,format=3Dr= aw,\ +if=3Dnone,id=3Ddrive-virtio-disk1 \ +-device virtio-blk-pci,bus=3Dpci.0,addr=3D0x4,drive=3Ddrive-virtio-disk1,\ +id=3Dvirtio-disk1 diff --git a/tests/qemuxml2argvdata/disk-drive-network-iser.xml b/tests/qem= uxml2argvdata/disk-drive-network-iser.xml new file mode 100644 index 000000000..b1634555c --- /dev/null +++ b/tests/qemuxml2argvdata/disk-drive-network-iser.xml @@ -0,0 +1,37 @@ + + QEMUGuest1 + c7a5fdbd-edaf-9455-926a-d65c16db1809 + 219136 + 219136 + 1 + + hvm + + + + destroy + restart + destroy + + /usr/bin/qemu-system-i686 + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index be32d891e..dcb35f017 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -939,6 +939,13 @@ mymain(void) DO_TEST("disk-drive-network-iscsi-lun", QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_SCSI_BLOCK); + DO_TEST("disk-drive-network-iser", NONE); + DO_TEST("disk-drive-network-iser-auth", NONE); + DO_TEST_PARSE_ERROR("disk-drive-network-iser-auth-secrettype-invalid",= NONE); + DO_TEST_PARSE_ERROR("disk-drive-network-iser-auth-wrong-secrettype", N= ONE); + DO_TEST("disk-drive-network-iser-lun", + QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_VIRTIO_SCSI, + QEMU_CAPS_SCSI_BLOCK); DO_TEST("disk-drive-network-gluster", QEMU_CAPS_GLUSTER_DEBUG_LEVEL); DO_TEST("disk-drive-network-rbd", NONE); diff --git a/tests/qemuxml2xmloutdata/disk-drive-network-iser-auth.xml b/te= sts/qemuxml2xmloutdata/disk-drive-network-iser-auth.xml new file mode 100644 index 000000000..1b27fdea2 --- /dev/null +++ b/tests/qemuxml2xmloutdata/disk-drive-network-iser-auth.xml @@ -0,0 +1,47 @@ + + QEMUGuest1 + c7a5fdbd-edaf-9455-926a-d65c16db1809 + 219136 + 219136 + 1 + + hvm + + + + destroy + restart + destroy + + /usr/bin/qemu-system-i686 + + + + + + + + + +
+ + + + + + + + + + +
+ + +
+ + + + + + + diff --git a/tests/qemuxml2xmloutdata/disk-drive-network-iser.xml b/tests/q= emuxml2xmloutdata/disk-drive-network-iser.xml new file mode 100644 index 000000000..88f043f66 --- /dev/null +++ b/tests/qemuxml2xmloutdata/disk-drive-network-iser.xml @@ -0,0 +1,41 @@ + + QEMUGuest1 + c7a5fdbd-edaf-9455-926a-d65c16db1809 + 219136 + 219136 + 1 + + hvm + + + + destroy + restart + destroy + + /usr/bin/qemu-system-i686 + + + + + + +
+ + + + + + + +
+ + +
+ + + + + + + diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index 2be8eb2c1..aeeda2dd1 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -515,6 +515,8 @@ mymain(void) DO_TEST("disk-drive-network-nbd-unix", NONE); DO_TEST("disk-drive-network-iscsi", NONE); DO_TEST("disk-drive-network-iscsi-auth", NONE); + DO_TEST("disk-drive-network-iser", NONE); + DO_TEST("disk-drive-network-iser-auth", NONE); DO_TEST("disk-drive-network-gluster", NONE); DO_TEST("disk-drive-network-rbd", NONE); DO_TEST("disk-drive-network-rbd-auth", NONE); --=20 2.13.6 (Apple Git-96) -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list