Importing a OVF exported from vCloud into VMware Workstation fails

We’re backing out of a vCloud provider and trying to drag our VMs back into our local vSphere cluster.

I’ve used ovftool to export our VMs from vCloud into OVF templates. I then import the OVF into VMware Workstation 14 and from there drag/drop the VM into our vSphere cluster. There is likely a way to get the ovftool to export in a format that will work directly with vSphere but since this is working I’m just going with it.

This process worked fine on all of our VMs until I got to a group of them that had access to an extra network in vCloud. When trying to import these VMs into VMware Workstation I get the following error:

The source contains more than one network. This target supports at most one network.

I cracked open the ovf file in a text editor and found this near the very top:

    <ovf:NetworkSection>
        <ovf:Info>The list of logical networks</ovf:Info>
        <ovf:Network ovf:name="server-net">
            <ovf:Description/>
        </ovf:Network>
        <ovf:Network ovf:name="myorg-it-pa-protected">
            <ovf:Description/>
        </ovf:Network>
    </ovf:NetworkSection>
    <vcloud:NetworkConfigSection ovf:required="false">
        <ovf:Info>The configuration parameters for logical networks</ovf:Info>
        <vcloud:NetworkConfig networkName="server-net">
            <vcloud:Description/>
            <vcloud:Configuration>
                <vcloud:IpScopes>
                    <vcloud:IpScope>
                        <vcloud:IsInherited>true</vcloud:IsInherited>
                        <vcloud:Gateway>10.201.207.254</vcloud:Gateway>
                        <vcloud:Netmask>255.255.248.0</vcloud:Netmask>
                        <vcloud:IsEnabled>true</vcloud:IsEnabled>
                    </vcloud:IpScope>
                </vcloud:IpScopes>
                <vcloud:ParentNetwork href="" name="server-net"/>
                <vcloud:FenceMode>bridged</vcloud:FenceMode>
                <vcloud:RetainNetInfoAcrossDeployments>false</vcloud:RetainNetInfoAcrossDeployments>
            </vcloud:Configuration>
            <vcloud:IsDeployed>false</vcloud:IsDeployed>
        </vcloud:NetworkConfig>
        <vcloud:NetworkConfig networkName="myorg-it-pa-protected">
            <vcloud:Description/>
            <vcloud:Configuration>
                <vcloud:IpScopes>
                    <vcloud:IpScope>
                        <vcloud:IsInherited>true</vcloud:IsInherited>
                        <vcloud:Gateway>10.201.2.254</vcloud:Gateway>
                        <vcloud:Netmask>255.255.255.0</vcloud:Netmask>
                        <vcloud:IsEnabled>true</vcloud:IsEnabled>
                    </vcloud:IpScope>
                </vcloud:IpScopes>
                <vcloud:ParentNetwork href="" name="test-net"/>
                <vcloud:FenceMode>bridged</vcloud:FenceMode>
                <vcloud:RetainNetInfoAcrossDeployments>false</vcloud:RetainNetInfoAcrossDeployments>
            </vcloud:Configuration>
            <vcloud:IsDeployed>false</vcloud:IsDeployed>
        </vcloud:NetworkConfig>
    </vcloud:NetworkConfigSection>

In here you can see two networks, “myorg-it-pa-protected” and “server-net” on Line 3 and 6

The networking configuration doesn’t really matter to me since it doesn’t match with our vSphere deployment all I want to do is get these VMs imported. I’ll edit their networking afterwards.

I ended up deleting “myorg-it-pa-protected” by taking out lines 6-8 and lines 29-45. I then save/closed the OVF file and ran it through a hashing app to get the files SHA256 value.

I then opened the .mf file that sits in the same directory as the OVF file and updated the SHA256 entry for the OVF file. I was then able to import my VMs into VMware Workstation.

On Mac/Linux you can use “sha256sum <filename>” to get the SHA256 value of the edited OVF file. On Windows I use tools like HashTab and HashCalc OR if you have the Linux Subsystem installed on Windows 10 you can just use “sha256sum <filename>”.

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.