Clean imports in code

This patch set modifies lines which are importing objects
instead of modules. As per openstack import guide lines, user should
import modules in a file not objects.

http://docs.openstack.org/developer/hacking/#imports

Change-Id: I3c5c7368fb006f3691d07cef9557c20a42cc5b76
This commit is contained in:
Cao Xuan Hoang 2016-09-23 17:14:27 +07:00
parent 7b09e25a23
commit 69f4c2b8e3
17 changed files with 114 additions and 102 deletions

View File

@ -14,13 +14,13 @@
import logging
import pymysql
from monasca_notification.common.repositories.base.base_repo import BaseRepo
from monasca_notification.common.repositories.base import base_repo
from monasca_notification.common.repositories import exceptions as exc
log = logging.getLogger(__name__)
class MysqlRepo(BaseRepo):
class MysqlRepo(base_repo.BaseRepo):
def __init__(self, config):
super(MysqlRepo, self).__init__(config)
if 'ssl' in config['mysql']:

View File

@ -14,13 +14,13 @@
import logging
import psycopg2
from monasca_notification.common.repositories.base.base_repo import BaseRepo
from monasca_notification.common.repositories.base import base_repo
from monasca_notification.common.repositories import exceptions as exc
log = logging.getLogger(__name__)
class PostgresqlRepo(BaseRepo):
class PostgresqlRepo(base_repo.BaseRepo):
def __init__(self, config):
super(PostgresqlRepo, self).__init__(config)
self._pgsql_params = config['postgresql']

View File

@ -17,8 +17,8 @@ import logging
import monascastatsd
import time
from monasca_common.kafka.consumer import KafkaConsumer
from monasca_common.kafka.producer import KafkaProducer
from monasca_common.kafka import consumer
from monasca_common.kafka import producer
from processors.alarm_processor import AlarmProcessor
from processors.base import BaseProcessor
from processors.notification_processor import NotificationProcessor
@ -33,12 +33,13 @@ class NotificationEngine(object):
self._topics['retry_topic'] = config['kafka']['notification_retry_topic']
self._statsd = monascastatsd.Client(name='monasca',
dimensions=BaseProcessor.dimensions)
self._consumer = KafkaConsumer(config['kafka']['url'],
config['zookeeper']['url'],
config['zookeeper']['notification_path'],
config['kafka']['group'],
config['kafka']['alarm_topic'])
self._producer = KafkaProducer(config['kafka']['url'])
self._consumer = consumer.KafkaConsumer(
config['kafka']['url'],
config['zookeeper']['url'],
config['zookeeper']['notification_path'],
config['kafka']['group'],
config['kafka']['alarm_topic'])
self._producer = producer.KafkaProducer(config['kafka']['url'])
self._alarm_ttl = config['processors']['alarm']['ttl']
self._alarms = AlarmProcessor(self._alarm_ttl, config)
self._notifier = NotificationProcessor(config)

View File

@ -18,13 +18,13 @@ import logging
import monascastatsd
import time
from monasca_common.kafka.consumer import KafkaConsumer
from monasca_common.kafka.producer import KafkaProducer
from monasca_common.kafka import consumer
from monasca_common.kafka import producer
from monasca_notification.common.repositories import exceptions
from monasca_notification.common.utils import construct_notification_object
from monasca_notification.common.utils import get_db_repo
from processors.base import BaseProcessor
from processors.notification_processor import NotificationProcessor
from processors import base
from processors import notification_processor
log = logging.getLogger(__name__)
@ -33,19 +33,20 @@ class PeriodicEngine(object):
def __init__(self, config, period):
self._topic_name = config['kafka']['periodic'][period]
self._statsd = monascastatsd.Client(name='monasca',
dimensions=BaseProcessor.dimensions)
self._statsd = monascastatsd.Client(
name='monasca',
dimensions=base.BaseProcessor.dimensions)
zookeeper_path = config['zookeeper']['periodic_path'][period]
self._consumer = KafkaConsumer(config['kafka']['url'],
config['zookeeper']['url'],
zookeeper_path,
config['kafka']['group'],
self._topic_name)
self._consumer = consumer.KafkaConsumer(config['kafka']['url'],
config['zookeeper']['url'],
zookeeper_path,
config['kafka']['group'],
self._topic_name)
self._producer = KafkaProducer(config['kafka']['url'])
self._producer = producer.KafkaProducer(config['kafka']['url'])
self._notifier = NotificationProcessor(config)
self._notifier = notification_processor.NotificationProcessor(config)
self._db_repo = get_db_repo(config)
self._period = period

View File

@ -17,7 +17,7 @@ import email.mime.text
import smtplib
import time
from monasca_notification.plugins.abstract_notifier import AbstractNotifier
from monasca_notification.plugins import abstract_notifier
EMAIL_SINGLE_HOST_BASE = u'''On host "{hostname}" for target "{target_host}" {message}
@ -50,7 +50,7 @@ With dimensions
{metric_dimensions}'''
class EmailNotifier(AbstractNotifier):
class EmailNotifier(abstract_notifier.AbstractNotifier):
def __init__(self, log):
self._log = log
self._smtp = None

View File

@ -17,7 +17,7 @@ import json
import requests
import urlparse
from monasca_notification.plugins.abstract_notifier import AbstractNotifier
from monasca_notification.plugins import abstract_notifier
"""
notification.address = https://hipchat.hpcloud.net/v2/room/<room_id>/notification?auth_token=432432
@ -37,7 +37,7 @@ from monasca_notification.plugins.abstract_notifier import AbstractNotifier
"""
class HipChatNotifier(AbstractNotifier):
class HipChatNotifier(abstract_notifier.AbstractNotifier):
def __init__(self, log):
self._log = log

View File

@ -16,13 +16,13 @@
import json
import requests
from monasca_notification.plugins.abstract_notifier import AbstractNotifier
from monasca_notification.plugins import abstract_notifier
VALID_HTTP_CODES = [200, 201, 204]
class PagerdutyNotifier(AbstractNotifier):
class PagerdutyNotifier(abstract_notifier.AbstractNotifier):
def __init__(self, log):
self._log = log

View File

@ -17,7 +17,7 @@ import json
import requests
import urlparse
from monasca_notification.plugins.abstract_notifier import AbstractNotifier
from monasca_notification.plugins import abstract_notifier
"""
notification.address = https://slack.com/api/chat.postMessage?token=token&channel=#channel"
@ -30,7 +30,7 @@ from monasca_notification.plugins.abstract_notifier import AbstractNotifier
"""
class SlackNotifier(AbstractNotifier):
class SlackNotifier(abstract_notifier.AbstractNotifier):
def __init__(self, log):
self._log = log

View File

@ -16,10 +16,10 @@
import json
import requests
from monasca_notification.plugins.abstract_notifier import AbstractNotifier
from monasca_notification.plugins import abstract_notifier
class WebhookNotifier(AbstractNotifier):
class WebhookNotifier(abstract_notifier.AbstractNotifier):
def __init__(self, log):
self._log = log

View File

@ -20,19 +20,20 @@ import time
from monasca_notification.common.repositories import exceptions as exc
from monasca_notification.common.utils import get_db_repo
from monasca_notification.notification import Notification
from monasca_notification.notification_exceptions import AlarmFormatError
from monasca_notification.processors.base import BaseProcessor
from monasca_notification import notification
from monasca_notification import notification_exceptions
from monasca_notification.processors import base
log = logging.getLogger(__name__)
class AlarmProcessor(BaseProcessor):
class AlarmProcessor(base.BaseProcessor):
def __init__(self, alarm_ttl, config):
self._alarm_ttl = alarm_ttl
self._statsd = monascastatsd.Client(name='monasca',
dimensions=BaseProcessor.dimensions)
self._statsd = monascastatsd.Client(
name='monasca',
dimensions=base.BaseProcessor.dimensions)
self._db_repo = get_db_repo(config)
@staticmethod
@ -57,9 +58,10 @@ class AlarmProcessor(BaseProcessor):
alarm = json_alarm['alarm-transitioned']
for field in expected_fields:
if field not in alarm:
raise AlarmFormatError('Alarm data missing field %s' % field)
raise notification_exceptions.AlarmFormatError(
'Alarm data missing field %s' % field)
if ('tenantId' not in alarm) or ('alarmId' not in alarm):
raise AlarmFormatError
raise notification_exceptions.AlarmFormatError
return alarm
@ -84,13 +86,14 @@ class AlarmProcessor(BaseProcessor):
with db_time.time('config_db_time'):
alarms_actions = self._db_repo.fetch_notifications(alarm)
return [Notification(alarms_action[0],
alarms_action[1],
alarms_action[2],
alarms_action[3],
alarms_action[4],
0,
alarm) for alarms_action in alarms_actions]
return [notification.Notification(
alarms_action[0],
alarms_action[1],
alarms_action[2],
alarms_action[3],
alarms_action[4],
0,
alarm) for alarms_action in alarms_actions]
def to_notification(self, raw_alarm):
"""Check the notification setting for this project then create the appropriate notification

View File

@ -17,16 +17,16 @@ import logging
import monascastatsd
from monasca_notification.common.utils import get_db_repo
from monasca_notification.processors.base import BaseProcessor
from monasca_notification.processors import base
from monasca_notification.types import notifiers
log = logging.getLogger(__name__)
class NotificationProcessor(BaseProcessor):
class NotificationProcessor(base.BaseProcessor):
def __init__(self, config):
self.statsd = monascastatsd.Client(name='monasca', dimensions=BaseProcessor.dimensions)
self.statsd = monascastatsd.Client(name='monasca', dimensions=base.BaseProcessor.dimensions)
notifiers.init(self.statsd)
notifiers.load_plugins(config['notification_types'])
notifiers.config(config['notification_types'])

View File

@ -18,12 +18,12 @@ import logging
import monascastatsd
import time
from monasca_common.kafka.consumer import KafkaConsumer
from monasca_common.kafka.producer import KafkaProducer
from monasca_common.kafka import consumer
from monasca_common.kafka import producer
from monasca_notification.common.utils import construct_notification_object
from monasca_notification.common.utils import get_db_repo
from processors.base import BaseProcessor
from processors.notification_processor import NotificationProcessor
from processors import base
from processors import notification_processor
log = logging.getLogger(__name__)
@ -37,18 +37,20 @@ class RetryEngine(object):
self._topics['notification_topic'] = config['kafka']['notification_topic']
self._topics['retry_topic'] = config['kafka']['notification_retry_topic']
self._statsd = monascastatsd.Client(name='monasca',
dimensions=BaseProcessor.dimensions)
self._statsd = monascastatsd.Client(
name='monasca',
dimensions=base.BaseProcessor.dimensions)
self._consumer = KafkaConsumer(config['kafka']['url'],
config['zookeeper']['url'],
config['zookeeper']['notification_retry_path'],
config['kafka']['group'],
config['kafka']['notification_retry_topic'])
self._consumer = consumer.KafkaConsumer(
config['kafka']['url'],
config['zookeeper']['url'],
config['zookeeper']['notification_retry_path'],
config['kafka']['group'],
config['kafka']['notification_retry_topic'])
self._producer = KafkaProducer(config['kafka']['url'])
self._producer = producer.KafkaProducer(config['kafka']['url'])
self._notifier = NotificationProcessor(config)
self._notifier = notification_processor.NotificationProcessor(config)
self._db_repo = get_db_repo(config)
def run(self):

View File

@ -21,7 +21,7 @@ import mock
import time
import unittest
from monasca_notification.notification import Notification
from monasca_notification import notification as m_notification
from monasca_notification.processors import alarm_processor
alarm_tuple = collections.namedtuple('alarm_tuple', ['offset', 'message'])
@ -127,7 +127,8 @@ class TestAlarmProcessor(unittest.TestCase):
sql_response = [[1, 'EMAIL', 'test notification', 'me@here.com', 0]]
notifications, partition, offset = self._run_alarm_processor(alarm, sql_response)
test_notification = Notification(1, 'email', 'test notification', 'me@here.com', 0, 0, alarm_dict)
test_notification = m_notification.Notification(1, 'email', 'test notification',
'me@here.com', 0, 0, alarm_dict)
self.assertEqual(notifications, [test_notification])
self.assertEqual(partition, 0)
@ -145,8 +146,10 @@ class TestAlarmProcessor(unittest.TestCase):
[2, 'EMAIL', 'test notification2', 'me@here.com', 0]]
notifications, partition, offset = self._run_alarm_processor(alarm, sql_response)
test_notification = Notification(1, 'email', 'test notification', 'me@here.com', 0, 0, alarm_dict)
test_notification2 = Notification(2, 'email', 'test notification2', 'me@here.com', 0, 0, alarm_dict)
test_notification = m_notification.Notification(1, 'email', 'test notification',
'me@here.com', 0, 0, alarm_dict)
test_notification2 = m_notification.Notification(2, 'email', 'test notification2',
'me@here.com', 0, 0, alarm_dict)
self.assertEqual(notifications, [test_notification, test_notification2])
self.assertEqual(partition, 0)

View File

@ -19,7 +19,7 @@ import mock
import time
import unittest
from monasca_notification.notification import Notification
from monasca_notification import notification as m_notification
from monasca_notification.processors import notification_processor
@ -97,7 +97,7 @@ class TestNotificationProcessor(unittest.TestCase):
"timestamp": time.time(),
"metrics": metric}
notification = Notification(0, 'email', 'email notification', 'me@here.com', 0, 0, alarm_dict)
notification = m_notification.Notification(0, 'email', 'email notification', 'me@here.com', 0, 0, alarm_dict)
self._start_processor([notification])
@ -111,7 +111,8 @@ class TestNotificationProcessor(unittest.TestCase):
alarm_dict = {"tenantId": "0", "alarmId": "0", "alarmName": "test Alarm", "oldState": "OK", "newState": "ALARM",
"stateChangeReason": "I am alarming!", "timestamp": time.time(), "metrics": "cpu_util",
"severity": "LOW", "link": "http://some-place.com", "lifecycleState": "OPEN"}
invalid_notification = Notification(0, 'invalid', 'test notification', 'me@here.com', 0, 0, alarm_dict)
invalid_notification = m_notification.Notification(0, 'invalid', 'test notification',
'me@here.com', 0, 0, alarm_dict)
self._start_processor([invalid_notification])

View File

@ -18,7 +18,7 @@ import mock
import time
import unittest
from monasca_notification.notification import Notification
from monasca_notification import notification as m_notification
from monasca_notification.types import notifiers
@ -225,8 +225,8 @@ class TestInterface(unittest.TestCase):
notifiers.config(config_dict)
notifications = []
notifications.append(Notification(0, 'email', 'email notification',
'me@here.com', 0, 0, alarm({})))
notifications.append(m_notification.Notification(0, 'email', 'email notification',
'me@here.com', 0, 0, alarm({})))
notifiers.send_notifications(notifications)
@ -250,8 +250,8 @@ class TestInterface(unittest.TestCase):
notifiers.config(config_dict)
notifications = []
notifications.append(Notification(0, 'email', 'email notification',
'me@here.com', 0, 0, alarm({})))
notifications.append(m_notification.Notification(0, 'email', 'email notification',
'me@here.com', 0, 0, alarm({})))
sent, failed, invalid = notifiers.send_notifications(notifications)
@ -278,8 +278,8 @@ class TestInterface(unittest.TestCase):
self.assertIn("No config data for type: pagerduty", self.trap)
notifications = []
notifications.append(Notification(0, 'pagerduty', 'pagerduty notification',
'me@here.com', 0, 0, alarm({})))
notifications.append(m_notification.Notification(0, 'pagerduty', 'pagerduty notification',
'me@here.com', 0, 0, alarm({})))
sent, failed, invalid = notifiers.send_notifications(notifications)
@ -310,12 +310,12 @@ class TestInterface(unittest.TestCase):
notifiers.config(config_dict)
notifications = []
notifications.append(Notification(0, 'email', 'email notification',
'me@here.com', 0, 0, alarm({})))
notifications.append(Notification(1, 'email', 'email notification',
'foo@here.com', 0, 0, alarm({})))
notifications.append(Notification(2, 'email', 'email notification',
'bar@here.com', 0, 0, alarm({})))
notifications.append(m_notification.Notification(0, 'email', 'email notification',
'me@here.com', 0, 0, alarm({})))
notifications.append(m_notification.Notification(1, 'email', 'email notification',
'foo@here.com', 0, 0, alarm({})))
notifications.append(m_notification.Notification(2, 'email', 'email notification',
'bar@here.com', 0, 0, alarm({})))
sent, failed, invalid = notifiers.send_notifications(notifications)
@ -343,12 +343,12 @@ class TestInterface(unittest.TestCase):
notifiers.config(config_dict)
notifications = []
notifications.append(Notification(0, 'email', 'email notification',
'me@here.com', 0, 0, alarm({})))
notifications.append(Notification(1, 'email', 'email notification',
'foo@here.com', 0, 0, alarm({})))
notifications.append(Notification(2, 'email', 'email notification',
'bar@here.com', 0, 0, alarm({})))
notifications.append(m_notification.Notification(0, 'email', 'email notification',
'me@here.com', 0, 0, alarm({})))
notifications.append(m_notification.Notification(1, 'email', 'email notification',
'foo@here.com', 0, 0, alarm({})))
notifications.append(m_notification.Notification(2, 'email', 'email notification',
'bar@here.com', 0, 0, alarm({})))
notifiers.send_notifications(notifications)

View File

@ -20,7 +20,7 @@ import requests
import time
import unittest
from monasca_notification.notification import Notification
from monasca_notification import notification as m_notification
from monasca_notification.plugins import pagerduty_notifier
@ -144,13 +144,13 @@ class TestWebhook(unittest.TestCase):
alarm_dict = alarm(metric)
notification = Notification(0,
'pagerduty',
'pagerduty notification',
'ABCDEF',
0,
0,
alarm_dict)
notification = m_notification.Notification(0,
'pagerduty',
'pagerduty notification',
'ABCDEF',
0,
0,
alarm_dict)
self.trap.put(pagerduty.send_notification(notification))

View File

@ -19,7 +19,7 @@ import Queue
import requests
import unittest
from monasca_notification.notification import Notification
from monasca_notification import notification as m_notification
from monasca_notification.plugins import webhook_notifier
@ -86,7 +86,8 @@ class TestWebhook(unittest.TestCase):
alarm_dict = alarm(metric)
notification = Notification(0, 'webhook', 'webhook notification', 'http://mock:3333/', 0, 0, alarm_dict)
notification = m_notification.Notification(0, 'webhook', 'webhook notification',
'http://mock:3333/', 0, 0, alarm_dict)
self.trap.put(webhook.send_notification(notification))