Vous pouvez importer des machines virtuelles vers un domaine non par défaut à partir de vSphere dans votre déploiement VMware Integrated OpenStack et les gérer comme des instances OpenStack.

Cette procédure s'applique aux déploiements avec un domaine non par défaut. Pour les déploiements NSX-T Data Center, reportez-vous à la section VMware Integrated OpenStack avec NSX-T Data Center.

Les conditions suivantes s'appliquent aux machines virtuelles importées :
  • Si une machine virtuelle dispose de plusieurs disques, les disques sont importés en tant que volumes Cinder.
  • Après avoir importé une machine virtuelle avec un support réseau spécifique, vous ne pouvez pas utiliser le même réseau pour importer un autre projet. Si vous souhaitez utiliser un réseau pour plusieurs projets, configurez le réseau VLAN (Virtual LAN) fournisseur en tant que réseau partagé.

Vous importez des machines virtuelles à l'aide de la DCLI (Data Center Command-Line Interface) dans la boîte à outils d'Integrated OpenStack Manager.

Conditions préalables

Vérifiez que les machines virtuelles que vous souhaitez importer sont dans la même instance de vCenter Server.

Procédure

  1. Ajoutez les clusters contenant les machines virtuelles de votre choix en tant que clusters de calcul dans votre déploiement VMware Integrated OpenStack.
    Pour obtenir des instructions, reportez-vous à Ajouter des clusters de calcul à votre déploiement.
  2. Connectez la machine virtuelle à un réseau Neutron.
    1. Dans vSphere Client, ouvrez la vue Hôtes et clusters.
    2. Cliquez avec le bouton droit sur la machine virtuelle que vous voulez modifier, puis sélectionnez Modifier les paramètres….
    3. Dans la liste déroulante en regard de l'adaptateur réseau, sélectionnez le réseau Neutron que vous souhaitez utiliser.
    4. Développez les paramètres de l'adaptateur réseau et enregistrez son adresse MAC.
  3. Créez un réseau opaque temporaire pour la machine virtuelle.
    • Pour NSX-T 2.5, vous créez un commutateur logique. Reportez-vous à la section « Créer un commutateur logique » dans le Guide d'administration de NSX-T Data Center, puis procédez comme suit pour obtenir l'ID de commutateur logique.
      1. Dans la colonne Commutateur logique, cliquez sur le nom du commutateur que vous avez créé.
      2. Enregistrez l'ID du commutateur tel qu'affiché dans la colonne Présentation.
    • Pour NSX-T 3.0, vous créez un segment. Suivez les instructions de la section « Ajouter un segment » du Guide d'administration de NSX-T Data Center et notez le nom du segment que vous avez ajouté.
  4. Connectez-vous à Integrated OpenStack Manager en tant qu'utilisateur root.
    ssh root@mgmt-server-ip
  5. Modifiez la configuration du traitement Nova.
    viocli update nova-compute
  6. Dans la section vmware, ajoutez le paramètre import_net_id et définissez sa valeur sur l'ID de commutateur ou le nom de segment enregistré.
  7. Si vous souhaitez empêcher les machines virtuelles importées d'être déplacées ou renommées, supprimez le paramètre import_vm_relocate et définissez sa valeur sur false.
  8. Pour importer des machines virtuelles dans un domaine non par défaut, vous devez créer un utilisateur et un projet dans ce domaine, puis définir le paramètre default_tenant_domain_name dans le pod vioshim.
    domain name: import-domain
    admin user in import-domain: import-domain
    a new project in import-domain: import-proj2
    viocli update vioshim
    conf:
      vioshim:
        DEFAULT:
          default_tenant_domain_name: import-domain
    Pour vérifier, vous pouvez vous connecter au pod suivant.
    osctl exec -it vioadmin1-vioshim-6855dd94b4-s5vzk -c vioshim bash
    Pour vérifier le contenu du /etc/viocli/viocli.conf, vous pouvez utiliser la ligne de code suivante :
    default_tenant_domain_name = import-domain
  9. Définissez le mot de passe du compte admin.
    export OS_PASSWORD=admin-account-password
  10. Exporte les variables dans la boîte à outils.

    Le mot de passe donné dans le code suivant est à titre de référence. Pour exporter des variables dans la boîte à outils, vous devez spécifier votre mot de passe.

    [root@vioadmin1-vioshim-6855dd94b4-s5vzk /]# export OS_PROJECT_NAME=import-proj2 
    [root@vioadmin1-vioshim-6855dd94b4-s5vzk /]# export OS_PROJECT_DOMAIN_NAME=import-domain
    [root@vioadmin1-vioshim-6855dd94b4-s5vzk /]# export OS_USER_DOMAIN_NAME=import-domain
    [root@vioadmin1-vioshim-6855dd94b4-s5vzk /]# export OS_PASSWORD=*****
    [root@vioadmin1-vioshim-6855dd94b4-s5vzk /]# export OS_USERNAME=import-admin

    Vous pouvez également importer des machines virtuelles en utilisant un projet par défaut import-service et exporter les variables dans la boîte à outils.

    [root@vioadmin1-vioshim-56f9ddc779-wc4lc /]#
    [root@vioadmin1-vioshim-56f9ddc779-wc4lc /]# export OS_PASSWORD=*****
    [root@vioadmin1-vioshim-56f9ddc779-wc4lc /]#  env | grep -i project
    OS_PROJECT_NAME=import-service
    OS_PROJECT_DOMAIN_NAME=default
    [root@vioadmin1-vioshim-56f9ddc779-wc4lc /]# export OS_PROJECT_NAME=admin
    
  11. Créez un port Neutron dans le projet spécifié.

    Vous pouvez créer un port Neutron dans le projet spécifié. Le projet import-proj2 utilise le réseau de fournisseurs partagé et vous devez spécifier le --tenant-id pour le port afin d'éviter le problème PortNotUsable.

    neutron port-create Neutron network name --name port name --tenant-id <project id of import-proj2> --mac-address vm-mac --fixed-ip ip_address=vm-ip
    neutron port-create Neutron network name --name port name --tenant-id project id --mac-address vm-mac --fixed-ip ip_address=vm-ip
    Option Description

    Nom du réseau Neutron

    Entrez le nom du réseau Neutron auquel vous avez connecté la machine virtuelle.

    --name

    Entrez le nom du port.

    --tenant-id

    Spécifiez l'UUID du projet pour lequel vous voulez créer le port.

    --mac-address

    Entrez l'adresse MAC de l'adaptateur réseau de la machine virtuelle.

    --fixed-ip

    Entrez l'adresse IP de la machine virtuelle.

    Si la machine virtuelle ne dispose pas d'une adresse IP ou si vous ne souhaitez pas conserver l'adresse IP existante, vous pouvez omettre ce paramètre.

  12. Connectez-vous au point de terminaison de vAPI VMware Integrated OpenStack.

    Le point de terminaison se trouve au point de terminaison OpenStack privé de votre déploiement.

    dcli +server https://internal-vip:9449/api +i
  13. Importez la machine virtuelle en spécifiant le nom du locataire.

    Pour importer des machines virtuelles, vous devez spécifier le nom --tenant. Toutefois, si aucun nom --tenant n'est spécifié, VMware Integrated OpenStack utilisera un nom --tenant par défaut import-service.

    com vmware vio vm unmanaged importvm --vm vm-moid --nic-net-id network-uuid --nic-port-id port-uuid --tenant import-proj2
    com vmware vio vm unmanaged importvm --vm vm-moid --nic-net-id network-uuid --nic-port-id port-uuid --tenant import-service
    Option Description

    --vm

    Entrez l'identifiant d'objet géré de la machine virtuelle que vous souhaitez importer.

    Vous pouvez voir les identifiants d'objet géré de toutes les machines virtuelles non gérées en exécutant la commande com vmware vio vm unmanaged list.

    --nic-net-id

    Entrez l'UUID du réseau Neutron auquel vous avez connecté la machine virtuelle.

    --nic-port-id

    Entrez l'UUID du port que vous avez créé pour la machine virtuelle.

    --tenant

    Spécifiez le projet OpenStack dans lequel vous souhaitez importer la machine virtuelle.

    --root-disk

    Pour une machine virtuelle comportant plusieurs disques, spécifiez le chemin d'accès à la banque de données du disque racine au format suivant : --root-disk '[datastore1] dir/disk_1.vmdk'

    Note : Lorsque vous exécutez une commande, DCLI vous invite à entrer les informations d'identification de l'administrateur pour votre instance de vCenter Server. Vous pouvez enregistrer ces informations d'identification pour éviter d'entrer votre nom d'utilisateur et votre mot de passe à chaque fois.

Résultats

Les machines virtuelles spécifiées sont importées dans votre déploiement OpenStack et peuvent être gérées en tant qu'instances d'OpenStack.