diff --git a/ceilometer/event/storage/models.py b/ceilometer/event/storage/models.py index 1bddda0a3..7b4b3b9b3 100644 --- a/ceilometer/event/storage/models.py +++ b/ceilometer/event/storage/models.py @@ -121,6 +121,7 @@ class Trait(base.Model): return float(value) if trait_type is cls.DATETIME_TYPE: return timeutils.normalize_time(timeutils.parse_isotime(value)) + # Cropping the text value to match the TraitText value size if isinstance(value, six.binary_type): - return value.decode('utf-8') - return six.text_type(value) + return value.decode('utf-8')[:255] + return six.text_type(value)[:255] diff --git a/ceilometer/storage/sqlalchemy/models.py b/ceilometer/storage/sqlalchemy/models.py index f251f97bc..11022b272 100644 --- a/ceilometer/storage/sqlalchemy/models.py +++ b/ceilometer/storage/sqlalchemy/models.py @@ -344,7 +344,7 @@ class TraitText(Base): ) event_id = Column(Integer, ForeignKey('event.id'), primary_key=True) key = Column(String(255), primary_key=True) - value = Column(Text) + value = Column(String(255)) class TraitInt(Base):