yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #43623
[Bug 1520618] Re: lb agent: dhcp tap not plugged in bridge with vlan setup
Reviewed: https://review.openstack.org/253067
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=cac2436f298491dbca2c932c80bdf3a64ac39ee6
Submitter: Jenkins
Branch: master
commit cac2436f298491dbca2c932c80bdf3a64ac39ee6
Author: Andreas Scheuring <andreas.scheuring@xxxxxxxxxx>
Date: Thu Dec 3 14:54:39 2015 +0100
Correct return values for bridge sysctl calls
This fixes an issue where the lb agent did not plug the
dhcp tap device into the bridge when having vlan networking
set up. Caused by setting of disable_ipv6 value.
Closes-Bug: #1520618
Change-Id: I0d21fad3a676d1fdd30501ea6a295f1e9b207a3a
Co-Authored-By: Brian Haley <brian.haley@xxxxxxx>
** Changed in: neutron
Status: In Progress => Fix Released
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1520618
Title:
lb agent: dhcp tap not plugged in bridge with vlan setup
Status in neutron:
Fix Released
Bug description:
Commit [1] disables ipv6 on linuxbridges. On my linuxbridge vlan
system, this fix causes the code ensure_bridge() to return too early
without passing the bridge_name back.
The introduced method returns the output of the systcl -w call
+ def disable_ipv6(self):
+ cmd = 'net.ipv6.conf.%s.disable_ipv6=1' % self.name
+ return self._sysctl([cmd])
The sysctl always outputs the config that has been set (at least on my ubuntu):
# sudo sysctl -w net.ipv6.conf.brq1192ca0d-a3.disable_ipv6=1
net.ipv6.conf.brq1192ca0d-a3.disable_ipv6 = 1
The check that has been introduced assumes that on successful executing, nothing (or return code 0) is returned - but the command always returns something!
+ if bridge_device.disable_ipv6():
+ return
The result is, that the tap device of the dhcp server is not plugged
into the bridge but instead still loosely hanging around.
Log from a lb tempest run [1]. after the sysctl command is executed, the method returns (the follow on call that sets the bridge up is missing):
2015-11-26 14:45:36.283 DEBUG neutron.agent.linux.utils [req-0655a18f-ce22-445c-834b-96ba4c91ae6e None None] Exit code: 0 execute /opt/stack/new/neutron/neutron/agent/linux/utils.py:142
2015-11-26 14:45:36.284 DEBUG neutron.agent.linux.utils [req-0655a18f-ce22-445c-834b-96ba4c91ae6e None None] Running command (rootwrap daemon): ['sysctl', '-w', 'net.ipv6.conf.brq66379423-07.disable_ipv6=1'] execute_rootwrap_daemon /opt/stack/new/neutron/neutron/agent/linux/utils.py:100
2015-11-26 14:45:36.286 DEBUG neutron.agent.linux.utils [req-0655a18f-ce22-445c-834b-96ba4c91ae6e None None] Exit code: 0 execute /opt/stack/new/neutron/neutron/agent/linux/utils.py:142
2015-11-26 14:45:36.286 DEBUG neutron.agent.linux.utils [req-0655a18f-ce22-445c-834b-96ba4c91ae6e None None] Running command: ['ip', '-o', 'link', 'show', 'vxlan-1009'] create_process /opt/stack/new/neutron/neutron/agent/linux/utils.py:84
2015-11-26 14:45:36.294 DEBUG neutron.agent.linux.utils [req-0655a18f-ce22-445c-834b-96ba4c91ae6e None None] Exit code: 0 execute /opt/stack/new/neutron/neutron/agent/linux/utils.py:142
2015-11-26 14:45:36.295 DEBUG neutron.agent.linux.utils [req-0655a18f-ce22-445c-834b-96ba4c91ae6e None None] Running command (rootwrap daemon): ['ip', 'link', 'set', 'tap35e6a6a9-ef', 'mtu', '1450'] execute_rootwrap_daemon
[1] https://review.openstack.org/#/c/241076/
[2] http://logs.openstack.org/85/193485/21/check/gate-tempest-dsvm-neutron-linuxbridge/7341e9a/logs/screen-q-agt.txt.gz
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1520618/+subscriptions
References