Merge "Datasources tenants"

This commit is contained in:
Jenkins 2016-08-08 07:49:39 +00:00 committed by Gerrit Code Review
commit 4b13354d1c
10 changed files with 25 additions and 14 deletions

View File

@ -24,6 +24,7 @@ class VertexProperties(object):
AGGREGATED_STATE = 'aggregated_state'
OPERATIONAL_STATE = 'operational_state'
PROJECT_ID = 'project_id'
TENANT_ID = 'tenant_id'
UPDATE_TIMESTAMP = 'update_timestamp'
SAMPLE_TIMESTAMP = 'sample_timestamp'
NAME = 'name'

View File

@ -50,7 +50,7 @@ class AodhTransformer(AlarmTransformerBase):
VProps.SEVERITY: entity_event[AodhProps.SEVERITY],
AodhProps.DESCRIPTION: entity_event[AodhProps.DESCRIPTION],
AodhProps.ENABLED: entity_event[AodhProps.ENABLED],
VProps.PROJECT_ID: entity_event[AodhProps.PROJECT_ID],
VProps.TENANT_ID: entity_event.get(AodhProps.PROJECT_ID, None),
AodhProps.REPEAT_ACTIONS: entity_event[AodhProps.REPEAT_ACTIONS],
'alarm_type': entity_event[AodhProps.TYPE]
}

View File

@ -45,7 +45,8 @@ class CinderVolumeDriver(DriverBase):
self.extract_events(self.client.volumes.list(
search_opts={'all_tenants': 1})),
CINDER_VOLUME_DATASOURCE,
sync_mode)
sync_mode,
'manager')
@staticmethod
def enrich_event(event, event_type):

View File

@ -50,12 +50,14 @@ class CinderVolumeTransformer(ResourceTransformerBase):
volume_name = extract_field_value(entity_event, 'display_name')
volume_id = extract_field_value(entity_event, 'id')
volume_state = extract_field_value(entity_event, 'status')
tenant_id = entity_event.get('os-vol-tenant-attr:tenant_id', None)
timestamp = extract_field_value(entity_event, 'created_at')
return self._create_vertex(entity_event,
volume_name,
volume_id,
volume_state,
tenant_id,
timestamp)
def _create_update_entity_vertex(self, entity_event):
@ -63,18 +65,26 @@ class CinderVolumeTransformer(ResourceTransformerBase):
volume_name = extract_field_value(entity_event, 'display_name')
volume_id = extract_field_value(entity_event, 'volume_id')
volume_state = extract_field_value(entity_event, 'status')
tenant_id = entity_event.get(VProps.TENANT_ID, None)
timestamp = entity_event.get('updated_at', None)
return self._create_vertex(entity_event,
volume_name,
volume_id,
volume_state,
tenant_id,
timestamp)
def _create_vertex(self, entity_event, volume_name, volume_id,
volume_state, update_timestamp):
def _create_vertex(self,
entity_event,
volume_name,
volume_id,
volume_state,
tenant_id,
update_timestamp):
metadata = {
VProps.NAME: volume_name
VProps.NAME: volume_name,
VProps.TENANT_ID: tenant_id,
}
entity_key = self._create_entity_key(entity_event)

View File

@ -48,13 +48,12 @@ class DriverBase(object):
pass
@classmethod
def make_pickleable(cls, entities, sync_type,
sync_mode, *args):
def make_pickleable(cls, entities, sync_type, sync_mode, *args):
pickleable_entities = []
for entity in entities:
for field in args:
entity.pop(field)
entity.pop(field, None)
cls._add_sync_type(entity, sync_type)
cls._add_sync_mode(entity, sync_mode)

View File

@ -84,6 +84,7 @@ class NetworkTransformer(ResourceTransformerBase):
metadata = {
VProps.NAME: name,
VProps.TENANT_ID: entity_event.get(VProps.TENANT_ID, None),
}
sample_timestamp = entity_event[DSProps.SAMPLE_DATE]

View File

@ -100,7 +100,8 @@ class PortTransformer(ResourceTransformerBase):
ip_addresses = [ip['ip_address'] for ip in fixed_ips]
metadata = {
VProps.NAME: name,
'ip_addresses': tuple(ip_addresses)
VProps.TENANT_ID: entity_event.get(VProps.TENANT_ID, None),
'ip_addresses': tuple(ip_addresses),
}
sample_timestamp = entity_event[DSProps.SAMPLE_DATE]

View File

@ -60,11 +60,9 @@ class InstanceTransformer(ResourceTransformerBase):
def _create_vertex(self, entity_event, name, entity_id, state):
project = extract_field_value(entity_event, 'tenant_id')
metadata = {
VProps.NAME: name,
VProps.PROJECT_ID: project
VProps.TENANT_ID: entity_event.get(VProps.TENANT_ID, None),
}
sample_timestamp = entity_event[DSProps.SAMPLE_DATE]

View File

@ -21,7 +21,7 @@ OPTS = [
min=60,
help='minimum time until deleting entity (in seconds)'),
cfg.IntOpt('initialization_interval',
default=3,
default=1,
min=1,
help='interval between consistency initialization checks for '
'finding if all end messages from datasources were '

View File

@ -167,7 +167,7 @@ class NovaInstanceTransformerTest(base.BaseTest):
vertex[VertexProperties.TYPE])
expected_project = extract_value(event, 'tenant_id')
observed_project = vertex[VertexProperties.PROJECT_ID]
observed_project = vertex[VertexProperties.TENANT_ID]
self.assertEqual(expected_project, observed_project)
state = 'state' if is_update_event else 'status'