Description of problem:
During deployment of a new host, Engine needs to know which of the host's interfaces is used to connect to Engine. Currently, this is exposed by the lastClientIface element of getVdsCaps verb. However, this approach is problematic, as we plant to remove the requirement of direct Engine-Vdsm TCP connection, without which, Vdsm cannot compute this element.
Instead, it is suggested that Vdsm would expose the output of `ip get route addr`, so that Engine would be able to guess which on top of which host should it configure the management network. Note that this would only be a guess, as Vdsm may sit behind NAT with no route to Engine. In that case, automatic deployment of the management network would be skipped.
Moving back to POST as Eliraz also needs to get patches merged for this to work :) Please move to MODIFIED when the entire feature is functioning.
Ok, thanks for the notice :)
Due to possible issues with deployments where the engine is behind NAT, we'll try to avoid using the getRoute verb. Dan suggested an interesting solution, in which we'll resolve the hostname (if needed), and look for its IP address among the reported IP addresses of the NICs in getVdsCaps; the one that fits is the "active NIC". This would be quite a small fix, exclusive to the engine side.
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.