When vagrant is run with an openstack-compatible backend which assigns
floating IPs asynchronously, it fails with "Vagrant was unable to resolve
a valid ip to ssh on your OpenStack instance".
This happens because vagrant-openstack-provider tries to get the assigned
IP of the virtual machine immediately after sending the floating IP
assignment command.
This issue was found when using vagrant with synnefo
as the backend.
With this patch, vagrant will wait until the floating IP is assigned before
continuing.
Notes
It should be noted that many implementations do not assume that the IP is immediately assigned, but wait/poll until it appears on the server information.
These include what Ansible and the official Shade library do.
Here is a chain of calls that Ansible does:
Coverage decreased (-0.6%) to 87.014% when pulling d0b43d558a650a8447030829d5830f6d3ca6176f on softsilverwind:synnefo-integration into d91b1cb6126fa8796579e7744cf38975e4f950bc on ggiamarchi:master.
Overview
When vagrant is run with an openstack-compatible backend which assigns floating IPs asynchronously, it fails with "Vagrant was unable to resolve a valid ip to ssh on your OpenStack instance".
This happens because vagrant-openstack-provider tries to get the assigned IP of the virtual machine immediately after sending the floating IP assignment command.
This issue was found when using vagrant with synnefo as the backend.
With this patch, vagrant will wait until the floating IP is assigned before continuing.
Notes
It should be noted that many implementations do not assume that the IP is immediately assigned, but wait/poll until it appears on the server information.
These include what Ansible and the official Shade library do. Here is a chain of calls that Ansible does:
Also, this patch will probably solve other issues, such as issue 278