From d8b6e97901168093214d2e2edc119e9b125f9343 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Wed, 26 Jul 2017 17:54:19 -0400 Subject: [PATCH] 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 --- .../migrate_repo/versions/073_cinder_init.py | 17 ++++++++--------- cinder/db/sqlalchemy/models.py | 17 ++++++++--------- ...-mysql-cluster-support-99012d96e029223a.yaml | 9 --------- 3 files changed, 16 insertions(+), 27 deletions(-) delete mode 100644 releasenotes/notes/bug-1564110-enables-mysql-cluster-support-99012d96e029223a.yaml diff --git a/cinder/db/sqlalchemy/migrate_repo/versions/073_cinder_init.py b/cinder/db/sqlalchemy/migrate_repo/versions/073_cinder_init.py index f0bcb9b995f..d5ca7918929 100644 --- a/cinder/db/sqlalchemy/migrate_repo/versions/073_cinder_init.py +++ b/cinder/db/sqlalchemy/migrate_repo/versions/073_cinder_init.py @@ -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)), diff --git a/cinder/db/sqlalchemy/models.py b/cinder/db/sqlalchemy/models.py index 854aa8f3c40..1d1f2ab035f 100644 --- a/cinder/db/sqlalchemy/models.py +++ b/cinder/db/sqlalchemy/models.py @@ -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)) diff --git a/releasenotes/notes/bug-1564110-enables-mysql-cluster-support-99012d96e029223a.yaml b/releasenotes/notes/bug-1564110-enables-mysql-cluster-support-99012d96e029223a.yaml deleted file mode 100644 index f09b7b0af3b..00000000000 --- a/releasenotes/notes/bug-1564110-enables-mysql-cluster-support-99012d96e029223a.yaml +++ /dev/null @@ -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).