ECHEC DÉPLOIEMENT PACKAGE OVF OVA: CETTE TÂCHE A ÉTÉ ANNULÉE PAR UN UTILISATEUR

Depuis la version 5 (ou peut être 5.1), j’ai été confronté à plusieurs reprises à l’erreur suivante lors du déploiement de l’OVA :
Echec déploiement package OVF: Cette tâche a été annulée par un utilisateur (Failed to deploy OVF package: The task was canceled by a user).
En 5.5, j’ai également rencontré le message suivant qui donne un peu plus d’informations sur le problème réel :
OVF Deployment Failed: File ds:///vmfs/volumes/uuid/_deviceImage-0.iso was not found

Ce qu’il faut en retenir, c’est :

  • un OVA n’est en fait qu’une simple archive tar (qu’on peut donc ouvrir avec un « tar xf » ou un 7zip pour les Windowsiens
  • Il contient un fichier .ovf au format XML qui respecte la norme des OVF (enfin, si on peut appeler ça une norme !) et qui est en fait un descripteur du matériel virtuel de votre VM
  • un ou plusieurs fichiers .vmdk, vos disques durs virtuels
  • un fichier .mf qui ne contient en fait que le hash sha1 du fichier, pour le contrôle de la cohérence

Pour en venir au problème en lui même : il se produit lorsque les VMware Tools sont mal démontés ou se sont mal installés (ou mal terminé d’installer). La machine virtuelle garde en mémoire la présence de l’ISO et celui ci reste inscrit dans le descripteur OVF. Lorsqu’on déploie la VM, l’ISO n’est plus présent sur le serveur de destination et on obtient l’erreur susnommée.

Pour résoudre le problème, il faut donc :

  • Extraire le fichier OVF de l’archive OVA
  • Editer le fichier OVF, et remplacer la mention vmware.cdrom.iso par la valeur vmware.cdrom.atapi ou vmware.cdrom.remotepassthrough
  • Recalculer le nouveau hash SHA1 du fichier OVF édité
  • Recréer une archive et y ajouter DANS CET ORDRE les fichiers .ovf PUIS .mf et .vmdk.

tar xf maVM.ova #extraction des fichiers de l'archive
rm maVM.ova  # suppression du fichier
vim maVM.ovf  # éditer le fichier pour remplacer la mention vmware.cdrom.iso par la valeur vmware.cdrom.atapi ou vmware.cdrom.remotepassthrough
sha1sum maVM.ovf #récupérer le retour et remplacer le hash de l'OVF par la nouvelle valeur dans le fichier maVM.mf

tar cf maVM.ova maVM.ovf # recréation de la nouvelle  l'archive
tar uf maVM.ova *.mf *.vmdk # ajout des fichier dans l'archive