[Openstack] Networking-related question for 2 nodes config

Vishvananda Ishaya vishvananda at gmail.com
Mon May 16 21:36:48 UTC 2011


Below

On May 16, 2011, at 2:22 PM, Vladimir wrote:

> Hi Team,
> 
> Could you pleas help us with below questions.
> 
> Thanks,
> -Vladimir
> 
> 
> On May 16, 2011, at 8:50 PM, "Alex Lyakas" <alex at zadarastorage.com> wrote:
> 
>> I am trying to achieve a two-node nova installation using FlatDHCP network manager. On node-A, I have two network interfaces: eth0 is connected to public network, while eth1 is unconfigured (just as the administration manual recommends). I start all nova services on node-A. I see that a br100 bridge is created, eth1 is added to that bridge, and the bridge receives an IP address within the project network (which is a part of a fixed range). When I spawn instances on node-A, everything works fine: the instance receives an IP address within the project network, I can ssh into it from within node-A. I can also assign a floating IP within my public network to the instance. Then I am able to ssh into the instance from anywhere.
>>  
>> On node-B, I have only the nova-compute running. Node-B has also eth0 and eth1 interfaces. Similar to node-A, eth0 has a public address and eth1 is unconfigured. Whenever I spawn an instance on node-B, I see that br100 is also created on node-B, and eth1 is added to it. However, I am unable to ssh into the instance. I am able to connect to the instance via VNC. Then I see that it has not received an IP address (the instance image is configured to use DHCP). I understand that the instance should receive an address from nova-network via DHCP.
>>  
>> My questions are:
>> How the br100 bridge on node-B should connect to br100 on Node-A? Should nova-network connect them somehow, or do I need to do something manually?

as long as you have set --flat_interface=eth1 it should be enough.
>> I assume that if br100s were connected on both nodes, things would have worked, but perhaps I am wrong.

It should work
>> Looking at the code of FlatDHCPManager, I see that in setup_compute_network() method, ensure_bridge() is called without the ‘net_attrs’ parameter, and so the following code is not executed:

This code is not supposed to run on the second host. Only nova-network needs an ip on the bridge.  The compute host doesn't need an ip

>> if net_attrs:
>>     # NOTE(vish): The ip for dnsmasq has to be the first address on the
>>     #             bridge for it to respond to reqests properly
>>     suffix = net_attrs['cidr'].rpartition('/')[2]
>>     out, err = _execute('sudo', 'ip', 'addr', 'add',
>>                         "%s/%s" %
>>                         (net_attrs['gateway'], suffix),
>>                         'brd',
>>                         net_attrs['broadcast'],
>>                         'dev',
>>                         bridge,
>>                         check_exit_code=False)
>>  
>> while on the node-A with nova-network, this code is executed, and an entry added to the routing table. I tried to do this code manually on node-B, but still I am unable to ssh into the instance.

Somehow your dhcp traffic is not working.  It is hard to say what could be causing this.  Generally what i do is use:

tcpdump -i eth1 -n port 67 and port 68

on all the interfaces and see if i can figure out which packet isn't making it correctly.

Also make sure that you have
--fixed_range=XXX

set properly and that the nova-network host has ip_forward set in syscontrol.

>>  
> _______________________________________________
> Mailing list: https://launchpad.net/~openstack
> Post to     : openstack at lists.launchpad.net
> Unsubscribe : https://launchpad.net/~openstack
> More help   : https://help.launchpad.net/ListHelp

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20110516/c93747b5/attachment.html>


More information about the Openstack mailing list