[openstack-dev] [neutron] iptables routes are not being injected to router namespace

Brian Haley brian.haley at hp.com
Thu Jan 22 21:57:41 UTC 2015


On 01/22/2015 02:35 PM, Kevin Benton wrote:
> Right, there are two bugs here. One is in whatever went wrong with defer_apply
> and one is with this exception handling code. I would allow the fix to go in for
> the exception handling and then file another bug for the actual underlying
> defer_apply bug.

What went wrong with defer_apply() was caused by oslo.concurrency - version
1.4.1 seems to fix the problem, see https://review.openstack.org/#/c/149400/
(thanks Ihar!)

Xavier - can you update your oslo.concurrency to that version and verify it
helps?  It seems to work in my config.

Then the change in the other patchset could be applied, along with a test that
triggers exceptions so this gets caught.

Thanks,

-Brian

> On Thu, Jan 22, 2015 at 10:32 AM, Brian Haley <brian.haley at hp.com
> <mailto:brian.haley at hp.com>> wrote:
> 
>     On 01/22/2015 01:06 PM, Kevin Benton wrote:
>     > There was a bug for this already.
>     > https://bugs.launchpad.net/bugs/1413111
> 
>     Thanks Kevin.  I added more info to it, but don't think the patch proposed there
>     is correct.  Something in the iptables manager defer_apply() code isn't
>     quite right.
> 
>     -Brian
> 
> 
>     > On Thu, Jan 22, 2015 at 9:07 AM, Brian Haley <brian.haley at hp.com <mailto:brian.haley at hp.com>
>     > <mailto:brian.haley at hp.com <mailto:brian.haley at hp.com>>> wrote:
>     >
>     >     On 01/22/2015 10:17 AM, Carl Baldwin wrote:
>     >     > I think this warrants a bug report.  Could you file one with what you
>     >     > know so far?
>     >
>     >     Carl,
>     >
>     >     Seems as though a recent change introduced a bug.  This is on a devstack
>     >     I just created today, at l3/vpn-agent startup:
>     >
>     >     2015-01-22 11:55:07.961 4203 TRACE neutron.agent.l3.agent Traceback (most
>     >     recent call last):
>     >     2015-01-22 11:55:07.961 4203 TRACE neutron.agent.l3.agent   File
>     >     "/opt/stack/neutron/neutron/common/utils.py", line 342, in call
>     >     2015-01-22 11:55:07.961 4203 TRACE neutron.agent.l3.agent     return
>     >     func(*args, **kwargs)
>     >     2015-01-22 11:55:07.961 4203 TRACE neutron.agent.l3.agent   File
>     >     "/opt/stack/neutron/neutron/agent/l3/agent.py", line 584, in
>     process_router
>     >     2015-01-22 11:55:07.961 4203 TRACE neutron.agent.l3.agent
>     >      self._process_external(ri)
>     >     2015-01-22 11:55:07.961 4203 TRACE neutron.agent.l3.agent   File
>     >     "/opt/stack/neutron/neutron/agent/l3/agent.py", line 576, in
>     _process_external
>     >     2015-01-22 11:55:07.961 4203 TRACE neutron.agent.l3.agent
>     >      self._update_fip_statuses(ri, existing_floating_ips, fip_statuses)
>     >     2015-01-22 11:55:07.961 4203 TRACE neutron.agent.l3.agent
>     UnboundLocalError:
>     >     local variable 'existing_floating_ips' referenced before assignment
>     >     2015-01-22 11:55:07.961 4203 TRACE neutron.agent.l3.agent
>     >     Traceback (most recent call last):
>     >       File "/usr/local/lib/python2.7/dist-packages/eventlet/greenpool.py",
>     line
>     >     82, in _spawn_n_impl
>     >         func(*args, **kwargs)
>     >       File "/opt/stack/neutron/neutron/agent/l3/agent.py", line 1093, in
>     >     _process_router_update
>     >         self._process_router_if_compatible(router)
>     >       File "/opt/stack/neutron/neutron/agent/l3/agent.py", line 1047, in
>     >     _process_router_if_compatible
>     >         self._process_added_router(router)
>     >       File "/opt/stack/neutron/neutron/agent/l3/agent.py", line 1056, in
>     >     _process_added_router
>     >         self.process_router(ri)
>     >       File "/opt/stack/neutron/neutron/common/utils.py", line 345, in call
>     >         self.logger(e)
>     >       File
>     "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line
>     >     82, in __exit__
>     >         six.reraise(self.type_, self.value, self.tb)
>     >       File "/opt/stack/neutron/neutron/common/utils.py", line 342, in call
>     >         return func(*args, **kwargs)
>     >       File "/opt/stack/neutron/neutron/agent/l3/agent.py", line 584, in
>     >     process_router
>     >         self._process_external(ri)
>     >       File "/opt/stack/neutron/neutron/agent/l3/agent.py", line 576, in
>     >     _process_external
>     >         self._update_fip_statuses(ri, existing_floating_ips, fip_statuses)
>     >     UnboundLocalError: local variable 'existing_floating_ips' referenced
>     before
>     >     assignment
>     >
>     >     Since that's happening while we're holding the iptables lock I'm assuming
>     >     no rules are being applied.
>     >
>     >     I'm looking into it now, will file a bug if there isn't already one.
>     >
>     >     -Brian
> 
> 
>     __________________________________________________________________________
>     OpenStack Development Mailing List (not for usage questions)
>     Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
>     <http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe>
>     http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> 
> 
> 
> 
> -- 
> Kevin Benton
> 
> 
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> 




More information about the OpenStack-dev mailing list