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.scheur...@de.ibm.com> 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.ha...@hpe.com> ** 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 -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp