Merge "Datasources tenants"
This commit is contained in:
commit
4b13354d1c
@ -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'
|
||||
|
@ -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]
|
||||
}
|
||||
|
@ -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):
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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]
|
||||
|
@ -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]
|
||||
|
@ -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]
|
||||
|
@ -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 '
|
||||
|
@ -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'
|
||||
|
Loading…
x
Reference in New Issue
Block a user