Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
docs/drvhyperv.html.in | 150 -----------------------------------------
docs/drvhyperv.rst | 121 +++++++++++++++++++++++++++++++++
docs/meson.build | 2 +-
3 files changed, 122 insertions(+), 151 deletions(-)
delete mode 100644 docs/drvhyperv.html.in
create mode 100644 docs/drvhyperv.rst
diff --git a/docs/drvhyperv.html.in b/docs/drvhyperv.html.in
deleted file mode 100644
index bce4e4128b..0000000000
--- a/docs/drvhyperv.html.in
+++ /dev/null
@@ -1,150 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html>
-<html
xmlns="http://www.w3.org/1999/xhtml">
- <body>
- <h1>Microsoft Hyper-V hypervisor driver</h1>
- <ul id="toc"></ul>
- <p>
- The libvirt Microsoft Hyper-V driver can manage Hyper-V 2012 R2 and newer.
- </p>
-
-
- <h2><a id="project">Project Links</a></h2>
- <ul>
- <li>
- The <a
href="http://www.microsoft.com/hyper-v-server/">Microsoft
Hyper-V</a>
- hypervisor
- </li>
- </ul>
-
-
- <h2><a id="uri">Connections to the Microsoft Hyper-V
driver</a></h2>
- <p>
- Some example remote connection URIs for the driver are:
- </p>
-<pre>
-hyperv://example-hyperv.com (over HTTPS)
-hyperv://example-hyperv.com/?transport=http (over HTTP)
-</pre>
- <p>
- <strong>Note</strong>: In contrast to other drivers, the Hyper-V
driver
- is a client-side-only driver. It connects to the Hyper-V server using
- WS-Management over HTTP(S). Therefore, the
- <a href="remote.html">remote transport mechanism</a>
provided by the
- remote driver and libvirtd will not work, and you cannot use URIs like
- <code>hyperv+ssh://example.com</code>.
- </p>
-
-
- <h3><a id="uriformat">URI Format</a></h3>
- <p>
- URIs have this general form (<code>[...]</code> marks an optional
part).
- </p>
-<pre>
-hyperv://[username@]hostname[:port]/[?extraparameters]
-</pre>
- <p>
- The default HTTPS ports is 5986. If the port parameter is given, it
- overrides the default port.
- </p>
-
-
- <h4><a id="extraparams">Extra parameters</a></h4>
- <p>
- Extra parameters can be added to a URI as part of the query string
- (the part following <code>?</code>). A single parameter is formed by
a
- <code>name=value</code> pair. Multiple parameters are separated by
- <code>&</code>.
- </p>
-<pre>
-?transport=http
-</pre>
- <p>
- The driver understands the extra parameters shown below.
- </p>
- <table class="top_table">
- <tr>
- <th>Name</th>
- <th>Values</th>
- <th>Meaning</th>
- </tr>
- <tr>
- <td>
- <code>transport</code>
- </td>
- <td>
- <code>http</code> or <code>https</code>
- </td>
- <td>
- Overrides the default HTTPS transport. The default HTTP port
- is 5985.
- </td>
- </tr>
- </table>
-
-
- <h3><a id="auth">Authentication</a></h3>
- <p>
- In order to perform any useful operation the driver needs to log into
- the Hyper-V server. Therefore, only <code>virConnectOpenAuth</code>
can
- be used to connect to an Hyper-V server, <code>virConnectOpen</code>
and
- <code>virConnectOpenReadOnly</code> don't work.
- To log into an Hyper-V server the driver will request credentials using
- the callback passed to the <code>virConnectOpenAuth</code> function.
- The driver passes the hostname as challenge parameter to the callback.
- </p>
- <p>
- <strong>Note</strong>: Currently only <code>Basic</code>
authentication
- is supported by libvirt. This method is disabled by default on the
- Hyper-V server and can be enabled via the WinRM commandline tool.
- </p>
-<pre>
-winrm set winrm/config/service/auth @{Basic="true"}
-</pre>
- <p>
- To allow <code>Basic</code> authentication with HTTP transport WinRM
- needs to allow unencrypted communication. This can be enabled via the
- WinRM commandline tool. However, this is not the recommended
- communication mode.
- </p>
-<pre>
-winrm set winrm/config/service @{AllowUnencrypted="true"}
-</pre>
-
-
- <h2><a id="versions">Version Numbers</a></h2>
- <p>
- Since Microsoft's build numbers are almost always over 1000, this driver
- needs to pack the value differently compared to the format defined by
- <code>virConnectGetVersion</code>.
- To preserve all of the digits, the following format is used:
- </p>
- <pre>major * 100000000 + minor * 1000000 + micro</pre>
- <p>
- This results in <code>virsh version</code> producing unexpected
output.
- </p>
- <table class="top_table">
- <thead>
- <th>Windows Release</th>
- <th>Kernel Version</th>
- <th>libvirt Representation</th>
- </thead>
- <tr>
- <td>Windows Server 2012 R2</td>
- <td>6.3.9600</td>
- <td>603.9.600</td>
- </tr>
- <tr>
- <td>Windows Server 2016</td>
- <td>10.0.14393</td>
- <td>1000.14.393</td>
- </tr>
- <tr>
- <td>Windows Server 2019</td>
- <td>10.0.17763</td>
- <td>1000.17.763</td>
- </tr>
- </table>
-
-
-</body></html>
diff --git a/docs/drvhyperv.rst b/docs/drvhyperv.rst
new file mode 100644
index 0000000000..17d620f29c
--- /dev/null
+++ b/docs/drvhyperv.rst
@@ -0,0 +1,121 @@
+===================================
+Microsoft Hyper-V hypervisor driver
+===================================
+
+.. contents::
+
+The libvirt Microsoft Hyper-V driver can manage Hyper-V 2012 R2 and newer.
+
+Project Links
+-------------
+
+- The `Microsoft Hyper-V <
http://www.microsoft.com/hyper-v-server/>`__
+ hypervisor
+
+Connections to the Microsoft Hyper-V driver
+-------------------------------------------
+
+Some example remote connection URIs for the driver are:
+
+::
+
+
hyperv://example-hyperv.com (over HTTPS)
+
hyperv://example-hyperv.com/?transport=http (over HTTP)
+
+**Note**: In contrast to other drivers, the Hyper-V driver is a client-side-only
+driver. It connects to the Hyper-V server using WS-Management over HTTP(S).
+Therefore, the `remote transport mechanism <remote.html>`__ provided by the
+remote driver and libvirtd will not work, and you cannot use URIs like
+``hyperv+ssh://example.com``.
+
+URI Format
+~~~~~~~~~~
+
+URIs have this general form (``[...]`` marks an optional part).
+
+::
+
+ hyperv://[username@]hostname[:port]/[?extraparameters]
+
+The default HTTPS ports is 5986. If the port parameter is given, it overrides
+the default port.
+
+Extra parameters
+^^^^^^^^^^^^^^^^
+
+Extra parameters can be added to a URI as part of the query string (the part
+following ``?``). A single parameter is formed by a ``name=value`` pair.
+Multiple parameters are separated by ``&``.
+
+::
+
+ ?transport=http
+
+The driver understands the extra parameters shown below.
+
++---------------+-----------------------+-------------------------------------+
+| Name | Values | Meaning |
++===============+=======================+=====================================+
+| ``transport`` | ``http`` or ``https`` | Overrides the default HTTPS |
+| | | transport. The default HTTP port is |
+| | | 5985. |
++---------------+-----------------------+-------------------------------------+
+
+Authentication
+~~~~~~~~~~~~~~
+
+In order to perform any useful operation the driver needs to log into the
+Hyper-V server. Therefore, only ``virConnectOpenAuth`` can be used to connect to
+an Hyper-V server, ``virConnectOpen`` and ``virConnectOpenReadOnly`` don't work.
+To log into an Hyper-V server the driver will request credentials using the
+callback passed to the ``virConnectOpenAuth`` function. The driver passes the
+hostname as challenge parameter to the callback.
+
+**Note**: Currently only ``Basic`` authentication is supported by libvirt. This
+method is disabled by default on the Hyper-V server and can be enabled via the
+WinRM commandline tool.
+
+::
+
+ winrm set winrm/config/service/auth @{Basic="true"}
+
+To allow ``Basic`` authentication with HTTP transport WinRM needs to allow
+unencrypted communication. This can be enabled via the WinRM commandline tool.
+However, this is not the recommended communication mode.
+
+::
+
+ winrm set winrm/config/service @{AllowUnencrypted="true"}
+
+Version Numbers
+---------------
+
+Since Microsoft's build numbers are almost always over 1000, this driver needs
+to pack the value differently compared to the format defined by
+``virConnectGetVersion``. To preserve all of the digits, the following format is
+used:
+
+::
+
+ major * 100000000 + minor * 1000000 + micro
+
+This results in ``virsh version`` producing unexpected output.
+
+.. list-table::
+ :header-rows: 1
+
+ * - Windows Release
+ - Kernel Version
+ - libvirt Representation
+
+ * - Windows Server 2012 R2
+ - 6.3.9600
+ - 603.9.600
+
+ * - Windows Server 2016
+ - 10.0.14393
+ - 1000.14.393
+
+ * - Windows Server 2019
+ - 10.0.17763
+ - 1000.17.763
diff --git a/docs/meson.build b/docs/meson.build
index 0465c22274..cfbde2a58d 100644
--- a/docs/meson.build
+++ b/docs/meson.build
@@ -22,7 +22,6 @@ docs_html_in_files = [
'csharp',
'dbus',
'docs',
- 'drvhyperv',
'drvlxc',
'drvnodedev',
'drvopenvz',
@@ -80,6 +79,7 @@ docs_rst_files = [
'drvbhyve',
'drvch',
'drvesx',
+ 'drvhyperv',
'drvqemu',
'errors',
'formatbackup',
--
2.35.1