split create_neighbors method to create_update_neighbors and create_snapshot_neighbors

Change-Id: Ib632d457544576611a84fc728e1332f6dcca78ee
This commit is contained in:
Alexey Weyl 2016-05-05 14:34:23 +03:00
parent 23e5baef40
commit 1bd410deee
11 changed files with 83 additions and 44 deletions

View File

@ -78,6 +78,23 @@ class AodhTransformer(AlarmTransformerBase):
update_timestamp=update_timestamp,
metadata=metadata)
def _create_snapshot_neighbors(self, entity_event):
return self._create_aodh_neighbors(entity_event)
def _create_update_neighbors(self, entity_event):
return self._create_aodh_neighbors(entity_event)
def _create_aodh_neighbors(self, entity_event):
graph_neighbors = entity_event.get(self.QUERY_RESULT, [])
result = []
for vertex in graph_neighbors:
edge = graph_utils.create_edge(
source_id=self._create_entity_key(entity_event),
target_id=vertex.vertex_id,
relationship_type=EdgeLabels.ON)
result.append(Neighbor(vertex, edge))
return result
def _create_merge_alarm_vertex(self, entity_event):
"""Handle an alarm that already has a vitrage_id
@ -102,17 +119,6 @@ class AodhTransformer(AlarmTransformerBase):
update_timestamp=update_timestamp,
metadata=metadata)
def _create_neighbors(self, entity_event):
graph_neighbors = entity_event.get(self.QUERY_RESULT, [])
result = []
for vertex in graph_neighbors:
edge = graph_utils.create_edge(
source_id=self._create_entity_key(entity_event),
target_id=vertex.vertex_id,
relationship_type=EdgeLabels.ON)
result.append(Neighbor(vertex, edge))
return result
def _ok_status(self, entity_event):
return entity_event[AodhProps.STATE] == self.STATUS_OK

View File

@ -91,17 +91,15 @@ class CinderVolumeTransformer(ResourceTransformerBase):
update_timestamp=update_timestamp,
metadata=metadata)
def _create_neighbors(self, entity_event):
if tbase.is_update_event(entity_event):
attachments_property = 'volume_attachment'
instance_id_property = 'instance_uuid'
else:
attachments_property = 'attachments'
instance_id_property = 'server_id'
def _create_snapshot_neighbors(self, entity_event):
return self._create_instance_neighbors(entity_event,
attachments_property,
instance_id_property)
'attachments',
'server_id')
def _create_update_neighbors(self, entity_event):
return self._create_instance_neighbors(entity_event,
'volume_attachment',
'instance_uuid')
def _create_entity_key(self, entity_event):

View File

@ -76,8 +76,13 @@ class NagiosTransformer(AlarmTransformerBase):
update_timestamp=update_timestamp,
metadata=metadata)
def _create_neighbors(self, entity_event):
def _create_snapshot_neighbors(self, entity_event):
return self._create_nagios_neighbors(entity_event)
def _create_update_neighbors(self, entity_event):
return self._create_nagios_neighbors(entity_event)
def _create_nagios_neighbors(self, entity_event):
vitrage_id = self._create_entity_key(entity_event)
timestamp = datetime_utils.change_time_str_format(
entity_event[NagiosProperties.LAST_CHECK],

View File

@ -75,6 +75,3 @@ class NetworkTransformer(ResourceTransformerBase):
def _create_update_entity_vertex(self, entity_event):
pass
def _create_neighbors(self, entity_event):
return []

View File

@ -85,20 +85,17 @@ class PortTransformer(ResourceTransformerBase):
def _create_update_entity_vertex(self, entity_event):
pass
def _create_neighbors(self, entity_event):
if tbase.is_update_event(entity_event):
device_owner_property = 'device_owner'
device_id_property = 'server_uuid'
net_id_property = 'network_id'
else:
device_owner_property = 'device_owner'
device_id_property = 'device_id'
net_id_property = 'network_id'
def _create_snapshot_neighbors(self, entity_event):
return self._create_port_neighbors(entity_event,
device_owner_property,
device_id_property,
net_id_property)
'device_owner',
'device_id',
'network_id')
def _create_update_neighbors(self, entity_event):
return self._create_port_neighbors(entity_event,
'device_owner',
'server_uuid',
'network_id')
def _create_port_neighbors(self,
entity_event,

View File

@ -62,8 +62,13 @@ class HostTransformer(ResourceTransformerBase):
update_timestamp=update_timestamp,
metadata=metadata)
def _create_neighbors(self, entity_event):
def _create_snapshot_neighbors(self, entity_event):
return self._create_nova_host_neighbors(entity_event)
def _create_update_neighbors(self, entity_event):
return self._create_nova_host_neighbors(entity_event)
def _create_nova_host_neighbors(self, entity_event):
neighbors = []
# Support snapshot and snapshot_init events only

View File

@ -85,8 +85,13 @@ class InstanceTransformer(ResourceTransformerBase):
update_timestamp=update_timestamp,
metadata=metadata)
def _create_neighbors(self, entity_event):
def _create_snapshot_neighbors(self, entity_event):
return self._create_nova_instance_neighbors(entity_event)
def _create_update_neighbors(self, entity_event):
return self._create_nova_instance_neighbors(entity_event)
def _create_nova_instance_neighbors(self, entity_event):
neighbors = []
host_transformer = self.transformers[NOVA_HOST_DATASOURCE]

View File

@ -73,8 +73,13 @@ class ZoneTransformer(ResourceTransformerBase):
update_timestamp=update_timestamp,
metadata=metadata)
def _create_neighbors(self, entity_event):
def _create_snapshot_neighbors(self, entity_event):
return self._create_nova_zone_neighbors(entity_event)
def _create_update_neighbors(self, entity_event):
return self._create_nova_zone_neighbors(entity_event)
def _create_nova_zone_neighbors(self, entity_event):
zone_vertex_id = self._create_entity_key(entity_event)
neighbors = [self._create_cluster_neighbor(zone_vertex_id)]
hosts = extract_field_value(entity_event, 'hosts')

View File

@ -71,7 +71,13 @@ class StaticPhysicalTransformer(ResourceTransformerBase):
entity_state=state,
metadata=metadata)
def _create_neighbors(self, entity_event):
def _create_snapshot_neighbors(self, entity_event):
return self._create_static_physical_neighbors(entity_event)
def _create_update_neighbors(self, entity_event):
return self._create_static_physical_neighbors(entity_event)
def _create_static_physical_neighbors(self, entity_event):
neighbors = []
entity_type = entity_event[VProps.TYPE]
entity_key = self._create_entity_key(entity_event)

View File

@ -134,7 +134,6 @@ class TransformerBase(object):
def _create_update_entity_vertex(self, entity_event):
pass
@abc.abstractmethod
def _create_neighbors(self, entity_event):
"""Extracts entity neighbors received from a given entity event.
@ -147,6 +146,17 @@ class TransformerBase(object):
:rtype: list
"""
if is_update_event(entity_event):
return self._create_update_neighbors(entity_event)
else:
return self._create_snapshot_neighbors(entity_event)
def _create_snapshot_neighbors(self, entity_event):
return []
def _create_update_neighbors(self, entity_event):
return []
@abc.abstractmethod
def _create_entity_key(self, entity_event):
"""Create entity key from given event

View File

@ -86,8 +86,13 @@ class EvaluatorEventTransformer(transformer_base.TransformerBase):
return None
def _create_neighbors(self, event):
def _create_snapshot_neighbors(self, event):
return self._create_vitrage_neighbors(event)
def _create_update_neighbors(self, event):
return self._create_vitrage_neighbors(event)
def _create_vitrage_neighbors(self, event):
event_type = event[EVALUATOR_EVENT_TYPE]
timestamp = transformer_base.convert_timestamp_format(