The change to look for floating ips first when looking for the public
address exposed a latent bug in the private ip finding
code. When we get the mac address of the floating ip, we then look for
the corresponding fixed ip to return for private_v4. However, we weren't
specifying fixed before, so we were just getting the first one that
matched. That *happened* to be the fixed ip by accident.
Add in ext_tag='fixed' so that we look for the matching MAC from a fixed
interface.
We have to also add a second pass through the loop without the fixed
tag, as old nova network dicts do not have the fixed/floating tag like
that.
Includes a test which shows the breakage.
Story: 2001619
Change-Id: I60562a99f78c0c363f49106c285935448f804084