Additional flake8 cleanup

The flake8 command was identifying several warnings and errors. This change
addresses the flake8 warnings and updates the setup.cfg with additional
exclusions. If accepted, jenkins will be updated to use the flake8 command,
rather than using the django_jenkins plugin. This will expedite jenkins
testing.
This commit is contained in:
James Laska 2015-05-20 15:26:44 -04:00
parent 71fc2320d0
commit 7064c9bed4
12 changed files with 77 additions and 104 deletions

View File

@ -244,14 +244,22 @@ socketservice:
factcacher:
$(PYTHON) manage.py run_fact_cache_receiver
pep8:
pep8 -r awx/
reports:
mkdir -p $@
pyflakes:
pyflakes awx/
pep8: reports
@(set -o pipefail && $@ | tee reports/$@.report)
check:
flake8
flake8: reports
@$@ --output-file=reports/$@.report
pyflakes: reports
@(set -o pipefail && $@ | tee reports/$@.report)
pylint: reports
@(set -o pipefail && $@ | reports/$@.report)
check: flake8 pep8 # pyflakes pylint
# Run all API unit tests.
test:

View File

@ -36,11 +36,8 @@ import json
import logging
import os
import pwd
import sys
import urllib
import urlparse
import time
from contextlib import closing
# Requests
import requests

View File

@ -32,7 +32,6 @@
import sys
import time
import datetime
import json
from copy import deepcopy
from ansible import constants as C
from ansible.cache.base import BaseCacheModule

View File

@ -4,10 +4,10 @@
# This file is a utility script that is not part of the AWX or Ansible
# packages. It does not import any code from either package, nor does its
# license apply to Ansible or AWX.
#
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
#
# Redistributions of source code must retain the above copyright notice, this
# list of conditions and the following disclaimer.
#
@ -61,7 +61,7 @@ class TokenAuth(requests.auth.AuthBase):
return request
class InventoryScript(object):
def __init__(self, **options):
self.options = options
@ -95,11 +95,11 @@ class InventoryScript(object):
def run(self):
try:
self.base_url = self.options.get('base_url', '') or \
os.getenv('REST_API_URL', '')
os.getenv('REST_API_URL', '')
if not self.base_url:
raise ValueError('No REST API URL specified')
self.auth_token = self.options.get('authtoken', '') or \
os.getenv('REST_API_TOKEN', '')
os.getenv('REST_API_TOKEN', '')
parts = urlparse.urlsplit(self.base_url)
if not (parts.username and parts.password) and not self.auth_token:
raise ValueError('No username/password specified in REST API '
@ -107,7 +107,7 @@ class InventoryScript(object):
try:
# Command line argument takes precedence over environment
# variable.
self.inventory_id = int(self.options.get('inventory_id', 0) or \
self.inventory_id = int(self.options.get('inventory_id', 0) or
os.getenv('INVENTORY_ID', 0))
except ValueError:
raise ValueError('Inventory ID must be an integer')

View File

@ -84,7 +84,7 @@ class ServiceScanService(BaseService):
else:
pid = None
else:
pid = None
pid = None # NOQA
payload = {"name": service_name, "state": service_state, "goal": service_goal, "source": "upstart"}
services.append(payload)
@ -104,7 +104,7 @@ class ServiceScanService(BaseService):
service_state = "dead"
elif len(line_data) == 3:
service_name = line_data[0]
service_pid = None
service_pid = None # NOQA
service_state = "stopped"
else:
continue

View File

@ -3,9 +3,7 @@
import os
import sys
import glob
from datetime import timedelta
import tempfile
MONGO_DB = 'system_tracking'
@ -119,13 +117,13 @@ ALLOWED_HOSTS = []
# reverse proxy.
REMOTE_HOST_HEADERS = ['REMOTE_ADDR', 'REMOTE_HOST']
TEMPLATE_CONTEXT_PROCESSORS += (
TEMPLATE_CONTEXT_PROCESSORS += ( # NOQA
'django.core.context_processors.request',
'awx.ui.context_processors.settings',
'awx.ui.context_processors.version',
)
MIDDLEWARE_CLASSES += (
MIDDLEWARE_CLASSES += ( # NOQA
'awx.main.middleware.HAMiddleware',
'awx.main.middleware.ActivityStreamMiddleware',
'crum.CurrentRequestUserMiddleware',
@ -247,7 +245,7 @@ EMAIL_USE_TLS = False
# Use Django-Debug-Toolbar if installed.
try:
import debug_toolbar
INSTALLED_APPS += ('debug_toolbar',)
INSTALLED_APPS += (debug_toolbar.__name__,)
except ImportError:
pass
@ -259,7 +257,7 @@ DEBUG_TOOLBAR_CONFIG = {
# Use Django-devserver if installed.
try:
import devserver
INSTALLED_APPS += ('devserver',)
INSTALLED_APPS += (devserver.__name__,)
except ImportError:
pass
@ -444,7 +442,7 @@ VMWARE_REGIONS_BLACKLIST = []
# Inventory variable name/values for determining whether a host is
# active in vSphere.
VMWARE_ENABLED_VAR = 'vmware_powerState'
VMWARE_ENABLED_VAR = 'vmware_powerState'
VMWARE_ENABLED_VALUE = 'poweredOn'
# Inventory variable name containing the unique instance ID.
@ -609,7 +607,7 @@ LOGGING = {
'class':'logging.handlers.RotatingFileHandler',
'filters': ['require_debug_false'],
'filename': os.path.join(LOG_ROOT, 'tower_warnings.log'),
'maxBytes': 1024*1024*5, # 5 MB
'maxBytes': 1024 * 1024 * 5, # 5 MB
'backupCount': 5,
'formatter':'simple',
},
@ -618,7 +616,7 @@ LOGGING = {
'class':'logging.handlers.RotatingFileHandler',
'filters': ['require_debug_false'],
'filename': os.path.join(LOG_ROOT, 'callback_receiver.log'),
'maxBytes': 1024*1024*5, # 5 MB
'maxBytes': 1024 * 1024 * 5, # 5 MB
'backupCount': 5,
'formatter':'simple',
},
@ -627,7 +625,7 @@ LOGGING = {
'class':'logging.handlers.RotatingFileHandler',
'filters': ['require_debug_false'],
'filename': os.path.join(LOG_ROOT, 'socketio_service.log'),
'maxBytes': 1024*1024*5, # 5 MB
'maxBytes': 1024 * 1024 * 5, # 5 MB
'backupCount': 5,
'formatter':'simple',
},
@ -636,7 +634,7 @@ LOGGING = {
'class':'logging.handlers.RotatingFileHandler',
'filters': ['require_debug_false'],
'filename': os.path.join(LOG_ROOT, 'task_system.log'),
'maxBytes': 1024*1024*5, # 5 MB
'maxBytes': 1024 * 1024 * 5, # 5 MB
'backupCount': 5,
'formatter':'simple',
},

View File

@ -6,13 +6,12 @@
# Python
import sys
import traceback
import glob
# Django Split Settings
from split_settings.tools import optional, include
# Load default settings.
from defaults import *
from defaults import * # NOQA
MONGO_DB = 'system_tracking_dev'
@ -31,27 +30,24 @@ AWX_PROOT_ENABLED = True
# Use Django-Jenkins if installed. Only run tests for awx.main app.
try:
import django_jenkins
INSTALLED_APPS += ('django_jenkins',)
INSTALLED_APPS += (django_jenkins.__name__,)
PROJECT_APPS = ('awx.main.tests', 'awx.api.tests', 'awx.fact.tests',)
except ImportError:
pass
if 'django_jenkins' in INSTALLED_APPS:
JENKINS_TASKS = (
'django_jenkins.tasks.run_pylint',
'django_jenkins.tasks.run_flake8',
# 'django_jenkins.tasks.run_pylint',
# 'django_jenkins.tasks.run_flake8',
# The following are not needed when including run_flake8
# 'django_jenkins.tasks.run_pep8',
# 'django_jenkins.tasks.run_pyflakes',
# The following are handled by various grunt tasks and no longer required
# 'django_jenkins.tasks.run_jshint',
# 'django_jenkins.tasks.run_csslint',
)
)
PEP8_RCFILE = "setup.cfg"
PYLINT_RCFILE = ".pylintrc"
CSSLINT_CHECKED_FILES = glob.glob(os.path.join(BASE_DIR, 'ui/static/less/*.less'))
JSHINT_CHECKED_FILES = [os.path.join(BASE_DIR, 'ui/static/js'),
os.path.join(BASE_DIR, 'ui/static/lib/ansible'),]
# Much faster than the default
# https://docs.djangoproject.com/en/1.6/topics/auth/passwords/#how-django-stores-passwords

View File

@ -4,10 +4,10 @@
# Development settings for AWX project, but with DEBUG disabled
# Load development settings.
from defaults import *
from defaults import * # NOQA
# Load development settings.
from development import *
from development import * # NOQA
# Disable capturing DEBUG
DEBUG = False

View File

@ -12,7 +12,7 @@ import traceback
from split_settings.tools import optional, include
# Load default settings.
from defaults import *
from defaults import * # NOQA
DEBUG = False
TEMPLATE_DEBUG = DEBUG
@ -49,7 +49,7 @@ LOGGING['handlers']['tower_warnings'] = {
'class':'logging.handlers.RotatingFileHandler',
'filters': ['require_debug_false'],
'filename': '/var/log/tower/tower.log',
'maxBytes': 1024*1024*5, # 5 MB
'maxBytes': 1024 * 1024 * 5, # 5 MB
'backupCount': 5,
'formatter':'simple',
}
@ -60,7 +60,7 @@ LOGGING['handlers']['callback_receiver'] = {
'class':'logging.handlers.RotatingFileHandler',
'filters': ['require_debug_false'],
'filename': '/var/log/tower/callback_receiver.log',
'maxBytes': 1024*1024*5, # 5 MB
'maxBytes': 1024 * 1024 * 5, # 5 MB
'backupCount': 5,
'formatter':'simple',
}
@ -70,7 +70,7 @@ LOGGING['handlers']['socketio_service'] = {
'class':'logging.handlers.RotatingFileHandler',
'filters': ['require_debug_false'],
'filename': '/var/log/tower/socketio_service.log',
'maxBytes': 1024*1024*5, # 5 MB
'maxBytes': 1024 * 1024 * 5, # 5 MB
'backupCount': 5,
'formatter':'simple',
}
@ -80,7 +80,7 @@ LOGGING['handlers']['task_system'] = {
'class':'logging.handlers.RotatingFileHandler',
'filters': ['require_debug_false'],
'filename': '/var/log/tower/task_system.log',
'maxBytes': 1024*1024*5, # 5 MB
'maxBytes': 1024 * 1024 * 5, # 5 MB
'backupCount': 5,
'formatter':'simple',
}

View File

@ -1 +1 @@
from awx.wsgi import application
from awx.wsgi import application # NOQA

View File

@ -14,8 +14,8 @@
# W391 - Blank line at end of file
# W293 - Blank line contains whitespace
ignore=E201,E203,E221,E225,E231,E241,E251,E261,E265,E302,E303,E501,W291,W391,W293
exclude=awx/lib/site-packages,awx/ui,awx/api/urls.py,awx/main/migrations,awx/main/tests/data
exclude=.tox,awx/lib/site-packages,awx/plugins/inventory/ec2.py,awx/plugins/inventory/gce.py,awx/plugins/inventory/vmware.py,awx/plugins/inventory/windows_azure.py,awx/plugins/inventory/openstack.py,awx/ui,awx/api/urls.py,awx/main/migrations,awx/main/tests/data
[flake8]
ignore=E201,E203,E221,E225,E231,E241,E251,E261,E265,E302,E303,E501,W291,W391,W293,E731
exclude=awx/lib/site-packages,awx/ui,awx/api/urls.py,awx/main/migrations,awx/main/tests/data,node_modules/,awx/projects/
exclude=.tox,awx/lib/site-packages,awx/plugins/inventory/ec2.py,awx/plugins/inventory/gce.py,awx/plugins/inventory/vmware.py,awx/plugins/inventory/windows_azure.py,awx/plugins/inventory/openstack.py,awx/ui,awx/api/urls.py,awx/main/migrations,awx/main/tests/data,node_modules/,awx/projects/,tools/docker

View File

@ -4,6 +4,33 @@
import sos
from distutils.version import LooseVersion
SOSREPORT_TOWER_COMMANDS = [
"ansible --version", # ansible core version
"tower-manage --version", # tower version
"supervisorctl status", # tower process status
"pip list" # pip package list
"tree -d /var/lib/awx", # show me the dirs
"ls -ll /var/lib/awx", # check permissions
"ls -ll /etc/tower",
]
SOSREPORT_TOWER_DIRS = [
"/etc/tower/",
"/var/log/tower",
"/var/log/httpd",
"/var/log/apache2",
"/var/log/redis",
"/var/log/supervisor",
"/var/log/syslog",
"/var/log/udev",
"/var/log/kern*",
"/var/log/dist-upgrade",
"/var/log/installer",
"/var/log/unattended-upgrades",
"/var/log/apport.log"
]
if LooseVersion(sos.__version__) >= LooseVersion('3.0'):
from sos.plugins import Plugin, RedHatPlugin, UbuntuPlugin
@ -13,36 +40,10 @@ if LooseVersion(sos.__version__) >= LooseVersion('3.0'):
def setup(self):
commands = [
"ansible --version", # ansible core version
"awx-manage --version", # tower version
"supervisorctl status", # tower process status
"pip list" # pip package list
"tree -d /var/lib/awx", # show me the dirs
"ls -ll /var/lib/awx", # check permissions
"ls -ll /etc/tower"
]
dirs = [
"/etc/tower/",
"/var/log/tower",
"/var/log/httpd",
"/var/log/apache2",
"/var/log/redis",
"/var/log/supervisor",
"/var/log/syslog",
"/var/log/udev",
"/var/log/kern*",
"/var/log/dist-upgrade",
"/var/log/installer",
"/var/log/unattended-upgrades",
"/var/log/apport.log"
]
for path in dirs:
for path in SOSREPORT_TOWER_DIRS:
self.add_copy_spec(path)
for command in commands:
for command in SOSREPORT_TOWER_COMMANDS:
self.add_cmd_output(command)
else:
@ -53,35 +54,9 @@ else:
def setup(self):
commands = [
"ansible --version", # ansible core version
"awx-manage --version", # tower version
"supervisorctl status", # tower process status
"pip list" # pip package list
"tree -d /var/lib/awx", # show me the dirs
"ls -ll /var/lib/awx", # check permissions
"ls -ll /etc/tower"
]
dirs = [
"/etc/tower/",
"/var/log/tower",
"/var/log/httpd",
"/var/log/apache2",
"/var/log/redis",
"/var/log/supervisor",
"/var/log/syslog",
"/var/log/udev",
"/var/log/kern*",
"/var/log/dist-upgrade",
"/var/log/installer",
"/var/log/unattended-upgrades",
"/var/log/apport.log"
]
for path in dirs:
for path in SOSREPORT_TOWER_DIRS:
self.addCopySpec(path)
for command in commands:
for command in SOSREPORT_TOWER_COMMANDS:
self.collectExtOutput(command)