diff --git a/vitrage/api/policy.py b/vitrage/api/policy.py index 7ae0011a2..9b1662998 100644 --- a/vitrage/api/policy.py +++ b/vitrage/api/policy.py @@ -31,7 +31,7 @@ def enforce(rule, headers, enforcer, target): } if not isinstance(target, dict): - target = target.__dict__ + target = vars(target) target = dict(recursive_keypairs(target)) diff --git a/vitrage/datasources/aodh/driver.py b/vitrage/datasources/aodh/driver.py index 063fe2f02..b744bb1ef 100644 --- a/vitrage/datasources/aodh/driver.py +++ b/vitrage/datasources/aodh/driver.py @@ -309,7 +309,7 @@ class AodhDriver(AlarmDriverBase): entity.update(self._parse_changed_rule( changed_rule[changed_type])) # handle other changed alarm properties - elif changed_type in AodhProps.__dict__.values(): + elif changed_type in vars(AodhProps).values(): entity[changed_type] = changed_info return self._filter_and_cache_alarm(entity, old_alarm, diff --git a/vitrage/datasources/ceilometer/driver.py b/vitrage/datasources/ceilometer/driver.py index 714e5bb12..3a7aac54b 100644 --- a/vitrage/datasources/ceilometer/driver.py +++ b/vitrage/datasources/ceilometer/driver.py @@ -344,7 +344,7 @@ class CeilometerDriver(AlarmDriverBase): entity.update(self._parse_changed_rule( changed_rule[changed_type])) # handle other changed alarm properties - elif changed_type in CeilProps.__dict__.values(): + elif changed_type in vars(CeilProps).values(): entity[changed_type] = changed_info return self._filter_and_cache_alarm(entity, old_alarm, diff --git a/vitrage/datasources/cinder/volume/driver.py b/vitrage/datasources/cinder/volume/driver.py index 399f6a2c2..a08ad2585 100644 --- a/vitrage/datasources/cinder/volume/driver.py +++ b/vitrage/datasources/cinder/volume/driver.py @@ -33,7 +33,7 @@ class CinderVolumeDriver(DriverBase): @staticmethod def extract_events(volumes): - return [volume.__dict__ for volume in volumes] + return [vars(volume) for volume in volumes] def get_all(self, datasource_action): return self.make_pickleable( diff --git a/vitrage/datasources/nova/instance/driver.py b/vitrage/datasources/nova/instance/driver.py index bca42e426..095d1c9b4 100644 --- a/vitrage/datasources/nova/instance/driver.py +++ b/vitrage/datasources/nova/instance/driver.py @@ -102,7 +102,7 @@ class InstanceDriver(NovaDriverBase): @staticmethod def extract_events(instances): - events = [instance.__dict__ for instance in instances] + events = [vars(instance) for instance in instances] for e in events: if e['status'].lower() == 'deleted': e[DSProps.EVENT_TYPE] = GraphAction.DELETE_ENTITY diff --git a/vitrage/datasources/nova/zone/driver.py b/vitrage/datasources/nova/zone/driver.py index add12e660..3f59aff38 100644 --- a/vitrage/datasources/nova/zone/driver.py +++ b/vitrage/datasources/nova/zone/driver.py @@ -22,7 +22,7 @@ class ZoneDriver(NovaDriverBase): def filter_internal_zone(zones): zones_res = [] for zone in zones: - zone_dict = zone.__dict__ + zone_dict = vars(zone) if zone_dict['zoneName'] and zone_dict['zoneName'] != 'internal': zones_res.append(zone_dict) return zones_res diff --git a/vitrage/datasources/transformer_base.py b/vitrage/datasources/transformer_base.py index 0fce02b0b..711488b6b 100644 --- a/vitrage/datasources/transformer_base.py +++ b/vitrage/datasources/transformer_base.py @@ -320,7 +320,7 @@ class TransformerBase(object): :rtype: str """ if DSProps.EVENT_TYPE in entity_event and \ - entity_event[DSProps.EVENT_TYPE] in GraphAction.__dict__.values(): + entity_event[DSProps.EVENT_TYPE] in vars(GraphAction).values(): return entity_event[DSProps.EVENT_TYPE] datasource_action = entity_event[DSProps.DATASOURCE_ACTION] diff --git a/vitrage/graph/driver/elements.py b/vitrage/graph/driver/elements.py index 24d33b76f..4c4a33d74 100644 --- a/vitrage/graph/driver/elements.py +++ b/vitrage/graph/driver/elements.py @@ -83,7 +83,7 @@ class Vertex(PropertiesElement): :type other: Vertex :rtype: bool """ - return self.__dict__ == other.__dict__ and \ + return vars(self) == vars(other) and \ self.properties == other.properties def copy(self): @@ -152,7 +152,7 @@ class Edge(PropertiesElement): :type other: Edge :rtype: bool """ - return self.__dict__ == other.__dict__ and \ + return vars(self) == vars(other) and \ self.properties == other.properties def other_vertex(self, v_id): diff --git a/vitrage/opts.py b/vitrage/opts.py index 18cba634d..647db3371 100644 --- a/vitrage/opts.py +++ b/vitrage/opts.py @@ -86,7 +86,7 @@ def datasources_opts(): return [(datasource, module.OPTS) for datasource in datasources for module in [importutils.import_module(DATASOURCES_PATH + datasource)] - if 'OPTS' in module.__dict__] + if 'OPTS' in vars(module)] def _get_datasources_folders(top=os.getcwd()): diff --git a/vitrage/tests/unit/datasources/aodh/aodh_transformer_base_test.py b/vitrage/tests/unit/datasources/aodh/aodh_transformer_base_test.py index b5c3c97c9..32f86f10f 100644 --- a/vitrage/tests/unit/datasources/aodh/aodh_transformer_base_test.py +++ b/vitrage/tests/unit/datasources/aodh/aodh_transformer_base_test.py @@ -65,7 +65,7 @@ class AodhTransformerBaseTest(base.BaseTest): def _validate_action(self, alarm, wrapper): if DSProps.EVENT_TYPE in alarm \ - and alarm[DSProps.EVENT_TYPE] in GraphAction.__dict__.values(): + and alarm[DSProps.EVENT_TYPE] in vars(GraphAction).values(): self.assertEqual(alarm[DSProps.EVENT_TYPE], wrapper.action) return diff --git a/vitrage/tests/unit/datasources/ceilometer/ceilometer_transformer_base_test.py b/vitrage/tests/unit/datasources/ceilometer/ceilometer_transformer_base_test.py index ef02c3970..bfc6eaf07 100644 --- a/vitrage/tests/unit/datasources/ceilometer/ceilometer_transformer_base_test.py +++ b/vitrage/tests/unit/datasources/ceilometer/ceilometer_transformer_base_test.py @@ -69,7 +69,7 @@ class CeilometerTransformerBaseTest(base.BaseTest): def _validate_action(self, alarm, wrapper): if DSProps.EVENT_TYPE in alarm \ - and alarm[DSProps.EVENT_TYPE] in GraphAction.__dict__.values(): + and alarm[DSProps.EVENT_TYPE] in vars(GraphAction).values(): self.assertEqual(alarm[DSProps.EVENT_TYPE], wrapper.action) return