Closed agowa closed 1 week ago
@agowa First of all, check that this operation takes the same time when you do it through the UI or, for example, using powercli. In the case of downloading an OVA file on esxi, the problem may be, for example, low network speed between your device and the esxi management interface. As one of the authors of this module, I can say that at the file downloading stage everything is already simple and primitive - problems can arise at the L2-L4 network level, but not at L7.
Looking at the code, I think the Waiting for IP address timed out
error is after the OVF has been deployed successfully. I guess the VM doesn't get an IP address, or the module runs into a time-out before it does.
@ihumster Maybe we should add a wait_for_ip_address_timeout
option like in vmware_guest
:
On the other hand, I think the default timeout is 5 minutes:
So it might be another problem. But having a wait_for_ip_address_timeout
wouldn't hurt, would it? Some OVFs might take more than 5 minutes to initialize completely and get an IP.
@mariolenz 5 minutes (300 sec by default) is absolutely normal value for start any VM and initialize network subsystem with ip address (especially for ovf appliances). If VM not get Ip address for this time - maybe something wrong with this VM or with network connectivity between controller machine and new VM?
@agowa After you get error message from ansible about "Waiting for IP address timed out" you try ping VM IP from your ansible controller?
Considering the above I tried it again and this time it worked just fine even though it took a while. Maybe some kind of network fluke that caused it to skip some check?
The strange thing was (as you can see in the initial post) the OVA was still deploying while the ansible already failed within the waiting or IP address stage. Which it shouldn't even have been in yet if I understand you correctly.
And no, I didn't try to ping the IP when it failed, as it still took a while for the OVA to even finish being deployed. And only after that it was powered on.
@agowa In this case, it looks like the connection has been lost.
That's very interesting, as the OVA was being uploaded from the Ansible controller. Do you know how it was still being uploaded even though the Ansible had already terminated?
Anyway, this appears to be some very interesting edge case then...
In order to leave this issue open, you need a working plan to reproduce this issue.
It works now. Must have been some fluke. I'll reopen the ticket should I find something reproducible.
SUMMARY
community.vmware.vmware_deploy_ovf is failing and reporting a timeout even though the OVF is still being imported and status is still being reported within the webinterface.
ISSUE TYPE
COMPONENT NAME
community.vmware.vmware_deploy_ovf
ANSIBLE VERSION
COLLECTION VERSION
CONFIGURATION
unrelated
OS / ENVIRONMENT
Docker container:
python:3.13-alpine3.20
with some additional packages (unrelated to this issue)STEPS TO REPRODUCE
EXPECTED RESULTS
The ansible playbook polling the status of the Task instead of just using a generic timeout.
Alternatively either significantly increase the timeout (by 10x) or allow for a user provided one.
ACTUAL RESULTS