Terraform - Echec lors de la création de plusieurs réseaux privés
BMPCreated with Sketch.BMPZIPCreated with Sketch.ZIPXLSCreated with Sketch.XLSTXTCreated with Sketch.TXTPPTCreated with Sketch.PPTPNGCreated with Sketch.PNGPDFCreated with Sketch.PDFJPGCreated with Sketch.JPGGIFCreated with Sketch.GIFDOCCreated with Sketch.DOC Error Created with Sketch.
Question

Terraform - Echec lors de la création de plusieurs réseaux privés

by
Kevin_YannY
Created on 2019-01-29 20:01:35 (edited on 2024-09-04 12:18:03) in Public Cloud OVHcloud

Bonjour,

pour donner le contexte, je suis en train de construire une plateforme sur du Public Cloud via Terraform.

Pour commencer je me crée toute la partie réseau et j'ai eu une erreur. Voilà le code terraform:

resource "openstack_networking_network_v2" "admin" {
name = "Admin"
admin_state_up = "true"
availability_zone_hints = ["nova"]
}
resource "openstack_networking_subnet_v2" "admin_subnet" {
name = "admin_subnet"
enable_dhcp = "true"
ip_version = 4
network_id = "${openstack_networking_network_v2.admin.id}"
cidr = "10.0.0.0/24"
}

resource "openstack_networking_network_v2" "internal" {
name = "Internal"
admin_state_up = "true"
availability_zone_hints = ["nova"]
}
resource "openstack_networking_subnet_v2" "internal_subnet" {
name = "internal_subnet"
enable_dhcp = "true"
ip_version = 4
network_id = "${openstack_networking_network_v2.internal.id}"
cidr = "192.168.10.0/24"
}

resource "openstack_networking_network_v2" "external" {
name = "External"
admin_state_up = "true"
availability_zone_hints = ["nova"]
}
resource "openstack_networking_subnet_v2" "external_subnet" {
name = "external_subnet"
enable_dhcp = "true"
ip_version = 4
network_id = "${openstack_networking_network_v2.external.id}"
cidr = "172.16.0.0/24"
}

lorsque je l'exécute j'ai l'erreur suivante:
`* openstack_networking_network_v2.admin: Error creating openstack_networking_network_v2: Bad request with: [POST https://network.compute.sbg5.cloud.ovh.net/v2.0/networks], error message: {"NeutronError": {"message": "Invalid input for operation: Can not get vracks for tenant xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx from DB!.", "type": "InvalidInput", "detail": ""}}`

(xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx correspondant à mon tenant)

Détail croustillant, il se trouve qu'en fait cette erreur ne se produit que lorsque l'on tente d'ajouter plusieurs réseaux et subnets à la fois. En les faisant un par un ça fonctionne. Voir le résultat en pièce jointe.imageimage

L'assistance n'a pas su m'aider, Terraform semble-t-il n'est pas supporté par OVH. Ce qui est d'ailleurs très étonnant je trouve...

J'ai quand même creusé l'affaire avant de l'aide de la communauté (restons scientifique). Il existe à priori d'autres méthodes :
- https://registry.terraform.io/modules/ovh/publiccloud-network/ovh/0.1.3
- https://www.terraform.io/docs/providers/ovh/r/cloud_network_private.html

mais que je ne trouve pas très sexy si on souhaite une utilisation pure des API openstack. Et surtout je ne les ai pas encore testés.

J'attends donc vos retours, si vous avez déjà eu ce genre de soucis et surtout si vous avez une solution. Est-ce un bug, ou une implémentation non finie voir non voulue ?

Cordialement.

PS: dès que j'ai du temps je teste les autres méthodes.