← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1662624] [NEW] MySQL Cluster support for Keystone

 

Public bug reported:

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.

** Affects: keystone
     Importance: Undecided
     Assignee: Octave Orgeron (octave-orgeron)
         Status: New

** Changed in: keystone
     Assignee: (unassigned) => Octave Orgeron (octave-orgeron)

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Identity (keystone).
https://bugs.launchpad.net/bugs/1662624

Title:
  MySQL Cluster support for Keystone

Status in OpenStack Identity (keystone):
  New

Bug 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.

To manage notifications about this bug go to:
https://bugs.launchpad.net/keystone/+bug/1662624/+subscriptions