*** This bug is a duplicate of bug 1335023 ***
    https://bugs.launchpad.net/bugs/1335023

Reviewed:  https://review.openstack.org/233287
Committed: 
https://git.openstack.org/cgit/openstack/neutron/commit/?id=b6126bc0f17f348ff6303b9bd6041cb018479ef9
Submitter: Jenkins
Branch:    master

commit b6126bc0f17f348ff6303b9bd6041cb018479ef9
Author: Sreekumar S <sree...@gmail.com>
Date:   Sat Oct 10 03:18:00 2015 +0530

    Fix for adding gateway with IP outside subnet
    
    Currently 'force_gateway_on_subnet' configuration is set to True
    by default and enforces the subnet on to the gateway. With this
    fix 'force_gateway_on_subnet' can be changed to False, and
    gateway outside the subnet can be added.
    Before adding the default route, a route to the gateway IP is
    added. This applies to both external and internal networks.
    
    This configuration option is deprecated, and should be removed
    in a future release. It should always allow gateway outside the
    subnet. This is done as a separate patch
    https://review.openstack.org/#/c/277303/
    
    Change-Id: I3a942cf98d263681802729cf09527f06c80fab2b
    Closes-Bug: #1335023
    Closes-Bug: #1398768


** 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/1398768

Title:
  If we set a gateway outside subnet neutron-l3-agent fails when trying
  to set the route in the virtual router.

Status in neutron:
  Fix Released

Bug description:
  014-11-30 16:25:10.113 8086 TRACE neutron.agent.l3_agent Traceback (most 
recent call last):
  2014-11-30 16:25:10.113 8086 TRACE neutron.agent.l3_agent   File 
"/usr/lib/python2.7/site-packages/neutron/common/utils.py", line 341, in call
  2014-11-30 16:25:10.113 8086 TRACE neutron.agent.l3_agent     return 
func(*args, **kwargs)
  2014-11-30 16:25:10.113 8086 TRACE neutron.agent.l3_agent   File 
"/usr/lib/python2.7/site-packages/neutron/agent/l3_agent.py", line 938, in 
process_router
  2014-11-30 16:25:10.113 8086 TRACE neutron.agent.l3_agent     
self.external_gateway_added(ri, ex_gw_port, interface_name)
  2014-11-30 16:25:10.113 8086 TRACE neutron.agent.l3_agent   File 
"/usr/lib/python2.7/site-packages/neutron/agent/l3_agent.py", line 1318, in 
external_gateway_added
  2014-11-30 16:25:10.113 8086 TRACE neutron.agent.l3_agent     ri.ns_name, 
preserve_ips)
  2014-11-30 16:25:10.113 8086 TRACE neutron.agent.l3_agent   File 
"/usr/lib/python2.7/site-packages/neutron/agent/l3_agent.py", line 1362, in 
_external_gateway_added
  2014-11-30 16:25:10.113 8086 TRACE neutron.agent.l3_agent     
preserve_ips=preserve_ips)
  2014-11-30 16:25:10.113 8086 TRACE neutron.agent.l3_agent   File 
"/usr/lib/python2.7/site-packages/neutron/agent/linux/interface.py", line 120, 
in init_l3
  2014-11-30 16:25:10.113 8086 TRACE neutron.agent.l3_agent     
device.route.add_gateway(gateway)
  2014-11-30 16:25:10.113 8086 TRACE neutron.agent.l3_agent   File 
"/usr/lib/python2.7/site-packages/neutron/agent/linux/ip_lib.py", line 395, in 
add_gateway
  2014-11-30 16:25:10.113 8086 TRACE neutron.agent.l3_agent     
self._as_root(*args)
  2014-11-30 16:25:10.113 8086 TRACE neutron.agent.l3_agent   File 
"/usr/lib/python2.7/site-packages/neutron/agent/linux/ip_lib.py", line 242, in 
_as_root
  2014-11-30 16:25:10.113 8086 TRACE neutron.agent.l3_agent     
kwargs.get('use_root_namespace', False))
  2014-11-30 16:25:10.113 8086 TRACE neutron.agent.l3_agent   File 
"/usr/lib/python2.7/site-packages/neutron/agent/linux/ip_lib.py", line 74, in 
_as_root
  2014-11-30 16:25:10.113 8086 TRACE neutron.agent.l3_agent     
log_fail_as_error=self.log_fail_as_error)
  2014-11-30 16:25:10.113 8086 TRACE neutron.agent.l3_agent   File 
"/usr/lib/python2.7/site-packages/neutron/agent/linux/ip_lib.py", line 86, in 
_execute
  2014-11-30 16:25:10.113 8086 TRACE neutron.agent.l3_agent     
log_fail_as_error=log_fail_as_error)
  2014-11-30 16:25:10.113 8086 TRACE neutron.agent.l3_agent   File 
"/usr/lib/python2.7/site-packages/neutron/agent/linux/utils.py", line 84, in 
execute
  2014-11-30 16:25:10.113 8086 TRACE neutron.agent.l3_agent     raise 
RuntimeError(m)
  2014-11-30 16:25:10.113 8086 TRACE neutron.agent.l3_agent RuntimeError:
  2014-11-30 16:25:10.113 8086 TRACE neutron.agent.l3_agent Command: ['sudo', 
'neutron-rootwrap', '/etc/neutron/rootwrap.conf', 'ip', 'netns', 'exec', 
'qrouter-bcfe22ff-049c-4eb9-9b57-235d903ee52f', 'ip', 'route', 'replace', 
'default', 'via', '37.187.128.254', 'dev', 'qg-eaa2de59-95']
  2014-11-30 16:25:10.113 8086 TRACE neutron.agent.l3_agent Exit code: 2
  2014-11-30 16:25:10.113 8086 TRACE neutron.agent.l3_agent Stdout: ''
  2014-11-30 16:25:10.113 8086 TRACE neutron.agent.l3_agent Stderr: 'RTNETLINK 
answers: Network is unreachable\n'
  2014-11-30 16:25:10.113 8086 TRACE neutron.agent.l3_agent

  
  This happens because we should set an on-link route to the gateway IP
  on the external network interface first.

  Once this works, we can remove the "force_gateway_on_subnet" deprecation,
  to allow this not to be enforced, as it's a valid use case in many data 
centers.

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1398768/+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

Reply via email to