[libvirt] [PATCH v2 5/5] storage: vstorage pool documentation and simple test

Olga Krishtal okrishtal at virtuozzo.com
Tue Jan 17 14:10:59 UTC 2017


Signed-off-by: Olga Krishtal <okrishtal at virtuozzo.com>
---
 docs/formatstorage.html.in                    |  7 ++++---
 docs/schemas/storagepool.rng                  | 21 ++++++++++++++++++++
 docs/storage.html.in                          | 28 ++++++++++++++++++++++++++-
 tests/storagepoolxml2xmlin/pool-vstorage.xml  | 10 ++++++++++
 tests/storagepoolxml2xmlout/pool-vstorage.xml | 18 +++++++++++++++++
 tests/storagepoolxml2xmltest.c                |  3 +++
 6 files changed, 83 insertions(+), 4 deletions(-)
 create mode 100644 tests/storagepoolxml2xmlin/pool-vstorage.xml
 create mode 100644 tests/storagepoolxml2xmlout/pool-vstorage.xml

diff --git a/docs/formatstorage.html.in b/docs/formatstorage.html.in
index f6887ae..3c39266 100644
--- a/docs/formatstorage.html.in
+++ b/docs/formatstorage.html.in
@@ -24,8 +24,9 @@
       (<span class="since">since 0.9.13</span>), <code>sheepdog</code>
       (<span class="since">since 0.10.0</span>),
       <code>gluster</code> (<span class="since">since
-      1.2.0</span>) or <code>zfs</code> (<span class="since">since
-      1.2.8</span>). This corresponds to the
+      1.2.0</span>),  <code>zfs</code> (<span class="since">since
+      1.2.8</span>) or <code>vstorage</code> (<span class="since">since
+      3.0.0</span>). This corresponds to the
       storage backend drivers listed further along in this document.
     </p>
     <h3><a name="StoragePoolFirst">General metadata</a></h3>
@@ -124,7 +125,7 @@
       <dt><code>device</code></dt>
       <dd>Provides the source for pools backed by physical devices
         (pool types <code>fs</code>, <code>logical</code>, <code>disk</code>,
-        <code>iscsi</code>, <code>zfs</code>).
+        <code>iscsi</code>, <code>zfs</code>, <code>vstorage</code>).
         May be repeated multiple times depending on backend driver. Contains
         a required attribute <code>path</code> which is either the fully
         qualified path to the block device node or for <code>iscsi</code>
diff --git a/docs/schemas/storagepool.rng b/docs/schemas/storagepool.rng
index 49d212f..c5d13a8 100644
--- a/docs/schemas/storagepool.rng
+++ b/docs/schemas/storagepool.rng
@@ -24,6 +24,7 @@
         <ref name='poolsheepdog'/>
         <ref name='poolgluster'/>
         <ref name='poolzfs'/>
+        <ref name='poolvstorage'>
       </choice>
     </element>
   </define>
@@ -173,6 +174,18 @@
     </interleave>
   </define>
 
+  <define name='poolvstorage'>
+    <attribute name='type'>
+      <value>vstorage</value>
+    </attribute>
+    <interleave>
+      <ref name='commonmetadata'/>
+      <ref name='sizing'/>
+      <ref name='sourcevstorage'/>
+      <ref name='target'/>
+    </interleave>
+  </define>
+
   <define name='sourceinfovendor'>
     <interleave>
       <optional>
@@ -373,6 +386,14 @@
     </element>
   </define>
 
+  <define name='sourcevstorage'>
+    <element name='source'>
+      <interleave>
+        <ref name='sourceinfoname'/>
+      </interleave>
+    </element>
+  </define>
+
   <define name='sourcefmtfs'>
     <optional>
       <element name='format'>
diff --git a/docs/storage.html.in b/docs/storage.html.in
index 2e5b65e..26d21df 100644
--- a/docs/storage.html.in
+++ b/docs/storage.html.in
@@ -120,6 +120,9 @@
       <li>
         <a href="#StorageBackendZFS">ZFS backend</a>
       </li>
+      <li>
+        <a href="#StorageBackendVstorage">Virtuozzo storage backend</a>
+      </li>
     </ul>
 
     <h2><a name="StorageBackendDir">Directory pool</a></h2>
@@ -791,6 +794,29 @@
     <p>
       The ZFS volume pool does not use the volume format type element.
     </p>
-
+    <h2><a name="StorageBackendVstorage">Vstorage pools</a></h2>
+    <p>
+      This provides a pool based on Virtuozzo storage. Virtuozzo Storage is highly-avaliable
+      distributed software-defined storage with build-in replication and disaster recovery.
+      (More detailed information about storage and its managment can be found here:
+      <a href="https://openvz.org/Virtuozzo_Storage">Virtuozzo Storage</a>).
+    </p>
+    <p>Please refer to the Virtuozzo Storage documentation for details on a storage managment
+       and usage.</p>
+    <h3>Example pool input</h3>
+    <p>In order to create storage pool with Virtuozzo Storage bakend you have to provide
+    cluster name and be authorized within this cluster.</p>
+     <pre>
+<pool type="vstorage">
+  <name>myvstoragepool</name>
+  <source>
+    <name>clustername</name>
+  </source>
+  <target>
+    <path>/mnt/clustername</path>
+  </target>
+</pool></pre>
+    <h3>Valid volume format types</h3>
+    <p>The valid volume types are the same as for the directory pool type.</p>
   </body>
 </html>
diff --git a/tests/storagepoolxml2xmlin/pool-vstorage.xml b/tests/storagepoolxml2xmlin/pool-vstorage.xml
new file mode 100644
index 0000000..31e36a2
--- /dev/null
+++ b/tests/storagepoolxml2xmlin/pool-vstorage.xml
@@ -0,0 +1,10 @@
+<pool type="vstorage">
+  <name>vstorage</name>
+  <uuid>cfd270f9-acc7-4394-8685-4977eb318171</uuid>
+  <source>
+    <name>vzstorage-cluster</name>
+  </source>
+  <target>
+    <path>/mnt/vstorage_cluster</path>
+  </target>
+</pool>
diff --git a/tests/storagepoolxml2xmlout/pool-vstorage.xml b/tests/storagepoolxml2xmlout/pool-vstorage.xml
new file mode 100644
index 0000000..8b2aecb
--- /dev/null
+++ b/tests/storagepoolxml2xmlout/pool-vstorage.xml
@@ -0,0 +1,18 @@
+<pool type='vstorage'>
+  <name>vstorage</name>
+  <uuid>cfd270f9-acc7-4394-8685-4977eb318171</uuid>
+  <capacity unit='bytes'>0</capacity>
+  <allocation unit='bytes'>0</allocation>
+  <available unit='bytes'>0</available>
+  <source>
+    <name>vstorage-cluster</name>
+  </source>
+  <target>
+    <path>/mnt/vstorage-cluster</path>
+    <permissions>
+      <mode>0755</mode>
+      <owner>-1</owner>
+      <group>-1</group>
+    </permissions>
+  </target>
+</pool>
diff --git a/tests/storagepoolxml2xmltest.c b/tests/storagepoolxml2xmltest.c
index 2e1e811..98a8449 100644
--- a/tests/storagepoolxml2xmltest.c
+++ b/tests/storagepoolxml2xmltest.c
@@ -104,6 +104,9 @@ mymain(void)
 #ifdef WITH_STORAGE_RBD
     DO_TEST("pool-rbd");
 #endif
+#ifdef WITH_STORAGE_VSTORAGE
+    DO_TEST("pool-vstorage");
+#endif
 
     return ret == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
 }
-- 
1.8.3.1




More information about the libvir-list mailing list