Unable to deploy an OVF template from vCenter with the error: "Could not convert field 'spec' of structure 'com.vmware.vcenter.vdcs.floppy_model' "
search cancel

Unable to deploy an OVF template from vCenter with the error: "Could not convert field 'spec' of structure 'com.vmware.vcenter.vdcs.floppy_model' "

book

Article ID: 306342

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

  • This article aims to provide help in cross version vCenter OVF export/ deployment (Identified in vCenter 6.5 to vCenter 6.7).
  • Error seen when attempting the deployment/ import an ovf, exported from vCenter 6.5 on vCenter 6.7 or later, process on vCenter client:  
    A general system error occurred:
    An error occurred: Could not convert field 'spec' of structure 'com.vmware.vcenter.vdcs.floppy_model'
  • When inspecting the OVF, extract the exported OVF.
    There are entries similar to these.
    </Item>
    <Item ovf:required="false">
    <rasd:AddressOnParent>0</rasd:AddressOnParent>
    <rasd:AutomaticAllocation>false</rasd:AutomaticAllocation>
    <rasd:Description>Floppy Drive</rasd:Description>
    <rasd:ElementName>Floppy 1</rasd:ElementName>
    <rasd:InstanceID>10</rasd:InstanceID>
    <rasd:ResourceSubType>vmware.floppy.image</rasd:ResourceSubType>
    <rasd:ResourceType>14</rasd:ResourceType>
    </Item>

Environment

VMware vSphere 6.5.x
VMware vSphere 6.7.x
VMware vSphere 7.x 

Cause

 This is an issue with the floppy device of the VM and causes issues with the import of the ovf. 

Resolution

There is no known resolution available currently.

Workaround:

  • A known workaround available involves performing two set of steps:
    1. To resolve the "Could not convert field 'spec' of structure 'com.vmware.vcenter.vdcs.floppy_mode" error- make the changes into your .ovf file.
    2. To ensure hash values of the changed files match with those present in the .mf file replace the hash values with recalculated hash values.

Note: Prior to making changes to an OVF template, it is recommended to make a copy of the OVF template as backup.

  1. To resolve the "Could not convert field 'spec' of structure 'com.vmware.vcenter.vdcs.floppy_mode" error
    • Make the following changes into the .ovf file : Since it is an xml format - use  '<1--' and '-->'  to comment out just all instances of Item corresponding to the Floppy Drive xml object/elements like: 
      <!-- <Item>
              <rasd:AddressOnParent>0</rasd:AddressOnParent>
              <rasd:AutomaticAllocation>false</rasd:AutomaticAllocation>
              <rasd:Description>Floppy Drive</rasd:Description>
              <rasd:ElementName>Floppy Drive 1</rasd:ElementName>
              <rasd:HostResource>ovf:/file/file3</rasd:HostResource>
              <rasd:InstanceID>7</rasd:InstanceID>
              <rasd:ResourceSubType>vmware.floppy.image</rasd:ResourceSubType>
              <rasd:ResourceType>14</rasd:ResourceType>
            </Item> -->
    • Do not hash or comment out other Item tags in the .ovf file (like the Item tags pertaining to the CD/DVD Rom or other objects).
    • Also try to comment out any other references of the Floppy drive on similar lines if present.
  2. Addressing the changed hash values
    • Now making these changes in the contents of these files would change their hash values, thus would have to also make changes in the contents of .mf file, else it would result in the previously encountered error: Unexpected/Mixed/Mismatched content.
    • To resolve the same kindly modify the contents of the .mf file after making any changes to any file and before deploying the template.
    • Follow the below steps:
      1. Open PowerShell in the folder having the OVF template files.
      2. Run the following command and verify if the hashed values shown match the corresponding file values in .mf file, else replace the values in the .mf file, with the newly calculated hash values:
        NOTE: replace the "full/path/of/the/file.withExtension" with the complete path of the file along with its extension. In case of any other algorithm being use, kindly substitute the corresponding algorithm name.
        1. if algorithm shown in .mf file is SHA256:
          certutil -hashfile full/path/of/the/file.withExtension sha256
        2. if algorithm shown in .mf file is SHA1:
          certutil -hashfile full/path/of/the/file.withExtension sha1

Additional Information

  • Unable to deploy an OVF from a 6.7 environment (343015)
  • Import OVA Template errors with "Could not convert field 'spec' of structure 'com.vmware.vcenter.vdcs.floppy_model' - Broadcom Communities
  • Cannot Import OVF file from vCenter 6.7 to 6.5 - Broadcom communities