Neutron Error - RTNETLINK answers: File exists

asked 2016-12-17 02:24:53 -0500

elliotp gravatar image

I've setup Newton following the installation guide onto Ubuntu 16.04.

When I add a provider network subnet, i get an error in the Neutron logs, this is preventing instances from being created successfully. I've enabled debug logging, this is the issue:

2016-12-17 08:13:58.016 21759 DEBUG neutron.agent.linux.utils [req-70f08375-446d-464c-ba75-fc4a4c6367de - - - - -] Running command: ['sudo', '/usr/bin/neutron-rootwrap', '/etc/neutron/rootwrap.conf', 'ip', '-4', 'addr', 'add', '10.0.0.11/24', 'scope', 'global', 'dev', 'brq8ac8c00b-41', 'brd', '10.0.0.255'] create_process /usr/lib/python2.7/dist-packages/neutron/agent/linux/utils.py:83

2016-12-17 08:13:58.503 21759 ERROR neutron.agent.linux.utils [req-70f08375-446d-464c-ba75-fc4a4c6367de - - - - -] Exit code: 2; Stdin: ; Stdout: ; Stderr: RTNETLINK answers: File exists

The problem is that brq8ac8c00b-41 already exists (as shown if i run 'ifconfig'), but it appears to be trying to be adding it again, and duplicating my management interface IP on the controller.

If i remove the subnet, the error stops. I'm adding the subnet with the following (ips removed for security):

openstack subnet create --network provider   --allocation-pool start=x.x.x.17,end=x.x.x.23  --dns-nameserver 8.8.8.8 --gateway x.x.x.1  --subnet-range x.x.x.x/24 provider

The provider network is the shared, flat network.

I'm not sure if this is to do with my network config, which is as follows. bond0 is the provider network, bond0:1 is management with a static ip set. Neutron appears to want to create brq8ac8c00b-41 which has the same IP as bond0:1

bond0     Link encap:Ethernet  HWaddr 0c:c4:7a:de:bf:24
          ...
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:334060 errors:0 dropped:1157 overruns:0 frame:0
          TX packets:2866 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:25286767 (25.2 MB)  TX bytes:1099326 (1.0 MB)

bond0:1   Link encap:Ethernet  HWaddr 0c:c4:7a:de:bf:24
          inet addr:10.0.0.11  Bcast:10.0.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1

brq8ac8c00b-41 Link encap:Ethernet  HWaddr 2e:bd:04:69:cb:f7
          inet addr:10.0.0.11  Bcast:10.0.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:144 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:6048 (6.0 KB)
edit retag flag offensive close merge delete

Comments

The command ip addr add 10.0.0.11 dev brq8ac8c00b-41 fails not because the bridge exists but because the bridge has that address already. I wonder why that is so.

Bernd Bausch gravatar imageBernd Bausch ( 2016-12-17 08:13:19 -0500 )edit

Thank you, this has helped. For some reason it looks like Neutron is trying to add brq8ac8c00b-41 on 10.0.0.11 when my management interface bond0:1 has this IP already configured statically. Is this normal?

elliotp gravatar imageelliotp ( 2016-12-20 06:26:40 -0500 )edit

If I understand this description right, the provider interface should not have a static address to begin with.

Bernd Bausch gravatar imageBernd Bausch ( 2016-12-20 21:31:15 -0500 )edit