---
v2:
- move
microsoft.com link to drvhyperv.html.in
docs/drivers.html.in | 1 +
docs/drvhyperv.html.in | 112 ++++++++++++++++++++++++++++++++++++++++++++++++
docs/index.html.in | 3 +
docs/sitemap.html.in | 4 ++
src/README | 3 +-
5 files changed, 122 insertions(+), 1 deletions(-)
create mode 100644 docs/drvhyperv.html.in
diff --git a/docs/drivers.html.in b/docs/drivers.html.in
index 0428870..75038fc 100644
--- a/docs/drivers.html.in
+++ b/docs/drivers.html.in
@@ -28,6 +28,7 @@
<li><strong><a href="drvesx.html">VMware
ESX</a></strong></li>
<li><strong><a href="drvvmware.html">VMware
Workstation/Player</a></strong></li>
<li><strong><a
href="drvxen.html">Xen</a></strong></li>
+ <li><strong><a href="drvhyperv.html">Microsoft
Hyper-V</a></strong></li>
</ul>
<h2><a name="stroage">Storage drivers</a></h2>
diff --git a/docs/drvhyperv.html.in b/docs/drvhyperv.html.in
new file mode 100644
index 0000000..f710090
--- /dev/null
+++ b/docs/drvhyperv.html.in
@@ -0,0 +1,112 @@
+<html><body>
+ <h1>Microsoft Hyper-V hypervisor driver</h1>
+ <ul id="toc"></ul>
+ <p>
+ The libvirt Microsoft Hyper-V driver can manage Hyper-V 2008 R2.
+ </p>
+
+
+ <h2><a name="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 name="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 name="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 name="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 name="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. Although this is not the recommended
+ communication mode.
+ </p>
+<pre>
+winrm set winrm/config/service @{AllowUnencrypted="true"}
+</pre>
+
+
+</body></html>
diff --git a/docs/index.html.in b/docs/index.html.in
index 536e354..c84eb1f 100644
--- a/docs/index.html.in
+++ b/docs/index.html.in
@@ -60,6 +60,9 @@
The <a
href="http://libvirt.org/drvvmware.html">VMware
Workstation and Player</a> hypervisors
</li>
<li>
+ The <a
href="http://libvirt.org/drvhyperv.html">Microsoft
Hyper-V</a> hypervisor
+ </li>
+ <li>
Virtual networks using bridging, NAT, VEPA and VN-LINK.
</li>
<li>
diff --git a/docs/sitemap.html.in b/docs/sitemap.html.in
index 897ee94..2c71763 100644
--- a/docs/sitemap.html.in
+++ b/docs/sitemap.html.in
@@ -202,6 +202,10 @@
<a href="drvvmware.html">VMware Workstation /
Player</a>
<span>Driver for VMware Workstation / Player</span>
</li>
+ <li>
+ <a href="drvhyperv.html">Microsoft Hyper-V</a>
+ <span>Driver for Microsoft Hyper-V</span>
+ </li>
</ul>
</li>
<li>
diff --git a/src/README b/src/README
index f95a8b7..00d11d1 100644
--- a/src/README
+++ b/src/README
@@ -26,6 +26,7 @@ There are two core shared modules to be aware of:
Then there are the hypervisor implementations:
* esx/ - VMware ESX and GSX support using vSphere API over SOAP
+ * hyperv/ - Microsoft Hyper-V support using WinRM
* lxc/ - Linux Native Containers
* openvz/ - OpenVZ containers using cli tools
* phyp/ - IBM Power Hypervisor using CLI tools over SSH
@@ -41,7 +42,7 @@ Then there are the hypervisor implementations:
Finally some secondary drivers that are shared for several HVs.
Currently these are used by LXC, OpenVZ, QEMU, UML and Xen drivers.
-The ESX, Power Hypervisor, Remote, Test & VirtualBox drivers all
+The ESX, Hyper-V, Power Hypervisor, Remote, Test & VirtualBox drivers all
implement the secondary drivers directly
* cpu/ - CPU feature management
--
1.7.4.1