Skip to content

Commit 2be1904

Browse files
authored
Some typos and polish changes (apache#553)
1 parent 5f28f2c commit 2be1904

File tree

2 files changed

+72
-42
lines changed

2 files changed

+72
-42
lines changed
12.7 KB
Loading

source/adminguide/extensions/inbuilt_extensions.rst

Lines changed: 72 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -16,22 +16,22 @@
1616
In-built Orchestrator Extensions
1717
================================
1818

19-
CloudStack provides sample in-built orchestrator extensions for Proxmox and Hyper-V. These extensions are intended for demonstration and testing purposes.
20-
The extension files are located at `/usr/share/cloudstack-management/extensions/Promox` and `/usr/share/cloudstack-management/extensions/HyperV` respectively.
21-
The Proxmox extension is written in shell script, while the Hyper-V extension is written in python.
22-
Both of these extensions support some custom actions in addition to the standard VM actions like deploy, start, stop, reboot, status and delete.
23-
After installing or upgrading Cloudstack, these extensions will show up as disabled on the Extensions page in the UI.
19+
CloudStack provides sample in-built Orchestrator Extensions for Proxmox and Hyper-V. These Extensions are intended for demonstration and testing purposes.
20+
The Extension files are located at `/usr/share/cloudstack-management/extensions/Proxmox` and `/usr/share/cloudstack-management/extensions/HyperV` respectively.
21+
The Proxmox Extension is written in shell script, while the Hyper-V Extension is written in python.
22+
Both of these Extensions support some custom actions in addition to the standard VM actions like deploy, start, stop, reboot, status and delete.
23+
After installing or upgrading CloudStack, in-built Extensions will show up in the Extensions section in UI.
2424

2525
|built-in-extensions.png|
2626

27-
**Note**: These extension may undergo changes with different CloudStack releases and backwards compatibility is not guaranteed.
27+
**Note**: These Extensions may undergo changes with future CloudStack releases and backwards compatibility is not guaranteed.
2828

2929
Proxmox
3030
^^^^^^^^
3131

32-
The Proxmox Cloudstack extension is written in shell script and communicates with a Proxmox cluster using the `Proxmox VE API`_ over HTTPS.
32+
The Proxmox CloudStack Extension is written in shell script and communicates with the Proxmox Cluster using the `Proxmox VE API`_ over HTTPS.
3333

34-
Before using the Proxmox extension, ensure that the Proxmox datacenter is configured correctly and accessible to CloudStack.
34+
Before using the Proxmox Extension, ensure that the Proxmox Datacenter is configured correctly and accessible to CloudStack.
3535

3636
Get the API Token-Secret from Proxmox
3737
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -76,16 +76,23 @@ It should return a JSON response similar to this:
7676
Adding Proxmox to CloudStack
7777
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7878

79-
To set up the Proxmox extension, follow these steps in CloudStack:
79+
To set up the Proxmox Extension, follow these steps in CloudStack:
8080

81-
#. **Enable Extension.** Enable the extension by clicking the `Enable` button on the `Extensions` page in the UI.
82-
#. **Create Cluster**. Create a Cluster with hypervisor type `External` and extension type `Proxmox`.
81+
#. **Enable Extension**
82+
83+
Enable the Extension by clicking the `Enable` button on the `Extensions` page in the UI.
84+
85+
#. **Create Cluster**
86+
87+
Create a Cluster with Hypervisor type `External` and Extension type `Proxmox`.
8388

8489
|proxmox-add-cluster.png|
8590

86-
#. **Add Host.** Add a host to the newly created cluster with the following details:
91+
#. **Add Host**
92+
93+
Add a Host to the newly created Cluster with the following details:
8794

88-
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.
95+
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.
8996

9097
* **url**: IP address/URL for Proxmox API access, e.g., `https://<PROXMOX_URL>:8006`.
9198
* **user**: User name for Proxmox API access
@@ -96,55 +103,63 @@ To set up the Proxmox extension, follow these steps in CloudStack:
96103

97104
|proxmox-add-host.png|
98105

99-
**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.
106+
**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.
100107

101-
#. **Create Template.** A Template in CloudStack can map to either a `Template` or an `ISO` in Proxmox.
108+
#. **Create Template**
109+
110+
A Template in CloudStack can map to either a `Template` or an `ISO` in Proxmox.
102111
Provide a dummy `url` and template name. Select `External` as the hypervisor and `Proxmox` as the extension. Under `External Details`, specify:
103112

104113
* **template_type**: `template` or `iso`
105114
* **template_id**: ID of the template in Proxmox (if `template_type` is `template`)
106115

107116
|proxmox-add-template.png|
108117

109-
* **iso_path**: full path to the ISO in Proxmox (if `template_type` is `iso`)
118+
* **iso_path**: Full path to the ISO in Proxmox (if `template_type` is `iso`)
110119
|proxmox-add-iso.png|
111120

112121
Note: Templates and ISOs should be stored on shared storage when using multiple Proxmox nodes. Or copy the template/iso to each host's local storage at the same location.
113122

114-
#. **Deploy Instance.** Deploy an instance using the template created above. Optionally, provide the detail `vm_name` to specify the name of the VM in Proxmox.
115-
Otherwise, the CloudStack instance's internal name is used. The VM Id in Proxmox is mapped to the CloudStack instance and stored as a detail in CloudStack DB.
116-
The instance will be provisioned on a randomly selected Proxmox host. The VM will be configured with the MAC address and VLAN ID as defined in CloudStack.
123+
#. **Deploy Instance**
124+
125+
Deploy an Instance using the Template created above. Optionally, provide the detail `vm_name` to specify the name of the VM in Proxmox.
126+
Otherwise, the CloudStack Instance's internal name is used. The VM Id in Proxmox is mapped to the CloudStack Instance and stored as a detail in CloudStack DB.
127+
The Instance will be provisioned on a randomly selected Proxmox host. The VM will be configured with the MAC address and VLAN ID as defined in CloudStack.
117128

118129
|proxmox-deploy-instance.png|
119130

120-
#. **Lifecycle Operations.** Operations **Start**, **Stop**, **Reboot**, and **Delete** can be performed on the instance from CloudStack.
131+
#. **Lifecycle Operations**
132+
133+
Operations **Start**, **Stop**, **Reboot**, and **Delete** can be performed on the Instance from CloudStack.
134+
135+
#. **Custom Actions**
121136

122-
#. **Custom Actions.** Custom actions **Create Snapshot**, **Restore Snapshot**, and **Delete Snapshot** are also supported for instances.
137+
Custom actions **Create Snapshot**, **Restore Snapshot**, and **Delete Snapshot** are also supported for Instances.
123138

124139
.. _proxmox-networking:
125140
Configuring Networking
126141
~~~~~~~~~~~~~~~~~~~~~~
127142

128143
Proxmox nodes and CloudStack hypervisor hosts must be connected via a VLAN trunked network. On each Proxmox node,
129144
a bridge interface should be created and connected to the network interface that carries the VLAN-tagged traffic.
130-
This bridge must be specified under Configuration Details (`network_bridge`) when registering the Proxmox node as a host in CloudStack.
145+
This bridge must be specified under Configuration Details (`network_bridge`) when registering the Proxmox node as a Host in CloudStack.
131146

132-
When a VM is deployed, CloudStack includes the assigned MAC address and VLAN ID in the extension payload.
147+
When a VM is deployed, CloudStack includes the assigned MAC address and VLAN ID in the Extension payload.
133148
The VM created on the Proxmox node is configured with this MAC and connected to the corresponding VLAN via the specified bridge.
134149

135150
Upon boot, the VM broadcasts a VLAN-tagged DHCP request, which reaches the CloudStack Virtual Router (VR) handling that VLAN.
136151
The VR responds with the appropriate IP address as configured in CloudStack. Once the VM receives the lease, it becomes fully integrated into the CloudStack-managed network.
137152

138-
Users can then manage the Hyper-V VM like any other CloudStack guest instance. Users can apply egress policies,
139-
firewall rules, port forwarding, and other networking features seamlessly through the CloudStack UI or API.
153+
Users can then manage the Hyper-V VM like any other CloudStack guest Instance. Users can apply Egress Policies,
154+
Firewall Rules, Port Forwarding, and other networking features seamlessly through the CloudStack UI or API.
140155

141156
Hyper-V
142157
^^^^^^
143158

144-
The Hyper-V CloudStack extension is a Python-based script that communicates with the Hyper-V host using WinRM (Windows Remote Management) over HTTPS,
159+
The Hyper-V CloudStack Extension is a Python-based script that communicates with the Hyper-V host using WinRM (Windows Remote Management) over HTTPS,
145160
using NTLM authentication for secure remote execution of PowerShell commands that manage the full lifecycle of virtual machines.
146161

147-
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.
162+
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.
148163

149164
Configuring WinRM over HTTPS
150165
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -187,55 +202,70 @@ Apart from the `url`, `username` and `password`, the following details are requi
187202
Adding Hyper-V to CloudStack
188203
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
189204

190-
#. **Enable extension.** Enable the extension by clicking the `Enable` button on the `Extensions` page in the UI.
191-
#. **Create Cluster**. Create a Cluster with hypervisor type `External` and extension type `HyperV`.
205+
#. **Enable Extension**
206+
207+
Enable the Extension by clicking the `Enable` button on the `Extensions` page in the UI.
208+
209+
#. **Create Cluster**
210+
211+
Create a Cluster with Hypervisor type `External` and Extension type `HyperV`.
192212

193213
|hyperv-add-cluster.png|
194214

195-
#. **Add Host.** Add a host to the newly created cluster with the following details:
215+
#. **Add Host**
216+
217+
Add a Host to the newly created Cluster with the following details:
196218

197219
|hyperv-add-host.png|
198220
**Note**: Add the detail **verify_tls_certificate** set to **false** to skip TLS certificate verification for self-signed certificates.
199221

200-
#. **Create Template.** A Template in CloudStack can map to either a `Template` or an `ISO` in Hyper-V.
201-
Provide a dummy `url` and template name. Select `External` as the hypervisor and `HyperV` as the extension. Under `External Details`, specify:
222+
#. **Create Template**
223+
224+
A Template in CloudStack can map to either a `Template` or an `ISO` in Hyper-V.
225+
Provide a dummy `url` and Template name. Select `External` as the hypervisor and `HyperV` as the Extension. Under `External Details`, specify:
202226

203227
* **template_type**: `template` or `iso`
204228
* **generation**: VM generation (1 or 2)
205-
* **template_path**: Full path to the template .vhdx file in Proxmox (if `template_type` is `template`)
229+
* **template_path**: Full path to the template .vhdx file (if `template_type` is `template`)
206230

207231
|hyperv-add-template.png|
208232

209-
* **iso_path**: full path to the ISO in HyperV (if `template_type` is `iso`)
233+
* **iso_path**: Full path to the ISO in HyperV (if `template_type` is `iso`)
210234
* **vhd_size_gb**: Size of the VHD disk to create (in GB) (if `template_type` is `iso`)
211235

212236
|hyperv-add-iso.png|
213237

214238
Note: Templates and ISOs should be stored on shared storage when using multiple HyperV nodes. Or copy the template/iso to each host's local storage at the same location.
215239

216-
#. **Deploy Instance.** Deploy an instance using the template created above. The instance will be provisioned on a randomly selected Hyper-V host.
240+
#. **Deploy Instance**
241+
242+
Deploy an Instance using the template created above. The Instance will be provisioned on a randomly selected Hyper-V host.
217243
The VM will be configured with the MAC address and VLAN ID as defined in CloudStack.
218-
The VM in Hyper-V is created with the name `'CloudStack instance's internal name' + '-' + 'CloudStack instance's UUID'` to keep it unique.
244+
The VM in Hyper-V is created with the name `'CloudStack Instance's internal name' + '-' + 'CloudStack Instance's UUID'` to keep it unique.
245+
246+
#. **Lifecycle Operations**
247+
248+
Operations **Start**, **Stop**, **Reboot**, and **Delete** can be performed on the Instance from CloudStack.
219249

220-
#. **Lifecycle Operations.** Operations **Start**, **Stop**, **Reboot**, and **Delete** can be performed on the instance from CloudStack.
250+
#. **Custom Actions**
221251

222-
#. **Custom Actions.** Custom actions **Suspend**, **Resume**, **Create Snapshot**, **Restore Snapshot**, and **Delete Snapshot** are also supported for instances.
252+
Custom actions **Suspend**, **Resume**, **Create Snapshot**, **Restore Snapshot**, and **Delete Snapshot** are also supported for Instances.
223253

224254
Configuring Networking
225255
~~~~~~~~~~~~~~~~~~~~~~
226256

227-
Hyper-V hosts and CloudStack hypervisor hosts must be connected via a VLAN trunked network.
257+
Hyper-V hosts and CloudStack hypervisor Hosts must be connected via a VLAN trunked network.
228258
On each Hyper-V host, an external virtual switch should be created and bound to the physical network interface that carries VLAN-tagged traffic.
229259
This switch must be specified in the Configuration Details (network_bridge) when adding the Hyper-V host to CloudStack.
230260

231-
When a VM is deployed, CloudStack includes the assigned MAC address and VLAN ID in the extension payload.
261+
When a VM is deployed, CloudStack includes the assigned MAC address and VLAN ID in the Extension payload.
232262
The VM is then created on the Hyper-V host with this MAC address and attached to the specified external switch with the corresponding VLAN configured.
233263

234264
Upon boot, the VM sends a VLAN-tagged DHCP request, which reaches the CloudStack Virtual Router (VR) responsible for that VLAN.
235265
The VR responds with the correct IP address as configured in CloudStack. Once the VM receives the lease, it becomes fully integrated into the CloudStack-managed network.
236266

237-
Users can then manage the Hyper-V VM like any other CloudStack guest instance. Users can apply egress policies,
238-
firewall rules, port forwarding, and other networking features seamlessly through the CloudStack UI or API.
267+
Users can then manage the Hyper-V VM like any other CloudStack guest Instance. Users can apply Egress Policies,
268+
Firewall Rules, Port Forwarding, and other networking features seamlessly through the CloudStack UI or API.
239269

240270

241271
.. _Proxmox VE API: https://pve.proxmox.com/pve-docs/api-viewer/index.html

0 commit comments

Comments
 (0)