Revert MySQL Cluster Support until an approach is worked out

The approach merged in
I6e92b6057d319e20706608f984a4e0836eaf6a16 is being revised,
specifically changes to datatypes within the migration file
will no longer work in the way specified.  Either the names
and arguments of the datatypes will change, or the concept of
altering a migration in place will not be used.  In any case,
as this is the only merged patch and I'd like to hopefully
cleanly remove types like
AutoStringText from oslo_db, if this can be reverted before a release
that will give us time to rethink this approach without struggling
with backwards incompatibility.  Similar patches for Nova, Neutron
etc. are all waiting for now.

See also: http://lists.openstack.org/pipermail/openstack-dev/2017-July/120037.html

Change-Id: Ibd1a5c316027a9e5230b3bf06a311b9d089f6b7e
This commit is contained in:
Mike Bayer 2017-07-26 17:54:19 -04:00
parent 0488aa7c22
commit d8b6e97901
3 changed files with 16 additions and 27 deletions

View File

@ -15,7 +15,6 @@
import datetime
from oslo_config import cfg
from oslo_db.sqlalchemy import ndb
from sqlalchemy import Boolean, Column, DateTime, ForeignKey, Index
from sqlalchemy import Integer, MetaData, String, Table, Text, UniqueConstraint
@ -110,14 +109,14 @@ def define_tables(meta):
Column('project_id', String(255)),
Column('host', String(255)),
Column('size', Integer),
Column('availability_zone', ndb.AutoStringTinyText(255)),
Column('status', ndb.AutoStringSize(255, 64)),
Column('attach_status', ndb.AutoStringSize(255, 64)),
Column('availability_zone', String(255)),
Column('status', String(255)),
Column('attach_status', String(255)),
Column('scheduled_at', DateTime),
Column('launched_at', DateTime),
Column('terminated_at', DateTime),
Column('display_name', String(255)),
Column('display_description', ndb.AutoStringTinyText(255)),
Column('display_description', String(255)),
Column('provider_location', String(256)),
Column('provider_auth', String(256)),
Column('snapshot_id', String(36)),
@ -127,10 +126,10 @@ def define_tables(meta):
Column('provider_geometry', String(255)),
Column('_name_id', String(36)),
Column('encryption_key_id', String(36)),
Column('migration_status', ndb.AutoStringSize(255, 64)),
Column('replication_status', ndb.AutoStringSize(255, 64)),
Column('replication_extended_status', ndb.AutoStringTinyText(255)),
Column('replication_driver_data', ndb.AutoStringTinyText(255)),
Column('migration_status', String(255)),
Column('replication_status', String(255)),
Column('replication_extended_status', String(255)),
Column('replication_driver_data', String(255)),
Column('consistencygroup_id', String(36),
ForeignKey('consistencygroups.id')),
Column('provider_id', String(255)),

View File

@ -22,7 +22,6 @@ SQLAlchemy models for cinder data.
from oslo_config import cfg
from oslo_db.sqlalchemy import models
from oslo_db.sqlalchemy import ndb
from oslo_utils import timeutils
from sqlalchemy import and_, func, select
from sqlalchemy import bindparam
@ -265,17 +264,17 @@ class Volume(BASE, CinderBase):
cluster_name = Column(String(255), nullable=True)
host = Column(String(255)) # , ForeignKey('hosts.id'))
size = Column(Integer)
availability_zone = Column(ndb.AutoStringTinyText(255)) # TODO(vish):fkey?
status = Column(ndb.AutoStringSize(255, 64)) # TODO(vish): enum?
attach_status = Column(ndb.AutoStringSize(255, 64)) # TODO(vish): enum
migration_status = Column(ndb.AutoStringSize(255, 64))
availability_zone = Column(String(255)) # TODO(vish): foreign key?
status = Column(String(255)) # TODO(vish): enum?
attach_status = Column(String(255)) # TODO(vish): enum
migration_status = Column(String(255))
scheduled_at = Column(DateTime)
launched_at = Column(DateTime)
terminated_at = Column(DateTime)
display_name = Column(String(255))
display_description = Column(ndb.AutoStringTinyText(255))
display_description = Column(String(255))
provider_location = Column(String(255))
provider_auth = Column(String(255))
@ -292,9 +291,9 @@ class Volume(BASE, CinderBase):
bootable = Column(Boolean, default=False)
multiattach = Column(Boolean, default=False)
replication_status = Column(ndb.AutoStringSize(255, 64))
replication_extended_status = Column(ndb.AutoStringTinyText(255))
replication_driver_data = Column(ndb.AutoStringTinyText(255))
replication_status = Column(String(255))
replication_extended_status = Column(String(255))
replication_driver_data = Column(String(255))
previous_status = Column(String(255))

View File

@ -1,9 +0,0 @@
---
features:
- |
Enabled the usage of MySQL Cluster (NDB) with Cinder. This includes the
usage of the boolean mysql_enable_ndb setting from oslo.db 4.24 and
above. This feature allows operators to select from MySQL (InnoDB) or
MySQL Cluster (NDB) as the database storage engine backend. This feature
is intended only for new installations as there is no automated migration
path from InnoDB to MySQL Cluster (NDB).