diff --git a/pages/public_cloud/public_cloud_network_services/getting-started-07-creating-vrack/guide.en-gb.md b/pages/public_cloud/public_cloud_network_services/getting-started-07-creating-vrack/guide.en-gb.md
index c496ed11d84..56cb023172d 100644
--- a/pages/public_cloud/public_cloud_network_services/getting-started-07-creating-vrack/guide.en-gb.md
+++ b/pages/public_cloud/public_cloud_network_services/getting-started-07-creating-vrack/guide.en-gb.md
@@ -4,6 +4,20 @@ excerpt: 'Find out how to set up vRack for your Public Cloud instances'
updated: 2025-04-28
---
+
+
## Objective
The OVHcloud [vRack](/links/network/vrack) is a private network solution that enables our customers to route traffic between OVHcloud dedicated servers as well as other OVHcloud services. At the same time, it allows you to add [Public Cloud instances](/links/public-cloud/compute) to your private network to create an infrastructure of physical and virtual resources.
@@ -25,7 +39,7 @@ Depending on your technical profile and needs, it is mostly up to you which inte
**To begin with, the following provides a brief description of the possible actions according to the chosen method/interface.**
-### OVHcloud Control Panel
+/// details | OVHcloud Control Panel
The [OVHcloud Control Panel](/links/manager) is a fully visual interface, ideally suited for managing multiple VLANs. You will also have the possibility to customise the private IP range, which by default is in 10.x.x.x/16.
@@ -33,7 +47,9 @@ The VLAN will be deployed to the selected Region. You will also have the option
You can also manage billing for your services in the OVHcloud Control Panel.
-### Horizon
+///
+
+/// details | Horizon
The [Horizon](https://horizon.cloud.ovh.net/auth/login/) interface (independent from OVHcloud) is the original implementation of the OpenStack dashboard, which provides a web user interface to OpenStack services, including Nova, Swift, Keystone, etc.
@@ -45,7 +61,9 @@ Please refer to [this guide](/pages/public_cloud/public_cloud_cross_functional/i
> Horizon functions zone-specific, therefore you need to remember to choose your logical (geographic) work zone at the top left of your interface (GRA5, SBG3, BHS1, etc.).
>
-### OVHcloud APIv6
+///
+
+/// details | OVHcloud APIv6
Every action you take in your OVHcloud Control Panel can be called with the [OVHcloud APIv6](/links/api). It even offers more possibilities than the graphical interface.
@@ -57,7 +75,7 @@ You may need to retrieve various information before using some API calls because
Please refer to [this guide](/pages/manage_and_operate/api/first-steps) to get started with the OVHcloud APIv6.
-### OpenStack API
+/// details | OpenStack API
Public Cloud services can be adminstrated using Linux or Windows command lines after downloading and installing OpenStack tools.
@@ -87,43 +105,226 @@ You will then be able to use the APIs dedicated to OpenStack as needed:
> You may consult the [official OpenStack documentation](https://docs.openstack.org/) if you wish to go further in learning about its use.
>
-For more information, consult this guide: [Configuring vRack for Public Cloud using OpenStack CLI](/pages/public_cloud/public_cloud_network_services/getting-started-09-creating-vrack-with-openstack).
+///
-### Terraform
+/// details | OpenStack CLI
-Terraform can also be used to manage OVHcloud infrastructures.
+You can manage your OVHcloud Public Cloud services and vRacks directly from your Linux or Windows terminal using the OpenStack CLI.
-For that you need to cherry-pick the correct terraform provider & resource. Find more information in our guide on [using Terraform with OVHcloud](/pages/manage_and_operate/terraform/terraform-at-ovhcloud).
+This interface allows you to manage all OpenStack layers:
-## Instructions
+- Nova: instances (compute)
+- Neutron: networks
+- Glance: images
+- Cinder: volumes
-### Step 1: Activating and managing a vRack
+The CLI centralizes these features and can be integrated into your scripts to automate your tasks.
+
+Before you begin, please consult the following guides:
-#### In the OVHcloud Control Panel
+- [Prepare the environment for using the OpenStack API](/pages/public_cloud/public_cloud_cross_functional/prepare_the_environment_for_using_the_openstack_api)
+- [Load OpenStack environment variables](/pages/public_cloud/public_cloud_cross_functional/loading_openstack_environment_variables)
> [!primary]
-> This does not apply to newly created projects which are now automatically delivered with a vRack. To view the vRack once the project has been created, go the `Network`{.action} section and click on `vRack private network`{.action} to view the vRack(s).
+>
+> The OpenStack CLI is useful for managing your vRack, but some functions may vary depending on the version of the client or operating system. Please refer to the [official OpenStack documentation](https://docs.openstack.org/fr/).
>
-If you have an older project and don't have a vRack, you need to order one. Using the vRack itself is free of charge and it can be delivered within a few minutes.
-
-In the left-hand menu, click the button `Add a service`{.action} (shopping cart icon). Use the filter at the top of the page or scroll down to find the service `vRack`{.action}.
+///
-{.thumbnail}
+/// details | Terraform
-You will be redirected to another page to validate the order, it will take a few minutes for the vRack to be setup in your account.
+Terraform can also be used to manage OVHcloud infrastructures.
-Once the service is active, you will find it in your Control Panel in the `Nerwork`{.action} section > `vRack private network`{.action}. Labelled "pn-xxxxxx".
+For that you need to cherry-pick the correct terraform provider & resource. Find more information in our guide on [using Terraform with OVHcloud](/pages/manage_and_operate/terraform/terraform-at-ovhcloud).
-From the list of eligible services, select the project you want to add to the vRack and click the `Add`{.action} button.
+///
-{.thumbnail}
+## Instructions
-To continue the configuration of your vRack in the OVHcloud Control Panel, skip to the section [Creating a private network in the OVHcloud Control Panel](./#creating-a-private-network-in-the-ovhcloud-control-panel) of this guide.
+### Step 1: Activating and managing a vRack
-#### With the OVHcloud APIv6
+> [!warning]
+>
+> The vRack is managed at the OVHcloud infrastructure level, which means that you can only administer it in your OVHcloud Control Panel and the OVHcloud APIv6.
+>
-To activate and manage a vRack using the OVHcloud APIv6, please refer to [this section](/pages/public_cloud/public_cloud_network_services/getting-started-08-creating-vrack-with-api#step-1-activating-and-managing-a-vrack) of the corresponding guide.
+> [!tabs]
+> Via the OVHcloud Control Panel
+>> > [!primary]
+>> >
+>> > This does not apply to newly created projects which are now automatically delivered with a vRack. To view the vRack once the project has been created, go the `Network`{.action} section and click on `vRack private network`{.action} to view the vRack(s).
+>> >
+>>
+>> If you have an older project and don't have a vRack, you need to order one. Using the vRack itself is free of charge and it can be delivered within a few minutes.
+>>
+>> In the left-hand menu, click the button `Add a service`{.action} (shopping cart icon). Use the filter at the top of the page or scroll down to find the service `vRack`{.action}.
+>>
+>> {.thumbnail}
+>>
+>> You will be redirected to another page to validate the order, it will take a few minutes for the vRack to be setup in your account.
+>>
+>> Once the service is active, you will find it in your Control Panel in the `Nerwork`{.action} section > `vRack private network`{.action}. Labelled "pn-xxxxxx".
+>>
+>> From the list of eligible services, select the project you want to add to the vRack and click the `Add`{.action} button.
+>>
+>> {.thumbnail}
+>>
+>> To continue the configuration of your vRack in the OVHcloud Control Panel, skip to the section [Creating a private network in the OVHcloud Control Panel](./#creating-a-private-network-in-the-ovhcloud-control-panel) of this guide.
+>>
+> Via the OVHcloud APIv6
+>> #### Step 1: Activating and managing a vRack
+>>
+>> Log in to the OVHcloud APIv6 interface according to the relevant guide ([First steps with the OVHcloud API](/pages/manage_and_operate/api/first-steps)) and follow these steps:
+>>
+>> ##### Creating the cart
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /order POST /order/cart
+>> >
+>>
+>> > [!primary]
+>> > This call will create an ID for your 'shopping cart'. You can add as many articles as you want before you validate it.
+>> >
+>> > In this case, the order of a vRack alone is free. Remember your cart number (cartId), it will be required for the rest.
+>> >
+>>
+>> ##### Retrieving the necessary information for the vRack order
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /order GET /order/cart/{cartId}/vrack
+>> >
+>>
+>> > [!primary]
+>> > This call will allow you to retrieve all the information needed to order the vRack. Copy the following:
+>> >
+>> > *cartId*, *duration*, *planCode*, and *pricingMode*.
+>>
+>> ##### Adding the vRack to the cart
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /order POST /order/cart/{cartId}/vrack
+>> >
+>>
+>> > [!primary]
+>> > This call allows you to add the vRack to the cart by adding all the necessary information to the order.
+>> >
+>> > For a vRack, this would be, for example:
+>> >
+>> > cartId: [your cart identifier]
+>> >
+>> > duration: "P1M"
+>> >
+>> > planCode: "vrack"
+>> >
+>> > pricingMode: "default"
+>> >
+>> > quantity: 1
+>> >
+>>
+>> Once you have validated the order, you will receive an item number ("itemId"). Keep this information, it will be useful if you wish to make changes before the validation of the cart.
+>>
+>> ##### Validating the cart
+>>
+>> Once you have put all the items in your cart, you will need to validate it:
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /order POST /order/cart/{cartId}/checkout
+>> >
+>>
+>> > [!primary]
+>> >
+>> > This call will validate the cart and create a purchase order ("orderId"). Keep this information, it will be necessary to validate the order.
+>> >
+>>
+>> ##### Validating the final order
+>>
+>> To validate the order, you have two possibilities:
+>>
+>> - Pass through the visible URL when the cart is validated. Example:
+>> > URL: https://www.ovh.com/cgi-bin/order/displayOrder.cgi?orderId=12345678&orderPassword=xxxxxxxxxx
+>>
+>> - Validate using this call:
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /me POST /me/order/{orderId}/payWithRegisteredPaymentMean
+>> >
+>>
+>> > [!primary]
+>> >
+>> > Even if it is a €0 purchase order, it is necessary to simulate a purchase order payment (orderId). Your order form will then be validated and processing will begin.
+>> >
+>>
+>> Once the free order has been validated, it may take a few minutes for the vRack to be activated.
+>>
+>> #### Step 2: Adding your Public Cloud project to the vRack
+>>
+>> Once the vRack is active, you will need to integrate your Public Cloud project(s) into the vRack.
+>>
+>> Log in to the OVHcloud APIv6 interface according to the relevant guide ([First steps with the OVHcloud API](/pages/manage_and_operate/api/first-steps)).
+>>
+>> In case the project ID is unknown, the calls below allow you to retrieve it.
+>>
+>> ##### Identifying the project
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /cloud GET /cloud/project
+>> >
+>>
+>> > [!primary]
+>> >
+>> > This call retrieves the list of projects.
+>> >
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /cloud GET /cloud/project/{serviceName}
+>> >
+>>
+>> > [!primary]
+>> >
+>> > This call identifies the project via the "description" field.
+>> >
+>>
+>> ##### Adding the project to the vRack
+>>
+>> Once the project ID and the vRack name are known, their association is made through the following call:
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /vrack POST /vrack/{serviceName}/cloudProject
+>> >
+>>
+>> Fill in the fields with the information previously retrieved:
+>>
+>> **serviceName**: vRack name in the form "pn-xxxxxx"
+>>
**project**: The Public Cloud project ID in the form of a 32-character string
+>>
+>> > [!primary]
+>> >
+>> > This call initialises the association of the project and the vRack. The task ID must then be retrieved to check the progress.
+>> >
+>>
+>> ##### Checking the progress of the task
+>>
+>> You can view the progress of the task with this call:
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /vrack GET /vrack/{serviceName}/cloudProject/{project}
+>> >
+>>
+>> > [!primary]
+>> >
+>> > This call is optional and only allows you to check the status of the task. Once it is complete, you can proceed to the next step.
+>> >
+>>
### Step 2: Creating a private network in the vRack
@@ -148,79 +349,228 @@ In the OVHcloud Control Panel, you can assign the VLAN of your choice and custom
> Because OpenStack is not located at the same level, you will not be able to customise VLANs through the Horizon interface or OpenStack APIs.
>
-#### Creating a private network in the OVHcloud Control Panel
-
-Once you have your vRack set, the next step is to create a private network.
-
-In the Public cloud tab, click on `Private Network`{.action} in the left-hand menu under **Network**.
-
-{.thumbnail}
-
-Click on the button `Add Private Network`{.action}. The following page allows you to customise multiple settings.
-
-In step 1, select the region in which you want the private network to be located.
-
-{.thumbnail}
-
-In the next step, a number of options are presented to you:
-
-{.thumbnail}
-
-In the **Private Network Name** field, set a name for your private network.
-
-**Create a Gateway and connect to the private network**
-
-Select this option if you intend to create instances with a private network only. For more information, please consult the following guides: [Creating a private network with Gateway](/pages/public_cloud/public_cloud_network_services/getting-started-02-create-private-network-gateway) and [Creating and connecting to your first Public Cloud instance](/pages/public_cloud/compute/public-cloud-first-steps).
-
-> [!warning]
-> If the option is greyed out, it means the region selected does not support it. For more information, please refer to our [regions availability](/links/public-cloud/regions-pci) page.
->
-
-**Layer 2 network options**
-
-If you tick the `Set a VLAN ID` box, you will be able to manually choose a VLAN ID number between 0 and 4,000.
-
-If you do not tick the box, the system will assign a random VLAN ID number to your private network.
-
-If you want to be able to communicate with dedicated servers in this VLAN, please consult the guide: [Creating multiple vLANs in a vRack](/pages/bare_metal_cloud/dedicated_servers/creating-multiple-vlans-in-a-vrack).
-
-**DHCP address distribution options**
-
-The default DHCP range is 10.0.0.0/16. You can use a different private range of your choice.
-
-Once done, click on `Create`{.action} to start the process.
-
-> [!primary]
-> Creating the private network may take several minutes.
->
-
-#### Creating a private network with the OVHcloud APIv6
-
-To create a private network using the OVHcloud APIv6, please refer to [this section](/pages/public_cloud/public_cloud_network_services/getting-started-08-creating-vrack-with-api#step-3-creating-a-vlan-in-the-vrack) of the corresponding guide.
-
-
-#### Creating a private network with Terraform
-
-In Terraform, you will need to use the openstack provider. You can download an example of a complete terraform script in [this repository](https://github.com/yomovh/tf-at-ovhcloud/tree/main/private_network).
-
-The OVHcloud specific part for vRack integration is the `value_specs` parameter.
-
-```python
-resource "openstack_networking_network_v2" "tf_network" {
- name = "tf_network"
- admin_state_up = "true"
- value_specs = {
- "provider:network_type" = "vrack"
- "provider:segmentation_id" = var.vlan_id
- }
-}
-resource "openstack_networking_subnet_v2" "tf_subnet"{
- name = "tf_subnet"
- network_id = openstack_networking_network_v2.tf_network.id
- cidr = "10.0.0.0/16"
- enable_dhcp = true
-}
-```
+> [!tabs]
+> Via the OVHcloud Control Panel
+>> Once you have your vRack set, the next step is to create a private network.
+>>
+>> In the Public cloud tab, click on `Private Network`{.action} in the left-hand menu under **Network**.
+>>
+>> {.thumbnail}
+>>
+>> Click on the button `Add Private Network`{.action}. The following page allows you to customise multiple settings.
+>>
+>> In step 1, select the region in which you want the private network to be located.
+>>
+>> {.thumbnail}
+>>
+>> In the next step, a number of options are presented to you:
+>>
+>> {.thumbnail}
+>>
+>> In the **Private Network Name** field, set a name for your private network.
+>>
+>> **Create a Gateway and connect to the private network**
+>>
+>> Select this option if you intend to create instances with a private network only. For more information, please consult the following guides: [Creating a private network with Gateway](/pages/public_cloud/public_cloud_network_services/getting-started-02-create-private-network-gateway) and [Creating and connecting to your first Public Cloud instance](/pages/public_cloud/compute/public-cloud-first-steps).
+>>
+>> > [!warning]
+>> >
+>> > If the option is greyed out, it means the region selected does not support it. For more information, please refer to our [regions availability](/links/public-cloud/regions-pci) page.
+>> >
+>>
+>> **Layer 2 network options**
+>>
+>> If you tick the `Set a VLAN ID` box, you will be able to manually choose a VLAN ID number between 0 and 4,000.
+>>
+>> If you do not tick the box, the system will assign a random VLAN ID number to your private network.
+>>
+>> If you want to be able to communicate with dedicated servers in this VLAN, please consult the guide: [Creating multiple vLANs in a vRack](/pages/bare_metal_cloud/dedicated_servers/creating-multiple-vlans-in-a-vrack).
+>>
+>> **DHCP address distribution options**
+>>
+>> The default DHCP range is 10.0.0.0/16. You can use a different private range of your choice.
+>>
+>> Once done, click on `Create`{.action} to start the process.
+>>
+>> > [!primary]
+>> >
+>> > Creating the private network may take several minutes.
+>> >
+>>
+> Via the OVHcloud APIv6
+>> It is necessary to create a VLAN so that instances connected to the vRack can communicate with each other.
+>>
+>> With the Public Cloud service, you can create up to 4,000 VLANs within one vRack. This means that you can use each private IP address up to 4,000 times. Thus, for example, 192.168.0.10 of VLAN 2 is different from IP 192.168.0.10 of VLAN 42.
+>>
+>> This can be useful in order to segment your vRack between multiple virtual networks.
+>>
+>> Using the OVHcloud APIv6, you can customise all settings: IP range (10.0.0.0/16 for example), deployment zone, DCHP, Gateway, etc.
+>>
+>> > [!primary]
+>> >
+>> > On dedicated servers, you are using VLAN 0 by default. The OpenStack infrastructure requires to specify your VLAN ID directly at the infrastructure level.
+>> >
+>> > Unlike dedicated servers, there is no need to tag a VLAN directly on a Public Cloud instance.
+>> >
+>> > To learn more about this topic, please refer to the guide [Creating multiple vLANs in a vRack](/pages/bare_metal_cloud/dedicated_servers/creating-multiple-vlans-in-a-vrack)
+>>
+>> > [!warning]
+>> >
+>> > vRack is managed at the OVHcloud infrastructure level, meaning you can only administrate it in the OVHcloud Control Panel and the OVHcloud APIv6.
+>> >
+>> > Because OpenStack is not located at the same level, you will not be able to customise VLANs through the Horizon interface or OpenStack APIs.
+>> >
+>>
+>> Once logged in to the [OVHcloud APIv6 interface](/links/api), follow these steps:
+>>
+>> #### Retrieving the required information
+>>
+>> ##### **Public Cloud project**
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /cloud GET /cloud/project
+>> >
+>>
+>> > [!primary]
+>> >
+>> > This call retrieves the list of projects.
+>> >
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /cloud GET /cloud/project/{serviceName}
+>> >
+>>
+>> > [!primary]
+>> >
+>> > This call identifies the project via the "description" field.
+>> >
+>>
+>> ##### **vRack**
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /cloud GET /cloud/project/{serviceName}/vrack
+>> >
+>>
+>> > [!primary]
+>> >
+>> > In the field "serviceName", specify the ID of your project. Save the vRack ID information in the form "pn-xxxxx".
+>> >
+>>
+>> #### Creating the private network
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /cloud POST /cloud/project/{serviceName}/network/private
+>> >
+>>
+>> > [!primary]
+>> >
+>> > Fill in the fields with the information previously obtained:
+>> >
+>> > **serviceName** : project ID
+>> >
+>> > **name** : name of your VLAN
+>> >
+>> > You can leave the "Region" field blank in order to enable it for all regions.
+>> >
+>> > The VLAN identifier (vlanId) is required if you want to create a specific VLAN.
+>> >
+>>
+>> The creation will take a few moments.
+>>
+>> You can check your VLAN information with the following call
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /cloud GET /cloud/project/{serviceName}/network/private
+>> >
+>>
+>> > [!primary]
+>> >
+>> > This call retrieves the "networkId" in this form: name-vrack_vlanId.
+>> >
+>> > For example, VLAN 42: pn-xxxxxx_42
+>> >
+>>
+>> #### Creating a subnet
+>>
+>> By default, if you do not add a subnet, the IP range used is:
+>>
+>> ```
+>> 10.0.0.0/16
+>> ```
+>>
+>> If you want to manage IP assignments yourself, you will need to create a subnet.
+>>
+>> To do this, once the VLAN is created, you will need to create the subnet for each affected area by the following call:
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /cloud POST /cloud/project/{serviceName}/network/private/{networkId}/subnet
+>> >
+>>
+>> Fill in the fields according the following table.
+>>
+>> |Field|Description|
+>> |---|---|
+>> |serviceName|ID of the project|
+>> |networkId|Your network ID, retrieved with previous steps. Example: pn-xxxxxx_42 for VLAN 42|
+>> |dhcp|Check box for enabling / uncheck for disabling DHCP in the VLAN|
+>> |end|Last address of the subnet in this region. Example: 192.168.1.50|
+>> |network|Subnet IP block. Example: 192.168.1.0/24|
+>> |region|Example: SBG3|
+>> |start|First address of the subnet in this region. Example: 192.168.1.15|
+>>
+>> > [!primary]
+>> > This is the stage of creating the subnet by region. You can enable or disable private IP address assignment dynamically through DHCP.
+>> >
+>> > You will need to do the same for each region where your instances are present.
+>> >
+>>
+>> > [!warning]
+>> >
+>> > Be careful to separate your IP address pools for different regions. For example:
+>> >
+>> > From 192.168.0.2 to 192.168.0.254 for SBG1
+>> >
+>> > From 192.168.1.2 to 192.168.1.254 for GRA1
+>> >
+>>
+> Via Terraform
+>> In Terraform, you will need to use the openstack provider. You can download an example of a complete terraform script in [this repository](https://github.com/yomovh/tf-at-ovhcloud/tree/main/private_network).
+>>
+>> The OVHcloud specific part for vRack integration is the `value_specs` parameter.
+>>
+>> ```python
+>> resource "openstack_networking_network_v2" "tf_network" {
+>> name = "tf_network"
+>> admin_state_up = "true"
+>> value_specs = {
+>> "provider:network_type" = "vrack"
+>> "provider:segmentation_id" = var.vlan_id
+>> }
+>> }
+>> resource "openstack_networking_subnet_v2" "tf_subnet"{
+>> name = "tf_subnet"
+>> network_id = openstack_networking_network_v2.tf_network.id
+>> cidr = "10.0.0.0/16"
+>> enable_dhcp = true
+>> }
+>> ```
+>>
+> Via the Openstack CLI
+>> In the following example we specify the `VLAN_ID` to which we want the network to be part of through `--provider-network-type` and `--provider-segment`.
+>>
+>> You can remove those parameters. In that case, an available `VLAN_ID` will be used.
+>>
+>> ```bash
+>> openstack network create --provider-network-type vrack --provider-segment 42 OS_CLI_private_network
+>> openstack subnet create --dhcp --network OS_CLI_private_network OS_CLI_subnet --subnet-range 10.0.0.0/16
+>> ```
+>>
### Step 3: Integrating an instance into vRack
@@ -229,25 +579,292 @@ There are two possible scenarios:
- The instance to be integrated does not exist yet.
- An existing instance needs to be added to the vRack.
-**In case of a new instance**
-
-#### In the OVHcloud Control Panel
-
-If you need assistance, follow this guide first: [Creating an instance in the OVHcloud Control Panel](/pages/public_cloud/compute/public-cloud-first-steps). When creating an instance, you can choose, in Step 5, a network mode, followed by a private network to integrate your instance into.
-
-{.thumbnail}
-
-> [!warning]
-> You will be able to connect your instance to **only one** vRack from the OVHcloud Control Panel.
-> To add multiple interfaces, you will need to go through the OpenStack or Horizon APIs.
->
-
-#### With the OVHcloud APIv6
-
-Please refer to [this section](/pages/public_cloud/public_cloud_network_services/getting-started-08-creating-vrack-with-api#step-4-integrating-an-instance-into-the-vrack) of the corresponding guide.
-
-
-**In case of an existing instance**
+/// details | **In case of a new instance**
+
+> [!tabs]
+> Via the OVHcloud Control Panel
+>> If you need assistance, follow this guide first: [Creating an instance in the OVHcloud Control Panel](/pages/public_cloud/compute/public-cloud-first-steps). When creating an instance, you can choose, in Step 5, a network mode, followed by a private network to integrate your instance into.
+>>
+>> {.thumbnail}
+>>
+>> > [!warning]
+>> >
+>> > You will be able to connect your instance to **only one** vRack from the OVHcloud Control Panel.
+>> >
+>> > To add multiple interfaces, you will need to go through the OpenStack or Horizon APIs.
+>> >
+>>
+> Via the OVHcloud APIv6
+>> Once logged in to the [OVHcloud APIv6 interface](/links/api), follow these steps:
+>>
+>> ##### **Retrieving the required information**
+>>
+>> ###### Retrieving the project ID
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /cloud GET /cloud/project
+>> >
+>>
+>> ###### Retrieving the networkID of the public network (Ext-Net)
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /cloud GET /cloud/project/{serviceName}/network/public
+>> >
+>>
+>> ###### Retrieving the networkID of the private network (vRack interface previously created)
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /cloud GET /cloud/project/{serviceName}/network/private
+>> >
+>>
+>> > [!primary]
+>> >
+>> > The identifier will have the form: "pn-xxxxx_yy" in which yy is the VLAN number.
+>> >
+>>
+>> ###### Retrieving the ID of the chosen instance type (flavorId)
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /cloud GET /cloud/project/{serviceName}/flavor
+>> >
+>>
+>> > [!primary]
+>> >
+>> > You can limit the list by specifying the creation region of your instance.
+>> >
+>>
+>> ###### Retrieving the ID of the chosen image (imageId)
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /cloud GET /cloud/project/{serviceName}/image
+>> >
+>>
+>> > [!primary]
+>> >
+>> > You can limit the list by specifying the creation region of your instance.
+>> >
+>>
+>> ###### Retrieving your OpenStack SSH key ID (sshKeyId)
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /cloud GET /cloud/project/{serviceName}/sshkey
+>> >
+>>
+>> If you have not added an SSH key to your OVHcloud Control Panel yet, you can do so using the following call:
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /cloud POST /cloud/project/{serviceName}/sshkey
+>> >
+>>
+>> ##### **Deploying the instance**
+>>
+>> Once all the elements necessary for the deployment are gathered, you can use the following call:
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /cloud POST /cloud/project/{serviceName}/instance
+>> >
+>>
+>> You will need to fill in at least the following fields:
+>>
+>> |Field|Description|
+>> |---|---|
+>> |serviceName|ID of the Public Cloud project|
+>> |flavorId|ID of the instance type (example: D2-2, B2-7, WIN-R2-15...)|
+>> |imageId|ID of the image for the deployment (example: Debian 9, Centos 7...)|
+>> |name|name for your instance.|
+>> |networks|In the "networkId" section, indicate the public network identifier (Ext-Net) or your VLAN (pn-xxxxxx_yy). You can click the "+" button to add more networks.|
+>> |region|Region for your instance deployment (example: GRA5)|
+>> |sshKeyId|ID of your OpenStack SSH key|
+>>
+>> Once the call is complete, if all information is correctly filled in, the instance will be created with one or more network interfaces.
+>>
+>> > [!warning]
+>> >
+>> > Depending on operating systems, you will need to manually configure your private network interfaces to be considered.
+>> >
Because OpenStack is unable to prioritise the public interface of the vRack interface, the vRack interface may sometimes pass as the default route.
+>> >
The direct consequence is that the instance is unreachable from a public IP.
+>> >
One or more reboots of the instance from the Control Panel can resolve this situation.
+>> >
The other solution is to connect to the instance via another server in the same private network. You can also correct the network configuration of the instance through Rescue mode.
+>> >
+>>
+> Via the Openstack CLI
+>> The following steps are necessary to create an instance directly in the vRack.
+>>
+>> **Retrieving the required information**
+>>
+>> Public and private networks:
+>>
+>> ```bash
+>> openstack network list
+>>
+>> +--------------------------------------+------------+-------------------------------------+
+>> | ID | Name | Subnets |
+>> +--------------------------------------+------------+-------------------------------------+
+>> | 12345678-90ab-cdef-xxxx-xxxxxxxxxxxx | MyVLAN-42 | xxxxxxxx-yyyy-xxxx-yyyy-xxxxxxxxxxxx|
+>> | 34567890-12ab-cdef-xxxx-xxxxxxxxxxxx | Ext-Net | zzzzzzzz-yyyy-xxxx-yyyy-xxxxxxxxxxxx|
+>> | 67890123-4abc-ef12-xxxx-xxxxxxxxxxxx | MyVLAN_0 | yyyyyyyy-xxxx-xxxx-yyyy-xxxxxxxxxxxx|
+>> +--------------------------------------+------------+-------------------------------------+
+>> ```
+>>
+>> or
+>>
+>> ```bash
+>> nova net-list
+>>
+>> +--------------------------------------+------------+------+
+>> | ID | Label | CIDR |
+>> +--------------------------------------+------------+------+
+>> | 12345678-90ab-cdef-xxxx-xxxxxxxxxxxx | MyVLAN-42 | None |
+>> | 34567890-12ab-cdef-xxxx-xxxxxxxxxxxx | Ext-Net | None |
+>> | 67890123-4abc-ef12-xxxx-xxxxxxxxxxxx | MyVLAN_0 | None |
+>> +--------------------------------------+------------+------+
+>> ```
+>>
+>> > [!primary]
+>> >
+>> > You will need to note the network IDs of interest:
+>> >
- Ext-Net for a public IP address
+>> >
- The VLAN(s) required for your configuration
+>> >
+>>
+>> Also note the information detailed in [this guide](/pages/public_cloud/compute/starting_with_nova):
+>>
+>> - ID or name of the OpenStack SSH key
+>> - ID of the instance type (flavor)
+>> - ID of the desired image (operating system, snapshot, etc.)
+>>
+>> **Deploying the instance**
+>>
+>> With the previously retrieved items, an instance can be created, including it directly in the vRack:
+>>
+>> ```bash
+>> nova boot --key-name SSHKEY --flavor [ID-flavor] --image [ID-Image] --nic net-id=[ID-Network 1] --nic net-id=[ID-Network 2] [instance name]
+>> ```
+>>
+>> Example:
+>>
+>> ```bash
+>> nova boot --key-name my-ssh-key --flavor xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx --image yyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy --nic net-id=[id_Ext-Net] --nic net-id=[id_VLAN] NameOfInstance
+>>
+>> +--------------------------------------+------------------------------------------------------+
+>> | Property | Value |
+>> +--------------------------------------+------------------------------------------------------+
+>> | OS-DCF:diskConfig | MANUAL |
+>> | OS-EXT-AZ:availability_zone | |
+>> | OS-EXT-STS:power_state | 0 |
+>> | OS-EXT-STS:task_state | scheduling |
+>> | OS-EXT-STS:vm_state | building |
+>> | OS-SRV-USG:launched_at | - |
+>> | OS-SRV-USG:terminated_at | - |
+>> | accessIPv4 | |
+>> | accessIPv6 | |
+>> | adminPass | xxxxxxxxxxxx |
+>> | config_drive | |
+>> | created | YYYY-MM-DDTHH:MM:SSZ |
+>> | flavor | [Flavor type] (xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) |
+>> | hostId | |
+>> | id | xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
+>> | image | [Image type] (xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) |
+>> | key_name | [Name of key] |
+>> | metadata | {} |
+>> | name | [Name of instance] |
+>> | os-extended-volumes:volumes_attached | [] |
+>> | progress | 0 |
+>> | security_groups | default |
+>> | status | BUILD |
+>> | tenant_id | zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz |
+>> | updated | YYYY-MM-DDTHH:MM:SSZ |
+>> | user_id | zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz |
+>> +--------------------------------------+------------------------------------------------------+
+>> ```
+>>
+>> or
+>>
+>> ```bash
+>> openstack server create --key-name SSHKEY --flavor [ID-flavor] --image [ID-Image] --nic net-id=[ID-Network 1] --nic net-id=[ID-Network 2] [instance name]
+>> ```
+>>
+>> Example:
+>>
+>> ```bash
+>> openstack server create --key-name my-ssh-key --flavor xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx --image yyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy --nic net-id=[id_Ext-Net] --nic net-id=[id_VLAN] NameOfInstance
+>>
+>> +--------------------------------------+------------------------------------------------------+
+>> | Property | Value |
+>> +--------------------------------------+------------------------------------------------------+
+>> | OS-DCF:diskConfig | MANUAL |
+>> | OS-EXT-AZ:availability_zone | |
+>> | OS-EXT-STS:power_state | 0 |
+>> | OS-EXT-STS:task_state | scheduling |
+>> | OS-EXT-STS:vm_state | building |
+>> | OS-SRV-USG:launched_at | - |
+>> | OS-SRV-USG:terminated_at | - |
+>> | accessIPv4 | |
+>> | accessIPv6 | |
+>> | adminPass | xxxxxxxxxxxx |
+>> | config_drive | |
+>> | created | YYYY-MM-DDTHH:MM:SSZ |
+>> | flavor | [Flavor type] (xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) |
+>> | hostId | |
+>> | id | xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
+>> | image | [Image type] (xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) |
+>> | key_name | [Name of key] |
+>> | metadata | {} |
+>> | name | [Name of instance] |
+>> | os-extended-volumes:volumes_attached | [] |
+>> | progress | 0 |
+>> | security_groups | default |
+>> | status | BUILD |
+>> | tenant_id | zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz |
+>> | updated | YYYY-MM-DDTHH:MM:SSZ |
+>> | user_id | zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz |
+>> +--------------------------------------+------------------------------------------------------+
+>> ```
+>>
+>> You can set the IP address of the instance of your vRack interface at the OpenStack level.
+>>
+>> To do this, you can add a single argument to the function "--nic":
+>>
+>> `--nic net-id=[ID-Network],v4-fixed-ip=[IP_static_vRack]`
+>>
+>> Example:
+>>
+>> `--nic net-id=[ID-vRack],v4-fixed-ip=192.168.0.42`
+>>
+>> **Verifying the instance**
+>>
+>> After a few moments you can check the list of existing instances to find the server you created:
+>>
+>> ```bash
+>> openstack server list
+>> +--------------------------------------+---------------------+--------+--------------------------------------------------+--------------------+
+>> | ID | Name | Status | Networks | Image Name |
+>> +--------------------------------------+---------------------+--------+--------------------------------------------------+--------------------+
+>> | xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx | [Name of instance] | ACTIVE | Ext-Net=[IP_V4], [IP_V6]; MyVrack=[IP_V4_vRack] | [Name-of-instance]|
+>> +--------------------------------------+---------------------+--------+--------------------------------------------------+--------------------+
+>> ```
+>>
+>> ```bash
+>> nova list
+>> +--------------------------------------+--------------------+--------+------------+-------------+--------------------------------------------------+
+>> | ID | Name | Status | Task State | Power State | Networks |
+>> +--------------------------------------+--------------------+--------+------------+-------------+--------------------------------------------------+
+>> | xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx | [Name of instance]| ACTIVE | - | Running | Ext-Net=[IP_V4], [IP_V6]; MyVrack=[IP_V4_vRack] |
+>> +--------------------------------------+--------------------+--------+------------+-------------+--------------------------------------------------+
+>> ```
+>>
+
+///
+
+/// details | **In case of an existing instance**
The OVHcloud Control Panel allows you to attach an instance to one or more private networks but does not offer advanced network interface configuration. If you want to customise further, you will need to manage them either through the OVHcloud APIv6, through the OpenStack APIs or via Horizon.
@@ -260,75 +877,330 @@ For example, if you have a public interface *eth0*, you will add the interface *
> You will therefore need to set a static IP or configure DHCP, depending on your infrastructure.
>
-#### In the OVHcloud Control Panel
-
-Log in to the [OVHcloud Control Panel](/links/manager), go to the `Public Cloud`{.action} section and select the Public Cloud project concerned.
-
-Click on `Instances`{.action} in the left-hand navigation bar and then on `...`{.action} to the right of the instance. Select `Instance details`{.action}.
-
-{.thumbnail}
-
-This will open the instance dashboard. Click on the `...`{.action} button in the box "Networks", next to "Private networks", and select `Attach a network`{.action}.
-
-{.thumbnail}
-
-In the popup window that appears, select the private network(s) to attach to your instance and click `Attach`{.action}.
-
-{.thumbnail}
-
-#### With the OVHcloud APIv6
-
-Please refer to [this section](/pages/public_cloud/public_cloud_network_services/getting-started-08-creating-vrack-with-api#in-case-of-an-existing-instance) of the corresponding guide.
-
-#### With OpenStack Horizon
-
-Log in to the [Horizon interface](https://horizon.cloud.ovh.net/auth/login/) as mentioned [above](./#horizon).
-
-Choose the proper work zone.
-
-{.thumbnail}
-
-Select `Compute` and then `Instances` from the menu.
-
-{.thumbnail}
-
-**Adding a private interface**
-
-To add an interface, click on the arrow in the "Actions" column to access the possible actions on the instance. Select `Attach Interface`{.action}.
-
-{.thumbnail}
-
-Select your interface and confirm.
-
-{.thumbnail}
-
-> [!primary]
-> Your OVHcloud instance will have a new network interface in addition to the public interface (Ext-Net).
->
In the instance summary, you can see the private IP address that is automatically assigned to your interface.
->
It is your responsibility to correctly configure the interface through DHCP or by using the proper IP addresses through a static IP configuration.
->
-
-**Detaching a network private interface**
-
-> [!warning]
-> Detaching a network interface is permanent.
->
-> However, it is important to note that if you detach the "Ext-Net" interface (public IP), this address will be released and put back into circulation. It is not possible to just reassign it.
->
This action is only required if you wish to isolate your server in the vRack (private network), or if you wish to remove it from one or more VLANs.
->
-
-To detach a private interface, click on the arrow in the "Actions" column to access the possible actions on the instance. Select `Detach Interface`{.action}.
-
-{.thumbnail}
-
-Select your interface and confirm.
-
-{.thumbnail}
+> [!tabs]
+> Via the OVHcloud Control Panel
+>> Log in to the [OVHcloud Control Panel](/links/manager), go to the `Public Cloud`{.action} section and select the Public Cloud project concerned.
+>>
+>> Click on `Instances`{.action} in the left-hand navigation bar and then on `...`{.action} to the right of the instance. Select `Instance details`{.action}.
+>>
+>> {.thumbnail}
+>>
+>> This will open the instance dashboard. Click on the `...`{.action} button in the box "Networks", next to "Private networks", and select `Attach a network`{.action}.
+>>
+>> {.thumbnail}
+>>
+>> In the popup window that appears, select the private network(s) to attach to your instance and click `Attach`{.action}.
+>>
+>> {.thumbnail}
+>>
+> Via the OVHcloud APIv6
+>>
+>> If you need to integrate an existing instance into the vRack, it is not possible to do so from your OVHcloud Control Panel. You will need to use Horizon, the OpenStack API or the OVHcloud APIv6.
+>>
+>> The required action is simply to add a new network interface to your server, in addition to the existing one.
+>>
+>> For example, if you have a public interface *eth0*, you will add the interface *eth1*.
+>>
+>> > [!warning]
+>> >
+>> > The configuration of this new interface is rarely automatic.
+>> > You will therefore need to set a static IP or configure DHCP, depending on your infrastructure.
+>> >
+>>
+>> **The steps below describe how to manage your instances' network interfaces.**
+>>
+>> ##### **Retrieving the required information**
+>>
+>> ###### Retrieving the project ID
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /cloud GET /cloud/project
+>> >
+>>
+>> ###### Retrieving the instance ID
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /cloud GET /cloud/project/{serviceName}/instance
+>> >
+>>
+>> ###### Retrieving the networkID of the public network (Ext-Net)
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /cloud GET /cloud/project/{serviceName}/network/public
+>> >
+>>
+>> ###### Retrieving the networkID of the private network (vRack interface previously created)
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /cloud GET /cloud/project/{serviceName}/network/private
+>> >
+>>
+>> > [!primary]
+>> >
+>> > The identifier will have the form: "pn-xxxxx_yy" in which yy is the VLAN number.
+>> >
+>>
+>> ##### **Adding an interface to your instance**
+>>
+>> Once all the elements necessary are gathered, you can use the following call:
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /cloud POST /cloud/project/{serviceName}/instance/{instanceId}/interface
+>> >
+>>
+>> You will need to fill in at least the following fields:
+>>
+>> |Field|Description|
+>> |---|---|
+>> |serviceName|ID of the Public Cloud project|
+>> |instanceId|ID of the instance|
+>> |networkId|Enter the public network identifier (Ext-Net) or your VLAN (pn-xxxxxx_yy)|
+>> |ip|Define a specific IP (only works for private interfaces)|
+>>
+>> Once the call is complete, if all information is correctly filled in, a new interface will be added to your instance.
+>>
+>> > [!primary]
+>> >
+>> > Your OVHcloud instance will have a new network interface in addition to the public interface (Ext-Net).
+>> > Your OVHcloud instance will have a new network interface in addition to the public interface (Ext-Net).
+>> >
In the instance summary, you can see the private IP address that is automatically assigned to your interface.
+>> >
It is your responsibility to correctly configure the interface through DHCP or by using the proper IP addresses through a static IP configuration.
+>> >
+>>
+>> ##### **Removing an interface from your instance**
+>>
+>> > [!warning]
+>> >
+>> > Detaching a network interface is permanent.
+>> >
+>> > However, it is important to note that if you detach the "Ext-Net" interface (public IP), this address will be released and put back into circulation. It is not possible to just reassign it.
+>> >
This action is only required if you wish to isolate your server in the vRack (private network), or if you wish to remove it from one or more VLANs.
+>> >
+>>
+>> Once all the necessary information is retrieved, you can use the following call to remove an interface:
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /cloud DELETE /cloud/project/{serviceName}/instance/{instanceId}/interface/{interfaceId}
+>> >
+>>
+>> You will need to fill in at least the following fields:
+>>
+>> |Field|Description|
+>> |---|---|
+>> |serviceName|ID of the Public Cloud project|
+>> |instanceId|ID of the instance|
+>> |networkId|Enter the public network identifier (Ext-Net) or your VLAN (pn-xxxxxx_yy)|
+>>
+> Via Horizon
+>> Log in to the [Horizon interface](https://horizon.cloud.ovh.net/auth/login/) as mentioned [above](./#horizon).
+>>
+>> Choose the proper work zone.
+>>
+>> {.thumbnail}
+>>
+>> Select `Compute` and then `Instances` from the menu.
+>>
+>> {.thumbnail}
+>>
+>> **Adding a private interface**
+>>
+>> To add an interface, click on the arrow in the "Actions" column to access the possible actions on the instance. Select `Attach Interface`{.action}.
+>>
+>> {.thumbnail}
+>>
+>> Select your interface and confirm.
+>>
+>> {.thumbnail}
+>>
+>> > [!primary]
+>> >
+>> > Your OVHcloud instance will have a new network interface in addition to the public interface (Ext-Net).
+>> >
In the instance summary, you can see the private IP address that is automatically assigned to your interface.
+>> >
It is your responsibility to correctly configure the interface through DHCP or by using the proper IP addresses through a static IP configuration.
+>> >
+>>
+>> **Detaching a network private interface**
+>>
+>> > [!warning]
+>> >
+>> > Detaching a network interface is permanent.
+>> >
+>> > However, it is important to note that if you detach the "Ext-Net" interface (public IP), this address will be released and put back into circulation. It is not possible to just reassign it.
+>> >
This action is only required if you wish to isolate your server in the vRack (private network), or if you wish to remove it from one or more VLANs.
+>> >
+>>
+>> To detach a private interface, click on the arrow in the "Actions" column to access the possible actions on the instance. Select `Detach Interface`{.action}.
+>>
+>> {.thumbnail}
+>>
+>> Select your interface and confirm.
+>>
+>> {.thumbnail}
+>>
+> Via the Openstack CLI
+>> The following steps are necessary to integrate an existing instance into the vRack.
+>>
+>> **Retrieving the required information**
+>>
+>> Identify your instances:
+>>
+>> ```bash
+>> openstack server list
+>>
+>> +--------------------------------------+--------------+--------+------------------------------------------------------------------------+------------+
+>> | ID | Name | Status | Networks | Image Name |
+>> +--------------------------------------+--------------+--------+------------------------------------------------------------------------+------------+
+>> | 12345678-90ab-cdef-xxxx-xxxxxxxxxxxx | My-Instance | ACTIVE | Ext-Net=xx.xx.xx.xx, 2001:41d0:yyyy:yyyy::yyyy; MyVrack=192.168.0.124 | Debian 9 |
+>> +--------------------------------------+--------------+--------+------------------------------------------------------------------------+------------+
+>> ```
+>>
+>> or
+>>
+>> ```bash
+>> nova list
+>>
+>> +--------------------------------------+--------------+--------+------------+-------------+----------------------------------------------------------------------+
+>> | ID | Name | Status | Task State | Power State | Networks |
+>> +--------------------------------------+--------------+--------+------------+-------------+----------------------------------------------------------------------+
+>> | 12345678-90ab-cdef-xxxx-xxxxxxxxxxxx | My-Instance | ACTIVE | - | Running | Ext-Net=xx.xx.xx.xx,2001:41d0:yyyy:yyyy::yyyy;MyVrack=192.168.0.124 |
+>> +--------------------------------------+--------------+--------+------------+-------------+----------------------------------------------------------------------+
+>> ```
+>>
+>> Public and private networks:
+>>
+>> ```bash
+>> openstack network list
+>>
+>> +--------------------------------------+------------+-------------------------------------+
+>> | ID | Name | Subnets |
+>> +--------------------------------------+------------+-------------------------------------+
+>> | 12345678-90ab-cdef-xxxx-xxxxxxxxxxxx | MyVLAN-42 | xxxxxxxx-yyyy-xxxx-yyyy-xxxxxxxxxxxx|
+>> | 34567890-12ab-cdef-xxxx-xxxxxxxxxxxx | Ext-Net | zzzzzzzz-yyyy-xxxx-yyyy-xxxxxxxxxxxx|
+>> | 67890123-4abc-ef12-xxxx-xxxxxxxxxxxx | MyVLAN-0 | yyyyyyyy-xxxx-xxxx-yyyy-xxxxxxxxxxxx|
+>> +--------------------------------------+------------+-------------------------------------+
+>> ```
+>>
+>> or
+>>
+>> ```bash
+>> nova net-list
+>>
+>> +--------------------------------------+------------+------+
+>> | ID | Label | CIDR |
+>> +--------------------------------------+------------+------+
+>> | 12345678-90ab-cdef-xxxx-xxxxxxxxxxxx | MyVLAN-42 | None |
+>> | 34567890-12ab-cdef-xxxx-xxxxxxxxxxxx | Ext-Net | None |
+>> | 67890123-4abc-ef12-xxxx-xxxxxxxxxxxx | MyVLAN-0 | None |
+>> +--------------------------------------+------------+------+
+>> ```
+>>
+>> > [!primary]
+>> >
+>> > You will need to note the network IDs of interest:
+>> >
- Ext-Net for a public IP address
+>> >
- The VLAN(s) required for your configuration
+>> >
+>>
+>> **Adding a private network interface**
+>>
+>> In order to attach a new interface, execute the following command:
+>>
+>> ```bash
+>> nova interface-attach --net-id
+>> ```
+>>
+>> Example:
+>>
+>> ```bash
+>> nova interface-attach --net-id 12345678-90ab-cdef-xxxx-xxxxxxxxxxxx 12345678-90ab-cdef-xxxx-xxxxxxxxxxxx
+>> ```
+>>
+>> You can verify that the action has been performed:
+>>
+>> ```bash
+>> nova show
+>>
+>> +--------------------------------------+----------------------------------------------------------+
+>> | Property | Value |
+>> +--------------------------------------+----------------------------------------------------------+
+>> | Ext-Net network | xx.xx.xx.xx, 2001:41d0:xxx:xxxx::xxxx | => your public IP
+>> | MyVLAN-42 network | 192.168.0.x | => your private IP
+>> [...]
+>> ```
+>>
+>> or
+>>
+>> ```bash
+>> openstack server show
+>> +--------------------------------------+-------------------------------------------------------------------------+
+>> | Field | Value |
+>> +--------------------------------------+-------------------------------------------------------------------------+
+>> [...]
+>> | addresses | Ext-Net=xx.xx.xx.xx, 2001:41d0:xxx:xxxx::xxxx ; MyVLAN-42=192.168.0.x | => your public IP ; your private IP
+>> [...]
+>> ```
+>>
+>> #### Removing a network interface
+>>
+>> > [!warning]
+>> >
+>> > Detaching a network interface is permanent.
+>> >
+>> > However, it is important to note that if you detach the "Ext-Net" interface (public IP), this address will be released and put back into circulation. It is not possible to just reassign it.
+>> >
This action is only required if you wish to isolate your server in the vRack (private network), or if you wish to remove it from one or more VLANs.
+>> >
+>>
+>> In order to detach an interface, you will first need to identify the Neutron port that has been created.
+>>
+>> You can do this by using the following commands:
+>>
+>> ```bash
+>> neutron port-list
+>> +--------------------------------------+------+-------------------+---------------------------------------------------------------------------------------------------+
+>> | id | name | mac_address | fixed_ips |
+>> +--------------------------------------+------+-------------------+---------------------------------------------------------------------------------------------------+
+>> | 12345678-abcd-ef01-2345-678910abcdef | | fa:xx:xx:xx:xx:xx | {"subnet_id": "01234567-8901-abscdef12345678910abcd", "ip_address": "192.168.0.x"} |
+>> | 09876543-210a-bcde-f098-76543210abcd | | fa:yy:yy:yy:yy:yy | {"subnet_id": "65432109-abcd-ef09-8765-43210abcdef1", "ip_address": "2001:41d0:xxx:xxxx::xxxx"} |
+>> | | | | {"subnet_id": "abcdef12-3456-7890-abcd-ef1234567890", "ip_address": "YY.YY.YY.YY"} |
+>> +--------------------------------------+------+-------------------+---------------------------------------------------------------------------------------------------+
+>> ```
+>>
+>> or
+>>
+>> ```bash
+>> openstack port list
+>> +--------------------------------------+------+-------------------+-------------------------------------------------------------------------------------------+
+>> | ID | Name | MAC Address | Fixed IP Addresses |
+>> +--------------------------------------+------+-------------------+-------------------------------------------------------------------------------------------+
+>> | 12345678-abcd-ef01-2345-678910abcdef | | fa:xx:xx:xx:xx:xx | ip_address='192.168.0.xx', subnet_id='301234567-8901-abscdef12345678910abcd' |
+>> | 09876543-210a-bcde-f098-76543210abcd | | fa:yy:yy:yy:yy:yy | ip_address='2001:41d0:xxx:xxxx::xxxx', subnet_id='65432109-abcd-ef09-8765-43210abcdef1' |
+>> | | | | ip_address='YY.YY.YY.YY', subnet_id='abcdef12-3456-7890-abcd-ef1234567890' |
+>> +--------------------------------------+------+-------------------+-------------------------------------------------------------------------------------------+
+>> ```
+>>
+>> Once you have identified the port to remove, you can execute the following command:
+>>
+>> ```bash
+>> nova interface-detach
+>> ```
+>>
+>> Example:
+>>
+>> ```bash
+>> nova interface-detach 12345678-90ab-cdef-xxxx-xxxxxxxxxxxx 12345678-abcd-ef01-2345-678910abcdef
+>> ```
+>>
+
+///
## Go further
-[Configuring vRack for Public Cloud using OVHcloud APIv6](/pages/public_cloud/public_cloud_network_services/getting-started-08-creating-vrack-with-api)
-
[Creating multiple vLANs in a vRack](/pages/bare_metal_cloud/dedicated_servers/creating-multiple-vlans-in-a-vrack)
If you need training or technical assistance to implement our solutions, contact your sales representative or click on [this link](/links/professional-services) to get a quote and ask our Professional Services experts for assisting you on your specific use case of your project.
diff --git a/pages/public_cloud/public_cloud_network_services/getting-started-07-creating-vrack/guide.fr-fr.md b/pages/public_cloud/public_cloud_network_services/getting-started-07-creating-vrack/guide.fr-fr.md
index c51e3816150..19fd255cd66 100644
--- a/pages/public_cloud/public_cloud_network_services/getting-started-07-creating-vrack/guide.fr-fr.md
+++ b/pages/public_cloud/public_cloud_network_services/getting-started-07-creating-vrack/guide.fr-fr.md
@@ -4,6 +4,20 @@ excerpt: 'Découvrez comment configurer un vRack Public Cloud'
updated: 2025-04-28
---
+
+
## Objectif
Le [vRack](/links/network/vrack) est un réseau privé qui vous permet de configurer l’adressage entre plusieurs serveurs dédiés OVHcloud. Mais il vous permet également d’ajouter des [instances Public Cloud](/links/public-cloud/compute) à votre réseau privé afin de créer une infrastructure de ressources physiques et virtuelles.
@@ -25,7 +39,7 @@ Selon votre profil technique et vos besoins, vous serez amenés à devoir choisi
**Voici un descriptif rapide des actions possibles suivant la méthode/interface choisie :**
-### Espace client OVHcloud
+/// details | Espace client OVHcloud
[L'espace client OVHcloud](/links/manager) est une interface entièrement et uniquement visuelle, ce qui en fait une interface idéale à la gestion de plusieurs VLAN. Vous aurez également la possibilité de personnaliser la plage d'IP privée qui, par défaut, est 10.x.x.x/16.
@@ -33,7 +47,9 @@ Les VLAN seront déployés dans la Région sélectionnée. Vous aurez également
Vous pourrez également gérer la facturation de vos services au travers de votre espace client OVHcloud.
-### Interface Horizon
+///
+
+/// details | Interface Horizon
Interface visuelle indépendante d'OVHcloud, [Horizon](https://horizon.cloud.ovh.net/auth/login/) est l'implémentation d’origine du tableau de bord d'OpenStack, qui fournit une interface utilisateur web aux services OpenStack, notamment Nova, Swift, Keystone, etc.
@@ -45,7 +61,9 @@ Consultez le guide [Accéder à l'interface Horizon](/pages/public_cloud/public_
> Horizon fonctionnant par zone, pensez bien à choisir votre zone géographique de travail tout en haut à gauche de votre interface (GRA5, SBG3, BHS1, etc.)
>
-### APIv6 OVHcloud
+///
+
+/// details | APIv6 OVHcloud
Chaque action que vous effectuez dans l'espace client OVHcloud fait appel aux [APIv6 OVHcloud](/links/api).
Vous pouvez même aller plus loin dans les API que dans votre espace client.
@@ -60,7 +78,9 @@ Ainsi, il vous sera possible de librement automatiser les tâches de base au moy
Consultez le guide [Premiers pas avec les API OVHcloud](/pages/manage_and_operate/api/first-steps) pour vous familiariser avec l'utilisation des APIv6 OVHcloud.
-### API OpenStack
+///
+
+/// details | API OpenStack
Il est possible d’administrer les services Public Cloud à l’aide de lignes de commandes Linux ou Windows, après le téléchargement et l’installation des outils OpenStack.
@@ -90,44 +110,234 @@ Vous pourrez alors, suivant votre besoin, utiliser les API dédiées à OpenStac
> Vous pouvez consulter à tout moment la [documentation officielle d'OpenStack](https://docs.openstack.org/fr/) si vous souhaitez aller plus loin dans leur utilisation.
>
-Pour plus d'informations, consultez ce guide : [Configuration du vRack Public Cloud l'aide de l'OpenStack CLI](/pages/public_cloud/public_cloud_network_services/getting-started-09-creating-vrack-with-openstack).
+///
-### Terraform
+/// details | CLI OpenStack
-Terraform permet aussi de gérer les infrastructures d’OVHcloud.
+Vous pouvez gérer vos services Public Cloud et votre vRack OVHcloud directement depuis votre terminal Linux ou Windows grâce à la CLI OpenStack.
-Pour cela, vous devez choisir le bon fournisseur et la bonne ressource Terraform. Retrouvez plus d’informations dans notre [guide d’utilisation de Terraform](/pages/manage_and_operate/terraform/terraform-at-ovhcloud).
+Cette interface permet de gérer toutes les couches OpenStack :
-## En pratique
+- Nova : instances (compute)
+- Neutron : réseaux
+- Glance : images
+- Cinder : volumes
-### Étape 1 : Activer et gérer un vRack
+La CLI centralise ces fonctionnalités et peut être intégrée à vos scripts pour automatiser vos tâches.
-#### Depuis l'espace client OVHcloud
+Avant de commencer, consultez tout d'abord les guides suivants :
+
+- [Préparer l’environnement pour utiliser l’API OpenStack](/pages/public_cloud/public_cloud_cross_functional/prepare_the_environment_for_using_the_openstack_api)
+- [Charger les variables d’environnement OpenStack](/pages/public_cloud/public_cloud_cross_functional/loading_openstack_environment_variables)
> [!primary]
-> Ceci ne s'applique pas aux projets nouvellement créés qui sont désormais automatiquement livrés avec un vRack. Pour visualiser le vRack une fois le projet créé, rendez-vous dans le section `Network`{.action} dans l’onglet de gauche. Cliquez sur `Réseau Privé vRack`{.action} pour voir le(s) vRack(s).
+>
+> La CLI OpenStack est pratique pour gérer votre vRack, mais certaines fonctions peuvent varier selon la version du client ou du système d’exploitation. Consultez la [documentation officielle d'OpenStack](https://docs.openstack.org/fr/).
>
-Si vous avez un projet plus ancien et que vous n'avez pas de vRack, vous devez en commander un. Ce produit est gratuit et la mise à disposition ne prend que quelques minutes.
-
-Dans le menu situé à gauche de l'écran, cliquez sur le bouton `Ajouter un service`{.action} (icône de panier d'achat). Utilisez le filtre en haut de la page ou faites défiler vers le bas pour trouver le service `vRack`{.action}.
-
-{.thumbnail}
+///
-Vous serez redirigé vers une autre page pour valider la commande, l'opération prendra quelques minutes.
+/// details | Terraform
-Une fois le service actif, vous le retrouverez dans votre espace client dans la section `Network`{.action} > `Réseau Privé vRack`{.action}. Sous l’appellation « pn-xxxxxx ».
+Terraform permet aussi de gérer les infrastructures d’OVHcloud.
-Dans la liste des services éligibles, sélectionnez le projet que vous souhaitez ajouter au vRack et cliquez sur le bouton `Ajouter`{.action}.
+Pour cela, vous devez choisir le bon fournisseur et la bonne ressource Terraform. Retrouvez plus d’informations dans notre [guide d’utilisation de Terraform](/pages/manage_and_operate/terraform/terraform-at-ovhcloud).
-{.thumbnail}
+///
-Pour continuer la configuration du vRack depuis l'espace client OVHcloud, poursuivez la lecture de ce guide à partir de [Créer un réseau privé depuis l'espace client OVHcloud](./#creer-un-reseau-prive-depuis-lespace-client-ovhcloud).
+## En pratique
-#### Depuis les APIv6 OVHcloud
+### Étape 1 : Activer et gérer un vRack
-Pour activer et gérer un vRack depuis les APIv6 OVHcloud, cliquez [ici](/pages/public_cloud/public_cloud_network_services/getting-started-08-creating-vrack-with-api#etape-1-activer-et-gerer-un-vrack) pour consulter le guide spécifique à cette méthode.
+> [!warning]
+>
+> Le vRack est géré au niveau de l’infrastructure OVHcloud, ce qui signifie que vous ne pouvez l’administrer que dans votre espace client et l’APIv6 OVHcloud.
+>
+> [!tabs]
+> Depuis l'espace client OVHcloud
+>> > [!primary]
+>> >
+>> > Ceci ne s'applique pas aux projets nouvellement créés qui sont désormais automatiquement livrés avec un vRack. Pour visualiser le vRack une fois le projet créé, rendez-vous dans le section `Network`{.action} dans l’onglet de gauche. Cliquez sur `Réseau Privé vRack`{.action} pour voir le(s) vRack(s).
+>> >
+>>
+>> Si vous avez un projet plus ancien et que vous n'avez pas de vRack, vous devez en commander un. Ce produit est gratuit et la mise à disposition ne prend que quelques minutes.
+>>
+>> Dans le menu situé à gauche de l'écran, cliquez sur le bouton `Ajouter un service`{.action} (icône de panier d'achat). Utilisez le filtre en haut de la page ou faites défiler vers le bas pour trouver le service `vRack`{.action}.
+>>
+>> {.thumbnail}
+>>
+>> Vous serez redirigé vers une autre page pour valider la commande, l'opération prendra quelques minutes.
+>>
+>> Une fois le service actif, vous le retrouverez dans votre espace client dans la section `Network`{.action} > `Réseau Privé vRack`{.action}. Sous l’appellation « pn-xxxxxx ».
+>>
+>> Dans la liste des services éligibles, sélectionnez le projet que vous souhaitez ajouter au vRack et cliquez sur le bouton `Ajouter`{.action}.
+>>
+>> {.thumbnail}
+>>
+>> Pour continuer la configuration du vRack depuis l'espace client OVHcloud, poursuivez la lecture de ce guide à partir de [Créer un réseau privé depuis l'espace client OVHcloud](./#creer-un-reseau-prive-depuis-lespace-client-ovhcloud).
+>>
+> Depuis les APIv6 OVHcloud
+>>
+>> #### Étape 1 : Activer et gérer un vRack
+>>
+>> Connectez-vous aux APIv6 OVHcloud en suivant le guide [Premiers pas avec les API OVHcloud](/pages/manage_and_operate/api/first-steps).
+>>
+>> Une fois identifié, suivez les étapes décrites ci-dessous :
+>>
+>> ##### Création du panier
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /order POST /order/cart
+>> >
+>>
+>> > [!primary]
+>> >
+>> > Cet appel va créer un identifiant pour votre « panier ». Vous pourrez y ajouter autant d'articles que vous voulez avant de le valider.
+>> >
+>> > Dans le cas présent, la commande d’un vRack est gratuite. Récupérez le numéro de votre panier (cartId), il sera indispensable pour la suite.
+>> >
+>>
+>> ##### Récupération des informations nécessaires à la commande du vRack
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /order GET /order/cart/{cartId}/vrack
+>> >
+>>
+>> > [!primary]
+>> >
+>> > Cet appel va vous permettre de récupérer l'ensemble des informations nécessaires à la commande du vRack. Copiez les éléments suivants :
+>> >
+>> > *cartId*, *duration*, *planCode*, et *pricingMode*.
+>> >
+>>
+>> ##### Ajout du vRack dans le panier
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /order POST /order/cart/{cartId}/vrack
+>> >
+>>
+>> > [!primary]
+>> >
+>> > Cet appel va vous permettre d'ajouter le vRack au panier en ajoutant l’ensemble des informations nécessaires à la commande.
+>> >
+>> > Dans le cas du vRack, cela donnerait par exemple :
+>> >
+>> > cartId : [identifiant de votre panier]
+>> >
+>> > duration : « P1M »
+>> >
+>> > planCode : « vrack »
+>> >
+>> > pricingMode : « default »
+>> >
+>> > quantity : 1
+>> >
+>>
+>> Une fois que vous aurez validé la commande, vous obtiendrez un numéro d'article (« itemId »). Conservez cette information, elle vous sera utile si vous souhaitez apporter des modifications avant la validation du panier.
+>>
+>> ##### Validation du panier
+>>
+>> Une fois l'ensemble des articles mis dans votre panier, vous devrez le valider :
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /order POST /order/cart/{cartId}/checkout
+>> >
+>>
+>> > [!primary]
+>> >
+>> > Cet appel va valider le panier et vous créer un bon de commande (orderId). Conservez cette information, elle sera nécessaire à la validation de la commande.
+>> >
+>>
+>> ##### Validation de la commande finale
+>>
+>> Pour valider la commande, vous avez deux méthodes possibles :
+>>
+>> - Passer par l'url visible lorsque le panier est validé. Exemple :
+>> > url : https://www.ovh.com/cgi-bin/order/displayOrder.cgi?orderId=12345678&orderPassword=xxxxxxxxxx
+>>
+>> - Valider par l'appel suivant :
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /me POST /me/order/{orderId}/payWithRegisteredPaymentMean
+>> >
+>>
+>> > [!primary]
+>> >
+>> > Même s’il s’agit d’un bon de commande à 0 €, il est nécessaire de simuler un paiement du bon de commande (orderId). Votre bon de commande sera alors validé et son traitement commencera.
+>> >
+>>
+>> Une fois le bon de commande gratuit validé, un délai de quelques minutes peut être nécessaire pour que le vRack soit actif.
+>>
+>> #### Étape 2 : Ajouter votre projet Public Cloud dans le vRack
+>>
+>> Une fois le vRack actif, il vous faudra intégrer votre ou vos projets Public Cloud dans le vRack.
+>>
+>> Connectez-vous aux APIv6 OVHcloud en suivant le guide [Premiers pas avec les API OVHcloud](/pages/manage_and_operate/api/first-steps).
+>>
+>> Dans le cas ou l’identifiant du projet Public Cloud n’est pas connu, les appels suivants vous permettront de le connaître.
+>>
+>> ##### Identification du projet
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /cloud GET /cloud/project
+>> >
+>>
+>> > [!primary]
+>> >
+>> > Cet appel permet de récupérer la liste des projets.
+>> >
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /cloud GET /cloud/project/{serviceName}
+>> >
+>>
+>> > [!primary]
+>> >
+>> > Cet appel permet d'identifier le projet grâce au champ « description ».
+>> >
+>>
+>> ##### Ajout du projet dans le vRack
+>>
+>> Une fois l’identifiant du projet et le nom du vRack connus, leur association se fait via l'appel suivant :
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /vrack POST /vrack/{serviceName}/cloudProject
+>> >
+>>
+>> Renseignez les champs de l'appel avec les informations récoltées précédemment :
+>>
+>> **serviceName** : nom du vRack sous sa forme « pn-xxxxxx »
+>>
**project** : identifiant du projet Public Cloud, sous la forme d’une chaîne de 32 caractères.
+>>
+>> > [!primary]
+>> >
+>> > Cet appel initialise l’association du projet au vRack, il faut ensuite récupérer l’id de la tâche pour vérifier son avancement.
+>> >
+>>
+>> ##### Vérification de l'avancement de la tâche d'ajout
+>>
+>> Vous pouvez consulter l'évolution de l'ajout dans le vRack grâce à cet appel :
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /vrack GET /vrack/{serviceName}/cloudProject/{project}
+>> >
+>>
+>> > [!primary]
+>> >
+>> > Cet appel est facultatif et permet juste de vérifier le statut de la tâche. Une fois celle-ci terminée, vous pouvez passer à l’étape suivante.
+>> >
+>>
+
### Étape 2 : Créer un réseau privé dans le vRack
Il est nécessaire de créer un réseau privé avec un réseau local virtuel (VLAN) afin que les instances reliées au vRack puissent communiquer entre elles.
@@ -152,78 +362,231 @@ Depuis l'espace client OVHcloud, vous pouvez attribuer le VLAN de votre choix et
> OpenStack n'étant pas située au même niveau de l'infrastructure, vous ne pourrez pas personnaliser les VLAN au travers de l'interface Horizon ou des API OpenStack.
>
-#### Créer un réseau privé depuis l'espace client OVHcloud
-
-Une fois votre vRack créé, l’étape suivante consiste à créer un réseau privé.
-
-Dans l'onglet Public cloud , cliquez sur `Private Network`{.action} dans le menu de gauche sous **Network**.
-
-{.thumbnail}
-
-Cliquez à présent sur `Créer un réseau privé`{.action}. La page suivante vous permettra de personnaliser plusieurs paramètres.
-
-À l'étape 1, sélectionnez la région dans laquelle vous souhaitez créer le réseau privé.
-
-{.thumbnail}
-
-À l'étape suivante, un certain nombre d'options vous sont présentées :
-
-{.thumbnail}
-
-Dans le champ **Nom du réseau privé**, définissez un nom pour votre réseau privé.
-
-**Créez une Gateway et connectez-vous au réseau privé**
-
-Sélectionnez cette option si vous avez l'intention de créer des instances avec un réseau privé uniquement. Pour plus d’informations, nous vous invitons à consulter les guides suivants : [Créer un réseau privé avec une Gateway](/pages/public_cloud/public_cloud_network_services/getting-started-02-create-private-network-gateway) et [Créer une première instance Public Cloud et s’y connecter](/pages/public_cloud/compute/public-cloud-first-steps).
-
-> [!warning]
-> Si l'option est grisée, cela signifie qu'elle est incompatible avec la région sélectionnée. Pour plus d’informations, veuillez vous référer à notre page sur la [disponibilité des produits Public Cloud pour chaque région](/links/public-cloud/regions-pci).
->
-
-**Options réseau du layer 2**
-
-Si vous cochez la case `Définir un VLAN`, vous devrez choisir un numéro de VLAN allant de 0 à 4000.
-
-Si vous ne cochez pas cette case, le système attribuera un numéro de VLAN aléatoire.
-
-Dans le cas où vous devez faire communiquer des serveurs dédiés OVHcloud avec du VLAN taggué, consultez le guide suivant : [Créer plusieurs VLAN dans le vRack](/pages/bare_metal_cloud/dedicated_servers/creating-multiple-vlans-in-a-vrack).
-
-**Options de distribution des adresses DHCP**
-
-La plage DHCP par défaut est en 10.0.0.0/16. Vous pouvez utiliser une autre plage privée de votre choix.
-
-Une fois vos choix faits, cliquez sur `Créer`{.action} pour lancer le processus.
-
-> [!primary]
-> La création du réseau privé peut prendre plusieurs minutes.
->
-
-#### Créer un réseau privé depuis les APIv6 OVHcloud
-
-Pour créer un réseau privé depuis les APIv6 OVHcloud, cliquez [ici](/pages/public_cloud/public_cloud_network_services/getting-started-08-creating-vrack-with-api#etape-3-creer-un-vlan-dans-le-vrack) pour consulter le guide spécifique à cette méthode.
-
-#### Créer un réseau privé via Terraform
-
-Dans Terraform, il faut utiliser le provider openstack. Vous pouvez télécharger un exemple de script terraform complet dans [ce dépôt](https://github.com/yomovh/tf-at-ovhcloud/tree/main/private_network).
-
-La partie spécifique à OVHcloud pour l'intégration vRack est le paramètre `value_specs`.
-
-```python
-resource "openstack_networking_network_v2" "tf_network" {
- name = "tf_network"
- admin_state_up = "true"
- value_specs = {
- "provider:network_type" = "vrack"
- "provider:segmentation_id" = var.vlan_id
- }
-}
-resource "openstack_networking_subnet_v2" "tf_subnet"{
- name = "tf_subnet"
- network_id = openstack_networking_network_v2.tf_network.id
- cidr = "10.0.0.0/16"
- enable_dhcp = true
-}
-```
+> [!tabs]
+> Depuis l'espace client OVHcloud
+>> Une fois votre vRack créé, l’étape suivante consiste à créer un réseau privé.
+>>
+>> Dans l'onglet Public cloud , cliquez sur `Private Network`{.action} dans le menu de gauche sous **Network**.
+>>
+>> {.thumbnail}
+>>
+>> Cliquez à présent sur `Créer un réseau privé`{.action}. La page suivante vous permettra de personnaliser plusieurs paramètres.
+>>
+>> À l'étape 1, sélectionnez la région dans laquelle vous souhaitez créer le réseau privé.
+>>
+>> {.thumbnail}
+>>
+>> À l'étape suivante, un certain nombre d'options vous sont présentées :
+>>
+>> {.thumbnail}
+>>
+>> Dans le champ **Nom du réseau privé**, définissez un nom pour votre réseau privé.
+>>
+>> **Créez une Gateway et connectez-vous au réseau privé**
+>>
+>> Sélectionnez cette option si vous avez l'intention de créer des instances avec un réseau privé uniquement. Pour plus d’informations, nous vous invitons à consulter les guides suivants : [Créer un réseau privé avec une Gateway](/pages/public_cloud/public_cloud_network_services/getting-started-02-create-private-network-gateway) et [Créer une première instance Public Cloud et s’y connecter](/pages/public_cloud/compute/public-cloud-first-steps).
+>>
+>> > [!warning]
+>> >
+>> > Si l'option est grisée, cela signifie qu'elle est incompatible avec la région sélectionnée. Pour plus d’informations, veuillez vous référer à notre page sur la [disponibilité des produits Public Cloud pour chaque région](/links/public-cloud/regions-pci).
+>> >
+>>
+>> **Options réseau du layer 2**
+>>
+>> Si vous cochez la case `Définir un VLAN`, vous devrez choisir un numéro de VLAN allant de 0 à 4000.
+>>
+>> Si vous ne cochez pas cette case, le système attribuera un numéro de VLAN aléatoire.
+>>
+>> Dans le cas où vous devez faire communiquer des serveurs dédiés OVHcloud avec du VLAN taggué, consultez le guide suivant : [Créer plusieurs VLAN dans le vRack](/pages/bare_metal_cloud/dedicated_servers/creating-multiple-vlans-in-a-vrack).
+>>
+>> **Options de distribution des adresses DHCP**
+>>
+>> La plage DHCP par défaut est en 10.0.0.0/16. Vous pouvez utiliser une autre plage privée de votre choix.
+>>
+>> Une fois vos choix faits, cliquez sur `Créer`{.action} pour lancer le processus.
+>>
+>> > [!primary]
+>> >
+>> > La création du réseau privé peut prendre plusieurs minutes.
+>> >
+>>
+> Depuis les APIv6 OVHcloud
+>> Il est nécessaire de créer un vLan (ou réseau local virtuel) afin que les instances reliées au vRack puissent communiquer entre elles.
+>>
+>> Sur l'offre Public Cloud, vous pouvez créer jusqu'à 4 000 vLan au sein d’un seul vRack. Cela signifie donc que vous pouvez utiliser chaque adresse IP privée jusqu’à 4 000 fois. Ainsi, par exemple, l'IP 192.168.0.10 du vLan 2 est différente de l'IP 192.168.0.10 du vLan 42.
+>>
+>> Cela peut vous être utile afin de segmenter votre vRack entre plusieurs réseaux virtuels.
+>>
+>> Depuis les APIv6 OVHcloud, vous pourrez personnaliser l'ensemble des paramètres : plage IP (10.0.0.0/16 par exemple), zone de déploiement, DCHP, Gateway...
+>>
+>> > [!primary]
+>> >
+>> > Sur les serveurs dédiés, par défaut, vous êtes sur le vLan0. Le fonctionnement de l’infrastructure OpenStack fait que vous devrez spécifier le numéro de votre vLan directement au niveau de l'infrastructure.
+>> >
+>> > Contrairement aux serveurs dédiés, il n'est pas nécessaire de faire du vLan taggé directement sur l'instance.
+>> >
+>> > Pour plus d'informations sur la gestion des vLan du vRack des serveurs dédiés, vous pouvez consulter ce guide : [Créer plusieurs VLAN dans le vRack](/pages/bare_metal_cloud/dedicated_servers/creating-multiple-vlans-in-a-vrack)
+>> >
+>>
+>> > [!warning]
+>> >
+>> > Le vRack étant une infrastructure gérée au niveau d'OVHcloud, vous ne pourrez l'administrer qu'au travers de l'espace client OVHcloud et des APIv6 OVHcloud.
+>> >
+>> > OpenStack n'étant pas située au même niveau de l'infrastructure, vous ne pourrez pas personnaliser les vLan au travers de l'interface Horizon ou des API OpenStack.
+>> >
+>>
+>> Une fois connecté à l'[APIv6 OVHcloud](/links/api), exécutez les commandes suivantes dans l'ordre.
+>>
+>> #### Récupération des informations nécessaires :
+>>
+>> ##### **Projet Public Cloud**
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /cloud GET /cloud/project
+>> >
+>>
+>> > [!primary]
+>> >
+>> > Cet appel permet de récupérer la liste des projets.
+>> >
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /cloud GET /cloud/project/{serviceName}
+>> >
+>>
+>> > [!primary]
+>> >
+>> > Cet appel permet d'identifier le projet grâce au champ « description ».
+>> >
+>>
+>> ##### **vRack concerné**
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /cloud GET /cloud/project/{serviceName}/vrack
+>> >
+>>
+>> > [!primary]
+>> >
+>> > Dans le champ serviceName, indiquez l'identifiant de votre projet. Conservez l'information relative à l'identifiant du vRack sous la forme « pn-xxxxx ».
+>> >
+>>
+>> #### Création du réseau privé :
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /cloud POST /cloud/project/{serviceName}/network/private
+>> >
+>>
+>> > [!primary]
+>> >
+>> > renseignez les champs avec les informations précédemment obtenues :
+>> >
+>> > **serviceName** : ID du projet
+>> >
+>> > **name** : le nom que vous voulez donner au vLan.
+>> >
+>> > Vous pouvez laisser le champ « Region » vide pour que celui ci soit activé pour toutes les régions.
+>> >
+>> > L’identifiant du vLan (vlanId) est nécessaire si vous souhaitez créer un vLan spécifique.
+>> >
+>>
+>> La création prends quelques instants.
+>>
+>> Pour vérifier les informations de vos vLan, vous pouvez utiliser l'appel suivant :
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /cloud GET /cloud/project/{serviceName}/network/private
+>> >
+>>
+>> > [!primary]
+>> >
+>> > Cet appel permet de récupérer le networkId. Celui ci se présentera sous la forme suivante : nom-vrack_vlanId.
+>> >
+>> > Par exemple, pour le vLan 42 : pn-xxxxxx_42
+>> >
+>>
+>> #### Création du sous-réseau :
+>>
+>> Par défaut, si vous ne n'ajoutez pas de sous réseau, la plage IP utilisée est la suivante :
+>>
+>> ```
+>> 10.0.0.0/16
+>> ```
+>>
+>> Si vous souhaitez gérer vous même les affectations IP, vous devrez créer un sous-réseau.
+>>
+>> Pour cela, une fois le vLan créé, vous devrez créer le sous-réseau pour chaque zone concernée via l'appel suivant :
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /cloud POST /cloud/project/{serviceName}/network/private/{networkId}/subnet
+>> >
+>>
+>> Vous pouvez remplir les champs comme cela :
+>>
+>> |Champ|Description|
+>> |---|---|
+>> |serviceName|L’identifiant de votre projet|
+>> |networkId|L’identifiant de votre réseau récupéré lors des commandes précédentes. Ex : pn-xxxxxx_42 pour le vLan 42|
+>> |dhcp|Case cochée pour activation / décochée pour désactivation du DHCP dans le vLan|
+>> |end|Dernière adresse du sous réseau de la région Ex : 192.168.1.50|
+>> |network|Bloc IP du sous réseau. Ex : 192.168.1.0/24|
+>> |region|Exemple : SBG3|
+>> |start|Première adresse du sous réseau pour cette région Ex : 192.168.1.15|
+>>
+>> > [!primary]
+>> >
+>> > C’est l’étape de création du sous-réseau par région. Vous pouvez activer ou non l’attribution d’adresses IP privées de manière dynamique via DHCP.
+>> >
+>> > Vous devrez faire la même opération pour chaque zone où vos instances sont présentes.
+>> >
+>>
+>> > [!warning]
+>> >
+>> > Faites attention à bien séparer vos pools d’adresses IP pour les différentes régions. Par exemple :
+>> >
+>> > De 192.168.0.2 à 192.168.0.254 pour SBG1
+>> >
+>> > De 192.168.1.2 à 192.168.1.254 pour GRA1
+>> >
+>>
+> Depuis Terraform
+>>
+>> Dans Terraform, il faut utiliser le provider openstack. Vous pouvez télécharger un exemple de script terraform complet dans [ce dépôt](https://github.com/yomovh/tf-at-ovhcloud/tree/main/private_network).
+>>
+>> La partie spécifique à OVHcloud pour l'intégration vRack est le paramètre `value_specs`.
+>>
+>> ```python
+>> resource "openstack_networking_network_v2" "tf_network" {
+>> name = "tf_network"
+>> admin_state_up = "true"
+>> value_specs = {
+>> "provider:network_type" = "vrack"
+>> "provider:segmentation_id" = var.vlan_id
+>> }
+>> }
+>> resource "openstack_networking_subnet_v2" "tf_subnet"{
+>> name = "tf_subnet"
+>> network_id = openstack_networking_network_v2.tf_network.id
+>> cidr = "10.0.0.0/16"
+>> enable_dhcp = true
+>> }
+>> ```
+>>
+> Depuis la CLI Openstack
+>> Dans l'exemple suivant, nous spécifions le `VLAN_ID` auquel nous voulons que le réseau fasse partie via `--provider-network-type` et `--provider-segment`.
+>>
+>> Vous pouvez supprimer ces paramètres. Dans ce cas, un `VLAN_ID` disponible sera utilisé.
+>>
+>> ```bash
+>> openstack network create --provider-network-type vrack --provider-segment 42 OS_CLI_private_network
+>> openstack subnet create --dhcp --network OS_CLI_private_network OS_CLI_subnet --subnet-range 10.0.0.0/16
+>> ```
+>>
### Étape 3 : Intégrer une instance dans le vRack
@@ -232,24 +595,290 @@ Deux situations peuvent se présenter à vous :
- L'instance n'existe pas encore.
- L'instance existe déjà et vous devez l'ajouter au vRack.
-**Cas d'une nouvelle instance**
-
-#### Depuis l'espace client OVHcloud
-
-Consultez le guide [Créer une instance depuis l’espace client](/pages/public_cloud/compute/public-cloud-first-steps). Lors de la création d'une instance, vous pouvez choisir, à l'étape 5, un mode réseau, puis un réseau privé dans lequel intégrer votre instance.
-
-{.thumbnail}
-
-> [!warning]
-> Lors de la création d'une nouvelle instance, vous ne pourrez raccorder votre instance qu'à un seul vRack depuis l'espace client OVHcloud.
-> Pour ajouter plusieurs interfaces différentes, vous devrez passer par les API OpenStack ou Horizon.
->
-
-#### Depuis les APIv6 OVHcloud
-
-Cliquez [ici](/pages/public_cloud/public_cloud_network_services/getting-started-08-creating-vrack-with-api#etape-4-integrer-une-instance-dans-le-vrack) pour consulter le guide spécifique à cette méthode.
-
-**Cas d'une instance déjà existante**
+/// details | **Cas d'une nouvelle instance**
+
+> [!tabs]
+> Depuis l'espace client OVHcloud
+>> Consultez le guide [Créer une instance depuis l’espace client](/pages/public_cloud/compute/public-cloud-first-steps). Lors de la création d'une instance, vous pouvez choisir, à l'étape 5, un mode réseau, puis un réseau privé dans lequel intégrer votre instance.
+>>
+>> {.thumbnail}
+>>
+>> > [!warning]
+>> >
+>> > Lors de la création d'une nouvelle instance, vous ne pourrez raccorder votre instance qu'à un seul vRack depuis l'espace client OVHcloud.
+>> >
+>> > Pour ajouter plusieurs interfaces différentes, vous devrez passer par les API OpenStack ou Horizon.
+>> >
+>>
+> Depuis les APIv6 OVHcloud
+>> Une fois connecté à l'[APIv6 OVHcloud](/links/api), exécutez les commandes suivantes dans l'ordre.
+>>
+>> ##### **Récupération des informations nécessaires**
+>>
+>> ###### Récupération de l'identifiant du projet :
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /cloud GET /cloud/project
+>> >
+>>
+>> ###### Récupération du networkID du réseau public (EXT-NET)
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /cloud GET /cloud/project/{serviceName}/network/public
+>> >
+>>
+>> ###### Récupération du networkID du réseau privé (interface vRack créée précédemment)
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /cloud GET /cloud/project/{serviceName}/network/private
+>> >
+>>
+>> > [!primary]
+>> >
+>> > L'identifiant alors obtenu a la forme : « pn-xxxxx_yy » où yy est le numéro du vLan.
+>> >
+>>
+>> ###### Récupération de l'identifiant du type d'instance choisi (flavorId)
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /cloud GET /cloud/project/{serviceName}/flavor
+>> >
+>>
+>> > [!primary]
+>> >
+>> > Vous pouvez limiter la liste en indiquant la zone de création de votre instance
+>> >
+>>
+>> ###### Récupération de l'identifiant de l'image choisie (imageId)
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /cloud GET /cloud/project/{serviceName}/image
+>> >
+>>
+>> > [!primary]
+>> >
+>> > Vous pouvez limiter la liste en indiquant la zone de création de votre instance
+>> >
+>>
+>> ###### Récupération de l'identifiant de votre clé SSH OpenStack (sshKeyId)
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /cloud GET /cloud/project/{serviceName}/sshkey
+>> >
+>>
+>> Si vous n'avez pas encore ajouté de clé SSH à votre espace client, vous pourrez le faire au travers de l'API suivante :
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /cloud POST /cloud/project/{serviceName}/sshkey
+>> >
+>>
+>> ##### **Déploiement de l'instance**
+>>
+>> Une fois l'ensemble des éléments nécessaires au déploiement rassemblé, vous pouvez utiliser l'appel suivant
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /cloud POST /cloud/project/{serviceName}/instance
+>> >
+>>
+>> Vous devrez renseigner a minima les champs suivants :
+>>
+>> |Champ|Description|
+>> |---|---|
+>> |serviceName|Identifiant du projet Public Cloud concerné|
+>> |flavorId|Identifiant du type d'instance (ex : D2-2, B2-7, WIN-R2-15...)|
+>> |imageId|Identifiant du l'image de déploiement (ex : Debian 9, Centos 7...)|
+>> |name|Nom que vous donnez à votre instance.|
+>> |networks|Dans la partie « networkId » indiquez l'identifiant du réseau public (ext-net) ou celui de votre vLan (pn-xxxxxx_yy). Vous pouvez cliquer sur le bouton « + » pour ajouter d'autres réseaux.|
+>> |region|Régions de déploiement de l'instance (GRA5 par exemple)|
+>> |sshKeyId|Identifiant de votre clé SSH OpenStack|
+>>
+>> Une fois l'appel effectué, si toutes les informations sont correctement renseignées, l'instance va se créer avec une ou plusieurs interfaces réseau.
+>>
+>> > [!warning]
+>> >
+>> > Selon les systèmes d'exploitation, vous devrez configurer manuellement vos interfaces réseau privées pour que la prise en compte se fasse.
+>> >
OpenStack n'étant pas en mesure de prioriser l'interface publique de l'interface vRack, il peut arriver que cette dernière passe en tant que route par défaut.
+>> >
La conséquence directe est que l'instance est injoignable depuis une IP publique.
+>> >
Un ou plusieurs redémarrages de l'instance depuis l'espace client peut permettre de rétablir la situation.
+>> >
L'autre solution consite à vous connecter à l'instance en SSH au travers d'un autre de vos serveurs présents dans le même réseau privé. Vous pouvez aussi corriger la configuration réseau de l'instance au travers du mode Rescue.
+>> >
+>>
+> Depuis la CLI Openstack
+>> **Récupération des informations nécessaires**
+>>
+>> Identification des réseaux publics et privés :
+>>
+>> ```bash
+>> openstack network list
+>>
+>> +--------------------------------------+------------+-------------------------------------+
+>> | ID | Name | Subnets |
+>> +--------------------------------------+------------+-------------------------------------+
+>> | 12345678-90ab-cdef-xxxx-xxxxxxxxxxxx | MonVLAN-42 | xxxxxxxx-yyyy-xxxx-yyyy-xxxxxxxxxxxx|
+>> | 34567890-12ab-cdef-xxxx-xxxxxxxxxxxx | Ext-Net | zzzzzzzz-yyyy-xxxx-yyyy-xxxxxxxxxxxx|
+>> | 67890123-4abc-ef12-xxxx-xxxxxxxxxxxx | MonVLAN_0 | yyyyyyyy-xxxx-xxxx-yyyy-xxxxxxxxxxxx|
+>> +--------------------------------------+------------+-------------------------------------+
+>> ```
+>>
+>> ou
+>>
+>> ```bash
+>> nova net-list
+>>
+>> +--------------------------------------+------------+------+
+>> | ID | Label | CIDR |
+>> +--------------------------------------+------------+------+
+>> | 12345678-90ab-cdef-xxxx-xxxxxxxxxxxx | MonVLAN-42 | None |
+>> | 34567890-12ab-cdef-xxxx-xxxxxxxxxxxx | Ext-Net | None |
+>> | 67890123-4abc-ef12-xxxx-xxxxxxxxxxxx | MonVLAN_0 | None |
+>> +--------------------------------------+------------+------+
+>> ```
+>>
+>> > [!primary]
+>> >
+>> > Vous devrez noter les ID des réseaux vous intéressant :
+>> >
- Ext-Net pour avoir une IP publique
+>> >
- Celui du ou des VLAN nécessaires à votre configuration
+>> >
+>>
+>> Pensez également à noter les informations suivantes, comme indiqueé dans le [guide d'utilisation de l'API Nova](/pages/public_cloud/compute/starting_with_nova) :
+>>
+>> - ID ou nom de la clé SSH OpenStack
+>> - ID du type d'instance (flavor)
+>> - ID de l'image souhaitée (Système d'exploitation, snapshot, etc.)
+>>
+>> **Déploiement de l'instance**
+>>
+>> Avec les éléments récupérés précédemment, il est possible de créer une instance en l'incluant directement dans le vRack :
+>>
+>> ```bash
+>> nova boot --key-name SSHKEY --flavor [ID-flavor] --image [ID-Image] --nic net-id=[ID-Network 1] --nic net-id=[ID-Network 2] [nom de votre instance]
+>> ```
+>>
+>> Ex :
+>>
+>> ```bash
+>> nova boot --key-name ma-cle-ssh --flavor xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx --image yyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy --nic net-id=[id_Ext-Net] --nic net-id=[id_VLAN] NomDeMonInstance
+>>
+>> +--------------------------------------+------------------------------------------------------+
+>> | Property | Value |
+>> +--------------------------------------+------------------------------------------------------+
+>> | OS-DCF:diskConfig | MANUAL |
+>> | OS-EXT-AZ:availability_zone | |
+>> | OS-EXT-STS:power_state | 0 |
+>> | OS-EXT-STS:task_state | scheduling |
+>> | OS-EXT-STS:vm_state | building |
+>> | OS-SRV-USG:launched_at | - |
+>> | OS-SRV-USG:terminated_at | - |
+>> | accessIPv4 | |
+>> | accessIPv6 | |
+>> | adminPass | xxxxxxxxxxxx |
+>> | config_drive | |
+>> | created | YYYY-MM-DDTHH:MM:SSZ |
+>> | flavor | [Flavor Type] (xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) |
+>> | hostId | |
+>> | id | xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
+>> | image | [Image Type] (xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) |
+>> | key_name | [Nom de la clé] |
+>> | metadata | {} |
+>> | name | [nom de votre instance] |
+>> | os-extended-volumes:volumes_attached | [] |
+>> | progress | 0 |
+>> | security_groups | default |
+>> | status | BUILD |
+>> | tenant_id | zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz |
+>> | updated | YYYY-MM-DDTHH:MM:SSZ |
+>> | user_id | zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz |
+>> +--------------------------------------+------------------------------------------------------+
+>> ```
+>>
+>> ou
+>>
+>> ```bash
+>> openstack server create --key-name SSHKEY --flavor [ID-flavor] --image [ID-Image] --nic net-id=[ID-Network 1] --nic net-id=[ID-Network 2] [nom de votre instance]
+>> ```
+>>
+>> Ex :
+>>
+>> ```bash
+>> openstack server create --key-name ma-cle-ssh --flavor xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx --image yyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy --nic net-id=[id_Ext-Net] --nic net-id=[id_VLAN] NomDeMonInstance
+>>
+>> +--------------------------------------+------------------------------------------------------+
+>> | Property | Value |
+>> +--------------------------------------+------------------------------------------------------+
+>> | OS-DCF:diskConfig | MANUAL |
+>> | OS-EXT-AZ:availability_zone | |
+>> | OS-EXT-STS:power_state | 0 |
+>> | OS-EXT-STS:task_state | scheduling |
+>> | OS-EXT-STS:vm_state | building |
+>> | OS-SRV-USG:launched_at | - |
+>> | OS-SRV-USG:terminated_at | - |
+>> | accessIPv4 | |
+>> | accessIPv6 | |
+>> | adminPass | xxxxxxxxxxxx |
+>> | config_drive | |
+>> | created | YYYY-MM-DDTHH:MM:SSZ |
+>> | flavor | [Flavor Type] (xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) |
+>> | hostId | |
+>> | id | xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
+>> | image | [Image Type] (xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) |
+>> | key_name | [Nom de la clé] |
+>> | metadata | {} |
+>> | name | [nom de votre instance] |
+>> | os-extended-volumes:volumes_attached | [] |
+>> | progress | 0 |
+>> | security_groups | default |
+>> | status | BUILD |
+>> | tenant_id | zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz |
+>> | updated | YYYY-MM-DDTHH:MM:SSZ |
+>> | user_id | zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz |
+>> +--------------------------------------+------------------------------------------------------+
+>> ```
+>>
+>> Vous avez la possibilité de définir l'adresse IP de l'instance de votre interface vRack au niveau d'OpenStack.
+>>
+>> Pour cela, vous pouvez ajouter un simple argument dans la fonction « --nic » :
+>>
+>> `--nic net-id=[ID-Network],v4-fixed-ip=[IP_static_vRack]`
+>>
+>> Exemple :
+>>
+>> `--nic net-id=[ID-vRack],v4-fixed-ip=192.168.0.42`
+>>
+>> **Vérification de l'instance**
+>>
+>> Après quelques instants on peut vérifier la liste des instances existantes afin de retrouver le serveur créé :
+>>
+>> ```bash
+>> openstack server list
+>> +--------------------------------------+---------------------+--------+--------------------------------------------------+--------------------+
+>> | ID | Name | Status | Networks | Image Name |
+>> +--------------------------------------+---------------------+--------+--------------------------------------------------+--------------------+
+>> | xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx | [Nom de l'instance] | ACTIVE | Ext-Net=[IP_V4], [IP_V6]; MonVrack=[IP_V4_vRack] | [Nom-de-l'instance]|
+>> +--------------------------------------+---------------------+--------+--------------------------------------------------+--------------------+
+>> ```
+>>
+>> ```bash
+>> nova list
+>> +--------------------------------------+--------------------+--------+------------+-------------+--------------------------------------------------+
+>> | ID | Name | Status | Task State | Power State | Networks |
+>> +--------------------------------------+--------------------+--------+------------+-------------+--------------------------------------------------+
+>> | xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx | [Nom-de-l'instance]| ACTIVE | - | Running | Ext-Net=[IP_V4], [IP_V6]; MonVrack=[IP_V4_vRack] |
+>> +--------------------------------------+--------------------+--------+------------+-------------+--------------------------------------------------+
+>> ```
+>>
+
+///
+
+/// details | **Cas d'une instance déjà existante**
L'espace client OVHcloud permet d'attacher une instance à un ou plusieurs réseaux privés mais n'offre pas de configuration avancée des interfaces réseaux. Si vous souhaitez personnaliser davantage celles-ci, il vous faudra les gérer soit depuis les APIv6 OVHcloud, soit via les API OpenStack ou via Horizon.
@@ -258,59 +887,274 @@ L'action consistera alors à simplement ajouter une nouvelle interface réseau
Ainsi, par exemple, si vous avez une interface publique *eth0*, vous aurez en plus une interface *eth1*.
> [!warning]
-> La configuration de cette nouvelle interface est rarement automatique.
-> Il vous faudra donc la configurer en DHCP ou IP Fixe selon votre infrastructure.
->
-
-#### Depuis l'espace client OVHcloud
-
-Connectez-vous à votre [espace client OVHcloud](/links/manager), accédez à la section `Public Cloud`{.action} et sélectionnez ensuite le projet Public Cloud concerné en haut à gauche.
-
-Cliquez alors sur `Instances`{.action} dans le menu latéral de gauche. Cliquez ensuite sur le bouton `...`{.action} à droite de l'instance concernée puis sur `Détail de l'instance`{.action}.
-
-{.thumbnail}
-
-Le tableau de bord de votre instance vous est alors présenté. Cliquez sur le bouton `...`{.action} à droite de « Réseau(x) privé(s) » puis sur `Attacher un réseau`{.action}.
-
-{.thumbnail}
-
-Dans la pop-up qui apparaît, sélectionnez le ou les réseaux privés à attacher à votre instance puis cliquez sur `Attacher`{.action}.
-
-{.thumbnail}
-
-#### Gestion des interfaces réseaux depuis les APIv6 OVHcloud
-
-Cliquez [ici](/pages/public_cloud/public_cloud_network_services/getting-started-08-creating-vrack-with-api#cas-dune-instance-deja-existante) pour consulter le guide spécifique à cette méthode.
-
-#### Gestion des interfaces réseaux depuis OpenStack Horizon
-
-Connectez-vous à l'interface [Horizon](https://horizon.cloud.ovh.net/auth/login/) en suivant la méthode indiquée dans la [première partie de ce guide](./#interface-horizon).
-
-Connectez-vous bien sur votre zone de travail :
-
-{.thumbnail}
-
-Dirigez-vous ensuite dans `Compute`, puis `Instances` :
-
-{.thumbnail}
-
-**Ajout d'une interface réseau privée**
-
-Pour ajouter une interface, dans la colonne « Actions », cliquez sur la flèche permettant d'accéder aux actions possible sur l'instance. Cliquez alors sur `Attach Interface`{.action} :
-
-{.thumbnail}
-
-Sélectionnez votre interface et validez :
-
-{.thumbnail}
-
-> [!primary]
-> Votre instance OVHcloud disposera donc d'une nouvelle interface réseau en plus de l'interface publique (Ext-net).
->
Vous pourrez voir, dans le résumé de l'instance, l'adresse IP privée attribuée automatiquement à votre interface.
->
À votre charge de l'utiliser en configurant votre interface via le DHCP ou en utilisant vos propres IP au travers d'une configuration en IP statique.
+> La configuration de cette nouvelle interface est rarement automatique. Il vous faudra donc la configurer en DHCP ou IP Fixe selon votre infrastructure.
>
-**Détacher une interface réseau**
+> [!tabs]
+> Depuis l'espace client OVHcloud
+>> Connectez-vous à votre [espace client OVHcloud](/links/manager), accédez à la section `Public Cloud`{.action} et sélectionnez ensuite le projet Public Cloud concerné en haut à gauche.
+>>
+>> Cliquez alors sur `Instances`{.action} dans le menu latéral de gauche. Cliquez ensuite sur le bouton `...`{.action} à droite de l'instance concernée puis sur `Détail de l'instance`{.action}.
+>>
+>> {.thumbnail}
+>>
+>> Le tableau de bord de votre instance vous est alors présenté. Cliquez sur le bouton `...`{.action} à droite de « Réseau(x) privé(s) » puis sur `Attacher un réseau`{.action}.
+>>
+>> {.thumbnail}
+>>
+>> Dans la pop-up qui apparaît, sélectionnez le ou les réseaux privés à attacher à votre instance puis cliquez sur `Attacher`{.action}.
+>>
+>> {.thumbnail}
+>>
+> Depuis les APIv6 OVHcloud
+>> L'action consistera simplement à ajouter une nouvelle interface réseau à votre serveur, en plus de celle existante.
+>>
+>> Ainsi, par exemple, si vous avez une interface publique eth0, vous aurez en plus une interface eth1.
+>>
+>> > [!primary]
+>> >
+>> > La configuration de cette nouvelle interface est rarement automatique.
+>> >
Il vous faudra donc la configurer en DHCP ou en IP Fixe selon votre infrastructure.
+>> >
+>>
+>> **Les étapes ci-dessous décrivent comment effectuer la gestion des interfaces réseaux de vos instances.**
+>>
+>> ##### **Récupération des informations nécessaires**
+>>
+>> ###### Récupération de l'identifiant du projet :
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /cloud GET /cloud/project
+>> >
+>>
+>> ###### Récupération de l'identifiant de l'instance :
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /cloud GET /cloud/project/{serviceName}/instance
+>> >
+>>
+>> ###### Récupération du networkID du réseau public (EXT-NET) :
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /cloud GET /cloud/project/{serviceName}/network/public
+>> >
+>>
+>> ###### Récupération du networkID du réseau privé (interface vRack créée précédemment) :
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /cloud GET /cloud/project/{serviceName}/network/private
+>> >
+>>
+>> > [!primary]
+>> >
+>> > L'identifiant alors obtenu a la forme : « pn-xxxxx_yy » où yy est le numéro du vLan.
+>> >
+>>
+>> ##### **Ajout d'une interface à votre instance**
+>>
+>> Une fois l'ensemble des informations nécessaires récupéré, vous pouvez utiliser l'appel suivant :
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /cloud POST /cloud/project/{serviceName}/instance/{instanceId}/interface
+>> >
+>>
+>> Vous devrez renseigner a minima les champs suivants :
+>>
+>> |Champ|Description|
+>> |---|---|
+>> |serviceName|Identifiant du projet Public Cloud concerné|
+>> |instanceId|Identifiant de l'instance concernée|
+>> |networkId|Indiquez l'identifiant du réseau publique (ext-net) ou celui de votre vLan (pn-xxxxxx_yy)|
+>> |ip|Définir une IP spécifique (ne fonctionne que pour les interfaces privées)|
+>>
+>> Une fois l'appel effectué, si toutes les informations sont correctement renseignées, une nouvelle interface va s'ajouter sur votre instance.
+>>
+>> > [!primary]
+>> >
+>> > Votre instance OVHcloud disposera donc d'une nouvelle interface réseau en plus de l'interface publique (Ext-net).
+>> >
Vous pourrez voir, dans le résumé de l'instance, l'adresse IP privée attribuée automatiquement à votre interface.
+>> >
À votre charge de l'utiliser en configurant votre interface via le DHCP ou en utilisant vos propres IP au travers d'une configuration en IP statique.
+>> >
+>>
+>> ##### **Détacher une interface de votre instance**
+>>
+>> > [!warning]
+>> >
+>> > Détacher une interface réseau entraîne sa suppression immédiate.
+>> >
+>> > Cependant, il est important de noter que si vous detacher l'interface « Ext-Net » (IP publique), cette adresse serait relâchée et remise en circulation. Vous ne pourriez donc pas vous la réattribuer.
+>> >
Cette action n'est à effectuer que si vous souhaitez isoler votre serveur dans le vRack (réseau privée) ou dans le cas contraire la sortir d'un ou plusieurs VLAN.
+>> >
+>>
+>> Une fois l'ensemble des informations nécessaires récupéré, vous pouvez utiliser l'appel suivant pour supprimer une interface :
+>>
+>> > [!api]
+>> >
+>> > @api {v1} /cloud DELETE /cloud/project/{serviceName}/instance/{instanceId}/interface/{interfaceId}
+>> >
+>>
+>> Vous devrez renseigner a minima les champs suivants :
+>>
+>> |Champ|Description|
+>> |---|---|
+>> |serviceName|Identifiant du projet Public Cloud concerné|
+>> |instanceId|Identifiant de l'instance concernée|
+>> |networkId|Indiquez l'identifiant du réseau publique (ext-net) ou celui de votre vLan (pn-xxxxxx_yy)|
+>>
+> Depuis OpenStack Horizon
+>> Connectez-vous à l'interface [Horizon](https://horizon.cloud.ovh.net/auth/login/) en suivant la méthode indiquée dans la [première partie de ce guide](./#interface-horizon).
+>>
+>> Connectez-vous bien sur votre zone de travail :
+>>
+>> {.thumbnail}
+>>
+>> Dirigez-vous ensuite dans `Compute`, puis `Instances` :
+>>
+>> {.thumbnail}
+>>
+>> **Ajout d'une interface réseau privée**
+>>
+>> Pour ajouter une interface, dans la colonne « Actions », cliquez sur la flèche permettant d'accéder aux actions possible sur l'instance. Cliquez alors sur `Attach Interface`{.action} :
+>>
+>> {.thumbnail}
+>>
+>> Sélectionnez votre interface et validez :
+>>
+>> {.thumbnail}
+>>
+>> > [!primary]
+>> >
+>> > Votre instance OVHcloud disposera donc d'une nouvelle interface réseau en plus de l'interface publique (Ext-net).
+>> >
Vous pourrez voir, dans le résumé de l'instance, l'adresse IP privée attribuée automatiquement à votre interface.
+>> >
À votre charge de l'utiliser en configurant votre interface via le DHCP ou en utilisant vos propres IP au travers d'une configuration en IP statique.
+>> >
+>>
+>> **Détacher une interface réseau**
+>>
+>> > [!warning]
+>> >
+>> > Détacher une interface réseau entraîne sa suppression immédiate.
+>> >
+>> > Cependant, il est important de noter que si vous detacher l'interface « Ext-Net » (IP publique), cette adresse serait relâchée et remise en circulation. Vous ne pourriez donc pas vous la réattribuer.
+>> >
Cette action n'est à effectuer que si vous souhaitez isoler votre serveur dans le vRack (réseau privée) ou dans le cas contraire la sortir d'un ou plusieurs VLAN.
+>> >
+>>
+>> Pour détacher une interface réseau privée, dans la colonne « Actions », cliquez sur la flèche permettant d'accéder aux actions possible sur l'instance. Cliquez alors sur `Detach Interface`{.action} :
+>>
+>> {.thumbnail}
+>>
+>> Sélectionnez l'interface à supprimer et validez :
+>>
+>> {.thumbnail}
+>>
+> Depuis la CLI Openstack
+>> **Récupération des informations nécessaires**
+>>
+>> Identification de vos instances :
+>>
+>> ```bash
+>> openstack server list
+>>
+>> +--------------------------------------+--------------+--------+------------------------------------------------------------------------+------------+
+>> | ID | Name | Status | Networks | Image Name |
+>> +--------------------------------------+--------------+--------+------------------------------------------------------------------------+------------+
+>> | 12345678-90ab-cdef-xxxx-xxxxxxxxxxxx | Mon-Instance | ACTIVE | Ext-Net=xx.xx.xx.xx, 2001:41d0:yyyy:yyyy::yyyy; MonVrack=192.168.0.124 | Debian 9 |
+>> +--------------------------------------+--------------+--------+------------------------------------------------------------------------+------------+
+>> ```
+>>
+>> ou
+>>
+>> ```bash
+>> nova list
+>>
+>> +--------------------------------------+--------------+--------+------------+-------------+----------------------------------------------------------------------+
+>> | ID | Name | Status | Task State | Power State | Networks |
+>> +--------------------------------------+--------------+--------+------------+-------------+----------------------------------------------------------------------+
+>> | 12345678-90ab-cdef-xxxx-xxxxxxxxxxxx | Mon-Instance | ACTIVE | - | Running | Ext-Net=xx.xx.xx.xx,2001:41d0:yyyy:yyyy::yyyy;MonVrack=192.168.0.124 |
+>> +--------------------------------------+--------------+--------+------------+-------------+----------------------------------------------------------------------+
+>> ```
+>>
+>> Identification des réseaux publics et privés :
+>>
+>> ```bash
+>> openstack network list
+>>
+>> +--------------------------------------+------------+-------------------------------------+
+>> | ID | Name | Subnets |
+>> +--------------------------------------+------------+-------------------------------------+
+>> | 12345678-90ab-cdef-xxxx-xxxxxxxxxxxx | MonVLAN-42 | xxxxxxxx-yyyy-xxxx-yyyy-xxxxxxxxxxxx|
+>> | 34567890-12ab-cdef-xxxx-xxxxxxxxxxxx | Ext-Net | zzzzzzzz-yyyy-xxxx-yyyy-xxxxxxxxxxxx|
+>> | 67890123-4abc-ef12-xxxx-xxxxxxxxxxxx | MonVLAN-0 | yyyyyyyy-xxxx-xxxx-yyyy-xxxxxxxxxxxx|
+>> +--------------------------------------+------------+-------------------------------------+
+>> ```
+>>
+>> ou
+>>
+>> ```bash
+>> nova net-list
+>>
+>> +--------------------------------------+------------+------+
+>> | ID | Label | CIDR |
+>> +--------------------------------------+------------+------+
+>> | 12345678-90ab-cdef-xxxx-xxxxxxxxxxxx | MonVLAN-42 | None |
+>> | 34567890-12ab-cdef-xxxx-xxxxxxxxxxxx | Ext-Net | None |
+>> | 67890123-4abc-ef12-xxxx-xxxxxxxxxxxx | MonVLAN-0 | None |
+>> +--------------------------------------+------------+------+
+>> ```
+>>
+>> > [!primary]
+>> >
+>> > Vous devrez noter les ID des réseaux vous intéressant :
+>> >
- Ext-Net pour avoir une IP publique
+>> >
- Celui du ou des VLAN nécessaires à votre configuration
+>> >
+>>
+>> **Ajout d'une interface réseau privée**
+>>
+>> Afin d'attacher une nouvelle interface, vous pouvez effectuer la commande suivante :
+>>
+>> ```bash
+>> nova interface-attach --net-id
+>> ```
+>>
+>> Par exemple :
+>>
+>> ```bash
+>> nova interface-attach --net-id 12345678-90ab-cdef-xxxx-xxxxxxxxxxxx 12345678-90ab-cdef-xxxx-xxxxxxxxxxxx
+>> ```
+>>
+>> Vous pouvez vérifier que l'action à bien été prise en compte :
+>>
+>> ```bash
+>> nova show
+>>
+>> +--------------------------------------+----------------------------------------------------------+
+>> | Property | Value |
+>> +--------------------------------------+----------------------------------------------------------+
+>> | Ext-Net network | xx.xx.xx.xx, 2001:41d0:xxx:xxxx::xxxx | => votre IP Publique
+>> | MonVLAN-42 network | 192.168.0.x | => votre IP Privée
+>> [...]
+>> ```
+>>
+>> ou
+>>
+>> ```bash
+>> openstack server show
+>> +--------------------------------------+-------------------------------------------------------------------------+
+>> | Field | Value |
+>> +--------------------------------------+-------------------------------------------------------------------------+
+>> [...]
+>> | addresses | Ext-Net=xx.xx.xx.xx, 2001:41d0:xxx:xxxx::xxxx ; MonVLAN-42=192.168.0.x | => votre IP Publique ; votre IP Privée
+>> [...]
+>> ```
+>>
+
+### Détacher une interface réseau
> [!warning]
> Détacher une interface réseau entraîne sa suppression immédiate.
@@ -319,17 +1163,49 @@ Sélectionnez votre interface et validez :
>
Cette action n'est à effectuer que si vous souhaitez isoler votre serveur dans le vRack (réseau privée) ou dans le cas contraire la sortir d'un ou plusieurs VLAN.
>
-Pour détacher une interface réseau privée, dans la colonne « Actions », cliquez sur la flèche permettant d'accéder aux actions possible sur l'instance. Cliquez alors sur `Detach Interface`{.action} :
+Pour détacher une interface réseau, vous aurez besoin, dans un premier temps, d'identifier le port Neutron qui aura été créé.
+
+Pour cela, vous pourrez utiliser les commandes suivantes :
-{.thumbnail}
+```bash
+neutron port-list
++--------------------------------------+------+-------------------+---------------------------------------------------------------------------------------------------+
+| id | name | mac_address | fixed_ips |
++--------------------------------------+------+-------------------+---------------------------------------------------------------------------------------------------+
+| 12345678-abcd-ef01-2345-678910abcdef | | fa:xx:xx:xx:xx:xx | {"subnet_id": "01234567-8901-abscdef12345678910abcd", "ip_address": "192.168.0.x"} |
+| 09876543-210a-bcde-f098-76543210abcd | | fa:yy:yy:yy:yy:yy | {"subnet_id": "65432109-abcd-ef09-8765-43210abcdef1", "ip_address": "2001:41d0:xxx:xxxx::xxxx"} |
+| | | | {"subnet_id": "abcdef12-3456-7890-abcd-ef1234567890", "ip_address": "YY.YY.YY.YY"} |
++--------------------------------------+------+-------------------+---------------------------------------------------------------------------------------------------+
+```
-Sélectionnez l'interface à supprimer et validez :
+ou
+
+```bash
+openstack port list
++--------------------------------------+------+-------------------+-------------------------------------------------------------------------------------------+
+| ID | Name | MAC Address | Fixed IP Addresses |
++--------------------------------------+------+-------------------+-------------------------------------------------------------------------------------------+
+| 12345678-abcd-ef01-2345-678910abcdef | | fa:xx:xx:xx:xx:xx | ip_address='192.168.0.xx', subnet_id='301234567-8901-abscdef12345678910abcd' |
+| 09876543-210a-bcde-f098-76543210abcd | | fa:yy:yy:yy:yy:yy | ip_address='2001:41d0:xxx:xxxx::xxxx', subnet_id='65432109-abcd-ef09-8765-43210abcdef1' |
+| | | | ip_address='YY.YY.YY.YY', subnet_id='abcdef12-3456-7890-abcd-ef1234567890' |
++--------------------------------------+------+-------------------+-------------------------------------------------------------------------------------------+
+```
-{.thumbnail}
+Une fois le port à supprimer identifié, vous pouvez effectuer la commande suivante :
-## Aller plus loin
+```bash
+nova interface-detach
+```
+
+Par exemple :
+
+```bash
+nova interface-detach 12345678-90ab-cdef-xxxx-xxxxxxxxxxxx 12345678-abcd-ef01-2345-678910abcdef
+```
+
+///
-[Configuration du vRack Public Cloud depuis les APIv6 OVHcloud](/pages/public_cloud/public_cloud_network_services/getting-started-08-creating-vrack-with-api)
+## Aller plus loin
[Serveurs Dédiés - Créer plusieurs VLAN dans le vRack](/pages/bare_metal_cloud/dedicated_servers/creating-multiple-vlans-in-a-vrack)