Create two roles. Make one imply the other (need curl for now)
$ openstack role delete identity_policy_manager
ERROR: openstack An unexpected error prevented the server from fulfilling your request. (HTTP 500) (Request-ID: req-a2b89f42-ad24-4985-a599-33cc182d8f80)
Looking in the log
Feb 17 14:05:44 ayoung541 admin: 2016-02-17 14:05:44.042 31 ERROR keystone.common.wsgi [req-a2b89f42-ad24-4985-a599-33cc182d8f80 6259462f07a940f19b1ad8d36ee42612 b0fa955539c442cc838067a55605102d - default default] (pymysql.err.IntegrityError) (1451, u'Cannot delete or update a parent row: a foreign key constraint fails (`keystone`.`implied_role`, CONSTRAINT `implied_role_prior_role_id_fkey` FOREIGN KEY (`prior_role_id`) REFERENCES `role` (`id`))') [SQL: u'DELETE FROM role WHERE role.id = %(id)s'] [parameters: {'id': u'142340f53b624665a86641cf13135615'}]
This is supposed to be a cascading delete.
Looks like we need to pay attention to cascading deletion: http:// docs.sqlalchemy .org/en/ latest/ orm/cascades. html