Move utility methods from common/utils to utils

- `common` is for vitrage related methods
- `utils` is for general purpose methods

Change-Id: I52f654acce7887f4452415c8ca4bcfa64dfce1d0
This commit is contained in:
Yujun Zhang 2016-11-30 11:07:21 +08:00
parent c7f2468981
commit a801b0072e
28 changed files with 70 additions and 47 deletions

View File

@ -12,7 +12,7 @@
from pecan.core import abort
from vitrage.common.utils import recursive_keypairs
from vitrage.utils import recursive_keypairs
def enforce(rule, headers, enforcer, target):

View File

@ -13,10 +13,11 @@
# under the License.
from oslo_log import log
from vitrage.common.constants import DatasourceProperties as DSProps
from vitrage.common.constants import GraphAction
from vitrage.common import datetime_utils
from vitrage.datasources.driver_base import DriverBase
from vitrage.utils import datetime as datetime_utils
LOG = log.getLogger(__name__)

View File

@ -16,7 +16,6 @@ from vitrage.common.constants import DatasourceProperties as DSProps
from vitrage.common.constants import EdgeLabel
from vitrage.common.constants import EntityCategory
from vitrage.common.constants import VertexProperties as VProps
from vitrage.common import datetime_utils
from vitrage.datasources.alarm_transformer_base import AlarmTransformerBase
from vitrage.datasources.aodh import AODH_DATASOURCE
from vitrage.datasources.aodh.properties import AodhProperties as AodhProps
@ -24,6 +23,7 @@ from vitrage.datasources.aodh.properties import AodhState
from vitrage.datasources import transformer_base as tbase
from vitrage.datasources.transformer_base import Neighbor
import vitrage.graph.utils as graph_utils
from vitrage.utils import datetime as datetime_utils
class AodhTransformer(AlarmTransformerBase):

View File

@ -20,7 +20,7 @@ from oslo_log import log
from vitrage.common.constants import DatasourceAction
from vitrage.common.constants import DatasourceProperties as DSProps
from vitrage.common.constants import GraphAction
from vitrage.common import datetime_utils
from vitrage.utils import datetime as datetime_utils
LOG = log.getLogger(__name__)

View File

@ -18,11 +18,10 @@ import itertools
from oslo_service import service as os_service
from oslo_utils import importutils as utils
from vitrage.common.constants import UpdateMethod
from vitrage.common.utils import opt_exists
from vitrage.datasources.listener_service import ListenerService
from vitrage.datasources.services import ChangesService
from vitrage.datasources.services import SnapshotsService
from vitrage.utils import opt_exists
CHANGES_INTERVAL = 'changes_interval'

View File

@ -16,7 +16,7 @@ import re
from oslo_log import log
from vitrage.common import file_utils
from vitrage.utils import file as file_utils
LOG = log.getLogger(__name__)
NAGIOS_HOST = 'nagios_host'

View File

@ -18,7 +18,6 @@ from vitrage.common.constants import DatasourceProperties as DSProps
from vitrage.common.constants import EdgeLabel
from vitrage.common.constants import EntityCategory
from vitrage.common.constants import VertexProperties as VProps
from vitrage.common import datetime_utils
from vitrage.datasources.alarm_transformer_base import AlarmTransformerBase
from vitrage.datasources.nagios import NAGIOS_DATASOURCE
from vitrage.datasources.nagios.properties import NagiosProperties
@ -27,6 +26,7 @@ from vitrage.datasources.nova.host import NOVA_HOST_DATASOURCE
from vitrage.datasources import transformer_base as tbase
from vitrage.datasources.transformer_base import Neighbor
import vitrage.graph.utils as graph_utils
from vitrage.utils import datetime as datetime_utils
LOG = logging.getLogger(__name__)

View File

@ -17,9 +17,9 @@ import copy
from vitrage.common.constants import DatasourceProperties as DSProps
from vitrage.common.constants import GraphAction
from vitrage.common.constants import VertexProperties as VProps
from vitrage.common import file_utils
from vitrage.datasources.driver_base import DriverBase
from vitrage.datasources.static_physical import STATIC_PHYSICAL_DATASOURCE
from vitrage.utils import file as file_utils
class StaticPhysicalDriver(DriverBase):

View File

@ -15,10 +15,9 @@
import abc
from collections import namedtuple
import six
from oslo_log import log as logging
import six
from vitrage.common import datetime_utils
import vitrage.common.constants as cons
from vitrage.common.constants import DatasourceAction
@ -26,9 +25,10 @@ from vitrage.common.constants import DatasourceProperties as DSProps
from vitrage.common.constants import GraphAction
from vitrage.common.constants import UpdateMethod
from vitrage.common.exception import VitrageTransformerError
from vitrage.common import utils
from vitrage.datasources import OPENSTACK_CLUSTER
import vitrage.graph.utils as graph_utils
from vitrage.utils import datetime as datetime_utils
from vitrage.utils import opt_exists
LOG = logging.getLogger(__name__)
@ -130,8 +130,8 @@ class TransformerBase(object):
def _create_entity_vertex(self, entity_event):
if is_update_event(entity_event) and \
utils.opt_exists(self.conf, self.get_type()) and \
utils.opt_exists(self.conf[self.get_type()], 'update_method'):
opt_exists(self.conf, self.get_type()) and \
opt_exists(self.conf[self.get_type()], 'update_method'):
update_method = self.conf[self.get_type()].update_method.lower()
if update_method == UpdateMethod.PUSH:
return self._create_update_entity_vertex(entity_event)

View File

@ -19,7 +19,6 @@ from oslo_utils import importutils as utils
from vitrage.common.constants import DatasourceAction
from vitrage.common.constants import DatasourceProperties as DSProps
from vitrage.common import file_utils
from vitrage.datasources.alarm_driver_base import AlarmDriverBase
from vitrage.datasources.zabbix.properties import ZabbixProperties as ZProps
from vitrage.datasources.zabbix.properties import ZabbixTriggerStatus \
@ -27,6 +26,7 @@ from vitrage.datasources.zabbix.properties import ZabbixTriggerStatus \
from vitrage.datasources.zabbix.properties import ZabbixTriggerValue \
as TriggerValue
from vitrage.datasources.zabbix import ZABBIX_DATASOURCE
from vitrage.utils import file as file_utils
LOG = log.getLogger(__name__)

View File

@ -18,8 +18,6 @@ from vitrage.common.constants import DatasourceProperties as DSProps
from vitrage.common.constants import EdgeLabel
from vitrage.common.constants import EntityCategory
from vitrage.common.constants import VertexProperties as VProps
from vitrage.common.datetime_utils import change_time_str_format
from vitrage.common.datetime_utils import format_unix_timestamp
from vitrage.datasources.alarm_properties import AlarmProperties as AlarmProps
from vitrage.datasources.alarm_transformer_base import AlarmTransformerBase
from vitrage.datasources.nova.host import NOVA_HOST_DATASOURCE
@ -31,9 +29,9 @@ from vitrage.datasources.zabbix.properties import ZabbixTriggerSeverity \
from vitrage.datasources.zabbix.properties import ZabbixTriggerValue\
as TriggerValue
from vitrage.datasources.zabbix import ZABBIX_DATASOURCE
import vitrage.graph.utils as graph_utils
from vitrage.utils.datetime import change_time_str_format
from vitrage.utils.datetime import format_unix_timestamp
LOG = logging.getLogger(__name__)

View File

@ -22,10 +22,10 @@ from vitrage.common.constants import DatasourceProperties as DSProps
from vitrage.common.constants import EntityCategory
from vitrage.common.constants import GraphAction
from vitrage.common.constants import VertexProperties as VProps
from vitrage.common.datetime_utils import utcnow
from vitrage.datasources.consistency import CONSISTENCY_DATASOURCE
from vitrage.datasources import OPENSTACK_CLUSTER
from vitrage.evaluator.actions.evaluator_event_transformer import VITRAGE_TYPE
from vitrage.utils.datetime import utcnow
LOG = log.getLogger(__name__)

View File

@ -18,10 +18,10 @@ from oslo_log import log
from vitrage.common.constants import EntityCategory
from vitrage.common.constants import VertexProperties as VProps
from vitrage.common import file_utils
from vitrage.entity_graph.mappings.alarm_handler import AlarmHandler
from vitrage.entity_graph.mappings.resource_handler import \
ResourceHandler
from vitrage.utils import file as file_utils
LOG = log.getLogger(__name__)

View File

@ -16,8 +16,8 @@ from oslo_log import log
from vitrage.common.constants import EdgeProperties as EProps
from vitrage.common.constants import VertexProperties as VProps
from vitrage.common.datetime_utils import utcnow
from vitrage.graph import NXGraph
from vitrage.utils.datetime import utcnow
LOG = log.getLogger(__name__)

View File

@ -18,12 +18,12 @@ from oslo_utils import importutils
from vitrage.common.constants import DatasourceProperties as DSProps
from vitrage.common.exception import VitrageTransformerError
from vitrage.common.utils import opt_exists
from vitrage.datasources.consistency import CONSISTENCY_DATASOURCE
from vitrage.datasources.consistency.transformer import ConsistencyTransformer
from vitrage.evaluator.actions.evaluator_event_transformer import \
EvaluatorEventTransformer
from vitrage.evaluator.actions.evaluator_event_transformer import VITRAGE_TYPE
from vitrage.utils import opt_exists
LOG = logging.getLogger(__name__)
ENTITIES = 'entities'

View File

@ -19,7 +19,6 @@ from oslo_utils import importutils
from vitrage.common.constants import DatasourceAction as AType
from vitrage.common.constants import DatasourceProperties as DSProps
from vitrage.common.constants import VertexProperties as VProps
from vitrage.common import datetime_utils
from vitrage.evaluator.actions.base import ActionMode
from vitrage.evaluator.actions.base import ActionType
from vitrage.evaluator.actions.evaluator_event_transformer import VITRAGE_TYPE
@ -34,6 +33,7 @@ from vitrage.evaluator.actions.recipes.base import EVALUATOR_EVENT_TYPE
from vitrage.evaluator.actions.recipes.mark_down import MarkDown
from vitrage.evaluator.actions.recipes.raise_alarm import RaiseAlarm
from vitrage.evaluator.actions.recipes.set_state import SetState
from vitrage.utils import datetime as datetime_utils
class ActionExecutor(object):

View File

@ -17,8 +17,6 @@ from hashlib import md5
from oslo_log import log
from vitrage.common import datetime_utils
from vitrage.common import file_utils
from vitrage.evaluator.base import Template
from vitrage.evaluator.template_data import RELATIONSHIP
from vitrage.evaluator.template_data import TemplateData
@ -26,6 +24,8 @@ from vitrage.evaluator.template_validation.template_content_validator import \
content_validation
from vitrage.evaluator.template_validation.template_syntax_validator import \
syntax_validation
from vitrage.utils import datetime as datetime_utils
from vitrage.utils import file as file_utils
LOG = log.getLogger(__name__)

View File

@ -13,16 +13,15 @@
# under the License.
from datetime import timedelta
from six.moves import queue
import time
import unittest
from oslo_config import cfg
from six.moves import queue
from vitrage.common.constants import EdgeLabel
from vitrage.common.constants import EntityCategory
from vitrage.common.constants import VertexProperties as VProps
from vitrage.common.datetime_utils import utcnow
from vitrage.datasources.nagios import NAGIOS_DATASOURCE
from vitrage.datasources.nova.host import NOVA_HOST_DATASOURCE
from vitrage.datasources.nova.instance import NOVA_INSTANCE_DATASOURCE
@ -37,6 +36,7 @@ from vitrage.evaluator.scenario_repository import ScenarioRepository
import vitrage.graph.utils as graph_utils
from vitrage.tests.functional.base import TestFunctionalBase
from vitrage.tests.mocks import utils
from vitrage.utils.datetime import utcnow
class TestConsistencyFunctional(TestFunctionalBase):

View File

@ -21,12 +21,12 @@ from vitrage.common.constants import DatasourceAction
from vitrage.common.constants import DatasourceProperties as DSProps
from vitrage.common.constants import GraphAction
from vitrage.common.constants import VertexProperties as VProps
from vitrage.common import file_utils
from vitrage.datasources.static_physical import driver
from vitrage.datasources.static_physical import STATIC_PHYSICAL_DATASOURCE
from vitrage.datasources.static_physical import SWITCH
from vitrage.tests import base
from vitrage.tests.mocks import utils
from vitrage.utils import file as file_utils
LOG = logging.getLogger(__name__)

View File

@ -22,7 +22,6 @@ from vitrage.common.constants import EntityCategory
from vitrage.common.constants import GraphAction
from vitrage.common.constants import UpdateMethod
from vitrage.common.constants import VertexProperties as VProps
from vitrage.common.datetime_utils import format_unix_timestamp
from vitrage.datasources.alarm_properties import AlarmProperties as AlarmProps
from vitrage.datasources.nova.host import NOVA_HOST_DATASOURCE
from vitrage.datasources.nova.host.transformer import HostTransformer
@ -36,7 +35,7 @@ from vitrage.datasources.zabbix.transformer import ZabbixTransformer
from vitrage.datasources.zabbix import ZABBIX_DATASOURCE
from vitrage.tests import base
from vitrage.tests.mocks import mock_driver as mock_sync
from vitrage.utils.datetime import format_unix_timestamp
LOG = logging.getLogger(__name__)

View File

@ -18,7 +18,6 @@ from vitrage.common.constants import DatasourceAction as DSAction
from vitrage.common.constants import DatasourceProperties as DSProps
from vitrage.common.constants import GraphAction
from vitrage.common.constants import VertexProperties as VProps
from vitrage.common.datetime_utils import utcnow
from vitrage.datasources.transformer_base import Neighbor
from vitrage.entity_graph.initialization_status import InitializationStatus
from vitrage.entity_graph.mappings.operational_resource_state import \
@ -26,6 +25,7 @@ from vitrage.entity_graph.mappings.operational_resource_state import \
from vitrage.entity_graph.processor import processor as proc
import vitrage.graph.utils as graph_utils
from vitrage.tests.unit.entity_graph.base import TestEntityGraphUnitBase
from vitrage.utils.datetime import utcnow
class TestProcessor(TestEntityGraphUnitBase):

View File

@ -15,12 +15,12 @@ import os
from oslo_config import cfg
from vitrage.common import file_utils
from vitrage.evaluator.scenario_repository import ScenarioRepository
from vitrage.evaluator.template_validation.template_syntax_validator import \
syntax_validation
from vitrage.tests import base
from vitrage.tests.mocks import utils
from vitrage.utils import file as file_utils
class ScenarioRepositoryTest(base.BaseTest):

View File

@ -15,8 +15,6 @@ import copy
import logging
from vitrage.common.constants import EntityCategory
from vitrage.common import file_utils
from vitrage.evaluator.actions.base import ActionType
from vitrage.evaluator.template_fields import TemplateFields
from vitrage.evaluator.template_validation.status_messages import status_msgs
@ -24,6 +22,7 @@ from vitrage.evaluator.template_validation import template_content_validator \
as validator
from vitrage.tests import base
from vitrage.tests.mocks import utils
from vitrage.utils import file as file_utils
DEFINITIONS_INDEX_MOCK = {
'123': {},

View File

@ -13,7 +13,6 @@
# under the License.
from vitrage.common.constants import EdgeLabel
from vitrage.common import file_utils
from vitrage.evaluator.template_data import ConditionVar
from vitrage.evaluator.template_data import EdgeDescription
from vitrage.evaluator.template_data import TemplateData
@ -21,6 +20,7 @@ from vitrage.evaluator.template_fields import TemplateFields as TFields
from vitrage.graph import Vertex
from vitrage.tests import base
from vitrage.tests.mocks import utils
from vitrage.utils import file as file_utils
class BasicTemplateTest(base.BaseTest):

View File

@ -14,12 +14,12 @@
import copy
import logging
from vitrage.common import file_utils
from vitrage.evaluator.template_fields import TemplateFields
from vitrage.evaluator.template_validation.status_messages import status_msgs
from vitrage.evaluator.template_validation import template_syntax_validator
from vitrage.tests import base
from vitrage.tests.mocks import utils
from vitrage.utils import file as file_utils
# noinspection PyAttributeOutsideInit

View File

@ -1,14 +1,38 @@
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
# -*- encoding: utf-8 -*-
# Copyright 2015 - Alcatel-Lucent
# Copyright © 2014-2015 eNovance
# Copyright 2010 United States Government as represented by the
# Administrator of the National Aeronautics and Space Administration.
# Copyright 2011 Justin Santa Barbara
#
# http://www.apache.org/licenses/LICENSE-2.0
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
from oslo_config import cfg
import six
__author__ = 'stack'
def recursive_keypairs(d, separator='.'):
# taken from ceilometer and gnocchi
for name, value in sorted(six.iteritems(d)):
if isinstance(value, dict):
for subname, subvalue in recursive_keypairs(value, separator):
yield ('%s%s%s' % (name, separator, subname), subvalue)
else:
yield name, value
def opt_exists(conf_parent, opt):
try:
return conf_parent[opt]
except cfg.NoSuchOptError:
return False

View File

@ -11,6 +11,9 @@
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
from __future__ import absolute_import
from datetime import datetime
from oslo_utils import timeutils