ImporterUneVmAuFormatOVA

 Ce tuto concerne l'importation d'une machine virtuelle compressé au format OVA contenant une checksum SHA1 qui n'est plus 
 compatible avec les versions de Vsphere égale et supérieure à 7.

 Voici le message d'erreur que l'on obtient lors de la sélection de la ressource de calcul dans Vsphere :
 Le fichier de manifeste fourni n'est pas valide : Invalid OVF checksum algorithm: SHA1.

 Ce message d'erreur survient car vSphere 7.x et plus récentes ne prennent plus en charge l'algorithme de hachage SHA1 
 pour les fichiers manifestes OVF/OVA, en raison de préoccupations de sécurité. Ils exigent des algorithmes plus sûrs comme 
 SHA256.

 La solutions est la suivante :

 1. Modifier le fichier manifeste (.mf).
    Une solution consiste à éditer manuellement le fichier manifeste de votre OVA pour remplacer le hachage SHA1 par 
    SHA256.

    Extraire l'OVA :
    Décompresser le fichier .ova depuis le répertoire où se trouve se fichier :

    $ sudo tar -xvf votre_fichier.ova

    Cela va extraire trois fichiers : un fichier .ovf, un fichier .mf et un ou plusieurs fichiers .vmdk (disques 
    virtuels).

    Modifier le fichier manifeste (.mf) :

    Ouvrez le fichier .mf avec un éditeur de texte et vérifiez la ligne avec le hachage SHA1.
    Par exemple, vous verrez quelque chose comme :

    SHA1(votre_fichier.ovf)= hachage_sha1
    SHA1(votre_disque.vmdk)= hachage_sha1

    Remplacez la méthode de hachage SHA1 par SHA256. Pour cela, supprimez le fichier .mf.

    Recréer le fichier manifeste avec SHA256 :

    Depuis le répertoire où sont présents les fichiers .ovf et .vmdk, générez un nouveau fichier manifeste en utilisant 
    SHA256 :

    $ sudo sha256sum fichier.ovf fichier.vmdk > fichier.mf

    Le fichier .mf généré contiendra les lignes avec les nouvelles valeurs SHA256.
    Une fois le fichier manifest .mf créé, ouvrez le avec un éditeur de texte afin de vérifier qu'il est bien formé comme dans l'exemple ci-dessous :

    SHA256(VM_MOOC_SRI+compact-new.ovf)= 9d23960530a4626bc41d3cd3ed9f942162c8416a4661d9377dc461b69a7b7d30 
    SHA256(VM_MOOC_SRI+compact-new-disk001.vmdk)= 73fea86872c62e2f95714e05194ec8632e074ea9eb0cb95bc7ed571317ea5586

    Recompiler l'OVA :

    Une fois la modification faite, recréez le fichier .ova en utilisant la commande suivante :

    $ sudo tar -cvf nouveau_fichier.ova fichier.ovf fichier.mf fichier.vmdk

    Vous pouvez avoir un nouveau message d'erreur après ces divers manipulations comme celui-ci :

    ""

    Le message d'erreur indique que le modèle OVA que l'on essaie de déployer a été créé avec une version matérielle non prise en charge par vSphere. Le format matériel mentionné est virtualbox-2.2, qui 
    correspond à une version matérielle spécifique à VirtualBox. vSphere, en revanche, utilise un ensemble de versions matérielles commençant par vmx-XX (comme vmx-04, vmx-07, etc.).

    Modifier le fichier OVF pour adapter la version matérielle :
    Si l'OVA a été exporté depuis VirtualBox, tu peux tenter de modifier le fichier OVF pour le rendre compatible avec vSphere. Voici comment procéder :

    * Décompresse l'OVA en utilisant un outil comme 7-Zip (c'est un fichier tar) sous Windows ou utilises la commande tar sous Linux. Tu obtiendras un fichier .ovf et d'autres fichiers associés 
      comme les .vmdk.

    * Ouvre le fichier .ovf avec un éditeur de texte (comme Notepad++ ou un autre éditeur texte).

    * Recherche l'entrée correspondant à la version matérielle dans le fichier .ovf. Cette ligne pourrait ressembler à ceci :

      <vssd:VirtualSystemType>virtualbox-2.2</vssd:VirtualSystemType>

      Remplace cette ligne par une version compatible avec vSphere, par exemple :

      <vssd:VirtualSystemType>vmx-13</vssd:VirtualSystemType>

    * Sauvegarder le fichier .ovf.

    Attention : cette manipulation de modification du fichier ovf modifie la sommes de contrôle (hash) et donc le fichier manifeste ne correspondent plus aux fichiers dans l'archive OVA, il faut donc 
    recalculer et corriger les sommes de contrôle dans le manifeste.

    Sous Windows :
    PS C:\> certutil.exe -hashfile .\VM_MOOC_SRI+compact-new.ovf SHA256
    71c1bc7441e89cd258d4c7ac2c3646065da17faec884a9f5236b7caca5b94227
    CertUtil: -hashfile La commande s’est terminée correctement.

    Sous Linux ou macOS :
    $ shasum -a 256 VM_MOOC_SRI+compact-new.ovf

    Sous Linux :
    $ sha256sum VM_MOOC_SRI+compact-new.ovf

    Recréer un fichier OVA :
    Après avoir modifié le fichier OVF, recomprime les fichiers pour recréer l'OVA :
    Sélectionne les fichiers .ovf, .vmdk, et .mf.

    Sous macOS ou Linux :
    $ tar -cvf fichier.ova fichier.mf fichier.ovf fichier.vmdk

    Sous Windows :
    Sélectionne les fichiers .ovf, .vmdk, et .mf.
    Utilise l'utilitaire 7-Zip ou un autre utilitaire pour les compresser en un fichier .ova.
    Avec 7-Zip :
    * Sélectionne les fichiers, clique droit, puis choisis Ajouter à l'archive.
    * Sélectionne le format .tar et renomme l'archive finale avec l'extension .ova.

    Remarque : La création du fichier OVA peut prendre plusieurs minutes, surtout des fichiers d'une taille équivalent à 7 GB.

    Maintenant que la version matérielle est modifiée, essaie de déployer à nouveau l'OVA sur vSphere.

 2. Utiliser VMware OVF Tool pour déployer directement

    Si vous ne voulez pas manipuler les fichiers manuellement, vous pouvez utiliser VMware OVF Tool pour contourner ce problème :

    Téléchargez et installez l'OVF Tool depuis le site officiel de VMware.
    Utilisez la commande suivante pour déployer l'OVA directement :

    $ sudo ovftool --shaAlgorithm=SHA256 "chemin_vers_fichier.ova" "vi://votre_vCenter_IP/Datacenter/host/
    Cluster"

    Cette commande convertira automatiquement le manifeste en SHA256 pendant le déploiement.

 3. Mettre à jour l'OVA depuis le fournisseur

    Si l'OVA vient d'un fournisseur externe, vous pouvez également vérifier s'ils offrent une version mise à jour de l'OVA 
    avec un manifeste utilisant SHA256 plutôt que SHA1. Cela pourrait simplifier le processus.

    En résumé, la solution la plus directe consiste à modifier le fichier manifeste ou à utiliser l'OVF Tool pour déployer 
    directement l'OVA en SHA256.