Skip to content

Commit ace685e

Browse files
committed
Proofreading
1 parent f64a4af commit ace685e

File tree

2 files changed

+151
-123
lines changed

2 files changed

+151
-123
lines changed

pages/bare_metal_cloud/dedicated_servers/opennebula-deployment/guide.en-gb.md

Lines changed: 71 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
---
22
title: How to deploy and verify an OpenNebula Hosted Cloud on Bare Metal servers
3-
excerpt: Deploy a certified OpenNebula Hosted Cloud using OVHcloud bare metal servers and Ansible playbooks.
4-
updated: 2025-11-18
3+
excerpt: Deploy a certified OpenNebula Hosted Cloud using OVHcloud Bare Metal servers and Ansible playbooks.
4+
updated: 2025-12-09
55
---
66

77
## Introduction
88

99
OpenNebula is a powerful, open-source **Cloud Management Platform** (CMP) designed to manage and provision virtualized infrastructure.
1010

11-
Acting as an orchestrator, it turns physical infrastructure into a managed **Infrastructure as a Service** (IaaS) cloud, accessible via a unified control interface. It supports major hypervisors and allows for hybrid deployments by integrating with public cloud providers, such as OVHcloud.
11+
Acting as an orchestrator, it turns a physical infrastructure into a managed **Infrastructure as a Service** (IaaS) cloud, accessible via a unified control interface. It supports major hypervisors and allows for hybrid deployments by integrating with Public Cloud providers, such as OVHcloud.
1212

1313
The deployment of OpenNebula on OVHcloud infrastructure is validated as part of the **OpenNebula Cloud-Ready Certification Program**.
1414

@@ -27,12 +27,12 @@ Following this guide, you will be able to:
2727

2828
## Requirements
2929

30-
- **Two** [dedicated servers](/links/bare-metal/bare-metal) from the Scale or High Grade ranges,
31-
- An active [vRack](/links/network/vrack) service,
32-
- A public block of [Additional IP](/links/network/additional-ip) addresses, sized according to your needs,
30+
- **Two** [dedicated servers](/links/bare-metal/bare-metal) from the Scale or High Grade ranges.
31+
- An active [vRack](/links/network/vrack) service.
32+
- A public block of [Additional IP](/links/network/additional-ip) addresses, sized according to your needs.
3333
- Access to the [OVHcloud Control Panel](/links/manager).
3434

35-
> [!Primary]
35+
> [!primary]
3636
>
3737
> The reference OpenNebula deployment uses the following configuration:
3838
>
@@ -60,46 +60,46 @@ Following this guide, you will be able to:
6060
6161
## Instructions
6262

63-
### Step 1 - Setting up your OVHcloud infrastructure <a name="Infrastructure_Provisioning"></a>
63+
### Step 1 - Setting up your OVHcloud infrastructure <a name="infrastructure_provisioning"></a>
6464

6565
First, you need to install Ubuntu 24.04 LTS on both of your dedicated servers, by following the instructions in [this guide](/pages/bare_metal_cloud/dedicated_servers/getting-started-with-dedicated-server).
6666

67-
Subsequently, add both servers to your vRack service by following step 2 of [this vRack configuration guide](/pages/bare_metal_cloud/dedicated_servers/vrack_configuring_on_dedicated_server).
67+
Subsequently, add both servers to your vRack service by following step 2 of [this vRack configuration guide](/pages/bare_metal_cloud/dedicated_servers/vrack_configuring_on_dedicated_server).
6868

6969
Finally, from the OVHcloud Control Panel, open the `Network`{.action} section, then select `Public IP Addresses`{.action} under **Public Network**. Once you have reached the IP management interface, click on the `Order IPs`{.action} button near the top of the page. Choose the IP version, then **select the vRack your servers are attached to**, and the region where those servers are hosted.
7070

7171
> [!warning]
7272
>
7373
> **Important:** To ensure functionality, please make sure that the IP block you ordered is **routed to the vRack** attached to the servers, and not used as a classic failover configuration.
7474
>
75-
> If you are unsure or need more information, please consult the following guide : [Configuring an Additional IP block in a vRack](/pages/bare_metal_cloud/dedicated_servers/configuring-an-ip-block-in-a-vrack/).
75+
> If you are unsure or need more information, please consult the following guide: [Configuring an Additional IP block in a vRack](/pages/bare_metal_cloud/dedicated_servers/configuring-an-ip-block-in-a-vrack/).
7676
>
7777
7878
### Step 2 - Collecting the Bare Metal & Network settings
7979

80-
Before starting the OpenNebula deployment, gather all parameters required for the automation process. **Update the inventory values** in the [Hosted Cloud OVHcloud repository](https://github.com/OpenNebula/hosted-cloud-ovhcloud) with these settings to match the provisioned infrastructure.
80+
Before starting the OpenNebula deployment, gather all parameters required for the automation process. **Update the inventory values** in the [Hosted Cloud OVHcloud repository](https://github.com/OpenNebula/hosted-cloud-ovhcloud) with these settings to match the provisioned infrastructure.
8181

82-
For further details on the automated deployment procedure, refer to the following section: [Configure and deploy the Hosted Cloud OVHcloud repository](#Initial_setup)
82+
For further details on the automated deployment procedure, refer to the following section: [Configure and deploy the Hosted Cloud OVHcloud repository](#initial_setup).
8383

8484
Each server is equipped with two network adapters dedicated to public connectivity and two adapters for private connectivity. The two interfaces within each segment will be **bonded** using the **default LACP parameters for Scale and High Grade servers**.
8585

8686
The **Public network bond** is exclusively for OpenNebula service management, including cluster deployment, administration via the Sunstone Web UI or OpenNebula CLI, and connectivity between the Front-end and Virtualization hosts.
8787

8888
The **Private network bond** provides network to virtual servers, leveraging the OVHcloud vRack. This bond supports private networking, which is segmented using 802.1Q VLANs, and enables public IP addressing for virtual servers. To assign public addresses to virtual servers, a dedicated IP range must be purchased and routed via the vRack. This setup ensures cluster management traffic is isolated from virtual machine networking.
8989

90-
![Network](images/opennebula_network.png)
90+
![Network](images/opennebula_network.png){.thumbnail}
9191

9292
> [!warning]
9393
> This guide assumes the default bonding setup. If you change the network mode (e.g. OLA), please double check that your interface names and bonds are correct before running the playbooks.
9494
>
9595
> For more information about the link aggregation settings, please consult the following guide : [Improving Network Resilience on Bare Metal servers](/pages/bare_metal_cloud/dedicated_servers/lacp-resilience-scale-hg/).
9696
>
9797
98-
#### Bare Metal network settings <a name="Bare_metal_network_settings"></a>
98+
#### Bare Metal network settings <a name="bare_metal_network_settings"></a>
9999

100-
From your OVHcloud Control Panel, navigate to `Bare Metal Cloud`{.action}, then select `Dedicated servers`{.action}. Open both management pages for your dedicated servers, and collect the highlighted parameters :
100+
From your OVHcloud Control Panel, navigate to `Bare Metal Cloud`{.action} section, then select `Dedicated servers`{.action}. Open both management pages for your dedicated servers, and collect the highlighted parameters :
101101

102-
![dedicated servers administration page](images/bare_metal_network.png)
102+
![dedicated servers administration page](images/bare_metal_network.png){.thumbnail}
103103

104104
| Description | Variable Names | Comment |
105105
|------------------------------------------|----------------------------------------------------------|--------------------------------------------------------|
@@ -109,7 +109,7 @@ From your OVHcloud Control Panel, navigate to `Bare Metal Cloud`{.action}, then
109109

110110
To collect the network adapter names, connect to your dedicated server and execute the `ip address` command :
111111

112-
![dedicated servers ip address](images/bare_metal_ip_address.png)
112+
![dedicated servers ip address](images/bare_metal_ip_address.png){.thumbnail}
113113

114114
| Description | Variable Names | Comment |
115115
|------------------------------------------|---------------------------------------------------------------|--------------------------------------------------------|
@@ -120,10 +120,11 @@ To collect the network adapter names, connect to your dedicated server and execu
120120

121121
**Public IP addresses**
122122

123-
The public IP block ordered in the previous steps allows to attach direct public connectivity to virtual servers. For a public IP range deployed on vRack, the first, penultimate, and last addresses in any given IP block are always reserved for the network address, network gateway, and network broadcast respectively.
123+
The public IP block ordered in the previous steps allows to attach direct public connectivity to virtual servers. For a public IP range deployed on vRack, the first, penultimate, and last addresses in any given IP block are always reserved for the network address, network gateway, and network broadcast respectively.
124124

125-
This means that the first usable address is the second address in the block, as shown below :
126-
```
125+
This means that the first usable address is the second address in the block, as shown below:
126+
127+
```bash
127128
46.105.135.96 Reserved : Network address
128129
46.105.135.97 First usable IP
129130
46.105.135.98
@@ -152,7 +153,6 @@ Declare a bridge network for public IP addresses using all usable addresses of y
152153
| VMs Public NETWORK MASK | `vn.vm_public.template.NETWORK_MASK` | IP range netmask: 255.255.255.240 for example for a /28 network |
153154
| VMs Public GATEWAY | `vn.vm_public.template.GATEWAY` | Penultimate IP address in the range, Network gateway: 46.105.135.110 in the example |
154155

155-
156156
**Private IP addresses**
157157

158158
On the private network bond, deploy one 802.1Q virtual network per private network. For each virtual network, create a section in the Ansible inventory file, and declare the VLAN ID, IP range and netmask.
@@ -164,91 +164,104 @@ On the private network bond, deploy one 802.1Q virtual network per private netwo
164164
| VMs Private IP Range, number of usable addresses | `vn.vm_vlan*.template.AR.SIZE` | Number of usable addresses, for example 50 fo IP range 10.1.10.100-10.1.10.149 |
165165
| VMs Private NETWORK MASK | `vn.vm_vlan*.template.NETWORK_MASK` | IP range netmask: 255.255.255.0 for example for a /24 network |
166166

167-
### Step 3 - Configure and deploy the Hosted Cloud OVHcloud repository <a name="Initial_setup"></a>
167+
### Step 3 - Configure and deploy the Hosted Cloud OVHcloud repository <a name="initial_setup"></a>
168168

169169
The deployment uses the **OpenNebula Hosted Cloud OVHcloud repository**.
170170

171171
The high-level deployment steps are:
172172

173-
1. **Clone** the deployment repository,
174-
2. **Install** the dependencies listed in the [Requirements section](https://github.com/OpenNebula/hosted-cloud-ovhcloud?tab=readme-ov-file#requirements),
175-
3. **Update** the inventory parameters in the repository with the configuration gathered above,
176-
4. **Launch deployment commands** :
177-
* `make pre-tasks-ovhcloud` : Patch Ubuntu kernel and perform networking setup.
178-
* `make deployment` : Deploy OpenNebula.
179-
* `make validation` : Validate the automated deployment.
173+
1. **Clone** the deployment repository,
174+
2. **Install** the dependencies listed in the [Requirements section](https://github.com/OpenNebula/hosted-cloud-ovhcloud?tab=readme-ov-file#requirements),
175+
3. **Update** the inventory parameters in the repository with the configuration gathered above,
176+
4. **Launch deployment commands**:
177+
- `make pre-tasks-ovhcloud`: Patch Ubuntu kernel and perform networking setup.
178+
- `make deployment`: Deploy OpenNebula.
179+
- `make validation`: Validate the automated deployment.
180180

181181
### Step 4 - Adding dedicated servers to an active OpenNebula infrastructure
182182

183183
To extend the cloud with new servers:
184184

185-
1. **Provision** the new host as detailed in the [Setting up your OVHcloud infrastructure](#Infrastructure_Provisioning) section ;
186-
2. **Collect** the necessary configuration parameters, especially the bare-metal network settings ;
187-
3. **Re-execute** the deployment and verification commands from the [Configure and deploy the Hosted Cloud OVHcloud repository](#Initial_setup) section.
185+
1. **Provision** the new host as detailed in the [Setting up your OVHcloud infrastructure](#infrastructure_Provisioning) section.
186+
2. **Collect** the necessary configuration parameters, especially the bare-metal network settings.
187+
3. **Re-execute** the deployment and verification commands from the [Configure and deploy the Hosted Cloud OVHcloud repository](#initial_setup) section.
188188

189189
### Step 5 - Operate your cloud infrastructure
190190

191191
The following section explains how to access a Hosted OpenNebula Cloud Deployment via the web UI, and instantiate and access a virtual machine.
192192

193-
This guide provides the basic steps. If you need a more detailed guide, please refer to [OpenNebula public documentation](https://docs.opennebula.io/7.0/product/virtual_machines_operation/virtual_machines/)
193+
This guide provides the basic steps. If you need a more detailed guide, please refer to [OpenNebula public documentation](https://docs.opennebula.io/7.0/product/virtual_machines_operation/virtual_machines/).
194194

195195
### Create a template from OpenNebula Public marketplace
196196

197-
From the OpenNebula Public marketplace, search and import virtual server templates needed for your infrastructure. The example below imports the Debian 13 "Trixie" template.
197+
From the OpenNebula Public marketplace, search and import virtual server templates needed for your infrastructure. The example below imports the Debian 13 "Trixie" template:
198+
199+
![user guide template 1](images/user_guide_template_1.png){.thumbnail}
198200

199-
![user guide template 1](images/user_guide_template_1.png)
200-
![user guide template 2](images/user_guide_template_2.png)
201+
![user guide template 2](images/user_guide_template_2.png){.thumbnail}
201202

202203
### Start a new virtual server
203204

204205
Based on the imported template, create a new virtual server instance.
205206

206-
![user guide create vm 1](images/user_guide_create_vm_1.png)
207-
![user guide create vm 2](images/user_guide_create_vm_2.png)
208-
![user guide create vm 3](images/user_guide_create_vm_3.png)
207+
![user guide create vm 1](images/user_guide_create_vm_1.png){.thumbnail}
208+
209+
![user guide create vm 2](images/user_guide_create_vm_2.png){.thumbnail}
210+
211+
![user guide create vm 3](images/user_guide_create_vm_3.png){.thumbnail}
209212

210213
You can adjust disk storage capacity, CPU and RAM allocation during this setup phase.
211214

212-
![user guide create vm 4](images/user_guide_create_vm_4.png)
213-
![user guide create vm 5](images/user_guide_create_vm_5.png)
214-
![user guide create vm 6](images/user_guide_create_vm_6.png)
215+
![user guide create vm 4](images/user_guide_create_vm_4.png){.thumbnail}
216+
217+
![user guide create vm 5](images/user_guide_create_vm_5.png){.thumbnail}
218+
219+
![user guide create vm 6](images/user_guide_create_vm_6.png){.thumbnail}
215220

216-
Finally, attach network adapters. In this example, we provide a public IP to this server, based on the public IP range we created during the OpenNebula automated deployment. Without any override, an available IP address form the public range will be picked for this interface.
221+
Finally, attach network adapters. In this example, we provide a public IP to this server, based on the public IP range we created during the OpenNebula automated deployment. Without any override, an available IP address from the public range will be picked for this interface.
217222

218-
![user guide create vm 7](images/user_guide_create_vm_7.png)
219-
![user guide create vm 8](images/user_guide_create_vm_8.png)
223+
![user guide create vm 7](images/user_guide_create_vm_7.png){.thumbnail}
224+
225+
![user guide create vm 8](images/user_guide_create_vm_8.png){.thumbnail}
220226

221227
### Check connectivity
222228

223-
You can use the virtual server console to check the deployment and the server connectivity. Setup the root password using virtual machine context variables.
229+
You can use the virtual server console to check the deployment and the server connectivity. Set up the root password using virtual machine context variables.
230+
231+
![user guide check vm 1](images/user_guide_connectivity_1.png){.thumbnail}
224232

225-
![user guide check vm 1](images/user_guide_connectivity_1.png)
226-
![user guide check vm 2](images/user_guide_connectivity_2.png)
233+
![user guide check vm 2](images/user_guide_connectivity_2.png){.thumbnail}
227234

228235
Run your virtual server console to validate the deployment.
229236

230-
![user guide check vm 3](images/user_guide_connectivity_3.png)
231-
![user guide check vm 4](images/user_guide_connectivity_4.png)
237+
![user guide check vm 3](images/user_guide_connectivity_3.png){.thumbnail}
238+
239+
![user guide check vm 4](images/user_guide_connectivity_4.png){.thumbnail}
232240

233241
### Update virtual servers settings
234242

235243
Use virtual server settings to update the server configuration. This example shows the hot-plugging of a private network adapter to the virtual server.
236244

237-
![user guide hotplug 1](images/user_guide_hotplug_1.png)
238-
![user guide hotplug 2](images/user_guide_hotplug_2.png)
239-
![user guide hotplug 3](images/user_guide_hotplug_3.png)
240-
![user guide hotplug 4](images/user_guide_hotplug_4.png)
245+
![user guide hotplug 1](images/user_guide_hotplug_1.png){.thumbnail}
246+
247+
![user guide hotplug 2](images/user_guide_hotplug_2.png){.thumbnail}
248+
249+
![user guide hotplug 3](images/user_guide_hotplug_3.png){.thumbnail}
250+
251+
![user guide hotplug 4](images/user_guide_hotplug_4.png){.thumbnail}
241252

242253
### Destroy virtual server
243254

244-
Finally, as a cleanup step, terminate the virtual server by clicking the red Trash can icon.
255+
Finally, as a cleanup step, terminate the virtual server by clicking the red "Trash can" icon.
245256

246-
![user guide terminate 1](images/user_guide_terminate_1.png)
247-
![user guide terminate 2](images/user_guide_terminate_2.png)
257+
![user guide terminate 1](images/user_guide_terminate_1.png){.thumbnail}
258+
259+
![user guide terminate 2](images/user_guide_terminate_2.png){.thumbnail}
248260

249261
## Go further
250262

251-
**External resources :**
263+
**External resources:**
264+
252265
- If you need more information about OpenNebula, you may consult the [OpenNebula Website](https://opennebula.io/) or the [official OpenNebula documentation](https://docs.opennebula.io/).
253266
- If you need more information about Ansible, you may consult the [Ansible page on the RedHat website](https://www.redhat.com/en/ansible-collaborative?) or the [official Ansible documentation](https://docs.ansible.com/).
254267
- The OpenNebula deployment repository used and referenced in this guide is [Hosted Cloud OVHcloud](https://github.com/OpenNebula/hosted-cloud-ovhcloud).

0 commit comments

Comments
 (0)