<p>When using the multi-host network mode, the simplest solution is to install either the whole nova-api service, or better yet, just the nova-api-metadata service alongside every nova-network. </p>
<p>If you're on Ubuntu, just install the nova-api-metadata package..</p>
<p>Thanks,<br>
Kiall</p>
<p>Sent from my phone.</p>
<div class="gmail_quote">On Jun 20, 2012 8:55 p.m., "Lars Kellogg-Stedman" <<a href="mailto:lars@seas.harvard.edu">lars@seas.harvard.edu</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
We seem to have OpenStack working correctly with a FlatDHCP network<br>
environment, running in multi_host mode.  Outbound connectivity works just fine:<br>
<br>
  instance# curl <a href="http://google.com" target="_blank">http://google.com</a><br>
  <HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8"><br>
  <TITLE>301 Moved</TITLE></HEAD><BODY><br>
  <H1>301 Moved</H1><br>
  The document has moved<br>
  <A HREF="<a href="http://www.google.com/" target="_blank">http://www.google.com/</a>">here</A>.<br>
  </BODY></HTML><br>
<br>
We are having problems with connectivity from the instance to our<br>
OpenStack controller (particularly the metadata service).  Our compute<br>
host is configured like this:<br>
<br>
  public_interface        = em1<br>
  flat_interface          = bond0.662<br>
  bridge                  = br662<br>
  fixed_range             = <a href="http://10.243.28.0/24" target="_blank">10.243.28.0/24</a><br>
  routing_source_ip       = 10.243.16.151<br>
  flat_network_dhcp_start = 10.243.28.10<br>
<br>
Here's the bridge, with one instance attached:<br>
<br>
  br662           8000.00212883a78c       no              bond0.662<br>
                                                          vnet0<br>
<br>
Our metadata server is at 10.243.21.36, and the example instance is at<br>
<a href="http://10.243.28.28" target="_blank">10.243.28.28</a>:<br>
<br>
  instance# ifconfig<br>
  eth0      Link encap:Ethernet  HWaddr fa:16:3e:40:f3:ad<br>
            inet addr:10.243.28.28  Bcast:10.243.28.255 Mask:255.255.255.0<br>
<br>
>From the instance, it's not possible to access the metadata server,<br>
either directly or via the DNAT rule for 169.254.169.254.  An attempt<br>
to access <a href="http://10.243.21.26:8775/" target="_blank">http://10.243.21.26:8775/</a> fails because this causes a packet<br>
to be emitted on public_interface with a source address from<br>
fixed_range on our private network:<br>
<br>
  host# tshark -i em1 -n host 10.243.21.36<br>
  0.000000 10.243.28.28 -> 10.243.21.36 TCP 37070 > 8775 [SYN] Seq=0 Win=14600 Len=0 MSS=1460 TSV=1699692 TSER=0 WS=3<br>
<br>
This is promptly discarded by the routing infrastructure, since the<br>
source address of the packet does not match the address range of the<br>
network.<br>
<br>
The connection avoids the SNAT rule applied to other connections<br>
because of this rule:<br>
<br>
  -A nova-network-POSTROUTING -s <a href="http://10.243.28.0/24" target="_blank">10.243.28.0/24</a> -d <a href="http://10.243.21.36/32" target="_blank">10.243.21.36/32</a> -j ACCEPT<br>
<br>
What is the reason to skip SNAT for access to controller?  The only<br>
configuration I can see in which this would work is to give the metadata<br>
server an interface on the private instance network...but this doesn't<br>
seem to match any of the architecture diagrams I've seen at<br>
<a href="http://openstack.org" target="_blank">openstack.org</a>, and it poses another set of problems w/r/t the DNAT<br>
rule (with the metadata server on the *same* network as the instance,<br>
access via <a href="http://169.254.169.254/" target="_blank">http://169.254.169.254/</a> will fail because returning packets<br>
will have the wrong source address).<br>
<br>
I'm assuming that some part of our configuration does not match the<br>
expectations of nova-network.  I would be grateful for suggestions as<br>
to which part needs fixing.<br>
<br>
--<br>
Lars Kellogg-Stedman <<a href="mailto:lars@seas.harvard.edu">lars@seas.harvard.edu</a>>       |<br>
Senior Technologist                                | <a href="http://ac.seas.harvard.edu/" target="_blank">http://ac.seas.harvard.edu/</a><br>
Academic Computing                                 | <a href="http://code.seas.harvard.edu/" target="_blank">http://code.seas.harvard.edu/</a><br>
Harvard School of Engineering and Applied Sciences |<br>
<br>
<br>
_______________________________________________<br>
Mailing list: <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>
Post to     : <a href="mailto:openstack@lists.launchpad.net">openstack@lists.launchpad.net</a><br>
Unsubscribe : <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>
More help   : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a><br>
</blockquote></div>