It looks like metadata handler fetches instance IP infomration via ec2utils.get_ip_info_for_instance():
def get_ip_info_for_instance(context, instance): """Return a list of all fixed IPs for an instance""" try: return get_ip_info_for_instance_from_cache(instance) except (ValueError, KeyError, AttributeError): # NOTE(jkoelker) If the json load (ValueError) or the # sqlalchemy FK (KeyError, AttributeError) # fail fall back to calling out to he # network api network_api = network.API() nw_info = network_api.get_instance_nw_info(context, instance) return get_ip_info_for_instance_from_nw_info(nw_info) Doing a bit of tracing, it looks like it successfully gets an entry in the instance info cache, but it is out of date and does not contain any information about associated floating_ips. Modifying the above function to skip the cache attempt and go directly to the network driver returns the correct IP info, at the cost of a more expensive query. ** Also affects: nova (Ubuntu) Importance: Undecided Status: New -- You received this bug notification because you are a member of Ubuntu Server Team, which is subscribed to nova in Ubuntu. https://bugs.launchpad.net/bugs/933818 Title: public-ipv4 metadata url not working To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/933818/+subscriptions -- Ubuntu-server-bugs mailing list Ubuntu-server-bugs@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-server-bugs