← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1376325] Re: Cannot enable DVR and IPv6 simultaneously

 

** Changed in: neutron
       Status: Fix Committed => Fix Released

** Changed in: neutron
    Milestone: None => kilo-2

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1376325

Title:
  Cannot enable DVR and IPv6 simultaneously

Status in OpenStack Neutron (virtual network service):
  Fix Released

Bug description:
  While testing out the devstack change to support IPv6,
  https://review.openstack.org/#/c/87987/ I tripped-over a DVR error
  since I have it enabled by default in local.conf.

  I have these two things enabled in local.conf:

  Q_DVR_MODE=dvr_snat
  IP_VERSION=4+6

  After locally fixing lib/neutron to teach it about the DVR snat-
  namespace (another bug to be filed for that), stack.sh was able to
  complete, but the l3-agent wasn't very happy:

  Stderr: '' execute /opt/stack/neutron/neutron/agent/linux/utils.py:81
  2014-09-30 12:53:47.511 21778 DEBUG neutron.agent.linux.utils [-] Running command: ['sudo', '/usr/local/bin/neutron-rootwrap', '/etc/neutron/rootwrap.conf', 'ip', 'netns', 'exec', 'qrouter-95b180a4-9623-4ef9-adda-772ca0838253', 'ip', 'rule', 'add', 'from', 'fd00::1/64', 'lookup', '336294682933583715844663186250927177729', 'priority', '336294682933583715844663186250927177729'] create_process /opt/stack/neutron/neutron/agent/linux/utils.py:46
  2014-09-30 12:53:47.641 21778 ERROR neutron.agent.linux.utils [-]
  Command: ['sudo', '/usr/local/bin/neutron-rootwrap', '/etc/neutron/rootwrap.conf', 'ip', 'netns', 'exec', 'qrouter-95b180a4-9623-4ef9-adda-772ca0838253', 'arping', '-A', '-I', 'qr-3d0eda6e-54', '-c', '3', 'fd00::1']
  Exit code: 2
  Stdout: ''
  Stderr: 'arping: unknown host fd00::1\n'
  2014-09-30 12:53:47.643 21778 ERROR neutron.agent.l3_agent [-] Failed sending gratuitous ARP:
  Command: ['sudo', '/usr/local/bin/neutron-rootwrap', '/etc/neutron/rootwrap.conf', 'ip', 'netns', 'exec', 'qrouter-95b180a4-9623-4ef9-adda-772ca0838253', 'arping', '-A', '-I', 'qr-3d0eda6e-54', '-c', '3', 'fd00::1']
  Exit code: 2
  Stdout: ''
  Stderr: 'arping: unknown host fd00::1\n'
  2014-09-30 12:53:48.682 21778 ERROR neutron.agent.linux.utils [-]
  Command: ['sudo', '/usr/local/bin/neutron-rootwrap', '/etc/neutron/rootwrap.conf', 'ip', 'netns', 'exec', 'qrouter-95b180a4-9623-4ef9-adda-772ca0838253', 'ip', 'rule', 'add', 'from', 'fd00::1/64', 'lookup', '336294682933583715844663186250927177729', 'priority', '336294682933583715844663186250927177729']
  Exit code: 255
  Stdout: ''
  Stderr: 'Error: argument "336294682933583715844663186250927177729" is wrong: preference value is invalid\n\n'
  2014-09-30 12:53:48.683 21778 ERROR neutron.agent.l3_agent [-] DVR: error adding redirection logic
  2014-09-30 12:53:48.683 21778 TRACE neutron.agent.l3_agent Traceback (most recent call last):
  2014-09-30 12:53:48.683 21778 TRACE neutron.agent.l3_agent   File "/opt/stack/neutron/neutron/agent/l3_agent.py", line 1443, in _snat_redirect_add
  2014-09-30 12:53:48.683 21778 TRACE neutron.agent.l3_agent     ns_ipr.add_rule_from(sn_port['ip_cidr'], snat_idx, snat_idx)
  2014-09-30 12:53:48.683 21778 TRACE neutron.agent.l3_agent   File "/opt/stack/neutron/neutron/agent/linux/ip_lib.py", line 202, in add_rule_from
  2014-09-30 12:53:48.683 21778 TRACE neutron.agent.l3_agent     ip = self._as_root('', 'rule', tuple(args))
  2014-09-30 12:53:48.683 21778 TRACE neutron.agent.l3_agent   File "/opt/stack/neutron/neutron/agent/linux/ip_lib.py", line 74, in _as_root
  2014-09-30 12:53:48.683 21778 TRACE neutron.agent.l3_agent     log_fail_as_error=self.log_fail_as_error)
  2014-09-30 12:53:48.683 21778 TRACE neutron.agent.l3_agent   File "/opt/stack/neutron/neutron/agent/linux/ip_lib.py", line 86, in _execute
  2014-09-30 12:53:48.683 21778 TRACE neutron.agent.l3_agent     log_fail_as_error=log_fail_as_error)
  2014-09-30 12:53:48.683 21778 TRACE neutron.agent.l3_agent   File "/opt/stack/neutron/neutron/agent/linux/utils.py", line 84, in execute
  2014-09-30 12:53:48.683 21778 TRACE neutron.agent.l3_agent     raise RuntimeError(m)
  2014-09-30 12:53:48.683 21778 TRACE neutron.agent.l3_agent RuntimeError:
  2014-09-30 12:53:48.683 21778 TRACE neutron.agent.l3_agent Command: ['sudo', '/usr/local/bin/neutron-rootwrap', '/etc/neutron/rootwrap.conf', 'ip', 'netns', 'exec', 'qrouter-95b180a4-9623-4ef9-adda-772ca0838253', 'ip', 'rule', 'add', 'from', 'fd00::1/64', 'lookup', '336294682933583715844663186250927177729', 'priority', '336294682933583715844663186250927177729']
  2014-09-30 12:53:48.683 21778 TRACE neutron.agent.l3_agent Exit code: 255
  2014-09-30 12:53:48.683 21778 TRACE neutron.agent.l3_agent Stdout: ''
  2014-09-30 12:53:48.683 21778 TRACE neutron.agent.l3_agent Stderr: 'Error: argument "336294682933583715844663186250927177729" is wrong: preference value is invalid\n\n'

  Ignore the ARP failures, there's already an upstream patch proposed
  for that.

  The fix for now might just be to ignore IPv6 addresses in the SNAT
  code, we can look at optimizations later, but need to get this working
  so we can enable both at the same time.

  There are other errors that this then triggers, so devstack isn't very
  usable until you turn one off.

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1376325/+subscriptions


References