Service does not configure bridge on controller

Asked by Stephen

Hi,

I am setting up a two node OpenStack configuration using the OpenStack Basic Installation guide (I am merging the network node into the controller node). After following the guide, I was able to configure quantum and everything seemed to be working okay. I have three NICs on the machine: one for management, one for data, and one for public bridge. After configuration, I saw that the bridge interface was assigned the ip address 7.7.7.8 and two tap interfaces were created for demo-net (10.5.5.1 and 10.5.5.2).

The problems started when I rebooted the machine. Looking at ifconfig, I could no longer see the bridge interface or the tap interfaces. Digging into the logs I saw some errors in quantum with the AMQP server and authentication. Here are the errors:

==================================

root@irad-controller:/var/log/quantum# grep ERROR *
dhcp-agent.log:2013-01-11 11:10:12 ERROR [quantum.openstack.common.rpc.common] AMQP server on 192.168.0.1:5672 is unreachable: [Errno 111] ECONNREFUSED. Trying again in 1 seconds.
dhcp-agent.log:2013-01-11 11:10:13 ERROR [quantum.openstack.common.rpc.common] AMQP server on 192.168.0.1:5672 is unreachable: [Errno 111] ECONNREFUSED. Trying again in 3 seconds.
dhcp-agent.log:2013-01-11 11:11:16 ERROR [quantum.openstack.common.rpc.common] Timed out waiting for RPC response: timed out
dhcp-agent.log:2013-01-11 11:11:16 ERROR [quantum.agent.dhcp_agent] Unable to sync network state.
l3-agent.log:2013-01-11 11:07:23 ERROR [quantum.agent.l3_agent] external network bridge 'br-ex' does not exist
l3-agent.log:2013-01-11 11:10:14 ERROR [quantum.agent.l3_agent] Error running l3_nat daemon_loop
openvswitch-agent.log:2013-01-11 11:10:15 ERROR [quantum.openstack.common.rpc.common] AMQP server on 192.168.0.1:5672 is unreachable: [Errno 111] ECONNREFUSED. Trying again in 1 seconds.
openvswitch-agent.log:2013-01-11 11:11:16 ERROR [quantum.openstack.common.rpc.common] Timed out waiting for RPC response: timed out

Here are the detailed log messages for the l3 errors:

2013-01-11 11:07:23 DEBUG [quantum.agent.linux.utils] Running command: ip -o link show br-ex
2013-01-11 11:07:23 DEBUG [quantum.agent.linux.utils]
Command: ['ip', '-o', 'link', 'show', 'br-ex']
Exit code: 1
Stdout: ''
Stderr: 'Device "br-ex" does not exist.\n'
2013-01-11 11:07:23 ERROR [quantum.agent.l3_agent] external network bridge 'br-ex' does not exist

2013-01-11 11:10:14 DEBUG [quantumclient.client] REQ: curl -i http://192.168.0.1:35357/v2.0/tokens -X POST -H "Content-Type: appli$

2013-01-11 11:10:14 DEBUG [quantumclient.client] REQ BODY: {"auth": {"tenantName": "service", "passwordCredentials": {"username": $

2013-01-11 11:10:14 DEBUG [quantumclient.client] RESP:{'date': 'Fri, 11 Jan 2013 16:10:14 GMT', 'transfer-encoding': 'chunked', 's$

2013-01-11 11:10:14 DEBUG [quantumclient.client] RESP BODY:{"error": {"message": "An unexpected error prevented the server from fu$

2013-01-11 11:10:14 ERROR [quantum.agent.l3_agent] Error running l3_nat daemon_loop
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/quantum/agent/l3_agent.py", line 170, in daemon_loop
    self.do_single_loop()
  File "/usr/lib/python2.7/dist-packages/quantum/agent/l3_agent.py", line 201, in do_single_loop
    target_ex_net_id = self._fetch_external_net_id()
  File "/usr/lib/python2.7/dist-packages/quantum/agent/l3_agent.py", line 182, in _fetch_external_net_id
    ex_nets = self.qclient.list_networks(**params)['networks']
  File "/usr/lib/python2.7/dist-packages/quantumclient/v2_0/client.py", line 102, in with_params
    ret = self.function(instance, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/quantumclient/v2_0/client.py", line 244, in list_networks
    return self.get(self.networks_path, params=_params)
  File "/usr/lib/python2.7/dist-packages/quantumclient/v2_0/client.py", line 525, in get
    headers=headers, params=params)
  File "/usr/lib/python2.7/dist-packages/quantumclient/v2_0/client.py", line 510, in retry_request
    headers=headers, params=params)
  File "/usr/lib/python2.7/dist-packages/quantumclient/v2_0/client.py", line 447, in do_request
    resp, replybody = self.httpclient.do_request(action, method, body=body)
  File "/usr/lib/python2.7/dist-packages/quantumclient/client.py", line 139, in do_request
    self.authenticate()
  File "/usr/lib/python2.7/dist-packages/quantumclient/client.py", line 199, in authenticate
    raise exceptions.Unauthorized(message=body)
Unauthorized: {"error": {"message": "An unexpected error prevented the server from fulfilling your request. (OperationalError) (2002,$

==================================

When I check to see if br-ex exists this is what I see:

root@irad-controller:/var/log/quantum# ovs-vsctl list-br
br-ex
br-int
br-tun

So it looks like it exists.

I'm not sure what is causing the AMQP problems as nothing else seems to have a problem communicating with the service (for example there are no errors in the nova logs).

Any help would be greatly appreciated, Thank you!

Question information

Language:
English Edit question
Status:
Expired
For:
neutron Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
yong sheng gong (gongysh) said :
#1

This maybe caused the ovs-vswitchd started later than openstack services.

Revision history for this message
Stephen (stephen-kahmann) said :
#2

How would I determine if that is the problem?

Revision history for this message
yong sheng gong (gongysh) said :
#3

u can adjust the order of the services start and then check if the problem is still there.

Revision history for this message
Stephen (stephen-kahmann) said :
#4

I decided to move the network node to another machine and installed it per <http://docs.openstack.org/folsom/basic-install/content/basic-install_network.html>. Everything seemed to install fine looked good. The bridge had an ip address and there were two tap interfaces. After rebooting the machine the bridge and tap interfaces disappeared as before. This time, however, there were no errors in the var/log/quantum directory.

Using "ip link show" I can see that the bridge and tunnel interfaces are not up. Can you think of any reason this wouldn't happen on startup?

irad-network@irad-network:~$ ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:24:fc:5d brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:e1:12:23 brd ff:ff:ff:ff:ff:ff
4: eth2: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:99:f8:b4 brd ff:ff:ff:ff:ff:ff
6: br-int: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN
    link/ether e6:c5:2a:64:97:4a brd ff:ff:ff:ff:ff:ff
7: br-ex: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN
    link/ether 08:00:27:99:f8:b4 brd ff:ff:ff:ff:ff:ff
8: qr-3ac1e8b0-da: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN
    link/ether 02:57:08:b8:bc:ee brd ff:ff:ff:ff:ff:ff
9: tap097e4501-ea: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN
    link/ether 0a:d0:46:3d:0c:80 brd ff:ff:ff:ff:ff:ff
10: qg-d56e882e-1e: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN
    link/ether 16:7a:ca:54:30:a9 brd ff:ff:ff:ff:ff:ff
11: br-tun: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN
    link/ether be:4b:b8:3c:5e:4d brd ff:ff:ff:ff:ff:ff

Thank you very much for your help!

Revision history for this message
Stephen (stephen-kahmann) said :
#5

I brought all these interfaces up manually using:

ip link set <dev> up

and assigned an ip address to the external bridge using:

ip addr flush dev br-ex
ip addr add 7.7.7.8/24 dev br-ex
ip link set br-ex up

This appears to have fixed the symptoms, but I have no idea why the service is not bringing these interfaces up automatically.

Revision history for this message
Stephen (stephen-kahmann) said :
#6

I am having all kinds of issues with quantum and I just don't know what to do. I switched to a flat dhcp network which seemed to work. It assigned an ip address to a vm I booted on the compute node, but when I rebooted the compute node and started up the vm, quantum did not reassign the IP to the vnet port on the compute node. The port is listed using 'quantum port-list' and the mac address matches that of the vnet interface, but it never assigned the IP to the interface.

On top of all that, whenever I reboot a machine, the bridge interfaces are never brought up. I have to bring them all up manually using 'ip link set <dev> up'. I just don't know what to do about it anymore. If anyone could help me that would be great; otherwise, maybe I'll try nova-network.

Revision history for this message
Launchpad Janitor (janitor) said :
#7

This question was expired because it remained in the 'Open' state without activity for the last 15 days.