arping for floating IPs fail on newer kernels
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
neutron |
Fix Released
|
Medium
|
Brian Haley |
Bug Description
The code to send gratuitous ARPs changed in Liberty to be simpler because we started setting the sysctl net.ipv4.
This is an example when run by hand:
$ sudo ip netns exec fip-311e3d4a-
bind: Cannot assign requested address
Failing to get that ARP out can affect connectivity to the floating IP.
In order to support either kernel, the code should change to try setting it in the namespace, and if it fails, then set it in the root namespace.
This is backport potential to stable/liberty.
Changed in neutron: | |
assignee: | nobody → Brian Haley (brian-haley) |
Changed in neutron: | |
assignee: | Brian Haley (brian-haley) → Ryan Moats (rmoats) |
status: | New → In Progress |
Changed in neutron: | |
assignee: | Ryan Moats (rmoats) → Brian Haley (brian-haley) |
tags: | removed: kilo-backport-potential liberty-backport-potential |
Changed in neutron: | |
status: | Fix Committed → Fix Released |
To flesh out Brian's description, one can check whether this sysctl attribute is around via something like the following:
administrator@ mn-compute- 1:/opt/ stack/logs$ sysctl net.ipv4. ip_nonlocal_ bind ip_nonlocal_ bind = 1 mn-compute- 1:/opt/ stack/logs$ ip netns list 00ec-46cc- 9928-dbc1a2fe3f 9a f5519abb- 0a8b-4598- bdde-9f20c10500 11 mn-compute- 1:/opt/ stack/logs$ sudo ip netns exec fip-311e3d4a- 00ec-46cc- 9928-dbc1a2fe3f 9a sysctl net.ipv4. ip_nonlocal_ bind ip_nonlocal_ bind = 0 mn-compute- 1:/opt/ stack/logs$
net.ipv4.
administrator@
fip-311e3d4a-
qrouter-
administrator@
net.ipv4.
administrator@