Pass config path in <config file="" /> element instead of an attribute
libvirt has always had config in the element for Ceph, we don't want to break ittest-assert
parent
92362027a8
commit
ae82ca3b08
|
@ -1,4 +1,4 @@
|
||||||
commit bd283191b3e7a4c6d1c100d3d96e348a1ebffe55
|
commit 7f01510ef207940b07fac4f5fc8b9f1580b443aa
|
||||||
Author: Vitaliy Filippov <vitalif@yourcmc.ru>
|
Author: Vitaliy Filippov <vitalif@yourcmc.ru>
|
||||||
Date: Sun Jun 27 12:52:40 2021 +0300
|
Date: Sun Jun 27 12:52:40 2021 +0300
|
||||||
|
|
||||||
|
@ -65,10 +65,38 @@ index 4bf2b5f..dbc011b 100644
|
||||||
|
|
||||||
int virConnectListAllStoragePools(virConnectPtr conn,
|
int virConnectListAllStoragePools(virConnectPtr conn,
|
||||||
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
|
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
|
||||||
index 222bb8c..685d255 100644
|
index 222bb8c..2c30c55 100644
|
||||||
--- a/src/conf/domain_conf.c
|
--- a/src/conf/domain_conf.c
|
||||||
+++ b/src/conf/domain_conf.c
|
+++ b/src/conf/domain_conf.c
|
||||||
@@ -8653,6 +8653,10 @@ virDomainDiskSourceNetworkParse(xmlNodePtr node,
|
@@ -4667,8 +4667,7 @@ virDomainDeviceDefPostParseCommon(virDomainDeviceDefPtr dev,
|
||||||
|
if (dev->type == VIR_DOMAIN_DEVICE_DISK) {
|
||||||
|
virDomainDiskDefPtr disk = dev->data.disk;
|
||||||
|
|
||||||
|
- /* internal snapshots and config files are currently supported
|
||||||
|
- * only with rbd: */
|
||||||
|
+ /* internal snapshots are currently supported only with rbd: */
|
||||||
|
if (virStorageSourceGetActualType(disk->src) != VIR_STORAGE_TYPE_NETWORK &&
|
||||||
|
disk->src->protocol != VIR_STORAGE_NET_PROTOCOL_RBD) {
|
||||||
|
if (disk->src->snapshot) {
|
||||||
|
@@ -4677,11 +4676,15 @@ virDomainDeviceDefPostParseCommon(virDomainDeviceDefPtr dev,
|
||||||
|
"only with 'rbd' disks"));
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
-
|
||||||
|
+ }
|
||||||
|
+ /* config files are currently supported only with rbd and vitastor: */
|
||||||
|
+ if (virStorageSourceGetActualType(disk->src) != VIR_STORAGE_TYPE_NETWORK &&
|
||||||
|
+ disk->src->protocol != VIR_STORAGE_NET_PROTOCOL_RBD &&
|
||||||
|
+ disk->src->protocol != VIR_STORAGE_NET_PROTOCOL_VITASTOR) {
|
||||||
|
if (disk->src->configFile) {
|
||||||
|
virReportError(VIR_ERR_XML_ERROR, "%s",
|
||||||
|
_("<config> element is currently supported "
|
||||||
|
- "only with 'rbd' disks"));
|
||||||
|
+ "only with 'rbd' and 'vitastor' disks"));
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -8653,6 +8656,10 @@ virDomainDiskSourceNetworkParse(xmlNodePtr node,
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -79,7 +107,7 @@ index 222bb8c..685d255 100644
|
||||||
if ((haveTLS = virXMLPropString(node, "tls")) &&
|
if ((haveTLS = virXMLPropString(node, "tls")) &&
|
||||||
(src->haveTLS = virTristateBoolTypeFromString(haveTLS)) <= 0) {
|
(src->haveTLS = virTristateBoolTypeFromString(haveTLS)) <= 0) {
|
||||||
virReportError(VIR_ERR_XML_ERROR,
|
virReportError(VIR_ERR_XML_ERROR,
|
||||||
@@ -23849,6 +23853,10 @@ virDomainDiskSourceFormatNetwork(virBufferPtr attrBuf,
|
@@ -23849,6 +23856,10 @@ virDomainDiskSourceFormatNetwork(virBufferPtr attrBuf,
|
||||||
|
|
||||||
virBufferEscapeString(attrBuf, " name='%s'", path ? path : src->path);
|
virBufferEscapeString(attrBuf, " name='%s'", path ? path : src->path);
|
||||||
|
|
||||||
|
@ -90,7 +118,7 @@ index 222bb8c..685d255 100644
|
||||||
VIR_FREE(path);
|
VIR_FREE(path);
|
||||||
|
|
||||||
if (src->haveTLS != VIR_TRISTATE_BOOL_ABSENT &&
|
if (src->haveTLS != VIR_TRISTATE_BOOL_ABSENT &&
|
||||||
@@ -30930,6 +30938,7 @@ virDomainDiskTranslateSourcePool(virDomainDiskDefPtr def)
|
@@ -30930,6 +30941,7 @@ virDomainDiskTranslateSourcePool(virDomainDiskDefPtr def)
|
||||||
|
|
||||||
case VIR_STORAGE_POOL_MPATH:
|
case VIR_STORAGE_POOL_MPATH:
|
||||||
case VIR_STORAGE_POOL_RBD:
|
case VIR_STORAGE_POOL_RBD:
|
||||||
|
@ -216,7 +244,7 @@ index 73e988a..ab7bb81 100644
|
||||||
case VIR_STORAGE_NET_PROTOCOL_NONE:
|
case VIR_STORAGE_NET_PROTOCOL_NONE:
|
||||||
virReportError(VIR_ERR_NO_SUPPORT,
|
virReportError(VIR_ERR_NO_SUPPORT,
|
||||||
diff --git a/src/qemu/qemu_block.c b/src/qemu/qemu_block.c
|
diff --git a/src/qemu/qemu_block.c b/src/qemu/qemu_block.c
|
||||||
index cbf0aa4..096700d 100644
|
index cbf0aa4..f0ca9e7 100644
|
||||||
--- a/src/qemu/qemu_block.c
|
--- a/src/qemu/qemu_block.c
|
||||||
+++ b/src/qemu/qemu_block.c
|
+++ b/src/qemu/qemu_block.c
|
||||||
@@ -959,6 +959,42 @@ qemuBlockStorageSourceGetRBDProps(virStorageSourcePtr src)
|
@@ -959,6 +959,42 @@ qemuBlockStorageSourceGetRBDProps(virStorageSourcePtr src)
|
||||||
|
@ -275,7 +303,7 @@ index cbf0aa4..096700d 100644
|
||||||
if (!(fileprops = qemuBlockStorageSourceGetSheepdogProps(src)))
|
if (!(fileprops = qemuBlockStorageSourceGetSheepdogProps(src)))
|
||||||
return NULL;
|
return NULL;
|
||||||
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
|
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
|
||||||
index 822d5f8..e375cef 100644
|
index 822d5f8..abec34e 100644
|
||||||
--- a/src/qemu/qemu_command.c
|
--- a/src/qemu/qemu_command.c
|
||||||
+++ b/src/qemu/qemu_command.c
|
+++ b/src/qemu/qemu_command.c
|
||||||
@@ -975,6 +975,43 @@ qemuBuildNetworkDriveStr(virStorageSourcePtr src,
|
@@ -975,6 +975,43 @@ qemuBuildNetworkDriveStr(virStorageSourcePtr src,
|
||||||
|
@ -387,7 +415,7 @@ index 4a13e90..33301c7 100644
|
||||||
ignore_value(VIR_STRDUP(stable_path, data->path));
|
ignore_value(VIR_STRDUP(stable_path, data->path));
|
||||||
break;
|
break;
|
||||||
diff --git a/src/util/virstoragefile.c b/src/util/virstoragefile.c
|
diff --git a/src/util/virstoragefile.c b/src/util/virstoragefile.c
|
||||||
index bd4b027..b323cd6 100644
|
index bd4b027..8454906 100644
|
||||||
--- a/src/util/virstoragefile.c
|
--- a/src/util/virstoragefile.c
|
||||||
+++ b/src/util/virstoragefile.c
|
+++ b/src/util/virstoragefile.c
|
||||||
@@ -84,7 +84,8 @@ VIR_ENUM_IMPL(virStorageNetProtocol, VIR_STORAGE_NET_PROTOCOL_LAST,
|
@@ -84,7 +84,8 @@ VIR_ENUM_IMPL(virStorageNetProtocol, VIR_STORAGE_NET_PROTOCOL_LAST,
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
commit 41cdfe8317d98f70aadedfdbb381effed2641bdd
|
commit 4e74c622884e2585b2cfcdf322fbd2bff6de41ca
|
||||||
Author: Vitaliy Filippov <vitalif@yourcmc.ru>
|
Author: Vitaliy Filippov <vitalif@yourcmc.ru>
|
||||||
Date: Fri Jul 9 01:31:57 2021 +0300
|
Date: Fri Jul 9 01:31:57 2021 +0300
|
||||||
|
|
||||||
|
@ -65,10 +65,38 @@ index 089e1e0..d7e7ef4 100644
|
||||||
|
|
||||||
int virConnectListAllStoragePools(virConnectPtr conn,
|
int virConnectListAllStoragePools(virConnectPtr conn,
|
||||||
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
|
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
|
||||||
index 01b7187..c6e9702 100644
|
index 01b7187..645c758 100644
|
||||||
--- a/src/conf/domain_conf.c
|
--- a/src/conf/domain_conf.c
|
||||||
+++ b/src/conf/domain_conf.c
|
+++ b/src/conf/domain_conf.c
|
||||||
@@ -8261,7 +8261,8 @@ virDomainDiskSourceNetworkParse(xmlNodePtr node,
|
@@ -5230,8 +5230,7 @@ virDomainDiskDefPostParse(virDomainDiskDefPtr disk,
|
||||||
|
const virDomainDef *def,
|
||||||
|
virDomainXMLOptionPtr xmlopt)
|
||||||
|
{
|
||||||
|
- /* internal snapshots and config files are currently supported
|
||||||
|
- * only with rbd: */
|
||||||
|
+ /* internal snapshots are currently supported only with rbd: */
|
||||||
|
if (virStorageSourceGetActualType(disk->src) != VIR_STORAGE_TYPE_NETWORK &&
|
||||||
|
disk->src->protocol != VIR_STORAGE_NET_PROTOCOL_RBD) {
|
||||||
|
if (disk->src->snapshot) {
|
||||||
|
@@ -5240,11 +5239,15 @@ virDomainDiskDefPostParse(virDomainDiskDefPtr disk,
|
||||||
|
"only with 'rbd' disks"));
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
-
|
||||||
|
+ }
|
||||||
|
+ /* config files are currently supported only with rbd and vitastor: */
|
||||||
|
+ if (virStorageSourceGetActualType(disk->src) != VIR_STORAGE_TYPE_NETWORK &&
|
||||||
|
+ disk->src->protocol != VIR_STORAGE_NET_PROTOCOL_RBD &&
|
||||||
|
+ disk->src->protocol != VIR_STORAGE_NET_PROTOCOL_VITASTOR) {
|
||||||
|
if (disk->src->configFile) {
|
||||||
|
virReportError(VIR_ERR_XML_ERROR, "%s",
|
||||||
|
_("<config> element is currently supported "
|
||||||
|
- "only with 'rbd' disks"));
|
||||||
|
+ "only with 'rbd' and 'vitastor' disks"));
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -8261,7 +8264,8 @@ virDomainDiskSourceNetworkParse(xmlNodePtr node,
|
||||||
src->configFile = virXPathString("string(./config/@file)", ctxt);
|
src->configFile = virXPathString("string(./config/@file)", ctxt);
|
||||||
|
|
||||||
if (src->protocol == VIR_STORAGE_NET_PROTOCOL_HTTP ||
|
if (src->protocol == VIR_STORAGE_NET_PROTOCOL_HTTP ||
|
||||||
|
@ -78,7 +106,7 @@ index 01b7187..c6e9702 100644
|
||||||
src->query = virXMLPropString(node, "query");
|
src->query = virXMLPropString(node, "query");
|
||||||
|
|
||||||
if (virDomainStorageNetworkParseHosts(node, ctxt, &src->hosts, &src->nhosts) < 0)
|
if (virDomainStorageNetworkParseHosts(node, ctxt, &src->hosts, &src->nhosts) < 0)
|
||||||
@@ -31392,6 +31393,7 @@ virDomainStorageSourceTranslateSourcePool(virStorageSourcePtr src,
|
@@ -31392,6 +31396,7 @@ virDomainStorageSourceTranslateSourcePool(virStorageSourcePtr src,
|
||||||
|
|
||||||
case VIR_STORAGE_POOL_MPATH:
|
case VIR_STORAGE_POOL_MPATH:
|
||||||
case VIR_STORAGE_POOL_RBD:
|
case VIR_STORAGE_POOL_RBD:
|
||||||
|
@ -216,7 +244,7 @@ index 17b93d0..c5a0084 100644
|
||||||
case VIR_STORAGE_NET_PROTOCOL_NONE:
|
case VIR_STORAGE_NET_PROTOCOL_NONE:
|
||||||
virReportError(VIR_ERR_NO_SUPPORT,
|
virReportError(VIR_ERR_NO_SUPPORT,
|
||||||
diff --git a/src/qemu/qemu_block.c b/src/qemu/qemu_block.c
|
diff --git a/src/qemu/qemu_block.c b/src/qemu/qemu_block.c
|
||||||
index f9c6da2..922dde5 100644
|
index f9c6da2..d837a05 100644
|
||||||
--- a/src/qemu/qemu_block.c
|
--- a/src/qemu/qemu_block.c
|
||||||
+++ b/src/qemu/qemu_block.c
|
+++ b/src/qemu/qemu_block.c
|
||||||
@@ -938,6 +938,38 @@ qemuBlockStorageSourceGetRBDProps(virStorageSourcePtr src,
|
@@ -938,6 +938,38 @@ qemuBlockStorageSourceGetRBDProps(virStorageSourcePtr src,
|
||||||
|
@ -293,7 +321,7 @@ index f9c6da2..922dde5 100644
|
||||||
driver = "sheepdog";
|
driver = "sheepdog";
|
||||||
if (!(location = qemuBlockStorageSourceGetSheepdogProps(src)))
|
if (!(location = qemuBlockStorageSourceGetSheepdogProps(src)))
|
||||||
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
|
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
|
||||||
index 6f970a3..10b39ca 100644
|
index 6f970a3..4c03fb8 100644
|
||||||
--- a/src/qemu/qemu_command.c
|
--- a/src/qemu/qemu_command.c
|
||||||
+++ b/src/qemu/qemu_command.c
|
+++ b/src/qemu/qemu_command.c
|
||||||
@@ -1034,6 +1034,43 @@ qemuBuildNetworkDriveStr(virStorageSourcePtr src,
|
@@ -1034,6 +1034,43 @@ qemuBuildNetworkDriveStr(virStorageSourcePtr src,
|
||||||
|
@ -415,7 +443,7 @@ index 29c4c86..a27ad94 100644
|
||||||
case VIR_STORAGE_POOL_LOGICAL:
|
case VIR_STORAGE_POOL_LOGICAL:
|
||||||
case VIR_STORAGE_POOL_DISK:
|
case VIR_STORAGE_POOL_DISK:
|
||||||
diff --git a/src/util/virstoragefile.c b/src/util/virstoragefile.c
|
diff --git a/src/util/virstoragefile.c b/src/util/virstoragefile.c
|
||||||
index 0d3c2af..36e3afc 100644
|
index 0d3c2af..edb7f9e 100644
|
||||||
--- a/src/util/virstoragefile.c
|
--- a/src/util/virstoragefile.c
|
||||||
+++ b/src/util/virstoragefile.c
|
+++ b/src/util/virstoragefile.c
|
||||||
@@ -91,6 +91,7 @@ VIR_ENUM_IMPL(virStorageNetProtocol,
|
@@ -91,6 +91,7 @@ VIR_ENUM_IMPL(virStorageNetProtocol,
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
commit c6e1958a1b4974828e8e5852beb252ce6594e670
|
commit c97d7f2bfb7798f0d68bdba2646245dcfb940efa
|
||||||
Author: Vitaliy Filippov <vitalif@yourcmc.ru>
|
Author: Vitaliy Filippov <vitalif@yourcmc.ru>
|
||||||
Date: Mon Jun 28 01:20:19 2021 +0300
|
Date: Mon Jun 28 01:20:19 2021 +0300
|
||||||
|
|
||||||
|
@ -86,6 +86,37 @@ index d78f846..f7222e3 100644
|
||||||
case VIR_STORAGE_POOL_SHEEPDOG:
|
case VIR_STORAGE_POOL_SHEEPDOG:
|
||||||
case VIR_STORAGE_POOL_GLUSTER:
|
case VIR_STORAGE_POOL_GLUSTER:
|
||||||
case VIR_STORAGE_POOL_LAST:
|
case VIR_STORAGE_POOL_LAST:
|
||||||
|
diff --git a/src/conf/domain_validate.c b/src/conf/domain_validate.c
|
||||||
|
index 2124d25..6acc6fa 100644
|
||||||
|
--- a/src/conf/domain_validate.c
|
||||||
|
+++ b/src/conf/domain_validate.c
|
||||||
|
@@ -470,7 +470,7 @@ virDomainDiskDefValidateSourceChainOne(const virStorageSource *src)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- /* internal snapshots and config files are currently supported only with rbd: */
|
||||||
|
+ /* internal snapshots are currently supported only with rbd: */
|
||||||
|
if (virStorageSourceGetActualType(src) != VIR_STORAGE_TYPE_NETWORK &&
|
||||||
|
src->protocol != VIR_STORAGE_NET_PROTOCOL_RBD) {
|
||||||
|
if (src->snapshot) {
|
||||||
|
@@ -479,11 +479,15 @@ virDomainDiskDefValidateSourceChainOne(const virStorageSource *src)
|
||||||
|
"only with 'rbd' disks"));
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
-
|
||||||
|
+ }
|
||||||
|
+ /* config files are currently supported only with rbd and vitastor: */
|
||||||
|
+ if (virStorageSourceGetActualType(src) != VIR_STORAGE_TYPE_NETWORK &&
|
||||||
|
+ src->protocol != VIR_STORAGE_NET_PROTOCOL_RBD &&
|
||||||
|
+ src->protocol != VIR_STORAGE_NET_PROTOCOL_VITASTOR) {
|
||||||
|
if (src->configFile) {
|
||||||
|
virReportError(VIR_ERR_XML_ERROR, "%s",
|
||||||
|
_("<config> element is currently supported "
|
||||||
|
- "only with 'rbd' disks"));
|
||||||
|
+ "only with 'rbd' and 'vitastor' disks"));
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
diff --git a/src/conf/storage_conf.c b/src/conf/storage_conf.c
|
diff --git a/src/conf/storage_conf.c b/src/conf/storage_conf.c
|
||||||
index 2aa9a3d..166ca1f 100644
|
index 2aa9a3d..166ca1f 100644
|
||||||
--- a/src/conf/storage_conf.c
|
--- a/src/conf/storage_conf.c
|
||||||
|
@ -248,7 +279,7 @@ index c0905b0..c172378 100644
|
||||||
case VIR_STORAGE_NET_PROTOCOL_NONE:
|
case VIR_STORAGE_NET_PROTOCOL_NONE:
|
||||||
virReportError(VIR_ERR_NO_SUPPORT,
|
virReportError(VIR_ERR_NO_SUPPORT,
|
||||||
diff --git a/src/qemu/qemu_block.c b/src/qemu/qemu_block.c
|
diff --git a/src/qemu/qemu_block.c b/src/qemu/qemu_block.c
|
||||||
index 6627d04..c33f428 100644
|
index 6627d04..f769d24 100644
|
||||||
--- a/src/qemu/qemu_block.c
|
--- a/src/qemu/qemu_block.c
|
||||||
+++ b/src/qemu/qemu_block.c
|
+++ b/src/qemu/qemu_block.c
|
||||||
@@ -928,6 +928,38 @@ qemuBlockStorageSourceGetRBDProps(virStorageSource *src,
|
@@ -928,6 +928,38 @@ qemuBlockStorageSourceGetRBDProps(virStorageSource *src,
|
||||||
|
@ -325,7 +356,7 @@ index 6627d04..c33f428 100644
|
||||||
driver = "sheepdog";
|
driver = "sheepdog";
|
||||||
if (!(location = qemuBlockStorageSourceGetSheepdogProps(src)))
|
if (!(location = qemuBlockStorageSourceGetSheepdogProps(src)))
|
||||||
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
|
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
|
||||||
index ea51369..8258632 100644
|
index ea51369..d714597 100644
|
||||||
--- a/src/qemu/qemu_command.c
|
--- a/src/qemu/qemu_command.c
|
||||||
+++ b/src/qemu/qemu_command.c
|
+++ b/src/qemu/qemu_command.c
|
||||||
@@ -1074,6 +1074,43 @@ qemuBuildNetworkDriveStr(virStorageSource *src,
|
@@ -1074,6 +1074,43 @@ qemuBuildNetworkDriveStr(virStorageSource *src,
|
||||||
|
@ -435,7 +466,7 @@ index c2ff4b8..70d0689 100644
|
||||||
case VIR_STORAGE_POOL_ZFS:
|
case VIR_STORAGE_POOL_ZFS:
|
||||||
case VIR_STORAGE_POOL_LAST:
|
case VIR_STORAGE_POOL_LAST:
|
||||||
diff --git a/src/storage_file/storage_source_backingstore.c b/src/storage_file/storage_source_backingstore.c
|
diff --git a/src/storage_file/storage_source_backingstore.c b/src/storage_file/storage_source_backingstore.c
|
||||||
index e48ae72..d7a9b72 100644
|
index e48ae72..2017ccc 100644
|
||||||
--- a/src/storage_file/storage_source_backingstore.c
|
--- a/src/storage_file/storage_source_backingstore.c
|
||||||
+++ b/src/storage_file/storage_source_backingstore.c
|
+++ b/src/storage_file/storage_source_backingstore.c
|
||||||
@@ -284,6 +284,75 @@ virStorageSourceParseRBDColonString(const char *rbdstr,
|
@@ -284,6 +284,75 @@ virStorageSourceParseRBDColonString(const char *rbdstr,
|
||||||
|
|
|
@ -15,9 +15,10 @@
|
||||||
<target dev='vda' bus='virtio' />
|
<target dev='vda' bus='virtio' />
|
||||||
<driver name='qemu' type='raw' />
|
<driver name='qemu' type='raw' />
|
||||||
<!-- name is Vitastor image name -->
|
<!-- name is Vitastor image name -->
|
||||||
<!-- config (optional) is the path to Vitastor's configuration file -->
|
|
||||||
<!-- query (optional) is Vitastor's etcd_prefix -->
|
<!-- query (optional) is Vitastor's etcd_prefix -->
|
||||||
<source protocol='vitastor' name='debian9' query='/vitastor' config='/etc/vitastor/vitastor.conf'>
|
<source protocol='vitastor' name='debian9' query='/vitastor'>
|
||||||
|
<!-- config (optional) is the path to Vitastor's configuration file -->
|
||||||
|
<config file='/etc/vitastor/vitastor.conf' />
|
||||||
<!-- hosts = etcd addresses -->
|
<!-- hosts = etcd addresses -->
|
||||||
<host name='192.168.7.2' port='2379' />
|
<host name='192.168.7.2' port='2379' />
|
||||||
</source>
|
</source>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
diff --git a/nova/virt/image/model.py b/nova/virt/image/model.py
|
diff --git a/nova/virt/image/model.py b/nova/virt/image/model.py
|
||||||
index 971f7e9c07..70ed70d5e2 100644
|
index 971f7e9c07..ec3fca72cb 100644
|
||||||
--- a/nova/virt/image/model.py
|
--- a/nova/virt/image/model.py
|
||||||
+++ b/nova/virt/image/model.py
|
+++ b/nova/virt/image/model.py
|
||||||
@@ -129,3 +129,22 @@ class RBDImage(Image):
|
@@ -129,3 +129,22 @@ class RBDImage(Image):
|
||||||
|
@ -19,7 +19,7 @@ index 971f7e9c07..70ed70d5e2 100644
|
||||||
+ :param etcd_prefix: etcd prefix (optional)
|
+ :param etcd_prefix: etcd prefix (optional)
|
||||||
+ :param config_path: path to the configuration (optional)
|
+ :param config_path: path to the configuration (optional)
|
||||||
+ """
|
+ """
|
||||||
+ super(RBDImage, self).__init__(FORMAT_RAW)
|
+ super(VitastorImage, self).__init__(FORMAT_RAW)
|
||||||
+
|
+
|
||||||
+ self.name = name
|
+ self.name = name
|
||||||
+ self.etcd_address = etcd_address
|
+ self.etcd_address = etcd_address
|
||||||
|
@ -48,7 +48,7 @@ index 5358f3766a..ebe3d6effb 100644
|
||||||
|
|
||||||
info = nova.privsep.qemu.privileged_qemu_img_info(path, format=format)
|
info = nova.privsep.qemu.privileged_qemu_img_info(path, format=format)
|
||||||
diff --git a/nova/virt/libvirt/config.py b/nova/virt/libvirt/config.py
|
diff --git a/nova/virt/libvirt/config.py b/nova/virt/libvirt/config.py
|
||||||
index f9475776b3..51573fe41d 100644
|
index f9475776b3..a2e18aab67 100644
|
||||||
--- a/nova/virt/libvirt/config.py
|
--- a/nova/virt/libvirt/config.py
|
||||||
+++ b/nova/virt/libvirt/config.py
|
+++ b/nova/virt/libvirt/config.py
|
||||||
@@ -1060,6 +1060,8 @@ class LibvirtConfigGuestDisk(LibvirtConfigGuestDevice):
|
@@ -1060,6 +1060,8 @@ class LibvirtConfigGuestDisk(LibvirtConfigGuestDevice):
|
||||||
|
@ -60,18 +60,19 @@ index f9475776b3..51573fe41d 100644
|
||||||
self.source_name = None
|
self.source_name = None
|
||||||
self.source_hosts = []
|
self.source_hosts = []
|
||||||
self.source_ports = []
|
self.source_ports = []
|
||||||
@@ -1186,7 +1188,8 @@ class LibvirtConfigGuestDisk(LibvirtConfigGuestDevice):
|
@@ -1189,6 +1191,10 @@ class LibvirtConfigGuestDisk(LibvirtConfigGuestDevice):
|
||||||
elif self.source_type == "mount":
|
source = etree.Element("source", protocol=self.source_protocol)
|
||||||
dev.append(etree.Element("source", dir=self.source_path))
|
|
||||||
elif self.source_type == "network" and self.source_protocol:
|
|
||||||
- source = etree.Element("source", protocol=self.source_protocol)
|
|
||||||
+ source = etree.Element("source", protocol=self.source_protocol,
|
|
||||||
+ query=self.source_query, config=self.source_config)
|
|
||||||
if self.source_name is not None:
|
if self.source_name is not None:
|
||||||
source.set('name', self.source_name)
|
source.set('name', self.source_name)
|
||||||
|
+ if self.source_query is not None:
|
||||||
|
+ source.set('query', self.source_query)
|
||||||
|
+ if self.source_config is not None:
|
||||||
|
+ source.append(etree.Element('config', file=self.source_config))
|
||||||
hosts_info = zip(self.source_hosts, self.source_ports)
|
hosts_info = zip(self.source_hosts, self.source_ports)
|
||||||
|
for name, port in hosts_info:
|
||||||
|
host = etree.Element('host', name=name)
|
||||||
diff --git a/nova/virt/libvirt/driver.py b/nova/virt/libvirt/driver.py
|
diff --git a/nova/virt/libvirt/driver.py b/nova/virt/libvirt/driver.py
|
||||||
index 391231c527..34dc60dcdd 100644
|
index 391231c527..f38faa1608 100644
|
||||||
--- a/nova/virt/libvirt/driver.py
|
--- a/nova/virt/libvirt/driver.py
|
||||||
+++ b/nova/virt/libvirt/driver.py
|
+++ b/nova/virt/libvirt/driver.py
|
||||||
@@ -179,6 +179,7 @@ VOLUME_DRIVERS = {
|
@@ -179,6 +179,7 @@ VOLUME_DRIVERS = {
|
||||||
|
|
Loading…
Reference in New Issue