Los siguientes errores se pueden presentar al tratar de importar con ovftool (VMware) una OVA exportada desde Virtualbox:
Error: OVF Package is not supported by target: - Line 25: Unsupported hardware family 'virtualbox-2.2'.
- Line 83: OVF hardware element 'ResourceType' with instance ID '7': No support for the virtual hardware device type '35'.
Antes de importar este tipo de OVAs, hay que tener en cuenta que determinados dispositivos de hardware virtuales (controladoras SCSI, tarjetas virtuales de audio, etc) deben ser modificadas a formato VMware para evitar los errores citados.
En primer lugar se debe desempaquetar el contenido del archivo ova
para manipularlo:
# ovftool --lax foo.ova foo.ovf
En segundo lugar se debe modificar la controladora de discos virtuales de tipo virtualbox-2.2 a vmx-07, así como su tipo (sataController en Virtualbox y SCSIController en Virtualbox). Toda esta configuración se encuentra en el archivo .ovf
:
Virtualbox:
<Item> <rasd:Address>0</rasd:Address> <rasd:Caption>sataController0</rasd:Caption> <rasd:Description>SATA Controller</rasd:Description> <rasd:ElementName>sataController0</rasd:ElementName> <rasd:InstanceID>5</rasd:InstanceID> <rasd:ResourceSubType>AHCI</rasd:ResourceSubType> <rasd:ResourceType>20</rasd:ResourceType> </Item>
VMware:
<Item> <rasd:Address>0</rasd:Address> <rasd:Caption>SCSIController</rasd:Caption> <rasd:Description>SCSI Controller</rasd:Description> <rasd:ElementName>SCSIController</rasd:ElementName> <rasd:InstanceID>5</rasd:InstanceID> <rasd:ResourceSubType>lsilogic</rasd:ResourceSubType> <rasd:ResourceType>6</rasd:ResourceType> </Item>
Respecto a la tarjeta de audio y/o cualquier otro hardware no soportado en VMware (o que directamente no queramos utilizar en destino), eliminamos su bloque <item>
en el archivo de configuración. Ejemplo:
<Item> <rasd:AddressOnParent>3</rasd:AddressOnParent> <rasd:AutomaticAllocation>false</rasd:AutomaticAllocation> <rasd:Caption>sound</rasd:Caption> <rasd:Description>Sound Card</rasd:Description> <rasd:ElementName>sound</rasd:ElementName> <rasd:InstanceID>6</rasd:InstanceID> <rasd:ResourceSubType>ensoniq1371</rasd:ResourceSubType> <rasd:ResourceType>35</rasd:ResourceType> </Item>
Antes de importar la máquina virtual se debe recalcular el HASH del archivo de configuración, ya que va referenciado en el archivo .mf
, antes hay que revisar si es SHA1, SHA256, etc:
# sha256sum foo.ovf 27d376d2b93914c94d0adab5fccd4a04e31bc136ca6a11da46d8029447e76056 foo.ovf
# head foo.mf SHA256(foo.ovf)= 27d376d2b93914c94d0adab5fccd4a04e31bc136ca6a11da46d8029447e76056
Finalmente importamos la máquina virtual:
# ovftool --disableVerification --acceptAllEulas --noSSLVerify --datastore=storage_01 --network="VM Network" foo.ovf vi://root@10.0.1.125
Hola Alex:
Respecto a recalcular el hash del fichero MF, se puede como dices recalcular, o directamente eliminarlo o renombrarlo. A pesar de pertenecer al estandar de OVA, no es imprescindible para su correcta importacion, solo es un punto adicional para la comprobacion del correcto contenido de lo existente dentro del tar – al igual que los md5 que se ponen en muchos sitios de descarga para confirmar que la misma se ha realizado correctamente:)
De hecho, la misma especificacion lo define como opcional:
http://www.dmtf.org/sites/default/files/standards/documents/DSP0243_1.0.0.pdf
«Optionally, an OVF package may have a manifest file with extension .mf containing the SHA-1 digests of
individual files in the package. The manifest file shall have the same base name as the .ovf file. If the
manifest file is present, a consumer of the OVF package shall verify the digests by computing the actual
SHA-1 digests and comparing them with the digests listed in the manifest file. «
Gracias por completar la información, Xavy!