Bug 1085703 - Can't delete group which is mentioned in an access policy
Summary: Can't delete group which is mentioned in an access policy
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Beaker
Classification: Retired
Component: web UI
Version: 0.16
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: 0.17
Assignee: Amit Saha
QA Contact: tools-bugs
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-04-09 07:40 UTC by xjia
Modified: 2018-02-06 00:41 UTC (History)
7 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2014-06-10 23:27:52 UTC
Embargoed:


Attachments (Terms of Use)

Description xjia 2014-04-09 07:40:33 UTC
Description of problem:
Can't delete group which is mentioned in an access policy. It could be regress in 0.15

Version-Release number of selected component (if applicable):
0.16.1

How reproducible:
100%

Steps to Reproduce:
1.Create a group
2.Configure access policy on one system with this group
3.On group page, delete this group

Actual results:
ISE 500

Expected results:
This group can be deleted, and access policy configured with this group is deleted too.

Additional info:
Apr  9 07:19:30 beaker-devel beaker-server[7982]: bkr.server ERROR Exception on /groups/remove [POST]
Apr  9 07:19:30 beaker-devel beaker-server[7982]:  Traceback (most recent call last):
Apr  9 07:19:30 beaker-devel beaker-server[7982]:    File "/usr/lib/python2.6/site-packages/flask/app.py", line 1817, in wsgi_app
Apr  9 07:19:30 beaker-devel beaker-server[7982]:      response = self.full_dispatch_request()
Apr  9 07:19:30 beaker-devel beaker-server[7982]:    File "/usr/lib/python2.6/site-packages/flask/app.py", line 1479, in full_dispatch_request
Apr  9 07:19:30 beaker-devel beaker-server[7982]:      response = self.process_response(response)
Apr  9 07:19:30 beaker-devel beaker-server[7982]:    File "/usr/lib/python2.6/site-packages/flask/app.py", line 1691, in process_response
Apr  9 07:19:30 beaker-devel beaker-server[7982]:      response = handler(response)
Apr  9 07:19:30 beaker-devel beaker-server[7982]:    File "/usr/lib/python2.6/site-packages/bkr/server/wsgi.py", line 106, in commit_or_rollback_session
Apr  9 07:19:30 beaker-devel beaker-server[7982]:      session.commit()
Apr  9 07:19:30 beaker-devel beaker-server[7982]:    File "/usr/lib64/python2.6/site-packages/sqlalchemy/orm/scoping.py", line 139, in do
Apr  9 07:19:30 beaker-devel beaker-server[7982]:      return getattr(self.registry(), name)(*args, **kwargs)
Apr  9 07:19:30 beaker-devel beaker-server[7982]:    File "/usr/lib64/python2.6/site-packages/sqlalchemy/orm/session.py", line 614, in commit
Apr  9 07:19:30 beaker-devel beaker-server[7982]:      self.transaction.commit()
Apr  9 07:19:30 beaker-devel beaker-server[7982]:    File "/usr/lib64/python2.6/site-packages/sqlalchemy/orm/session.py", line 385, in commit
Apr  9 07:19:30 beaker-devel beaker-server[7982]:      self._prepare_impl()
Apr  9 07:19:30 beaker-devel beaker-server[7982]:    File "/usr/lib64/python2.6/site-packages/sqlalchemy/orm/session.py", line 369, in _prepare_impl
Apr  9 07:19:30 beaker-devel beaker-server[7982]:      self.session.flush()
Apr  9 07:19:30 beaker-devel beaker-server[7982]:    File "/usr/lib64/python2.6/site-packages/sqlalchemy/orm/session.py", line 1400, in flush
Apr  9 07:19:30 beaker-devel beaker-server[7982]:      self._flush(objects)
Apr  9 07:19:30 beaker-devel beaker-server[7982]:    File "/usr/lib64/python2.6/site-packages/sqlalchemy/orm/session.py", line 1481, in _flush
Apr  9 07:19:30 beaker-devel beaker-server[7982]:      flush_context.execute()
Apr  9 07:19:30 beaker-devel beaker-server[7982]:    File "/usr/lib64/python2.6/site-packages/sqlalchemy/orm/unitofwork.py", line 302, in execute
Apr  9 07:19:30 beaker-devel beaker-server[7982]:      rec.execute(self)
Apr  9 07:19:30 beaker-devel beaker-server[7982]:    File "/usr/lib64/python2.6/site-packages/sqlalchemy/orm/unitofwork.py", line 469, in execute
Apr  9 07:19:30 beaker-devel beaker-server[7982]:      uow
Apr  9 07:19:30 beaker-devel beaker-server[7982]:    File "/usr/lib64/python2.6/site-packages/sqlalchemy/orm/mapper.py", line 2092, in _delete_obj
Apr  9 07:19:30 beaker-devel beaker-server[7982]:      c = connection.execute(statement, del_objects)
Apr  9 07:19:30 beaker-devel beaker-server[7982]:    File "/usr/lib64/python2.6/site-packages/sqlalchemy/engine/base.py", line 1191, in execute
Apr  9 07:19:30 beaker-devel beaker-server[7982]:      params)
Apr  9 07:19:30 beaker-devel beaker-server[7982]:    File "/usr/lib64/python2.6/site-packages/sqlalchemy/engine/base.py", line 1271, in _execute_clauseelement
Apr  9 07:19:30 beaker-devel beaker-server[7982]:      return self.__execute_context(context)
Apr  9 07:19:30 beaker-devel beaker-server[7982]:    File "/usr/lib64/python2.6/site-packages/sqlalchemy/engine/base.py", line 1302, in __execute_context
Apr  9 07:19:30 beaker-devel beaker-server[7982]:      context.parameters[0], context=context)
Apr  9 07:19:30 beaker-devel beaker-server[7982]:    File "/usr/lib64/python2.6/site-packages/sqlalchemy/engine/base.py", line 1401, in _cursor_execute
Apr  9 07:19:30 beaker-devel beaker-server[7982]:      context)
Apr  9 07:19:30 beaker-devel beaker-server[7982]:    File "/usr/lib64/python2.6/site-packages/sqlalchemy/engine/base.py", line 1394, in _cursor_execute
Apr  9 07:19:30 beaker-devel beaker-server[7982]:      context)
Apr  9 07:19:30 beaker-devel beaker-server[7982]:    File "/usr/lib64/python2.6/site-packages/sqlalchemy/engine/default.py", line 299, in do_execute
Apr  9 07:19:30 beaker-devel beaker-server[7982]:      cursor.execute(statement, parameters)
Apr  9 07:19:30 beaker-devel beaker-server[7982]:    File "/usr/lib64/python2.6/site-packages/MySQLdb/cursors.py", line 173, in execute
Apr  9 07:19:30 beaker-devel beaker-server[7982]:      self.errorhandler(self, exc, value)
Apr  9 07:19:30 beaker-devel beaker-server[7982]:    File "/usr/lib64/python2.6/site-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
Apr  9 07:19:30 beaker-devel beaker-server[7982]:      raise errorclass, errorvalue
Apr  9 07:19:30 beaker-devel beaker-server[7982]:  IntegrityError: (IntegrityError) (1451, 'Cannot delete or update a parent row: a foreign key constraint fails (`beaker_devel`.`system_access_policy_rule`, CONSTRAINT `system_access_policy_rule_group_id_fk` FOREIGN KEY (`group_id`) REFERENCES `tg_group` (`group_id`))') 'DELETE FROM tg_group WHERE tg_group.group_id = %s' (166L,)

Comment 2 Amit Saha 2014-04-09 09:41:28 UTC
http://gerrit.beaker-project.org/#/c/3013/

Comment 3 Amit Saha 2014-04-28 03:55:49 UTC
Moving this to 0.16.3: http://gerrit.beaker-project.org/#/c/3041/

Comment 6 Dan Callaghan 2014-06-02 04:39:50 UTC
This bug fix has been applied to the release-0.16 branch, however we have elected not to do another maintenance release of the 0.16.x series. This fix will be included in 0.17.0 instead.

Comment 7 Dan Callaghan 2014-06-10 23:27:52 UTC
Beaker 0.17.0 has been released.


Note You need to log in before you can comment on or make changes to this bug.