XenServer

Automatisation de XenServer® avec Terraform

Le fournisseur Terraform pour XenServer permet aux administrateurs informatiques d’automatiser les tâches de configuration et de gestion des environnements XenServer. Ceci est particulièrement utile dans les configurations à grande échelle, où l’automatisation assure la cohérence, réduit les erreurs manuelles et fait gagner du temps. Avec le fournisseur Terraform, vous pouvez :

  • Créer des machines virtuelles (VM)
  • Gérer les instantanés (créer et supprimer)
  • Configurer le stockage (ajouter ou supprimer des types locaux et NFS)
  • Configurer et gérer les réseaux
  • Récupérer des informations sur les hôtes XenServer

Principaux avantages du fournisseur Terraform pour XenServer :

  • Automatisation : Simplifie le déploiement et la gestion des environnements XenServer grâce aux pratiques d’Infrastructure-as-Code (IaC).
  • Efficacité : Automatise des tâches telles que la création de VM, la gestion des instantanés et la configuration du stockage ou du réseau, minimisant ainsi l’intervention manuelle.
  • Cohérence : Assure des configurations uniformes dans les grands environnements, minimisant les erreurs.
  • Évolutivité : Prend en charge la croissance rapide de l’infrastructure en rationalisant la création et la reconstruction d’environnements, tels que les configurations de QA.

Prérequis

Avant d’utiliser le fournisseur Terraform pour XenServer, assurez-vous de disposer des éléments suivants :

  • Terraform version 1.8 ou supérieure

    Téléchargez Terraform à partir du Guide d’installation de Terraform officiel.

    Les utilisateurs de Windows peuvent installer Terraform à l’aide de Chocolatey en exécutant la commande suivante :

     choco install terraform
     <!--NeedCopy-->
    
  • Instance XenServer avec accès administratif

  • Identifiants d’API XenServer

    Ceux-ci incluent le nom d’utilisateur, le mot de passe et l’adresse IP de votre XenServer.

Commencer

  1. Préparez la configuration Terraform.

    Pour commencer, ajoutez le fournisseur Terraform XenServer à votre fichier de configuration Terraform main.tf :

    terraform {
        required_providers {
            xenserver = {
            source = "xenserver/xenserver"
            }
        }
    }
    
        provider "xenserver" {
            host     = "https://<ip address of XenServer>"
            username = "root"
            password = <root password>
        }
    <!--NeedCopy-->
    
  2. Définissez les ressources.

    Par exemple, pour créer une machine virtuelle, définissez la ressource dans votre fichier de configuration :

    data "xenserver_sr" "sr" {
        name_label = "Local storage"
    }
    
    resource "xenserver_vdi" "vdi1" {
        name_label   = "local-storage-vdi-1"
        sr_uuid      = data.xenserver_sr.sr.data_items[0].uuid
        virtual_size = 100 * 1024 * 1024 * 1024
    }
    
    data "xenserver_network" "network" {}
    
    resource "xenserver_vm" "windows_vm" {
        name_label       = "Windows VM"
        template_name    = "Windows 11"
        static_mem_max   = 4 * 1024 * 1024 * 1024
        vcpus            = 4
        cores_per_socket = 2
        cdrom            = "win11-x64_uefi.iso"
        boot_mode        = "uefi_security"
        boot_order       = "cdn"
    
        hard_drive = [
            {
                vdi_uuid = xenserver_vdi.vdi1.uuid,
                bootable = true,
                mode     = "RW"
            }
        ]
    
        network_interface = [
            {
            device       = "0"
            network_uuid = data.xenserver_network.network.data_items[0].uuid,
            }
        ]
    
        other_config = {
            "tf_created" = "true"
        }
    }
    <!--NeedCopy-->
    

    Ou, pour créer un référentiel de stockage NFS (SR) :

    resource "xenserver_sr" "nfs" {
        name_label   = "Test NFS SR"
        type         = "nfs"
        content_type = ""
        shared       = true
        device_config = {
            server     = "192.0.2.1"
            serverpath = "/server/path"
            nfsversion = "3"
        }
        sm_config = {
            shared = "true"
        }
    }
    <!--NeedCopy-->
    
  3. Initialisez et appliquez la configuration.

    Pour installer le fournisseur Terraform XenServer, exécutez :

    terraform init
    <!--NeedCopy-->
    

    Ensuite, pour provisionner les ressources définies, exécutez :

    terraform apply
    <!--NeedCopy-->
    

Pour les configurations avancées et les ressources supplémentaires, consultez la documentation du fournisseur Terraform XenServer. Si vous rencontrez des problèmes, contactez le support ou ouvrez un ticket sur GitHub.

Nouveautés

Le fournisseur Terraform XenServer est mis à jour indépendamment des versions de XenServer afin d’introduire de nouvelles capacités d’automatisation, des correctifs et d’assurer une compatibilité continue.

Fournisseur Terraform XenServer 0.2.2

Publié le 27 mars 2025

Cette version contient les améliorations suivantes :

  • Mise à jour des dépendances du fournisseur Terraform pour corriger un avis de sécurité dans un paquet amont.
  • Publication du fournisseur Terraform avec Go SDK v25.3.0.

Versions antérieures

0.2.1

Publié le 20 janvier 2025

Cette version introduit les nouvelles capacités d’automatisation suivantes :

  • Création d’une VM à partir d’un modèle avec copie complète du disque.

Cette version contient les améliorations suivantes :

  • Retour des UUID au lieu des références internes pour améliorer la convivialité.

Cette version contient des correctifs pour les problèmes suivants :

  • La création, la modification ou la destruction d’un pool peut parfois échouer et quitter la commande SSH avec une erreur.

0.2.0

Publié le 11 novembre 2024

Cette version introduit les nouvelles fonctionnalités d’automatisation suivantes :

  • Ajouter et supprimer des hôtes des pools en toute simplicité, améliorant l’évolutivité et simplifiant la maintenance.
  • Mettre à jour le SR par défaut et le réseau de gestion.
  • Créer et supprimer du stockage SMB/CIFS, offrant une plus grande flexibilité dans les configurations de stockage.

Cette version contient les améliorations suivantes :

  • Supprimer la limite du nombre de disques lors de la création de VM, réduisant la dépendance matérielle et optimisant le stockage.
  • Permettre aux VM d’être restaurées à partir de snapshots, rendant la récupération et le retour en arrière plus simples.
  • Permettre la lecture des informations d’identification à partir des variables d’environnement, simplifiant la gestion de la configuration.

0.1.2

Publié le 31 octobre 2024

Cette version contient des correctifs pour les problèmes suivants :

  • Si vous utilisez la version 0.1.1 du fournisseur XenServer Terraform, vous pourriez rencontrer des problèmes de compatibilité après avoir appliqué les mises à jour de XenServer 8.4 publiées en accès anticipé le 25 septembre 2024 et en version normale le 2 octobre 2024. La version 0.1.2 résout ces problèmes de compatibilité.
Automatisation de XenServer® avec Terraform