diff --git a/heat/db/sqlalchemy/migrate_repo/versions/002_Add_event_data.py b/heat/db/sqlalchemy/migrate_repo/versions/002_Add_event_data.py new file mode 100644 index 0000000000..a0d06475f2 --- /dev/null +++ b/heat/db/sqlalchemy/migrate_repo/versions/002_Add_event_data.py @@ -0,0 +1,24 @@ +from sqlalchemy import * +from migrate import * + + +def upgrade(migrate_engine): + meta = MetaData(bind=migrate_engine) + event = Table('event', meta, autoload=True) + + Column('logical_resource_id', String(255)).create(event) + Column('physical_resource_id', String(255)).create(event) + Column('resource_status_reason', String(255)).create(event) + Column('resource_type', String(255)).create(event) + Column('resource_properties', PickleType).create(event) + + +def downgrade(migrate_engine): + meta = MetaData(bind=migrate_engine) + event = Table('event', meta, autoload=True) + + event.c.logical_resource_id.drop() + event.c.physical_resource_id.drop() + event.c.resource_status_reason.drop() + event.c.resource_type.drop() + event.c.resource_properties.drop() diff --git a/heat/db/sqlalchemy/models.py b/heat/db/sqlalchemy/models.py index 5dea6f6102..c1f75b8f20 100644 --- a/heat/db/sqlalchemy/models.py +++ b/heat/db/sqlalchemy/models.py @@ -144,6 +144,12 @@ class Event(BASE, HeatBase): backref=backref('events'), cascade="all, delete", passive_deletes=True) name = Column(String) + logical_resource_id = Column(String) + physical_resource_id = Column(String) + resource_status_reason = Column(String) + resource_type = Column(String) + resource_properties = Column(PickleType) + class Resource(BASE, HeatBase): diff --git a/heat/engine/manager.py b/heat/engine/manager.py index 6a0e157935..135554fe4f 100644 --- a/heat/engine/manager.py +++ b/heat/engine/manager.py @@ -181,12 +181,15 @@ class EngineManager(manager.Manager): def parse_event(e): s = e.stack - # TODO Missing LogicalResourceId, PhysicalResourceId, ResourceType, - # ResourceStatusReason return {'EventId': e.id, - 'StackId': e.stack_id, - 'StackName': s.name, - 'Timestamp': str(e.created_at), - 'ResourceStatus': str(e.name)} + 'StackId': e.stack_id, + 'StackName': s.name, + 'Timestamp': str(e.created_at), + 'LogicalResourceId': e.logical_resource_id, + 'PhysicalResourceId': e.physical_resource_id, + 'ResourceType': e.resource_type, + 'ResourceStatusReason': e.resource_status_reason, + 'ResourceProperties': e.resource_properties, + 'ResourceStatus': e.name} return {'events': [parse_event(e) for e in events]} diff --git a/heat/version.py b/heat/version.py index 5b6b577390..edbe8b9dba 100644 --- a/heat/version.py +++ b/heat/version.py @@ -20,8 +20,8 @@ except ImportError: 'revision_id': 'LOCALREVISION', 'revno': 0} -GLANCE_VERSION = ['0.0', '1'] -COUNT, REVSISION = GLANCE_VERSION +GLANCE_VERSION = ['0.0', '2'] +COUNT, REVISION = GLANCE_VERSION FINAL = False # This becomes true at Release Candidate time