Activity log for bug #1662624

Date Who What changed Old value New value Message
2017-02-07 18:38:15 Octave Orgeron bug added bug
2017-02-07 18:38:29 Octave Orgeron keystone: assignee Octave Orgeron (octave-orgeron)
2017-02-07 19:08:57 Steve Martinelli keystone: importance Undecided Wishlist
2017-02-07 19:09:00 Steve Martinelli keystone: status New Confirmed
2017-02-07 19:21:05 Lance Bragstad tags sql
2017-02-07 21:32:59 Octave Orgeron keystone: status Confirmed In Progress
2017-08-02 20:21:38 Lance Bragstad keystone: status In Progress Triaged
2017-08-02 20:21:38 Lance Bragstad keystone: assignee Octave Orgeron (octave-orgeron)
2017-08-02 20:22:22 Lance Bragstad keystone: status Triaged In Progress
2017-08-02 20:22:47 Lance Bragstad keystone: assignee Octave Orgeron (octave-orgeron)
2017-08-09 17:13:13 Octave Orgeron summary MySQL Cluster support for Keystone Fix foreign key drop and recreation
2017-08-09 17:20:28 Octave Orgeron description There is a new spec and blueprint to add MySQL Cluster (NDB) support to OpenStack services: https://blueprints.launchpad.net/oslo.db/+spec/mysql-cluster-support This bug will be used to track the work for adding NDB support to Keystone. This will entail patching Keystone to support the following: 1. Enable mysql_storage_engine configuration from oslo.db to allow operators to select InnoDB (Default) or NDB for their MySQL storage engine. 2. Patch SQL Alchemy and/or Alembic database migration scripts to have logic to modify table schemas and behavior to fit within the constraints of MySQL Cluster (NDB). For example, change the column size 255 char strings to something smaller for columns that only hold the state of a service component that consumes less than 10 or 20 characters. Or converting large string columns (i.e. over 1024 chars.) to TEXT to reduce the size of the row length. 3. Patch SQL Alchemy and/or Alembic database migration scripts to properly handle the ordering of operations against foreign keys, constraints, and indexes. 4. Patch service components to transparently work with any MySQL Cluster (NDB) changes. This includes database related api.py and model.py files for handling schema modifications or hard-coded use cases or features (savepoints and nested). Based on prior experience patching the Keystone Kilo and Mitaka releases for Oracle Linux OpenStack and Oracle Solaris OpenStack, the impact on Keystone will be minimal and focused on using substitution to replace hard coded "mysql_engine=" statements with a value from cfg.CONF.database.mysql_storage_engine. There are two migration scripts in Keystone that make table changes without dropping and recreating foreign key constraints. This causes problems with portability with other MySQL database types, in particular MySQL Cluster (NDB), which requires strict adherence to ACID model. The two scripts are: 012_contract_add_domain_id_to_idp.py 015_contract_update_federated_user_domain.py This fix follows the methods already in use in Keystone for properly handling the dropping and recreation of foreign keys around table changes which are in: 014_contract_add_domain_id_to_user_table.py 092_make_implied_roles_fks_cascaded.py This fix adds the get_fk_name to the upgrades module, making it available across Keystone. The plan is to eventually add this function to oslo.db and make it available across OpenStack to help with these operations.
2017-10-23 15:08:02 OpenStack Infra keystone: assignee Octave Orgeron (octave-orgeron) Murali (muralilaunchpad)
2018-04-09 20:35:46 Lance Bragstad keystone: assignee Murali Annamneni (murali.annamneni)
2018-04-27 19:22:09 OpenStack Infra keystone: assignee Steve Noyes (steve-noyes)