Public bug reported:

When an firewall rule is being removed _rpc_update_firewall is  called
which makes an attempt to get the list of router associated with the
firewall. [1] Passing id instead of firewall_id to
self.get_firewall_routers leads to the following DBError:

2015-07-16 09:39:18.189 ^[[00;32mDEBUG 
neutron_fwaas.db.firewall.firewall_router_insertion_db 
[^[[01;36mreq-4c46e87c-a8c0-4edb-94c9-f1bf63a165cd ^[[00;36madmin 
d824ce1d57644755a6e7e62681c38af3^[[00;32m] 
^[[01;35m^[[00;32mneutron_fwaas.services.firewall.fwaas_plugin.FirewallPlugin 
method get_firewall_routers called with arguments (<neutron.context.Context 
object at 0x7fac41e43ed0>, <built-in function id>) {}^[[00m ^[[00;33mfrom 
(pid=2443) wrapper 
/usr/local/lib/python2.7/dist-packages/oslo_log/helpers.py:45^[[00m
2015-07-16 09:39:18.193 ^[[01;31mERROR oslo_db.sqlalchemy.exc_filters 
[^[[01;36mreq-4c46e87c-a8c0-4edb-94c9-f1bf63a165cd ^[[00;36madmin 
d824ce1d57644755a6e7e62681c38af3^[[01;31m] ^[[01;35m^[[01;31mDB exception 
wrapped.^[[00m
^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00mTraceback (most recent call last):
^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m  File 
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1139, 
in _execute_context
^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m    context)
^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m  File 
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/default.py", line 
450, in do_execute
^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m    cursor.execute(statement, parameters)
^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m  File 
"/usr/local/lib/python2.7/dist-packages/pymysql/cursors.py", line 132, in 
execute
^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m    query = query % self._escape_args(args, conn)
^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m  File 
"/usr/local/lib/python2.7/dist-packages/pymysql/cursors.py", line 98, in 
_escape_args
^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m    return tuple(conn.escape(arg) for arg in args)
^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m  File 
"/usr/local/lib/python2.7/dist-packages/pymysql/cursors.py", line 98, in 
<genexpr>
^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m    return tuple(conn.escape(arg) for arg in args)
^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m  File 
"/usr/local/lib/python2.7/dist-packages/pymysql/connections.py", line 729, in 
escape
^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m    return escape_item(obj, self.charset, mapping=mapping)
^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m  File 
"/usr/local/lib/python2.7/dist-packages/pymysql/converters.py", line 33, in 
escape_item
^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m    val = encoder(val, mapping)
^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m  File 
"/usr/local/lib/python2.7/dist-packages/pymysql/converters.py", line 74, in 
escape_unicode
^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m    return escape_str(value, mapping)
^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m  File 
"/usr/local/lib/python2.7/dist-packages/pymysql/converters.py", line 71, in 
escape_str
^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m    return "'%s'" % escape_string(value, mapping)
^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m  File 
"/usr/local/lib/python2.7/dist-packages/pymysql/converters.py", line 68, in 
escape_string
^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m    lambda match: ESCAPE_MAP.get(match.group(0)), value),))
^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00mTypeError: expected string or buffer
^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m
2015-07-16 09:39:18.205 ^[[01;31mERROR neutron.api.v2.resource 
[^[[01;36mreq-4c46e87c-a8c0-4edb-94c9-f1bf63a165cd ^[[00;36madmin 
d824ce1d57644755a6e7e62681c38af3^[[01;31m] ^[[01;35m^[[01;31mremove_rule 
failed^[[00m

The complete trace can be found here: [2]

[1] 
https://github.com/openstack/neutron-fwaas/blob/master/neutron_fwaas/services/firewall/fwaas_plugin.py#L164-L175
[2] http://paste.openstack.org/show/380339/

** Affects: neutron
     Importance: Undecided
     Assignee: Elena Ezhova (eezhova)
         Status: New


** Tags: fwaas

** Description changed:

  When an firewall rule is being removed _rpc_update_firewall is  called
  which makes an attempt to get the list of router associated with the
- firewall. [1] Passing id instead od firewall_id to
+ firewall. [1] Passing id instead of firewall_id to
  self.get_firewall_routers leads to the following DBError:
  
  2015-07-16 09:39:18.189 ^[[00;32mDEBUG 
neutron_fwaas.db.firewall.firewall_router_insertion_db 
[^[[01;36mreq-4c46e87c-a8c0-4edb-94c9-f1bf63a165cd ^[[00;36madmin 
d824ce1d57644755a6e7e62681c38af3^[[00;32m] 
^[[01;35m^[[00;32mneutron_fwaas.services.firewall.fwaas_plugin.FirewallPlugin 
method get_firewall_routers called with arguments (<neutron.context.Context 
object at 0x7fac41e43ed0>, <built-in function id>) {}^[[00m ^[[00;33mfrom 
(pid=2443) wrapper 
/usr/local/lib/python2.7/dist-packages/oslo_log/helpers.py:45^[[00m
  2015-07-16 09:39:18.193 ^[[01;31mERROR oslo_db.sqlalchemy.exc_filters 
[^[[01;36mreq-4c46e87c-a8c0-4edb-94c9-f1bf63a165cd ^[[00;36madmin 
d824ce1d57644755a6e7e62681c38af3^[[01;31m] ^[[01;35m^[[01;31mDB exception 
wrapped.^[[00m
  ^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00mTraceback (most recent call last):
  ^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m  File 
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1139, 
in _execute_context
  ^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m    context)
  ^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m  File 
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/default.py", line 
450, in do_execute
  ^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m    cursor.execute(statement, parameters)
  ^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m  File 
"/usr/local/lib/python2.7/dist-packages/pymysql/cursors.py", line 132, in 
execute
  ^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m    query = query % self._escape_args(args, conn)
  ^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m  File 
"/usr/local/lib/python2.7/dist-packages/pymysql/cursors.py", line 98, in 
_escape_args
  ^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m    return tuple(conn.escape(arg) for arg in args)
  ^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m  File 
"/usr/local/lib/python2.7/dist-packages/pymysql/cursors.py", line 98, in 
<genexpr>
  ^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m    return tuple(conn.escape(arg) for arg in args)
  ^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m  File 
"/usr/local/lib/python2.7/dist-packages/pymysql/connections.py", line 729, in 
escape
  ^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m    return escape_item(obj, self.charset, mapping=mapping)
  ^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m  File 
"/usr/local/lib/python2.7/dist-packages/pymysql/converters.py", line 33, in 
escape_item
  ^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m    val = encoder(val, mapping)
  ^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m  File 
"/usr/local/lib/python2.7/dist-packages/pymysql/converters.py", line 74, in 
escape_unicode
  ^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m    return escape_str(value, mapping)
  ^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m  File 
"/usr/local/lib/python2.7/dist-packages/pymysql/converters.py", line 71, in 
escape_str
  ^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m    return "'%s'" % escape_string(value, mapping)
  ^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m  File 
"/usr/local/lib/python2.7/dist-packages/pymysql/converters.py", line 68, in 
escape_string
  ^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m    lambda match: ESCAPE_MAP.get(match.group(0)), value),))
  ^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00mTypeError: expected string or buffer
  ^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m
  2015-07-16 09:39:18.205 ^[[01;31mERROR neutron.api.v2.resource 
[^[[01;36mreq-4c46e87c-a8c0-4edb-94c9-f1bf63a165cd ^[[00;36madmin 
d824ce1d57644755a6e7e62681c38af3^[[01;31m] ^[[01;35m^[[01;31mremove_rule 
failed^[[00m
  
  The complete trace can be found here: [2]
  
  [1] 
https://github.com/openstack/neutron-fwaas/blob/master/neutron_fwaas/services/firewall/fwaas_plugin.py#L164-L175
  [2] http://paste.openstack.org/show/380339/

** Changed in: neutron
     Assignee: (unassigned) => Elena Ezhova (eezhova)

** Tags added: fwaas

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

Title:
  Removing rule from policy causes DBError while updating firewall

Status in neutron:
  New

Bug description:
  When an firewall rule is being removed _rpc_update_firewall is  called
  which makes an attempt to get the list of router associated with the
  firewall. [1] Passing id instead of firewall_id to
  self.get_firewall_routers leads to the following DBError:

  2015-07-16 09:39:18.189 ^[[00;32mDEBUG 
neutron_fwaas.db.firewall.firewall_router_insertion_db 
[^[[01;36mreq-4c46e87c-a8c0-4edb-94c9-f1bf63a165cd ^[[00;36madmin 
d824ce1d57644755a6e7e62681c38af3^[[00;32m] 
^[[01;35m^[[00;32mneutron_fwaas.services.firewall.fwaas_plugin.FirewallPlugin 
method get_firewall_routers called with arguments (<neutron.context.Context 
object at 0x7fac41e43ed0>, <built-in function id>) {}^[[00m ^[[00;33mfrom 
(pid=2443) wrapper 
/usr/local/lib/python2.7/dist-packages/oslo_log/helpers.py:45^[[00m
  2015-07-16 09:39:18.193 ^[[01;31mERROR oslo_db.sqlalchemy.exc_filters 
[^[[01;36mreq-4c46e87c-a8c0-4edb-94c9-f1bf63a165cd ^[[00;36madmin 
d824ce1d57644755a6e7e62681c38af3^[[01;31m] ^[[01;35m^[[01;31mDB exception 
wrapped.^[[00m
  ^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00mTraceback (most recent call last):
  ^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m  File 
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1139, 
in _execute_context
  ^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m    context)
  ^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m  File 
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/default.py", line 
450, in do_execute
  ^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m    cursor.execute(statement, parameters)
  ^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m  File 
"/usr/local/lib/python2.7/dist-packages/pymysql/cursors.py", line 132, in 
execute
  ^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m    query = query % self._escape_args(args, conn)
  ^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m  File 
"/usr/local/lib/python2.7/dist-packages/pymysql/cursors.py", line 98, in 
_escape_args
  ^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m    return tuple(conn.escape(arg) for arg in args)
  ^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m  File 
"/usr/local/lib/python2.7/dist-packages/pymysql/cursors.py", line 98, in 
<genexpr>
  ^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m    return tuple(conn.escape(arg) for arg in args)
  ^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m  File 
"/usr/local/lib/python2.7/dist-packages/pymysql/connections.py", line 729, in 
escape
  ^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m    return escape_item(obj, self.charset, mapping=mapping)
  ^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m  File 
"/usr/local/lib/python2.7/dist-packages/pymysql/converters.py", line 33, in 
escape_item
  ^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m    val = encoder(val, mapping)
  ^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m  File 
"/usr/local/lib/python2.7/dist-packages/pymysql/converters.py", line 74, in 
escape_unicode
  ^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m    return escape_str(value, mapping)
  ^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m  File 
"/usr/local/lib/python2.7/dist-packages/pymysql/converters.py", line 71, in 
escape_str
  ^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m    return "'%s'" % escape_string(value, mapping)
  ^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m  File 
"/usr/local/lib/python2.7/dist-packages/pymysql/converters.py", line 68, in 
escape_string
  ^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m    lambda match: ESCAPE_MAP.get(match.group(0)), value),))
  ^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00mTypeError: expected string or buffer
  ^[[01;31m2015-07-16 09:39:18.193 TRACE oslo_db.sqlalchemy.exc_filters 
^[[01;35m^[[00m
  2015-07-16 09:39:18.205 ^[[01;31mERROR neutron.api.v2.resource 
[^[[01;36mreq-4c46e87c-a8c0-4edb-94c9-f1bf63a165cd ^[[00;36madmin 
d824ce1d57644755a6e7e62681c38af3^[[01;31m] ^[[01;35m^[[01;31mremove_rule 
failed^[[00m

  The complete trace can be found here: [2]

  [1] 
https://github.com/openstack/neutron-fwaas/blob/master/neutron_fwaas/services/firewall/fwaas_plugin.py#L164-L175
  [2] http://paste.openstack.org/show/380339/

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