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.