Use the new class for database access to Events

Change-Id: I6c02cf47869aaa1d293cb1b528ed967397c47208
Signed-off-by: Zane Bitter <zbitter@redhat.com>
This commit is contained in:
Zane Bitter 2012-11-22 11:06:57 +01:00
parent 7867fe2351
commit 7054f55824
3 changed files with 20 additions and 20 deletions

View File

@ -166,18 +166,19 @@ EVENT_KEYS = (
)
def format_event(context, event):
stack = parser.Stack.load(context, stack=event.stack)
def format_event(event):
stack_identifier = event.stack.identifier()
result = {
EVENT_ID: event.id,
EVENT_STACK_ID: dict(stack.identifier()),
EVENT_STACK_NAME: stack.name,
EVENT_TIMESTAMP: timeutils.isotime(event.created_at),
EVENT_RES_NAME: event.logical_resource_id,
EVENT_STACK_ID: dict(stack_identifier),
EVENT_STACK_NAME: stack_identifier.stack_name,
EVENT_TIMESTAMP: timeutils.isotime(event.timestamp),
EVENT_RES_NAME: event.resource.name,
EVENT_RES_PHYSICAL_ID: event.physical_resource_id,
EVENT_RES_STATUS: event.name,
EVENT_RES_STATUS_DATA: event.resource_status_reason,
EVENT_RES_TYPE: event.resource_type,
EVENT_RES_STATUS: event.new_state,
EVENT_RES_STATUS_DATA: event.reason,
EVENT_RES_TYPE: event.resource.type(),
EVENT_RES_PROPERTIES: event.resource_properties,
}

View File

@ -16,6 +16,7 @@
import base64
from datetime import datetime
from heat.engine.resources import event
from heat.common import exception
from heat.db import api as db_api
from heat.engine import identifier
@ -331,17 +332,12 @@ class Resource(object):
def _add_event(self, new_state, reason):
'''Add a state change event to the database'''
ev = {'logical_resource_id': self.name,
'physical_resource_id': self.resource_id,
'stack_id': self.stack.id,
'stack_name': self.stack.name,
'resource_status': new_state,
'name': new_state,
'resource_status_reason': reason,
'resource_type': self.type(),
'resource_properties': dict(self.properties)}
ev = event.Event(self.context, self.stack, self,
new_state, reason,
self.resource_id, self.properties)
try:
db_api.event_create(self.context, ev)
ev.store()
except Exception as ex:
logger.error('DB error %s' % str(ex))

View File

@ -19,6 +19,7 @@ import webob
from heat.common import context
from heat.db import api as db_api
from heat.engine import api
from heat.engine.resources.event import Event
from heat.engine import identifier
from heat.engine import parser
from heat.engine import watchrule
@ -338,7 +339,9 @@ class EngineService(service.Service):
else:
events = db_api.event_get_all_by_tenant(context)
return {'events': [api.format_event(context, e) for e in events]}
output = [api.format_event(Event.load(context, e.id)) for e in events]
return {'events': output}
@request_context
def describe_stack_resource(self, context, stack_identity, resource_name):