← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1862836] Re: neutron-fwaas Percona-XtraDB-Cluster prohibits use of DML command on a table (neutron.firewall_group_port_associations_v2) without an explicit primary key with pxc_strict_mode = ENFORCING or MASTER'

 

This error is similar to the one reported in Octavia
https://bugs.launchpad.net/ubuntu/+source/octavia/+bug/1826875 , but in
the case of neutron the table firewall_group_port_associations_v2 has a
primary key defined:

firewall_group_port_associations_v2 | CREATE TABLE `firewall_group_port_associations_v2` (
  `firewall_group_id` varchar(36) NOT NULL,
  `port_id` varchar(36) NOT NULL,
  PRIMARY KEY (`firewall_group_id`,`port_id`),
  UNIQUE KEY `uniq_firewallgroupportassociation0port_id` (`port_id`),
  CONSTRAINT `firewall_group_port_associations_v2_ibfk_1` FOREIGN KEY (`firewall_group_id`) REFERENCES `firewall_groups_v2` (`id`) ON DELETE CASCADE,
  CONSTRAINT `firewall_group_port_associations_v2_ibfk_2` FOREIGN KEY (`port_id`) REFERENCES `ports` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8

** Tags added: sts

** Description changed:

- When trying to delete a heat stack because neutron-server couldn't
- update firewall groups, the stack trace found in the logs is:
+ When trying to delete a heat stack in Stein fails, because neutron-
+ server couldn't update firewall groups, the stack trace found in the
+ logs is:
  
  2020-02-11 13:14:21.356 1998511 ERROR neutron_lib.callbacks.manager Traceback (most recent call last):
  2020-02-11 13:14:21.356 1998511 ERROR neutron_lib.callbacks.manager   File "/usr/lib/python3/dist-packages/neutron_lib/callbacks/manager.py", line 197, in _notify_loop
  2020-02-11 13:14:21.356 1998511 ERROR neutron_lib.callbacks.manager     callback(resource, event, trigger, **kwargs)
  2020-02-11 13:14:21.356 1998511 ERROR neutron_lib.callbacks.manager   File "/usr/lib/python3/dist-packages/neutron_fwaas/services/firewall/fwaas_plugin_v2.py", line 307, in handle_update_port
  2020-02-11 13:14:21.356 1998511 ERROR neutron_lib.callbacks.manager     {'firewall_group': {'ports': port_ids}})
  2020-02-11 13:14:21.356 1998511 ERROR neutron_lib.callbacks.manager   File "/usr/lib/python3/dist-packages/oslo_log/helpers.py", line 67, in wrapper
  2020-02-11 13:14:21.356 1998511 ERROR neutron_lib.callbacks.manager     return method(*args, **kwargs)
  2020-02-11 13:14:21.356 1998511 ERROR neutron_lib.callbacks.manager   File "/usr/lib/python3/dist-packages/neutron_fwaas/services/firewall/fwaas_plugin_v2.py", line 369, in update_firewall_group
  2020-02-11 13:14:21.356 1998511 ERROR neutron_lib.callbacks.manager     return self.driver.update_firewall_group(context, id, firewall_group)
  2020-02-11 13:14:21.356 1998511 ERROR neutron_lib.callbacks.manager   File "/usr/lib/python3/dist-packages/neutron_fwaas/services/firewall/service_drivers/driver_api.py", line 211, in update_firewall_group
  2020-02-11 13:14:21.356 1998511 ERROR neutron_lib.callbacks.manager     context, id, firewall_group_delta)
  2020-02-11 13:14:21.356 1998511 ERROR neutron_lib.callbacks.manager   File "/usr/lib/python3/dist-packages/neutron_fwaas/db/firewall/v2/firewall_db_v2.py", line 981, in update_firewall_group
  2020-02-11 13:14:21.356 1998511 ERROR neutron_lib.callbacks.manager     self._delete_ports_in_firewall_group(context, id)
  2020-02-11 13:14:21.356 1998511 ERROR neutron_lib.callbacks.manager   File "/usr/lib/python3/dist-packages/neutron_fwaas/db/firewall/v2/firewall_db_v2.py", line 832, in _delete_ports_in_firewall_group
  2020-02-11 13:14:21.356 1998511 ERROR neutron_lib.callbacks.manager     firewall_group_id=firewall_group_id).delete()
  [...]
  2020-02-11 13:14:21.356 1998511 ERROR neutron_lib.callbacks.manager   File "/usr/lib/python3/dist-packages/pymysql/err.py", line 107, in raise_mysql_exception
  2020-02-11 13:14:21.356 1998511 ERROR neutron_lib.callbacks.manager     raise errorclass(errno, errval)
  2020-02-11 13:14:21.356 1998511 ERROR neutron_lib.callbacks.manager oslo_db.exception.DBError: (pymysql.err.InternalError) (1105, 'Percona-XtraDB-Cluster prohibits use of DML command on a table (neutron.firewall_group_port_associations_v2) without an explicit primary key with pxc_strict_mode = ENFORCING or MASTER') [SQL: 'DELETE FROM firewall_group_port_associations_v2 WHERE firewall_group_port_associations_v2.firewall_group_id = %(firewall_group_id_1)s'] [parameters: {'firewall_group_id_1': '8da85bcb-1e1d-4d5a-b508-25c1d4c85d50'}] (Background on this error at: http://sqlalche.me/e/2j85)
  2020-02-11 13:14:21.356 1998511 ERROR neutron_lib.callbacks.manager

** Also affects: neutron (Ubuntu)
   Importance: Undecided
       Status: New

** No longer affects: neutron (Ubuntu)

** Also affects: neutron-fwaas (Ubuntu)
   Importance: Undecided
       Status: New

** Also affects: cloud-archive
   Importance: Undecided
       Status: New

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

Title:
  neutron-fwaas Percona-XtraDB-Cluster prohibits use of DML command on a
  table (neutron.firewall_group_port_associations_v2) without an
  explicit primary key with pxc_strict_mode = ENFORCING or MASTER'

Status in Ubuntu Cloud Archive:
  New
Status in neutron:
  New
Status in neutron-fwaas package in Ubuntu:
  New

Bug description:
  When trying to delete a heat stack in Stein fails, because neutron-
  server couldn't update firewall groups, the stack trace found in the
  logs is:

  2020-02-11 13:14:21.356 1998511 ERROR neutron_lib.callbacks.manager Traceback (most recent call last):
  2020-02-11 13:14:21.356 1998511 ERROR neutron_lib.callbacks.manager   File "/usr/lib/python3/dist-packages/neutron_lib/callbacks/manager.py", line 197, in _notify_loop
  2020-02-11 13:14:21.356 1998511 ERROR neutron_lib.callbacks.manager     callback(resource, event, trigger, **kwargs)
  2020-02-11 13:14:21.356 1998511 ERROR neutron_lib.callbacks.manager   File "/usr/lib/python3/dist-packages/neutron_fwaas/services/firewall/fwaas_plugin_v2.py", line 307, in handle_update_port
  2020-02-11 13:14:21.356 1998511 ERROR neutron_lib.callbacks.manager     {'firewall_group': {'ports': port_ids}})
  2020-02-11 13:14:21.356 1998511 ERROR neutron_lib.callbacks.manager   File "/usr/lib/python3/dist-packages/oslo_log/helpers.py", line 67, in wrapper
  2020-02-11 13:14:21.356 1998511 ERROR neutron_lib.callbacks.manager     return method(*args, **kwargs)
  2020-02-11 13:14:21.356 1998511 ERROR neutron_lib.callbacks.manager   File "/usr/lib/python3/dist-packages/neutron_fwaas/services/firewall/fwaas_plugin_v2.py", line 369, in update_firewall_group
  2020-02-11 13:14:21.356 1998511 ERROR neutron_lib.callbacks.manager     return self.driver.update_firewall_group(context, id, firewall_group)
  2020-02-11 13:14:21.356 1998511 ERROR neutron_lib.callbacks.manager   File "/usr/lib/python3/dist-packages/neutron_fwaas/services/firewall/service_drivers/driver_api.py", line 211, in update_firewall_group
  2020-02-11 13:14:21.356 1998511 ERROR neutron_lib.callbacks.manager     context, id, firewall_group_delta)
  2020-02-11 13:14:21.356 1998511 ERROR neutron_lib.callbacks.manager   File "/usr/lib/python3/dist-packages/neutron_fwaas/db/firewall/v2/firewall_db_v2.py", line 981, in update_firewall_group
  2020-02-11 13:14:21.356 1998511 ERROR neutron_lib.callbacks.manager     self._delete_ports_in_firewall_group(context, id)
  2020-02-11 13:14:21.356 1998511 ERROR neutron_lib.callbacks.manager   File "/usr/lib/python3/dist-packages/neutron_fwaas/db/firewall/v2/firewall_db_v2.py", line 832, in _delete_ports_in_firewall_group
  2020-02-11 13:14:21.356 1998511 ERROR neutron_lib.callbacks.manager     firewall_group_id=firewall_group_id).delete()
  [...]
  2020-02-11 13:14:21.356 1998511 ERROR neutron_lib.callbacks.manager   File "/usr/lib/python3/dist-packages/pymysql/err.py", line 107, in raise_mysql_exception
  2020-02-11 13:14:21.356 1998511 ERROR neutron_lib.callbacks.manager     raise errorclass(errno, errval)
  2020-02-11 13:14:21.356 1998511 ERROR neutron_lib.callbacks.manager oslo_db.exception.DBError: (pymysql.err.InternalError) (1105, 'Percona-XtraDB-Cluster prohibits use of DML command on a table (neutron.firewall_group_port_associations_v2) without an explicit primary key with pxc_strict_mode = ENFORCING or MASTER') [SQL: 'DELETE FROM firewall_group_port_associations_v2 WHERE firewall_group_port_associations_v2.firewall_group_id = %(firewall_group_id_1)s'] [parameters: {'firewall_group_id_1': '8da85bcb-1e1d-4d5a-b508-25c1d4c85d50'}] (Background on this error at: http://sqlalche.me/e/2j85)
  2020-02-11 13:14:21.356 1998511 ERROR neutron_lib.callbacks.manager

To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-archive/+bug/1862836/+subscriptions


References