Force MySQL to use InnoDB/utf8
When using Ceilometer without InnoDB you'll get an exception in migration 10: Specified key was too long; max key length is 1000 bytes') 'CREATE INDEX idx_meter_rid_cname ON meter (resource_id, counter_name)' With most OpenStack projects we avoid editing old (historical) migrations but I think the use case is slightly different with Ceilometer and MySQL users could probably recreate their database from scratch if they hit this error. As such in this commit we upgrade the initial table scripts in 001 so that users of older MySQL versions where InnoDB isn't the default (version 5.1 etc.) can have a working Ceilometer out of the box. Fixes LP Bug #1217802. Change-Id: Ie2c2ae2d3b7a5575b02fe8c3cb148aa2e9624c62
This commit is contained in:
parent
90a556ef33
commit
a4ee934b8d
@ -38,7 +38,9 @@ meter = Table(
|
||||
Column('counter_duration', Integer),
|
||||
Column('timestamp', DateTime(timezone=False), index=True),
|
||||
Column('message_signature', String(1000)),
|
||||
Column('message_id', String(1000))
|
||||
Column('message_id', String(1000)),
|
||||
mysql_engine='InnoDB',
|
||||
mysql_charset='utf8',
|
||||
)
|
||||
|
||||
resource = Table(
|
||||
@ -48,17 +50,23 @@ resource = Table(
|
||||
Column('project_id', String(255), index=True),
|
||||
Column('received_timestamp', DateTime(timezone=False)),
|
||||
Column('timestamp', DateTime(timezone=False), index=True),
|
||||
Column('user_id', String(255), index=True)
|
||||
Column('user_id', String(255), index=True),
|
||||
mysql_engine='InnoDB',
|
||||
mysql_charset='utf8',
|
||||
)
|
||||
|
||||
user = Table(
|
||||
'user', meta,
|
||||
Column('id', String(255), primary_key=True, index=True),
|
||||
mysql_engine='InnoDB',
|
||||
mysql_charset='utf8',
|
||||
)
|
||||
|
||||
project = Table(
|
||||
'project', meta,
|
||||
Column('id', String(255), primary_key=True, index=True),
|
||||
mysql_engine='InnoDB',
|
||||
mysql_charset='utf8',
|
||||
)
|
||||
|
||||
sourceassoc = Table(
|
||||
@ -71,13 +79,17 @@ sourceassoc = Table(
|
||||
Index('idx_su', 'source_id', 'user_id'),
|
||||
Index('idx_sp', 'source_id', 'project_id'),
|
||||
Index('idx_sr', 'source_id', 'resource_id'),
|
||||
Index('idx_sm', 'source_id', 'meter_id')
|
||||
Index('idx_sm', 'source_id', 'meter_id'),
|
||||
mysql_engine='InnoDB',
|
||||
mysql_charset='utf8',
|
||||
)
|
||||
|
||||
source = Table(
|
||||
'source', meta,
|
||||
Column('id', String(255), primary_key=True, index=True),
|
||||
UniqueConstraint('id')
|
||||
UniqueConstraint('id'),
|
||||
mysql_engine='InnoDB',
|
||||
mysql_charset='utf8',
|
||||
)
|
||||
|
||||
|
||||
|
@ -43,7 +43,9 @@ alarm = Table(
|
||||
Column('ok_actions', Text()),
|
||||
Column('alarm_actions', Text()),
|
||||
Column('insufficient_data_actions', Text()),
|
||||
Column('matching_metadata', Text()))
|
||||
Column('matching_metadata', Text()),
|
||||
mysql_engine='InnoDB',
|
||||
mysql_charset='utf8')
|
||||
|
||||
|
||||
def upgrade(migrate_engine):
|
||||
|
@ -27,7 +27,9 @@ meta = MetaData()
|
||||
unique_name = Table(
|
||||
'unique_name', meta,
|
||||
Column('id', Integer, primary_key=True),
|
||||
Column('key', String(32), index=True)
|
||||
Column('key', String(32), index=True),
|
||||
mysql_engine='InnoDB',
|
||||
mysql_charset='utf8',
|
||||
)
|
||||
|
||||
|
||||
@ -35,7 +37,9 @@ event = Table(
|
||||
'event', meta,
|
||||
Column('id', Integer, primary_key=True),
|
||||
Column('generated', Float(asdecimal=True), index=True),
|
||||
Column('unique_name_id', Integer, ForeignKey('unique_name.id'))
|
||||
Column('unique_name_id', Integer, ForeignKey('unique_name.id')),
|
||||
mysql_engine='InnoDB',
|
||||
mysql_charset='utf8',
|
||||
)
|
||||
|
||||
|
||||
@ -49,7 +53,9 @@ trait = Table(
|
||||
Column('t_int', Integer, nullable=True, default=None, index=True),
|
||||
Column('t_datetime', Float(asdecimal=True), nullable=True, default=None,
|
||||
index=True),
|
||||
Column('event_id', Integer, ForeignKey('event.id'))
|
||||
Column('event_id', Integer, ForeignKey('event.id')),
|
||||
mysql_engine='InnoDB',
|
||||
mysql_charset='utf8',
|
||||
)
|
||||
|
||||
|
||||
|
@ -39,7 +39,8 @@ def upgrade(migrate_engine):
|
||||
Column('type', String(20)),
|
||||
Column('detail', String(255)),
|
||||
Column('timestamp', DateTime(timezone=False)),
|
||||
mysql_engine='InnoDB')
|
||||
mysql_engine='InnoDB',
|
||||
mysql_charset='utf8')
|
||||
|
||||
alarm_history.create()
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user