diff --git a/quantum/openstack/common/iniparser.py b/quantum/openstack/common/iniparser.py index e91eea5380..241284449e 100644 --- a/quantum/openstack/common/iniparser.py +++ b/quantum/openstack/common/iniparser.py @@ -53,7 +53,8 @@ class BaseParser(object): key, value = line[:colon], line[colon + 1:] value = value.strip() - if value[0] == value[-1] and value[0] == "\"" or value[0] == "'": + if ((value and value[0] == value[-1]) and + (value[0] == "\"" or value[0] == "'")): value = value[1:-1] return key.strip(), [value] diff --git a/quantum/openstack/common/log.py b/quantum/openstack/common/log.py index 7165fe2253..0bf986bf13 100644 --- a/quantum/openstack/common/log.py +++ b/quantum/openstack/common/log.py @@ -66,13 +66,13 @@ log_opts = [ help='prefix each line of exception output with this format'), cfg.ListOpt('default_log_levels', default=[ - 'amqplib=WARN', - 'sqlalchemy=WARN', - 'boto=WARN', - 'suds=INFO', - 'keystone=INFO', - 'eventlet.wsgi.server=WARN' - ], + 'amqplib=WARN', + 'sqlalchemy=WARN', + 'boto=WARN', + 'suds=INFO', + 'keystone=INFO', + 'eventlet.wsgi.server=WARN' + ], help='list of logger=LEVEL pairs'), cfg.BoolOpt('publish_errors', default=False, @@ -89,7 +89,7 @@ log_opts = [ default='[instance: %(uuid)s] ', help='If an instance UUID is passed with the log message, ' 'format it like this'), - ] +] generic_log_opts = [ @@ -105,7 +105,7 @@ generic_log_opts = [ cfg.StrOpt('logfile_mode', default='0644', help='Default file mode used when creating log files'), - ] +] CONF = cfg.CONF @@ -208,9 +208,9 @@ class JSONFormatter(logging.Formatter): def formatException(self, ei, strip_newlines=True): lines = traceback.format_exception(*ei) if strip_newlines: - lines = [itertools.ifilter(lambda x: x, - line.rstrip().splitlines()) - for line in lines] + lines = [itertools.ifilter( + lambda x: x, + line.rstrip().splitlines()) for line in lines] lines = list(itertools.chain(*lines)) return lines @@ -252,9 +252,9 @@ class PublishErrorsHandler(logging.Handler): CONF.list_notifier_drivers): return notifier.api.notify(None, 'error.publisher', - 'error_notification', - notifier.api.ERROR, - dict(error=record.msg)) + 'error_notification', + notifier.api.ERROR, + dict(error=record.msg)) def handle_exception(type, value, tb): diff --git a/quantum/openstack/common/notifier/api.py b/quantum/openstack/common/notifier/api.py index b3e7371edf..2b31ecc28d 100644 --- a/quantum/openstack/common/notifier/api.py +++ b/quantum/openstack/common/notifier/api.py @@ -37,7 +37,7 @@ notifier_opts = [ cfg.StrOpt('default_publisher_id', default='$host', help='Default publisher_id for outgoing notifications'), - ] +] CONF = cfg.CONF CONF.register_opts(notifier_opts) @@ -122,21 +122,21 @@ def notify(context, publisher_id, event_type, priority, payload): """ if priority not in log_levels: raise BadPriorityException( - _('%s not in valid priorities') % priority) + _('%s not in valid priorities') % priority) # Ensure everything is JSON serializable. payload = jsonutils.to_primitive(payload, convert_instances=True) driver = importutils.import_module(CONF.notification_driver) msg = dict(message_id=str(uuid.uuid4()), - publisher_id=publisher_id, - event_type=event_type, - priority=priority, - payload=payload, - timestamp=str(timeutils.utcnow())) + publisher_id=publisher_id, + event_type=event_type, + priority=priority, + payload=payload, + timestamp=str(timeutils.utcnow())) try: driver.notify(context, msg) except Exception, e: LOG.exception(_("Problem '%(e)s' attempting to " "send to notification system. Payload=%(payload)s") % - locals()) + locals()) diff --git a/quantum/openstack/common/notifier/list_notifier.py b/quantum/openstack/common/notifier/list_notifier.py index b2f3afa282..baa4fab31f 100644 --- a/quantum/openstack/common/notifier/list_notifier.py +++ b/quantum/openstack/common/notifier/list_notifier.py @@ -19,9 +19,10 @@ from quantum.openstack.common import importutils from quantum.openstack.common import log as logging -list_notifier_drivers_opt = cfg.MultiStrOpt('list_notifier_drivers', - default=['quantum.openstack.common.notifier.no_op_notifier'], - help='List of drivers to send notifications') +list_notifier_drivers_opt = cfg.MultiStrOpt( + 'list_notifier_drivers', + default=['quantum.openstack.common.notifier.no_op_notifier'], + help='List of drivers to send notifications') CONF = cfg.CONF CONF.register_opt(list_notifier_drivers_opt) diff --git a/quantum/openstack/common/notifier/log_notifier.py b/quantum/openstack/common/notifier/log_notifier.py index ea77908200..225cbd1e10 100644 --- a/quantum/openstack/common/notifier/log_notifier.py +++ b/quantum/openstack/common/notifier/log_notifier.py @@ -30,6 +30,6 @@ def notify(_context, message): CONF.default_notification_level) priority = priority.lower() logger = logging.getLogger( - 'quantum.openstack.common.notification.%s' % - message['event_type']) + 'quantum.openstack.common.notification.%s' % + message['event_type']) getattr(logger, priority)(jsonutils.dumps(message)) diff --git a/quantum/openstack/common/notifier/rabbit_notifier.py b/quantum/openstack/common/notifier/rabbit_notifier.py index 1f737da18d..e11c418fea 100644 --- a/quantum/openstack/common/notifier/rabbit_notifier.py +++ b/quantum/openstack/common/notifier/rabbit_notifier.py @@ -22,9 +22,9 @@ from quantum.openstack.common import rpc LOG = logging.getLogger(__name__) -notification_topic_opt = cfg.ListOpt('notification_topics', - default=['notifications', ], - help='AMQP topic used for openstack notifications') +notification_topic_opt = cfg.ListOpt( + 'notification_topics', default=['notifications', ], + help='AMQP topic used for openstack notifications') CONF = cfg.CONF CONF.register_opt(notification_topic_opt) diff --git a/quantum/openstack/common/rpc/impl_zmq.py b/quantum/openstack/common/rpc/impl_zmq.py index 0b1336e3af..3396ef3720 100644 --- a/quantum/openstack/common/rpc/impl_zmq.py +++ b/quantum/openstack/common/rpc/impl_zmq.py @@ -52,7 +52,7 @@ zmq_opts = [ default=('quantum.openstack.common.rpc.' 'matchmaker.MatchMakerLocalhost'), help='MatchMaker driver', - ), + ), # The following port is unassigned by IANA as of 2012-05-21 cfg.IntOpt('rpc_zmq_port', default=9501, diff --git a/quantum/tests/unit/test_api_v2.py b/quantum/tests/unit/test_api_v2.py index 66be5ceee3..b068108cd1 100644 --- a/quantum/tests/unit/test_api_v2.py +++ b/quantum/tests/unit/test_api_v2.py @@ -68,7 +68,7 @@ class V2WsgiResourceTestCase(unittest.TestCase): environ = {'wsgiorg.routing_args': (None, {'action': 'test'})} res = resource.get('', extra_environ=environ, expect_errors=True) - self.assertEqual(res.status_int, exc.HTTPInternalServerError.code) + self.assertEqual(res.status_int, exc.HTTPInternalServerError.code) def test_mapped_quantum_error(self): controller = mock.MagicMock() diff --git a/quantum/tests/unit/test_db_plugin.py b/quantum/tests/unit/test_db_plugin.py index 4bf80d2aec..5b88979c1f 100644 --- a/quantum/tests/unit/test_db_plugin.py +++ b/quantum/tests/unit/test_db_plugin.py @@ -772,7 +772,7 @@ class TestPortsV2(QuantumDbPluginV2TestCase): def test_invalid_admin_state(self): with self.network() as network: data = {'port': {'network_id': network['network']['id'], - 'tenant_id': network['network']['tenant_id'], + 'tenant_id': network['network']['tenant_id'], 'admin_state_up': 7, 'fixed_ips': []}} port_req = self.new_create_request('ports', data) @@ -782,7 +782,7 @@ class TestPortsV2(QuantumDbPluginV2TestCase): def test_invalid_mac_address(self): with self.network() as network: data = {'port': {'network_id': network['network']['id'], - 'tenant_id': network['network']['tenant_id'], + 'tenant_id': network['network']['tenant_id'], 'admin_state_up': 1, 'mac_address': 'mac', 'fixed_ips': []}} diff --git a/run_tests.sh b/run_tests.sh index a2e3772d96..4282058efa 100755 --- a/run_tests.sh +++ b/run_tests.sh @@ -98,13 +98,9 @@ function run_pep8 { echo "Running pep8 ..." PEP8_EXCLUDE="vcsversion.py,*.pyc" - # TODO(gongysh) we should pep8 check openstack common files. But that project does - # not stick to latest pep8 version. Therefore we exclude these common files here. - # Pep8 does not support exclude in the format quantum/openstack/common, - # so I have to exclude some of openstack common files one by one. This also applies - # to tox.ini. - PEP8_EXCLUDE="$PEP8_EXCLUDE,log.py,notifier,rpc" - PEP8_OPTIONS="--exclude=$PEP8_EXCLUDE --repeat --show-source" + # we now turn off pep8 1.3 E125 check to avoid make change to + # openstack-common . + PEP8_OPTIONS="--exclude=$PEP8_EXCLUDE --ignore=E125 --repeat --show-source" PEP8_INCLUDE="bin/* quantum run_tests.py setup*.py" ${wrapper} pep8 $PEP8_OPTIONS $PEP8_INCLUDE } diff --git a/tox.ini b/tox.ini index 402b6539bd..823b6b2e33 100644 --- a/tox.ini +++ b/tox.ini @@ -21,7 +21,7 @@ downloadcache = ~/cache/pip [testenv:pep8] deps = pep8 setuptools_git>=0.4 -commands = pep8 --repeat --show-source --exclude=.venv,.tox,dist,doc,*egg,log.py,notifier,rpc . +commands = pep8 --repeat --show-source --ignore=E125 --exclude=.venv,.tox,dist,doc,*egg . [testenv:cover] setenv = NOSE_WITH_COVERAGE=1