Hi,
I have a ESXi 5.0 server running which has a Guest VM running CentOS 5.6.
The ESXi server is a standalone server, not included in a datacenter, not managed by vCenter.
The server has a HDD of 80G which has both the ESXi host & the Guest OS running on top of it.
I installed ovftools on my Windows laptop & tried to create a ovf from the VM but am unsuccessful. I constantly get the following error -
c:\>ovftool vi://root:<rootpassword>@<ESXi Host IP>/datastore1/CentOS c:\testVM.ovf
Error: Cannot parse locater: vi://root:<rootpassword>@<ESXi Host IP>/datastore1/CentOS
Completed with errors
The local datastore name is "datastore1"
Can someone help me out here with forming the correct the ovftool command to create an ovf & possibly an OVA out of the running VM?
Thanks
Bhushan Pathak
Missed one point earlier - the name of the Guest VM is CentOS
Get rid of the datastore, and enter only the name of the VM:
ovftool vi://root:<rootpassword>@<ESXi Host IP>/CentOS c:\testVM.ovf
-KjB
Hi KjB,
Thanks for your reply.
I tried the command you suggested -
ovftool vi://root:<root password>@<ESXi Host IP>/CentOS c:\testVM.ovf
Unfortunately, I still get the same error -
Error: Cannot parse locator: vi://root:<root password>@<ESXi Host IP>/CentOS
Completed with errors
Are there some debug options that I can try & post the debug output here, if I don't get it with the output?
Thanks
Bhushan Pathak
Maybe something with your passwrod, try and let it prompt for username and password.
ovftool vi://<ESXi Host IP>/CentOS c:\testVM.ovf
-KjB
I tried as you suggested -
ovftool vi://<IP address>/CentOS c:\test.ovf
The tool prompted me for username & password, which I entered correctly. This time, I got a different error -
Error: Curl error: URL using bad/illegal format or missing URL
Completed with errors
How does the tool create the Curl URL from inputs? Any chance the error is related to the password that messes up the URL? I have set the passwor to something complex [includes upper & lower case characters, numbers & hash characters - # ]
Thanks
Bhushan Pathak
That should not make a difference, ESX should accept those characters. You could set your pw temporarily to something else to be sure.
Put your source locator in quotes to be sure.
-KjB
you can try this
ovftool vi://username@<IP address>/ c:\test.ovf
first OVFtool will you prompt you fot password
then when it connects to the server ovftool will show you possible completions. That is what all it sees under the sepcified ESX host.
The path is usually of the form
host/<resource pool path>/<vm or vApp name>
hope this helps
Pranav
KjB,
I will try again after changing the password. This will take some time, will post my findings tomorrow.
Thanks for your help, appreciate it.
Bhushan
Pranav,
I tried you suggestion, still get the same error -
Error: Curl error: URL usig bad/illegal format or missing URL
Completed with errors
Any other ideas? Thanks for you help
Bhushan Pathak
Ok, so # is allowed, I just confirmed, so when you type it interactively, you sould not have an issue.
Make sure the vm name is correct in case, or you will get an error as well, although I received an error stating the object does not exist.
-KjB
Maybe it's the destination locator then, try ending with just "test.ovf"
-KjB
Hi KjB -
I tried providing just the target locator as test.ovf, still the same results -
ovftool "vi://root:<password>@<IP>/CentOS" test.ovf
Error: Cannot parse locator: vi://root:<password>@<IP>/CentOS
Completed with errors
ovftool "vi://root@<IP>/CentOS" test.ovf
I enter the password when prompted for it, & get the following error -
Error: Curl error: URL using bad/illegal format or missing URL
Completed with errors
I verified that my VM name is correct.
Thanks
Bhushan Pathak
What version of ovftool.exe are you using?
ovftool.exe -v
-KjB
VMware ovftool 2.1.0 (build-467744)
Thanks
Bhushan Pathak
That's the same version I have as well. Let's see if incorrect information gives a different error.
Try:
ovftool "vi://1.1.1.1/centos" test.ovf
ovftool "vi://<esxIP>/cen" test.ovf
-KjB
Attempt 1 with incorrect IP -
ovftool "vi://1.1.1.1/CentOS" test.ovf
Error: Curl error: Couldn't connect to server
Completed with errors
Attempt 2 with correct IP but wrong VM name -
ovftool "vi://<correctIP>/myVM" test.ovf
I was prompted for username & password for the host, which I provided correctly.
Error: Curl error: URL usinng bad/illegal format or missing URL
Completed with errors
Thanks
Bhushan Pathak
So the vm name is not properly recognized.
Did you try:
ovftool "vi://<esxIP>" test.ovf
-KjB
Message was edited by: kjb007 : Changed to reflect host IP, not incorrect IP
I tried with only IP in the commnad -
ovftool "vi://<ESXi Host IP>" test.ovf
ovftool "vi://<ESXi Host IP>/" test.ovf
For both attempts, I provided username & password as inputs & got the same Curl error -
Error: Curl error: URL using bad/illegal format or missing URL
Completed with errors
Should I try the Linux version of ovftool & check if that works?
Thanks
Bhushan Pathak
I am not able to replicate your condition. Maybe something specific on that client.
How about forcing it to recognize a vi url,
ovftool -st=VI "vi://<ESXi Host IP>" test.ovf
That should give you an error stating wrong object and supply you with names.
-KjB