You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: source/adminguide/extensions/builtin_extensions.rst
+37-6Lines changed: 37 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -30,9 +30,9 @@ After installing or upgrading Cloudstack, these extensions will show up as disab
30
30
Proxmox
31
31
^^^^^^^^
32
32
33
-
The Proxmox Cloudstack extension is written in shell script and communicates with a Proxmox cluster using the `Proxmox VE API`_.
33
+
The Proxmox Cloudstack extension is written in shell script and communicates with a Proxmox cluster using the `Proxmox VE API`_ over HTTPS.
34
34
35
-
Before using the Proxmox extension, ensure that the Proxmox cluster is configured correctly and accessible to CloudStack.
35
+
Before using the Proxmox extension, ensure that the Proxmox datacenter is configured correctly and accessible to CloudStack.
36
36
37
37
Get the Api Token-Secret from Proxmox
38
38
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -57,9 +57,11 @@ To set up the Proxmox extension, follow these steps in CloudStack:
57
57
58
58
#. **Add Host.** Add a host to the newly created cluster with the following details:
59
59
60
+
If the Proxmox nodes use a shared API endpoint or credentials, the `url`, `user`, `token`, and `secret` can be set in the Extension's `Configuration Details` instead of per host. However, `node` and `network_bridge` must still be specified individually for each host.
61
+
60
62
|proxmox-add-host.png|
61
63
62
-
If the Proxmox nodes use a shared API endpoint or credentials, the `url`, `user`, `token`, and `secret` can be set in the Extension's `Configuration Details` instead of per host. However, `node` and `network_bridge` must still be specified individually for each host.
64
+
**Note**: If the TLS certificate cannot be verified when cloudstack connects to the Proxmox node, add the detail **verify_tls_certificate** and set it to **false** to skip certificate verification.
63
65
64
66
#. **Create Template.** A Template in CloudStack can map to either a `Template` or an `ISO` in Proxmox.
65
67
Provide a dummy `url` and template name. Select `External` as the hypervisor and `Proxmox` as the extension. Under `External Details`, specify:
@@ -103,9 +105,37 @@ firewall rules, port forwarding, and other networking features seamlessly throug
103
105
Hyper-V
104
106
^^^^^^
105
107
106
-
The Hyper-V CloudStack extension is a python script connects to the Hyper-V server using SSH and executes powershell commands to manage the VMs.
107
-
Each Hyper-V host maps to a CloudStack host.
108
-
Before using the Proxmox extension, ensure that the Proxmox cluster is configured correctly and accessible to CloudStack.
108
+
The Hyper-V CloudStack extension is a Python-based script that communicates with the Hyper-V host using WinRM (Windows Remote Management) over HTTPS,
109
+
using NTLM authentication for secure remote execution of PowerShell commands that manage the full lifecycle of virtual machines.
110
+
111
+
Each Hyper-V host maps to a CloudStack host. Before using the Hyper-V extension, ensure that the Hyper-V host is accessible to the CloudStack Management Server via WinRM over HTTPS.
112
+
113
+
Configuring WinRM over HTTPS
114
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
115
+
116
+
**Windows Remote Management (WinRM)** is a protocol developed by Microsoft for securely managing Windows machines remotely using **WS-Management (Web Services for Management)**.
117
+
It allows remote execution of PowerShell commands over HTTP or HTTPS and is widely used in automation tools such as **Ansible**, **Terraform**, and **Packer** for managing Windows infrastructure.
118
+
119
+
To enable WinRM over HTTPS on the Hyper-V host, ensure the following:
120
+
121
+
- WinRM is enabled and configured to listen on port 5986 (HTTPS).
122
+
- A valid TLS certificate is installed and bound to the WinRM listener. You may use a certificate from a trusted Certificate Authority (CA) or a self-signed certificate.
123
+
- The firewall on the Hyper-V host allows inbound connections on TCP port 5986.
124
+
- The CloudStack Management Server has network access to the Hyper-V host on port 5986.
125
+
- The Hyper-V host has a local or domain user account with appropriate permissions for managing virtual machines (e.g., creating, deleting, configuring VMs).
126
+
127
+
Sample powershell script to configure WinRM over HTTPS with self-signed TLS certificate is given below:
**pywinrm** is a Python library that acts as a client to remotely execute commands on Windows machines via the WinRM protocol. Install it using ``pip3 install pywinrm``.
109
139
110
140
Host Details
111
141
~~~~~~~~~~~~
@@ -115,6 +145,7 @@ Apart from the `url`, `username` and `password`, the following details are requi
115
145
* **network_bridge**: Name of the network bridge to use for VM networking. This bridge must be configured on the Hyper-V host and connected to the appropriate network interface as explained in the `Configuring Networking` section below.
116
146
* **vhd_path**: Path to the storage location where VM disks will be created.
117
147
* **vm_path**: Path to the storage location where VM configuration files and metadata will be stored.
148
+
* **verify_tls_certificate**: Set to `false` to skip TLS certificate verification for self-signed certificates.
0 commit comments