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>”.
Thank you! This was really useful.