VMware Cloud Community
m12e
Contributor
Contributor

Specifying ?ip=[ip] in locator results in "Locator does not refer to an object" error

I have a setup where I am accessing vCenter and an ESXi host through a NAT layer. If I try to deploy directly to vCenter, ovftool automatically tries to connect to the ip address of the ESXi host behind the NAT layer, which fails.

It looks something like this:

[root@ovfimporter mnt]# date; ovftool --datastore="PayGo Storage" --net:"VLan 4=DedicatedPortGroup_NNNN" CUST/CUST.ovf vi://matthew.wallace@10.10.10.1/Customer\ Datacenter/host/PayGo\ Cluster/Resources/Paygo/NNNN\ \(abc44060-35dc-438a-8c79-6bc7586082ab\)/ ;date

Tue Oct  8 10:18:43 MDT 2013

Opening OVF source: CUST/CUST.ovf

The manifest validates

Enter login information for target vi://10.10.10.1/

Username: matthew.wallace

Password: *********

Opening VI target: vi://matthew.wallace@10.10.10.1:443/Customer%20Datacenter/host/PayGo%20Cluster/Resources/Paygo/NNNN%20(abc44060-35dc-438a-8c79-6bc7586082ab)/

Deploying to VI: vi://matthew.wallace@10.10.10.1:443/Customer%20Datacenter/host/PayGo%20Cluster/Resources/Paygo/NNNN%20(abc44060-35dc-438a-8c79-6bc7586082ab)/

Transfer Failed

Transfer Failed

Error: Lost connection to target

Completed with errors

Tue Oct  8 10:20:19 MDT 2013

Looking at netstat, I saw a hung connection to 443 of one of the ESX hosts in that PayGo Cluster:

tcp    1 192.168.0.105:46167     172.17.0.10:443        

SYN_SENT

In this case, 172.17.0.10 is the "real" IP of one of the esx hosts in the PayGo cluster managed by that vCenter, which I can reach from the client running the ovftool only by using the NAT ip of 10.10.10.100.

So, I tried to specify the external ip of that host. Per the ovftool 3.5 user guide:

To convert an OVF package to a vCenter Server, use the following syntax:

> ovftool /ovfs/my_vapp.ovf vi://username:pass@my_vc_server/?ip=10.20.30.40

(Uses a managed ESXi host’s ip address.)


Given that, I tried using several syntaxes:

ovftool --datastore="PayGo Storage" --net:"VLan 4=DedicatedPortGroup_NNNN" CUST/CUST.ovf vi://matthew.wallace@10.10.10.1/Customer\ Datacenter/host/PayGo\ Cluster/Resources/Paygo/NNNN\ \(abc44060-35dc-438a-8c79-6bc7586082ab\)/?ip=10.10.10.100

or even just the simplest version to see if I can get a prompt for going further down in the locator tree:

ovftool --datastore="PayGo Storage" --net:"VLan 4=DedicatedPortGroup_NNNN" "vi://matthew.wallace@10.10.10.1/?ip=10.10.10.100"

I invariably get a result like this:

The manifest validates

Enter login information for target vi://10.10.10.1/

Username: matthew.wallace

Password: *********

Error: Locator does not refer to an object: vi://matthew.wallace@10.10.10.1:443/?ip=10.10.10.100

Completed with errors

Outside of the brief mention of the "ip=xxx" param mentioned in the ovftool userguide I've been unable to find any reference to someone successfully using this parameter so I'm uncertain if this is a bug, my not understanding the intention of the parameter as specified in the OVF tool guide, or me using bad syntax.

Tags (2)
0 Kudos
0 Replies