diff --git a/bin/trove-api b/bin/trove-api index 69699029dc..b5c48f585d 100755 --- a/bin/trove-api +++ b/bin/trove-api @@ -17,7 +17,6 @@ # under the License. import gettext -import optparse import os import sys diff --git a/bin/trove-fake-mode b/bin/trove-fake-mode index ee393ffb66..b89df78e9c 100755 --- a/bin/trove-fake-mode +++ b/bin/trove-fake-mode @@ -17,7 +17,6 @@ # under the License. import gettext -import optparse import os import sys diff --git a/bin/trove-guestagent b/bin/trove-guestagent index 3f15c8f25b..92562797a6 100755 --- a/bin/trove-guestagent +++ b/bin/trove-guestagent @@ -20,12 +20,9 @@ import eventlet eventlet.monkey_patch() import gettext -import optparse import os -import socket import sys - gettext.install('trove', unicode=1) # If ../trove/__init__.py exists, add ../ to Python search path, so that diff --git a/bin/trove-manage b/bin/trove-manage index 4dfe081bd2..41d930422a 100755 --- a/bin/trove-manage +++ b/bin/trove-manage @@ -18,7 +18,6 @@ import gettext import inspect -import optparse import os import sys @@ -34,14 +33,11 @@ possible_topdir = os.path.normpath(os.path.join(os.path.abspath(sys.argv[0]), if os.path.exists(os.path.join(possible_topdir, 'trove', '__init__.py')): sys.path.insert(0, possible_topdir) -from trove import version from trove.common import cfg from trove.common import exception from trove.common import utils from trove.db import get_db_api from trove.openstack.common import log as logging -from trove.openstack.common import uuidutils -from trove.instance import models as instance_models from trove.datastore import models as datastore_models @@ -91,8 +87,6 @@ class Commands(object): def db_wipe(self, repo_path): """Drops the database and recreates it.""" - from trove.instance import models - from trove.db.sqlalchemy import session self.db_api.drop_db(CONF) self.db_sync() diff --git a/bin/trove-mgmt-taskmanager b/bin/trove-mgmt-taskmanager index 01c77af9a2..def33ca8b8 100755 --- a/bin/trove-mgmt-taskmanager +++ b/bin/trove-mgmt-taskmanager @@ -20,7 +20,6 @@ import eventlet eventlet.monkey_patch() import gettext -import optparse import os import sys diff --git a/run_tests.py b/run_tests.py index 3e517ca502..b0effa197e 100644 --- a/run_tests.py +++ b/run_tests.py @@ -139,29 +139,30 @@ if __name__ == "__main__": test_config_file = parse_args_for_test_config() CONFIG.load_from_file(test_config_file) - from trove.tests.api import backups - from trove.tests.api import header - from trove.tests.api import limits - from trove.tests.api import flavors - from trove.tests.api import versions - from trove.tests.api import instances as rd_instances - from trove.tests.api import instances_actions as rd_actions - from trove.tests.api import instances_delete - from trove.tests.api import instances_mysql_down - from trove.tests.api import instances_resize - from trove.tests.api import databases - from trove.tests.api import datastores - from trove.tests.api import root - from trove.tests.api import root_on_create - from trove.tests.api import users - from trove.tests.api import user_access - from trove.tests.api.mgmt import accounts - from trove.tests.api.mgmt import admin_required - from trove.tests.api.mgmt import hosts - from trove.tests.api.mgmt import instances as mgmt_instances - from trove.tests.api.mgmt import instances_actions as mgmt_actions - from trove.tests.api.mgmt import storage - from trove.tests.api.mgmt import malformed_json + # F401 unused imports needed for tox tests + from trove.tests.api import backups # noqa + from trove.tests.api import header # noqa + from trove.tests.api import limits # noqa + from trove.tests.api import flavors # noqa + from trove.tests.api import versions # noqa + from trove.tests.api import instances as rd_instances # noqa + from trove.tests.api import instances_actions as rd_actions # noqa + from trove.tests.api import instances_delete # noqa + from trove.tests.api import instances_mysql_down # noqa + from trove.tests.api import instances_resize # noqa + from trove.tests.api import databases # noqa + from trove.tests.api import datastores # noqa + from trove.tests.api import root # noqa + from trove.tests.api import root_on_create # noqa + from trove.tests.api import users # noqa + from trove.tests.api import user_access # noqa + from trove.tests.api.mgmt import accounts # noqa + from trove.tests.api.mgmt import admin_required # noqa + from trove.tests.api.mgmt import hosts # noqa + from trove.tests.api.mgmt import instances as mgmt_instances # noqa + from trove.tests.api.mgmt import instances_actions as mgmt_actions # noqa + from trove.tests.api.mgmt import storage # noqa + from trove.tests.api.mgmt import malformed_json # noqa except Exception as e: print("Run tests failed: %s" % e) traceback.print_exc() diff --git a/tox.ini b/tox.ini index 502db4a6dc..daf25f37cd 100644 --- a/tox.ini +++ b/tox.ini @@ -33,7 +33,7 @@ commands = {posargs} [flake8] show-source = True -ignore = F401,F403,F821,H301,H306,H401,H402,H403,H404,H702 +ignore = F403,F821,H301,H306,H401,H402,H403,H404,H702 builtins = _ exclude=.venv,.tox,dist,doc,openstack,*egg,rsdns,tools,etc,build filename=*.py,trove-* diff --git a/trove/backup/service.py b/trove/backup/service.py index f293815824..f26e3293b0 100644 --- a/trove/backup/service.py +++ b/trove/backup/service.py @@ -18,7 +18,6 @@ from trove.common import wsgi from trove.backup import views from trove.backup.models import Backup -from trove.common import exception from trove.common import cfg from trove.openstack.common import log as logging from trove.openstack.common.gettextutils import _ diff --git a/trove/common/auth.py b/trove/common/auth.py index e7afdf0a0a..8521370155 100644 --- a/trove/common/auth.py +++ b/trove/common/auth.py @@ -15,7 +15,6 @@ # License for the specific language governing permissions and limitations # under the License. -import httplib2 import re import webob.exc import wsgi diff --git a/trove/common/context.py b/trove/common/context.py index 3ebec77fa4..014aa50c58 100644 --- a/trove/common/context.py +++ b/trove/common/context.py @@ -24,7 +24,6 @@ context or provide additional information in their specific WSGI pipeline. from trove.openstack.common import context from trove.openstack.common import local -from trove.common import utils class TroveContext(context.RequestContext): diff --git a/trove/common/exception.py b/trove/common/exception.py index 83e2d6d52f..cf8927f6f7 100644 --- a/trove/common/exception.py +++ b/trove/common/exception.py @@ -24,7 +24,6 @@ from trove.openstack.common import exception as openstack_exception from trove.openstack.common import processutils from trove.openstack.common.gettextutils import _ -from webob import exc ClientConnectionError = openstack_exception.ClientConnectionError ProcessExecutionError = processutils.ProcessExecutionError diff --git a/trove/common/extensions.py b/trove/common/extensions.py index a3ea18a34f..22ec04e189 100644 --- a/trove/common/extensions.py +++ b/trove/common/extensions.py @@ -16,7 +16,6 @@ # under the License. import routes -import webob.dec from trove.openstack.common import log as logging from trove.openstack.common import extensions diff --git a/trove/common/pagination.py b/trove/common/pagination.py index a8c2a1a7ca..3f0d79a0f9 100644 --- a/trove/common/pagination.py +++ b/trove/common/pagination.py @@ -17,7 +17,6 @@ import urllib import urlparse -from xml.dom import minidom def url_quote(s): diff --git a/trove/common/utils.py b/trove/common/utils.py index 004f5045ae..a476588fce 100644 --- a/trove/common/utils.py +++ b/trove/common/utils.py @@ -18,8 +18,6 @@ import datetime import inspect -import re -import signal import sys import time import urlparse @@ -29,8 +27,6 @@ import shutil from eventlet import event from eventlet import greenthread -from eventlet import semaphore -from eventlet.green import subprocess from eventlet.timeout import Timeout from trove.common import exception diff --git a/trove/conductor/api.py b/trove/conductor/api.py index d0a93abc01..f4f91bbb6e 100644 --- a/trove/conductor/api.py +++ b/trove/conductor/api.py @@ -12,8 +12,6 @@ # License for the specific language governing permissions and limitations # under the License. -import traceback -import sys from trove.common import cfg from trove.openstack.common.rpc import proxy diff --git a/trove/datastore/service.py b/trove/datastore/service.py index 8cdf2e3b0e..b141d042b4 100644 --- a/trove/datastore/service.py +++ b/trove/datastore/service.py @@ -1,6 +1,3 @@ -from trove.common import cfg -from trove.common import exception -from trove.common import utils from trove.common import wsgi from trove.datastore import models, views diff --git a/trove/db/sqlalchemy/api.py b/trove/db/sqlalchemy/api.py index 71905b5011..e64e525a61 100644 --- a/trove/db/sqlalchemy/api.py +++ b/trove/db/sqlalchemy/api.py @@ -16,14 +16,9 @@ # under the License. import sqlalchemy.exc -from sqlalchemy import and_ -from sqlalchemy import or_ -from sqlalchemy.orm import aliased from trove.common import exception -from trove.common import utils from trove.db.sqlalchemy import migration -from trove.db.sqlalchemy import mappers from trove.db.sqlalchemy import session diff --git a/trove/db/sqlalchemy/migrate_repo/versions/001_base_schema.py b/trove/db/sqlalchemy/migrate_repo/versions/001_base_schema.py index 92810801c5..0c0dd05b25 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/001_base_schema.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/001_base_schema.py @@ -15,17 +15,13 @@ # License for the specific language governing permissions and limitations # under the License. -from sqlalchemy import ForeignKey from sqlalchemy.schema import Column from sqlalchemy.schema import MetaData -from sqlalchemy.schema import UniqueConstraint -from trove.db.sqlalchemy.migrate_repo.schema import Boolean from trove.db.sqlalchemy.migrate_repo.schema import create_tables from trove.db.sqlalchemy.migrate_repo.schema import DateTime from trove.db.sqlalchemy.migrate_repo.schema import drop_tables from trove.db.sqlalchemy.migrate_repo.schema import Integer -from trove.db.sqlalchemy.migrate_repo.schema import BigInteger from trove.db.sqlalchemy.migrate_repo.schema import String from trove.db.sqlalchemy.migrate_repo.schema import Table diff --git a/trove/db/sqlalchemy/migrate_repo/versions/002_service_images.py b/trove/db/sqlalchemy/migrate_repo/versions/002_service_images.py index b9b180c16e..4ad2d07b69 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/002_service_images.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/002_service_images.py @@ -15,17 +15,11 @@ # License for the specific language governing permissions and limitations # under the License. -from sqlalchemy import ForeignKey from sqlalchemy.schema import Column from sqlalchemy.schema import MetaData -from sqlalchemy.schema import UniqueConstraint -from trove.db.sqlalchemy.migrate_repo.schema import Boolean from trove.db.sqlalchemy.migrate_repo.schema import create_tables -from trove.db.sqlalchemy.migrate_repo.schema import DateTime from trove.db.sqlalchemy.migrate_repo.schema import drop_tables -from trove.db.sqlalchemy.migrate_repo.schema import Integer -from trove.db.sqlalchemy.migrate_repo.schema import BigInteger from trove.db.sqlalchemy.migrate_repo.schema import String from trove.db.sqlalchemy.migrate_repo.schema import Table diff --git a/trove/db/sqlalchemy/migrate_repo/versions/003_service_statuses.py b/trove/db/sqlalchemy/migrate_repo/versions/003_service_statuses.py index c092714d8d..2a0f06350d 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/003_service_statuses.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/003_service_statuses.py @@ -15,17 +15,13 @@ # License for the specific language governing permissions and limitations # under the License. -from sqlalchemy import ForeignKey from sqlalchemy.schema import Column from sqlalchemy.schema import MetaData -from sqlalchemy.schema import UniqueConstraint -from trove.db.sqlalchemy.migrate_repo.schema import Boolean from trove.db.sqlalchemy.migrate_repo.schema import create_tables from trove.db.sqlalchemy.migrate_repo.schema import DateTime from trove.db.sqlalchemy.migrate_repo.schema import drop_tables from trove.db.sqlalchemy.migrate_repo.schema import Integer -from trove.db.sqlalchemy.migrate_repo.schema import BigInteger from trove.db.sqlalchemy.migrate_repo.schema import String from trove.db.sqlalchemy.migrate_repo.schema import Table diff --git a/trove/db/sqlalchemy/migrate_repo/versions/004_root_enabled.py b/trove/db/sqlalchemy/migrate_repo/versions/004_root_enabled.py index 6cd2a5ab89..bef7bf51d6 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/004_root_enabled.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/004_root_enabled.py @@ -15,10 +15,8 @@ # License for the specific language governing permissions and limitations # under the License. -from sqlalchemy import ForeignKey from sqlalchemy.schema import Column from sqlalchemy.schema import MetaData -from sqlalchemy.schema import UniqueConstraint from trove.db.sqlalchemy.migrate_repo.schema import create_tables from trove.db.sqlalchemy.migrate_repo.schema import DateTime diff --git a/trove/db/sqlalchemy/migrate_repo/versions/005_heartbeat.py b/trove/db/sqlalchemy/migrate_repo/versions/005_heartbeat.py index 602ead82b0..96abc87601 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/005_heartbeat.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/005_heartbeat.py @@ -15,17 +15,12 @@ # License for the specific language governing permissions and limitations # under the License. -from sqlalchemy import ForeignKey from sqlalchemy.schema import Column from sqlalchemy.schema import MetaData -from sqlalchemy.schema import UniqueConstraint -from trove.db.sqlalchemy.migrate_repo.schema import Boolean from trove.db.sqlalchemy.migrate_repo.schema import create_tables from trove.db.sqlalchemy.migrate_repo.schema import DateTime from trove.db.sqlalchemy.migrate_repo.schema import drop_tables -from trove.db.sqlalchemy.migrate_repo.schema import Integer -from trove.db.sqlalchemy.migrate_repo.schema import BigInteger from trove.db.sqlalchemy.migrate_repo.schema import String from trove.db.sqlalchemy.migrate_repo.schema import Table diff --git a/trove/db/sqlalchemy/migrate_repo/versions/006_dns_records.py b/trove/db/sqlalchemy/migrate_repo/versions/006_dns_records.py index 2c0d451921..36f14a4ac8 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/006_dns_records.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/006_dns_records.py @@ -15,10 +15,8 @@ # License for the specific language governing permissions and limitations # under the License. -from sqlalchemy import ForeignKey from sqlalchemy.schema import Column from sqlalchemy.schema import MetaData -from sqlalchemy.schema import UniqueConstraint from trove.db.sqlalchemy.migrate_repo.schema import Table from trove.db.sqlalchemy.migrate_repo.schema import create_tables diff --git a/trove/db/sqlalchemy/migrate_repo/versions/008_add_instance_fields.py b/trove/db/sqlalchemy/migrate_repo/versions/008_add_instance_fields.py index 4e2e97be51..dfd605978d 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/008_add_instance_fields.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/008_add_instance_fields.py @@ -13,10 +13,8 @@ # under the License. from sqlalchemy.schema import Column -from sqlalchemy.schema import ColumnDefault from sqlalchemy.schema import MetaData -from trove.db.sqlalchemy.migrate_repo.schema import Integer from trove.db.sqlalchemy.migrate_repo.schema import String from trove.db.sqlalchemy.migrate_repo.schema import Table diff --git a/trove/db/sqlalchemy/migrate_repo/versions/010_add_usage.py b/trove/db/sqlalchemy/migrate_repo/versions/010_add_usage.py index 94ba3cf74f..f54b2236a4 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/010_add_usage.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/010_add_usage.py @@ -15,10 +15,8 @@ # License for the specific language governing permissions and limitations # under the License. -from sqlalchemy import ForeignKey from sqlalchemy.schema import Column from sqlalchemy.schema import MetaData -from sqlalchemy.schema import UniqueConstraint from trove.db.sqlalchemy.migrate_repo.schema import create_tables from trove.db.sqlalchemy.migrate_repo.schema import DateTime diff --git a/trove/db/sqlalchemy/migrate_repo/versions/012_backup.py b/trove/db/sqlalchemy/migrate_repo/versions/012_backup.py index d5df4d88ef..8a04400105 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/012_backup.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/012_backup.py @@ -14,7 +14,6 @@ from sqlalchemy.schema import Column from sqlalchemy.schema import MetaData -from sqlalchemy.schema import UniqueConstraint from trove.db.sqlalchemy.migrate_repo.schema import create_tables from trove.db.sqlalchemy.migrate_repo.schema import DateTime diff --git a/trove/db/sqlalchemy/migrate_repo/versions/014_update_instance_flavor_id.py b/trove/db/sqlalchemy/migrate_repo/versions/014_update_instance_flavor_id.py index 257ecdcab5..e9fd306793 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/014_update_instance_flavor_id.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/014_update_instance_flavor_id.py @@ -12,7 +12,6 @@ # License for the specific language governing permissions and limitations # under the License. -from sqlalchemy.schema import Column from sqlalchemy.schema import MetaData from trove.db.sqlalchemy.migrate_repo.schema import Integer diff --git a/trove/db/sqlalchemy/migrate_repo/versions/015_add_service_type.py b/trove/db/sqlalchemy/migrate_repo/versions/015_add_service_type.py index ff8d8446cb..aa6132f0ef 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/015_add_service_type.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/015_add_service_type.py @@ -15,7 +15,6 @@ from sqlalchemy.schema import Column from sqlalchemy.schema import MetaData -from trove.db.sqlalchemy.migrate_repo.schema import Integer from trove.db.sqlalchemy.migrate_repo.schema import String from trove.db.sqlalchemy.migrate_repo.schema import Table diff --git a/trove/db/sqlalchemy/migrate_repo/versions/016_add_datastore_type.py b/trove/db/sqlalchemy/migrate_repo/versions/016_add_datastore_type.py index 831345eb19..a2a633a149 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/016_add_datastore_type.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/016_add_datastore_type.py @@ -19,10 +19,7 @@ from sqlalchemy.schema import UniqueConstraint from trove.db.sqlalchemy.migrate_repo.schema import Boolean from trove.db.sqlalchemy.migrate_repo.schema import create_tables -from trove.db.sqlalchemy.migrate_repo.schema import DateTime from trove.db.sqlalchemy.migrate_repo.schema import drop_tables -from trove.db.sqlalchemy.migrate_repo.schema import Integer -from trove.db.sqlalchemy.migrate_repo.schema import BigInteger from trove.db.sqlalchemy.migrate_repo.schema import String from trove.db.sqlalchemy.migrate_repo.schema import Table diff --git a/trove/dns/__init__.py b/trove/dns/__init__.py index a580ad3d8e..f0f23d6a20 100644 --- a/trove/dns/__init__.py +++ b/trove/dns/__init__.py @@ -14,5 +14,3 @@ # 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 manager import DnsManager diff --git a/trove/extensions/account/models.py b/trove/extensions/account/models.py index 1aed9f4de9..d1e413a315 100644 --- a/trove/extensions/account/models.py +++ b/trove/extensions/account/models.py @@ -20,7 +20,6 @@ from trove.openstack.common import log as logging from trove.common.remote import create_nova_client from trove.instance.models import DBInstance from trove.extensions.mgmt.instances.models import MgmtInstances -from trove.common.exception import Forbidden LOG = logging.getLogger(__name__) diff --git a/trove/extensions/account/service.py b/trove/extensions/account/service.py index 8bce8f5bb6..017e5a1636 100644 --- a/trove/extensions/account/service.py +++ b/trove/extensions/account/service.py @@ -15,16 +15,10 @@ from trove.openstack.common import log as logging -from novaclient import exceptions as nova_exceptions - -from trove.common import exception - from trove.common import wsgi from trove.common.auth import admin_context -from trove.common.remote import create_nova_client from trove.extensions.account import models from trove.extensions.account import views -from trove.instance.models import DBInstance from trove.openstack.common.gettextutils import _ import trove.common.apischema as apischema diff --git a/trove/extensions/mgmt/host/models.py b/trove/extensions/mgmt/host/models.py index 2eb558be7d..6d76fd5652 100644 --- a/trove/extensions/mgmt/host/models.py +++ b/trove/extensions/mgmt/host/models.py @@ -21,14 +21,10 @@ Model classes that extend the instances functionality for MySQL instances. from trove.openstack.common import log as logging -from trove import db - from trove.common import exception -from trove.common import utils from trove.instance.models import DBInstance from trove.instance.models import InstanceServiceStatus from trove.instance.models import SimpleInstance -from trove.guestagent.db import models as guest_models from trove.common.remote import create_guest_client from trove.common.remote import create_nova_client from novaclient import exceptions as nova_exceptions diff --git a/trove/extensions/mgmt/host/service.py b/trove/extensions/mgmt/host/service.py index e9da86eff1..91fc4e1c53 100644 --- a/trove/extensions/mgmt/host/service.py +++ b/trove/extensions/mgmt/host/service.py @@ -15,14 +15,11 @@ # License for the specific language governing permissions and limitations # under the License. -import webob.exc -from trove.common import exception from trove.common import wsgi from trove.common.auth import admin_context from trove.extensions.mgmt.host import models from trove.extensions.mgmt.host import views -from trove.extensions.mysql import models as mysql_models from trove.instance.service import InstanceController from trove.openstack.common import log as logging from trove.openstack.common.gettextutils import _ diff --git a/trove/extensions/mgmt/volume/service.py b/trove/extensions/mgmt/volume/service.py index 9b7d70d3e4..4ed05cfbf3 100644 --- a/trove/extensions/mgmt/volume/service.py +++ b/trove/extensions/mgmt/volume/service.py @@ -15,9 +15,7 @@ # License for the specific language governing permissions and limitations # under the License. -import webob.exc -from trove.common import exception from trove.common import wsgi from trove.common.auth import admin_context from trove.extensions.mgmt.volume import models diff --git a/trove/flavor/models.py b/trove/flavor/models.py index 4187f3ec74..e5cab6c836 100644 --- a/trove/flavor/models.py +++ b/trove/flavor/models.py @@ -17,11 +17,9 @@ """Model classes that form the core of instance flavor functionality.""" -from trove import db from novaclient import exceptions as nova_exceptions from trove.common import exception -from trove.common import utils from trove.common.models import NovaRemoteModelBase from trove.common.remote import create_nova_client diff --git a/trove/flavor/service.py b/trove/flavor/service.py index 039effee56..5ed4d85a2f 100644 --- a/trove/flavor/service.py +++ b/trove/flavor/service.py @@ -15,11 +15,8 @@ # License for the specific language governing permissions and limitations # under the License. -import routes -import webob.exc from trove.common import exception -from trove.common import utils from trove.common import wsgi from trove.flavor import models from trove.flavor import views diff --git a/trove/guestagent/datastore/mysql/service.py b/trove/guestagent/datastore/mysql/service.py index 4cf316a06e..2b86432a2e 100644 --- a/trove/guestagent/datastore/mysql/service.py +++ b/trove/guestagent/datastore/mysql/service.py @@ -2,7 +2,6 @@ import os import passlib.utils import re import uuid -import time from datetime import date import sqlalchemy from sqlalchemy import exc diff --git a/trove/guestagent/service.py b/trove/guestagent/service.py index 1d891cf33a..48d88ea0bd 100644 --- a/trove/guestagent/service.py +++ b/trove/guestagent/service.py @@ -17,7 +17,6 @@ from trove.openstack.common import log as logging import routes -import webob.exc from trove.common import wsgi diff --git a/trove/tests/api/backups.py b/trove/tests/api/backups.py index 553282dad1..dd094feafe 100644 --- a/trove/tests/api/backups.py +++ b/trove/tests/api/backups.py @@ -17,11 +17,9 @@ from proboscis.asserts import assert_equal from proboscis.asserts import assert_not_equal from proboscis.asserts import assert_raises from proboscis import test -from proboscis import SkipTest from proboscis.decorators import time_out import troveclient.compat from trove.common.utils import poll_until -from trove.tests.util import test_config from trove.tests.util import create_dbaas_client from trove.tests.util.users import Requirements from trove.tests.config import CONFIG diff --git a/trove/tests/api/databases.py b/trove/tests/api/databases.py index cd80d8fb1e..cfc837807c 100644 --- a/trove/tests/api/databases.py +++ b/trove/tests/api/databases.py @@ -20,11 +20,8 @@ from proboscis import before_class from proboscis import test from proboscis.asserts import assert_equal from proboscis.asserts import assert_false -from proboscis.asserts import assert_not_equal from proboscis.asserts import assert_raises from proboscis.asserts import assert_true -from proboscis.asserts import fail -from proboscis.decorators import expect_exception from proboscis.decorators import time_out from trove import tests diff --git a/trove/tests/api/datastores.py b/trove/tests/api/datastores.py index c8fcb4aa1e..5442f7cdca 100644 --- a/trove/tests/api/datastores.py +++ b/trove/tests/api/datastores.py @@ -13,17 +13,13 @@ # License for the specific language governing permissions and limitations # under the License. -import os from nose.tools import assert_equal -from nose.tools import assert_false -from nose.tools import assert_true from troveclient.compat import exceptions from proboscis import before_class from proboscis import test from proboscis.asserts import assert_raises -from proboscis import SkipTest from trove import tests from trove.tests.util import create_dbaas_client diff --git a/trove/tests/api/flavors.py b/trove/tests/api/flavors.py index 149dcea26b..bd9549fd92 100644 --- a/trove/tests/api/flavors.py +++ b/trove/tests/api/flavors.py @@ -24,7 +24,6 @@ from troveclient.v1.flavors import Flavor from proboscis import before_class from proboscis import test from proboscis.asserts import assert_raises -from proboscis import SkipTest from trove import tests from trove.tests.util import create_dbaas_client diff --git a/trove/tests/api/instances.py b/trove/tests/api/instances.py index 03668b20b1..6f7318f879 100644 --- a/trove/tests/api/instances.py +++ b/trove/tests/api/instances.py @@ -16,11 +16,8 @@ import hashlib import os import re -import string import time import unittest -from trove.tests import util -import urlparse GROUP = "dbaas.guest" @@ -46,7 +43,6 @@ from proboscis import after_class from proboscis import test from proboscis import SkipTest from proboscis.asserts import assert_equal -from proboscis.asserts import assert_false from proboscis.asserts import assert_not_equal from proboscis.asserts import assert_raises from proboscis.asserts import assert_is_not_none @@ -57,12 +53,9 @@ from trove.openstack.common import timeutils from trove import tests from trove.tests.config import CONFIG from trove.tests.util import create_dbaas_client -from trove.tests.util import create_nova_client from trove.tests.util.usage import create_usage_verifier from trove.tests.util import iso_time -from trove.tests.util import process from trove.tests.util.users import Requirements -from trove.tests.util import string_in_list from trove.common.utils import poll_until from trove.tests.util.check import AttrCheck from trove.tests.util.check import TypeCheck diff --git a/trove/tests/api/instances_actions.py b/trove/tests/api/instances_actions.py index 550aa4233f..0dc34329a9 100644 --- a/trove/tests/api/instances_actions.py +++ b/trove/tests/api/instances_actions.py @@ -33,6 +33,7 @@ from trove.tests.api.instances import assert_unprocessable from trove.tests.api.instances import VOLUME_SUPPORT from trove.tests.api.instances import EPHEMERAL_SUPPORT from trove.tests.util.server_connection import create_server_connection +from trove.common.utils import poll_until import trove.tests.util as testsutil from trove.tests.config import CONFIG from trove.tests.util import LocalSqlClient @@ -125,7 +126,7 @@ class ActionTestBase(object): users = self.dbaas.users.list(instance_info.id) return any([user.name == MYSQL_USERNAME for user in users]) - testsutil.poll_until(has_user, time_out=30) + poll_until(has_user, time_out=30) if not FAKE_MODE: time.sleep(5) @@ -200,9 +201,9 @@ class RebootTestBase(ActionTestBase): return if not hasattr(self, "connection"): return - testsutil.poll_until(self.connection.is_connected, - lambda connected: not connected, - time_out=TIME_OUT_TIME) + poll_until(self.connection.is_connected, + lambda connected: not connected, + time_out=TIME_OUT_TIME) def wait_for_successful_restart(self): """Wait until status becomes running.""" @@ -213,7 +214,7 @@ class RebootTestBase(ActionTestBase): assert_equal("ACTIVE", instance.status) return True - testsutil.poll_until(is_finished_rebooting, time_out=TIME_OUT_TIME) + poll_until(is_finished_rebooting, time_out=TIME_OUT_TIME) def assert_mysql_proc_is_different(self): if not USE_IP: @@ -261,7 +262,7 @@ class RebootTestBase(ActionTestBase): assert_true(instance.status in ("SHUTDOWN", "BLOCKED")) return True - testsutil.poll_until(is_finished_rebooting, time_out=TIME_OUT_TIME) + poll_until(is_finished_rebooting, time_out=TIME_OUT_TIME) def unsuccessful_restart(self): """Restart MySQL via the REST when it should fail, assert it does.""" @@ -413,7 +414,7 @@ class ResizeInstanceTest(ActionTestBase): return False assert_equal("ACTIVE", instance.status) return True - testsutil.poll_until(is_finished_resizing, time_out=TIME_OUT_TIME) + poll_until(is_finished_resizing, time_out=TIME_OUT_TIME) @before_class def setup(self): @@ -437,7 +438,7 @@ class ResizeInstanceTest(ActionTestBase): def is_active(): return self.instance.status == 'ACTIVE' - testsutil.poll_until(is_active, time_out=TIME_OUT_TIME) + poll_until(is_active, time_out=TIME_OUT_TIME) assert_equal(self.instance.status, 'ACTIVE') self.get_flavor_href( @@ -543,7 +544,7 @@ class ResizeInstanceTest(ActionTestBase): def is_active(): return self.instance.status == 'ACTIVE' - testsutil.poll_until(is_active, time_out=TIME_OUT_TIME) + poll_until(is_active, time_out=TIME_OUT_TIME) assert_equal(self.instance.status, 'ACTIVE') old_flavor_href = self.get_flavor_href( @@ -614,7 +615,7 @@ class ResizeInstanceVolume(ActionTestBase): else: fail("Status should not be %s" % instance.status) - testsutil.poll_until(check_resize_status, sleep_time=2, time_out=300) + poll_until(check_resize_status, sleep_time=2, time_out=300) instance = instance_info.dbaas.instances.get(instance_info.id) assert_equal(instance.volume['size'], self.new_volume_size) @@ -681,7 +682,7 @@ class UpdateGuest(object): # The only valid thing for it to be aside from next_version is # old version. assert_equal(current_version, self.old_version) - testsutil.poll_until(finished, sleep_time=1, time_out=3 * 60) + poll_until(finished, sleep_time=1, time_out=3 * 60) @test(enabled=UPDATE_GUEST_CONF is not None, depends_on=[upload_update_to_repo]) diff --git a/trove/tests/api/instances_mysql_down.py b/trove/tests/api/instances_mysql_down.py index e8b39a53d1..72da0e1960 100644 --- a/trove/tests/api/instances_mysql_down.py +++ b/trove/tests/api/instances_mysql_down.py @@ -17,16 +17,13 @@ Extra tests to create an instance, shut down MySQL, and delete it. """ from proboscis.decorators import time_out -from proboscis import after_class from proboscis import before_class from proboscis import test -from proboscis import SkipTest from proboscis.asserts import * import time from datetime import datetime from troveclient.compat import exceptions -from trove.tests import util from trove.tests.util import create_client from trove.common.utils import poll_until from trove.tests.util import test_config diff --git a/trove/tests/api/limits.py b/trove/tests/api/limits.py index ddcf8b0836..3f766125dc 100644 --- a/trove/tests/api/limits.py +++ b/trove/tests/api/limits.py @@ -1,5 +1,4 @@ from nose.tools import assert_equal -from nose.tools import assert_false from nose.tools import assert_true from proboscis import before_class diff --git a/trove/tests/api/mgmt/instances.py b/trove/tests/api/mgmt/instances.py index 76b4fd6081..0ea8da8f92 100644 --- a/trove/tests/api/mgmt/instances.py +++ b/trove/tests/api/mgmt/instances.py @@ -18,11 +18,9 @@ from proboscis import before_class from proboscis import test from proboscis.asserts import assert_equal from proboscis.asserts import assert_raises -from proboscis.asserts import assert_true from proboscis.check import Check from proboscis import SkipTest -from trove import tests from trove.tests.config import CONFIG from trove.tests.util import create_client from trove.tests.util import create_dbaas_client diff --git a/trove/tests/api/mgmt/malformed_json.py b/trove/tests/api/mgmt/malformed_json.py index ef1e4e5011..ff8c3e9744 100644 --- a/trove/tests/api/mgmt/malformed_json.py +++ b/trove/tests/api/mgmt/malformed_json.py @@ -1,5 +1,5 @@ from collections import deque -from proboscis import test, SkipTest +from proboscis import test from proboscis.asserts import * from proboscis import after_class from proboscis import before_class diff --git a/trove/tests/api/mgmt/quotas.py b/trove/tests/api/mgmt/quotas.py index 701e47139a..e80c06c797 100644 --- a/trove/tests/api/mgmt/quotas.py +++ b/trove/tests/api/mgmt/quotas.py @@ -8,8 +8,6 @@ from trove.tests.util import create_client from trove.tests.util import get_standby_instance_flavor from trove.tests.util.users import Requirements from trove.tests.config import CONFIG -from trove.tests.util.check import AttrCheck -from trove.tests.util.check import TypeCheck from troveclient.compat import exceptions diff --git a/trove/tests/api/mgmt/storage.py b/trove/tests/api/mgmt/storage.py index 347f744c1b..74445d21f5 100644 --- a/trove/tests/api/mgmt/storage.py +++ b/trove/tests/api/mgmt/storage.py @@ -12,7 +12,6 @@ # License for the specific language governing permissions and limitations # under the License. -from troveclient.compat import exceptions from nose.plugins.skip import SkipTest diff --git a/trove/tests/api/root.py b/trove/tests/api/root.py index 28fb378a83..d79efa7f6f 100644 --- a/trove/tests/api/root.py +++ b/trove/tests/api/root.py @@ -12,7 +12,6 @@ # License for the specific language governing permissions and limitations # under the License. -import time from troveclient.compat import exceptions @@ -24,13 +23,9 @@ from proboscis.asserts import assert_false from proboscis.asserts import assert_not_equal from proboscis.asserts import assert_raises from proboscis.asserts import assert_true -from proboscis.asserts import fail -from proboscis.decorators import expect_exception -from proboscis.decorators import time_out from trove import tests from trove.tests.api.users import TestUsers -from trove.tests.api.instances import GROUP_START from trove.tests.api.instances import instance_info from trove.tests import util from trove.tests.util import test_config diff --git a/trove/tests/api/user_access.py b/trove/tests/api/user_access.py index e2a4074662..92079ec56b 100644 --- a/trove/tests/api/user_access.py +++ b/trove/tests/api/user_access.py @@ -12,8 +12,6 @@ # License for the specific language governing permissions and limitations # under the License. -import time -import re from random import choice from troveclient.compat import exceptions diff --git a/trove/tests/fakes/keystone.py b/trove/tests/fakes/keystone.py index d75aad5773..06bc8fd973 100644 --- a/trove/tests/fakes/keystone.py +++ b/trove/tests/fakes/keystone.py @@ -14,7 +14,6 @@ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. -import re class AuthProtocol(object): diff --git a/trove/tests/fakes/nova.py b/trove/tests/fakes/nova.py index bdc459bc22..2c5b7dc841 100644 --- a/trove/tests/fakes/nova.py +++ b/trove/tests/fakes/nova.py @@ -16,10 +16,8 @@ # under the License. from novaclient import exceptions as nova_exceptions -from novaclient.v1_1.client import Client from trove.common.exception import PollTimeOut from trove.common import instance as rd_instance -from trove.common.utils import poll_until from trove.openstack.common import log as logging from trove.tests.fakes.common import authorize diff --git a/trove/tests/unittests/api/test_versions.py b/trove/tests/unittests/api/test_versions.py index 0c7f7c1d7a..91cf2d916b 100644 --- a/trove/tests/unittests/api/test_versions.py +++ b/trove/tests/unittests/api/test_versions.py @@ -15,7 +15,7 @@ # License for the specific language governing permissions and limitations # under the License. -from mock import Mock, MagicMock +from mock import Mock from trove.versions import BaseVersion from trove.versions import Version from trove.versions import VersionDataView @@ -23,7 +23,6 @@ from trove.versions import VersionsAPI from trove.versions import VersionsController from trove.versions import VersionsDataView from trove.versions import VERSIONS -from xml.dom import minidom import testtools diff --git a/trove/tests/unittests/backup/test_backup_models.py b/trove/tests/unittests/backup/test_backup_models.py index 64da90b6c6..7f536b453c 100644 --- a/trove/tests/unittests/backup/test_backup_models.py +++ b/trove/tests/unittests/backup/test_backup_models.py @@ -17,7 +17,7 @@ from trove.backup import models from trove.tests.unittests.util import util from trove.common import utils, exception from trove.common.context import TroveContext -from trove.instance.models import BuiltInstance, InstanceTasks, Instance +from trove.instance.models import BuiltInstance, Instance from mockito import mock, when, unstub, any from trove.taskmanager import api diff --git a/trove/tests/unittests/backup/test_backupagent.py b/trove/tests/unittests/backup/test_backupagent.py index a2091a1949..485d0cf3ef 100644 --- a/trove/tests/unittests/backup/test_backupagent.py +++ b/trove/tests/unittests/backup/test_backupagent.py @@ -13,8 +13,7 @@ #limitations under the License. from mock import Mock -from mockito import when, verify, unstub, mock, any, contains -from testtools.matchers import Equals, Is +from mockito import when, unstub, mock, any, contains from webob.exc import HTTPNotFound import hashlib @@ -28,7 +27,6 @@ from trove.guestagent.strategies.backup import mysql_impl from trove.guestagent.strategies.restore.base import RestoreRunner from trove.backup.models import DBBackup from trove.backup.models import BackupState -from trove.common.exception import ModelNotFoundError from trove.db.models import DatabaseModelBase from trove.guestagent.backup import backupagent from trove.guestagent.strategies.backup.base import BackupRunner diff --git a/trove/tests/unittests/backup/test_storage.py b/trove/tests/unittests/backup/test_storage.py index 6042071f4c..e7b7faf83d 100644 --- a/trove/tests/unittests/backup/test_storage.py +++ b/trove/tests/unittests/backup/test_storage.py @@ -13,7 +13,7 @@ #limitations under the License. import testtools -from mockito import when, verify, unstub, mock, any, contains +from mockito import when, unstub, mock, any from trove.common.context import TroveContext from trove.tests.fakes.swift import FakeSwiftConnection diff --git a/trove/tests/unittests/conductor/test_methods.py b/trove/tests/unittests/conductor/test_methods.py index a5c808df8d..028dd2e1e8 100644 --- a/trove/tests/unittests/conductor/test_methods.py +++ b/trove/tests/unittests/conductor/test_methods.py @@ -13,16 +13,12 @@ # under the License. import testtools -from datetime import datetime from mockito import unstub from trove.backup import models as bkup_models -from trove.common import context from trove.common import exception as t_exception from trove.common import instance as t_instance -from trove.conductor import api as conductor_api from trove.conductor import manager as conductor_manager from trove.instance import models as t_models -from trove.instance.tasks import InstanceTasks from trove.tests.unittests.util import util from uuid import uuid4 diff --git a/trove/tests/unittests/guestagent/test_dbaas.py b/trove/tests/unittests/guestagent/test_dbaas.py index 2e49c477ce..3802cb4313 100644 --- a/trove/tests/unittests/guestagent/test_dbaas.py +++ b/trove/tests/unittests/guestagent/test_dbaas.py @@ -454,7 +454,7 @@ class MySqlAppTest(testtools.TestCase): def setUp(self): super(MySqlAppTest, self).setUp() self.orig_utils_execute_with_timeout = dbaas.utils.execute_with_timeout - self.orig_time_sleep = dbaas.time.sleep + self.orig_time_sleep = time.sleep util.init_db() self.FAKE_ID = str(uuid4()) InstanceServiceStatus.create(instance_id=self.FAKE_ID, @@ -469,12 +469,12 @@ class MySqlAppTest(testtools.TestCase): 'bin': Mock()} dbaas.operating_system.service_discovery = Mock(return_value= mysql_service) - dbaas.time.sleep = Mock() + time.sleep = Mock() def tearDown(self): super(MySqlAppTest, self).tearDown() dbaas.utils.execute_with_timeout = self.orig_utils_execute_with_timeout - dbaas.time.sleep = self.orig_time_sleep + time.sleep = self.orig_time_sleep InstanceServiceStatus.find_by(instance_id=self.FAKE_ID).delete() def assert_reported_status(self, expected_status): @@ -1007,7 +1007,7 @@ class BaseDbStatusTest(testtools.TestCase): def setUp(self): super(BaseDbStatusTest, self).setUp() util.init_db() - self.orig_dbaas_time_sleep = dbaas.time.sleep + self.orig_dbaas_time_sleep = time.sleep self.FAKE_ID = str(uuid4()) InstanceServiceStatus.create(instance_id=self.FAKE_ID, status=rd_instance.ServiceStatuses.NEW) @@ -1015,7 +1015,7 @@ class BaseDbStatusTest(testtools.TestCase): def tearDown(self): super(BaseDbStatusTest, self).tearDown() - dbaas.time.sleep = self.orig_dbaas_time_sleep + time.sleep = self.orig_dbaas_time_sleep InstanceServiceStatus.find_by(instance_id=self.FAKE_ID).delete() dbaas.CONF.guest_id = None @@ -1101,7 +1101,7 @@ class BaseDbStatusTest(testtools.TestCase): self.baseDbStatus = BaseDbStatus() self.baseDbStatus._get_actual_db_status = Mock( return_value=rd_instance.ServiceStatuses.RUNNING) - dbaas.time.sleep = Mock() + time.sleep = Mock() self.assertTrue(self.baseDbStatus. wait_for_real_status_to_change_to @@ -1111,7 +1111,7 @@ class BaseDbStatusTest(testtools.TestCase): self.baseDbStatus = BaseDbStatus() self.baseDbStatus._get_actual_db_status = Mock( return_value=rd_instance.ServiceStatuses.RUNNING) - dbaas.time.sleep = Mock() + time.sleep = Mock() self.assertFalse(self.baseDbStatus. wait_for_real_status_to_change_to @@ -1126,7 +1126,7 @@ class MySqlAppStatusTest(testtools.TestCase): self.orig_utils_execute_with_timeout = dbaas.utils.execute_with_timeout self.orig_load_mysqld_options = dbaas.load_mysqld_options self.orig_dbaas_os_path_exists = dbaas.os.path.exists - self.orig_dbaas_time_sleep = dbaas.time.sleep + self.orig_dbaas_time_sleep = time.sleep self.FAKE_ID = str(uuid4()) InstanceServiceStatus.create(instance_id=self.FAKE_ID, status=rd_instance.ServiceStatuses.NEW) @@ -1137,7 +1137,7 @@ class MySqlAppStatusTest(testtools.TestCase): dbaas.utils.execute_with_timeout = self.orig_utils_execute_with_timeout dbaas.load_mysqld_options = self.orig_load_mysqld_options dbaas.os.path.exists = self.orig_dbaas_os_path_exists - dbaas.time.sleep = self.orig_dbaas_time_sleep + time.sleep = self.orig_dbaas_time_sleep InstanceServiceStatus.find_by(instance_id=self.FAKE_ID).delete() dbaas.CONF.guest_id = None diff --git a/trove/tests/unittests/guestagent/test_dbmodels.py b/trove/tests/unittests/guestagent/test_dbmodels.py index 953c948f1a..fd8334dc31 100644 --- a/trove/tests/unittests/guestagent/test_dbmodels.py +++ b/trove/tests/unittests/guestagent/test_dbmodels.py @@ -13,7 +13,7 @@ # under the License. import testtools from trove.guestagent.db import models as dbmodels -from mock import Mock, MagicMock +from mock import MagicMock class MySQLDatabaseTest(testtools.TestCase): diff --git a/trove/tests/unittests/guestagent/test_pkg.py b/trove/tests/unittests/guestagent/test_pkg.py index f703eef3a5..a7a98d6bdc 100644 --- a/trove/tests/unittests/guestagent/test_pkg.py +++ b/trove/tests/unittests/guestagent/test_pkg.py @@ -20,7 +20,6 @@ from mock import Mock from mockito import when, any import pexpect from trove.common import utils -from trove.common import exception from trove.guestagent import pkg import commands import re diff --git a/trove/tests/unittests/quota/test_quota.py b/trove/tests/unittests/quota/test_quota.py index 8d0ee4fdab..685c4969c4 100644 --- a/trove/tests/unittests/quota/test_quota.py +++ b/trove/tests/unittests/quota/test_quota.py @@ -12,7 +12,7 @@ # License for the specific language governing permissions and limitations # under the License. import testtools -from mockito import mock, when, unstub, any, verify, never, times +from mockito import mock, when, unstub, any, verify, never from mock import Mock from trove.quota.quota import DbQuotaDriver from trove.quota.models import Resource diff --git a/trove/tests/unittests/secgroups/test_security_group.py b/trove/tests/unittests/secgroups/test_security_group.py index 2c1afef4ed..26b18f1caf 100644 --- a/trove/tests/unittests/secgroups/test_security_group.py +++ b/trove/tests/unittests/secgroups/test_security_group.py @@ -16,15 +16,13 @@ import testtools import uuid import trove.common.remote from mock import Mock -from mockito import mock, when, any, unstub +from mockito import mock, unstub from trove.common import exception from trove.tests.fakes import nova from trove.extensions.security_group import models as sec_mod from trove.instance import models as inst_model from novaclient import exceptions as nova_exceptions -from trove.db.models import DatabaseModelBase - """ Unit tests for testing the exceptions raised by Security Groups diff --git a/trove/tests/util/__init__.py b/trove/tests/util/__init__.py index 4859f9af55..e7aab303a4 100644 --- a/trove/tests/util/__init__.py +++ b/trove/tests/util/__init__.py @@ -27,14 +27,11 @@ """ import subprocess -import time from trove.tests.config import CONFIG as test_config from urllib import unquote try: - from eventlet import event - from eventlet import greenthread EVENT_AVAILABLE = True except ImportError: EVENT_AVAILABLE = False @@ -47,13 +44,9 @@ from proboscis.asserts import Check from proboscis.asserts import fail from proboscis import SkipTest from troveclient.compat import Dbaas -from troveclient.compat.client import TroveHTTPClient -from trove import tests -from troveclient.compat.xml import TroveXmlClient from trove.tests.util import test_config as CONFIG from trove.tests.util.client import TestClient as TestClient from trove.tests.util.users import Requirements -from trove.common.exception import PollTimeOut from trove.common.utils import import_object from trove.common.utils import import_class @@ -226,7 +219,6 @@ def iso_time(time_string): # TODO(dukhlov): Still required by trove integration # Should be removed after trove integration fix # https://bugs.launchpad.net/trove-integration/+bug/1228306 -from trove.common.utils import poll_until def mysql_connection(): diff --git a/trove/tests/util/server_connection.py b/trove/tests/util/server_connection.py index e657094b22..62798250eb 100644 --- a/trove/tests/util/server_connection.py +++ b/trove/tests/util/server_connection.py @@ -14,7 +14,6 @@ # under the License. from trove import tests -from trove.tests.config import CONFIG from trove.tests import util from trove.tests.util.users import Requirements