diff --git a/ironic/tests/api/base.py b/ironic/tests/api/base.py index 94fda04243..eed2678c64 100644 --- a/ironic/tests/api/base.py +++ b/ironic/tests/api/base.py @@ -27,7 +27,6 @@ import pecan import pecan.testing from six.moves.urllib import parse as urlparse -from ironic.db import api as dbapi from ironic.tests.db import base PATH_PREFIX = '/v1' @@ -48,7 +47,6 @@ class FunctionalTest(base.DbTestCase): cfg.CONF.set_override("admin_user", "admin", group='keystone_authtoken') self.app = self._make_app() - self.dbapi = dbapi.get_instance() def reset_pecan(): pecan.set_config({}, overwrite=True) diff --git a/ironic/tests/api/test_acl.py b/ironic/tests/api/test_acl.py index d4b410aca0..26dfa76899 100644 --- a/ironic/tests/api/test_acl.py +++ b/ironic/tests/api/test_acl.py @@ -23,7 +23,6 @@ from keystonemiddleware import auth_token # noqa from oslo.config import cfg -from ironic.db import api as db_api from ironic.tests.api import base from ironic.tests.api import utils from ironic.tests.db import utils as db_utils @@ -36,7 +35,6 @@ class TestACL(base.FunctionalTest): self.environ = {'fake.cache': utils.FakeMemcache()} self.fake_db_node = db_utils.get_test_node(chassis_id=None) - self.dbapi = db_api.get_instance() self.node_path = '/nodes/%s' % self.fake_db_node['uuid'] def get_json(self, path, expect_errors=False, headers=None, q=[], **param): diff --git a/ironic/tests/base.py b/ironic/tests/base.py index d3c4d8e936..1b1bba631c 100644 --- a/ironic/tests/base.py +++ b/ironic/tests/base.py @@ -26,7 +26,6 @@ eventlet.monkey_patch(os=False) import copy import os -import shutil import sys import fixtures @@ -34,83 +33,19 @@ import testtools from oslo.config import cfg -from ironic.db.sqlalchemy import migration -from ironic.db.sqlalchemy import models - from ironic.common import hash_ring -from ironic.common import paths -from ironic.db.sqlalchemy import api as sqla_api from ironic.objects import base as objects_base +from ironic.openstack.common import context as ironic_context from ironic.openstack.common import log as logging from ironic.tests import conf_fixture from ironic.tests import policy_fixture -test_opts = [ - cfg.StrOpt('sqlite_clean_db', - default='clean.sqlite', - help='File name of clean sqlite db.'), - ] - CONF = cfg.CONF -CONF.register_opts(test_opts) CONF.set_override('use_stderr', False) logging.setup('ironic') -_DB_CACHE = None - - -class Database(fixtures.Fixture): - - def __init__(self, db_api, db_migrate, sql_connection, - sqlite_db, sqlite_clean_db): - self.sql_connection = sql_connection - self.sqlite_db = sqlite_db - self.sqlite_clean_db = sqlite_clean_db - - self.engine = db_api.get_engine() - self.engine.dispose() - conn = self.engine.connect() - if sql_connection == "sqlite://": - self.setup_sqlite(db_migrate) - elif sql_connection.startswith('sqlite:///'): - testdb = paths.state_path_rel(sqlite_db) - if os.path.exists(testdb): - return - self.setup_sqlite(db_migrate) - else: - db_migrate.upgrade('head') - self.post_migrations() - if sql_connection == "sqlite://": - conn = self.engine.connect() - self._DB = "".join(line for line in conn.connection.iterdump()) - self.engine.dispose() - else: - cleandb = paths.state_path_rel(sqlite_clean_db) - shutil.copyfile(testdb, cleandb) - - def setup_sqlite(self, db_migrate): - if db_migrate.version(): - return - models.Base.metadata.create_all(self.engine) - db_migrate.stamp('head') - - def setUp(self): - super(Database, self).setUp() - - if self.sql_connection == "sqlite://": - conn = self.engine.connect() - conn.connection.executescript(self._DB) - self.addCleanup(self.engine.dispose) - else: - shutil.copyfile(paths.state_path_rel(self.sqlite_clean_db), - paths.state_path_rel(self.sqlite_db)) - self.addCleanup(os.unlink, self.sqlite_db) - - def post_migrations(self): - """Any addition steps that are needed outside of the migrations.""" - class ReplaceModule(fixtures.Fixture): """Replace a module with a fake module.""" @@ -139,6 +74,7 @@ class TestCase(testtools.TestCase): def setUp(self): """Run before each test method to initialize test environment.""" super(TestCase, self).setUp() + self.context = ironic_context.get_admin_context() test_timeout = os.environ.get('OS_TEST_TIMEOUT', 0) try: test_timeout = int(test_timeout) @@ -162,14 +98,6 @@ class TestCase(testtools.TestCase): self.log_fixture = self.useFixture(fixtures.FakeLogger()) self.useFixture(conf_fixture.ConfFixture(CONF)) - global _DB_CACHE - if not _DB_CACHE: - _DB_CACHE = Database(sqla_api, migration, - sql_connection=CONF.database.connection, - sqlite_db=CONF.database.sqlite_db, - sqlite_clean_db=CONF.sqlite_clean_db) - self.useFixture(_DB_CACHE) - # NOTE(danms): Make sure to reset us back to non-remote objects # for each test to avoid interactions. Also, backup the object # registry diff --git a/ironic/tests/conductor/test_conductor_utils.py b/ironic/tests/conductor/test_conductor_utils.py index 72915bd598..9a761b2ab0 100644 --- a/ironic/tests/conductor/test_conductor_utils.py +++ b/ironic/tests/conductor/test_conductor_utils.py @@ -18,7 +18,6 @@ from ironic.common import states from ironic.common import utils as cmn_utils from ironic.conductor import task_manager from ironic.conductor import utils as conductor_utils -from ironic.db import api as dbapi from ironic import objects from ironic.tests import base as tests_base from ironic.tests.conductor import utils as mgr_utils @@ -28,9 +27,6 @@ from ironic.tests.objects import utils as obj_utils class NodeSetBootDeviceTestCase(base.DbTestCase): - def setUp(self): - super(NodeSetBootDeviceTestCase, self).setUp() - self.dbapi = dbapi.get_instance() def test_node_set_boot_device_non_existent_device(self): mgr_utils.mock_the_extension_manager(driver="fake_ipmitool") @@ -69,7 +65,6 @@ class NodePowerActionTestCase(base.DbTestCase): def setUp(self): super(NodePowerActionTestCase, self).setUp() - self.dbapi = dbapi.get_instance() mgr_utils.mock_the_extension_manager() self.driver = driver_factory.get_driver("fake") diff --git a/ironic/tests/conductor/test_manager.py b/ironic/tests/conductor/test_manager.py index e224843924..f7e17df224 100644 --- a/ironic/tests/conductor/test_manager.py +++ b/ironic/tests/conductor/test_manager.py @@ -145,7 +145,6 @@ class _ServiceSetUpMixin(object): self.config(node_locked_retry_attempts=1, group='conductor') self.config(node_locked_retry_interval=0, group='conductor') self.service = manager.ConductorManager(self.hostname, 'test-topic') - self.dbapi = dbapi.get_instance() mgr_utils.mock_the_extension_manager() self.driver = driver_factory.get_driver("fake") @@ -1684,7 +1683,6 @@ class ManagerSyncPowerStatesTestCase(_CommonMixIn, tests_db_base.DbTestCase): def setUp(self): super(ManagerSyncPowerStatesTestCase, self).setUp() self.service = manager.ConductorManager('hostname', 'test-topic') - self.dbapi = dbapi.get_instance() self.service.dbapi = self.dbapi self.node = self._create_node() self.filters = {'reserved': False, 'maintenance': False} @@ -1951,7 +1949,6 @@ class ManagerCheckDeployTimeoutsTestCase(_CommonMixIn, super(ManagerCheckDeployTimeoutsTestCase, self).setUp() self.config(deploy_callback_timeout=300, group='conductor') self.service = manager.ConductorManager('hostname', 'test-topic') - self.dbapi = dbapi.get_instance() self.service.dbapi = self.dbapi self.node = self._create_node(provision_state=states.DEPLOYWAIT) @@ -2297,7 +2294,6 @@ class ManagerSyncLocalStateTestCase(_CommonMixIn, tests_db_base.DbTestCase): def setUp(self): super(ManagerSyncLocalStateTestCase, self).setUp() - self.dbapi = dbapi.get_instance() self.service = manager.ConductorManager('hostname', 'test-topic') self.service.conductor = mock.Mock() diff --git a/ironic/tests/conductor/test_rpcapi.py b/ironic/tests/conductor/test_rpcapi.py index 2715649d6b..dcdd065a32 100644 --- a/ironic/tests/conductor/test_rpcapi.py +++ b/ironic/tests/conductor/test_rpcapi.py @@ -28,7 +28,6 @@ from ironic.common import exception from ironic.common import states from ironic.conductor import manager as conductor_manager from ironic.conductor import rpcapi as conductor_rpcapi -from ironic.db import api as dbapi from ironic import objects from ironic.tests import base as tests_base from ironic.tests.db import base @@ -49,7 +48,6 @@ class RPCAPITestCase(base.DbTestCase): def setUp(self): super(RPCAPITestCase, self).setUp() - self.dbapi = dbapi.get_instance() self.fake_node = dbutils.get_test_node(driver='fake-driver') self.fake_node_obj = objects.Node._from_db_object( objects.Node(self.context), diff --git a/ironic/tests/conductor/test_task_manager.py b/ironic/tests/conductor/test_task_manager.py index 247aaa58ab..d66e230c0c 100644 --- a/ironic/tests/conductor/test_task_manager.py +++ b/ironic/tests/conductor/test_task_manager.py @@ -27,6 +27,7 @@ from ironic.common import utils from ironic.conductor import task_manager from ironic import objects from ironic.tests import base as tests_base +from ironic.tests.db import base as tests_db_base from ironic.tests.objects import utils as obj_utils @@ -35,14 +36,13 @@ from ironic.tests.objects import utils as obj_utils @mock.patch.object(objects.Node, 'reserve') @mock.patch.object(driver_factory, 'get_driver') @mock.patch.object(objects.Port, 'list_by_node_id') -class TaskManagerTestCase(tests_base.TestCase): +class TaskManagerTestCase(tests_db_base.DbTestCase): def setUp(self): super(TaskManagerTestCase, self).setUp() self.host = 'test-host' self.config(host=self.host) self.config(node_locked_retry_attempts=1, group='conductor') self.config(node_locked_retry_interval=0, group='conductor') - self.context = mock.sentinel.context self.node = obj_utils.create_test_node(self.context) def test_excl_lock(self, get_ports_mock, get_driver_mock, diff --git a/ironic/tests/db/base.py b/ironic/tests/db/base.py index bea001abdd..c5c76b2d94 100644 --- a/ironic/tests/db/base.py +++ b/ironic/tests/db/base.py @@ -15,12 +15,87 @@ """Ironic DB test base class.""" -from ironic.openstack.common import context as ironic_context +import os +import shutil + +import fixtures +from oslo.config import cfg + +from ironic.common import paths +from ironic.db import api as dbapi +from ironic.db.sqlalchemy import api as sqla_api +from ironic.db.sqlalchemy import migration +from ironic.db.sqlalchemy import models from ironic.tests import base +CONF = cfg.CONF + +_DB_CACHE = None + + +class Database(fixtures.Fixture): + + def __init__(self, db_api, db_migrate, sql_connection, + sqlite_db, sqlite_clean_db): + self.sql_connection = sql_connection + self.sqlite_db = sqlite_db + self.sqlite_clean_db = sqlite_clean_db + + self.engine = db_api.get_engine() + self.engine.dispose() + conn = self.engine.connect() + if sql_connection == "sqlite://": + self.setup_sqlite(db_migrate) + elif sql_connection.startswith('sqlite:///'): + testdb = paths.state_path_rel(sqlite_db) + if os.path.exists(testdb): + return + self.setup_sqlite(db_migrate) + else: + db_migrate.upgrade('head') + self.post_migrations() + if sql_connection == "sqlite://": + conn = self.engine.connect() + self._DB = "".join(line for line in conn.connection.iterdump()) + self.engine.dispose() + else: + cleandb = paths.state_path_rel(sqlite_clean_db) + shutil.copyfile(testdb, cleandb) + + def setup_sqlite(self, db_migrate): + if db_migrate.version(): + return + models.Base.metadata.create_all(self.engine) + db_migrate.stamp('head') + + def setUp(self): + super(Database, self).setUp() + + if self.sql_connection == "sqlite://": + conn = self.engine.connect() + conn.connection.executescript(self._DB) + self.addCleanup(self.engine.dispose) + else: + shutil.copyfile(paths.state_path_rel(self.sqlite_clean_db), + paths.state_path_rel(self.sqlite_db)) + self.addCleanup(os.unlink, self.sqlite_db) + + def post_migrations(self): + """Any addition steps that are needed outside of the migrations.""" + + class DbTestCase(base.TestCase): def setUp(self): super(DbTestCase, self).setUp() - self.context = ironic_context.get_admin_context() + + self.dbapi = dbapi.get_instance() + + global _DB_CACHE + if not _DB_CACHE: + _DB_CACHE = Database(sqla_api, migration, + sql_connection=CONF.database.connection, + sqlite_db=CONF.database.sqlite_db, + sqlite_clean_db='clean.sqlite') + self.useFixture(_DB_CACHE) diff --git a/ironic/tests/db/sqlalchemy/test_types.py b/ironic/tests/db/sqlalchemy/test_types.py index 71577e3ef3..d0ed87d1f5 100644 --- a/ironic/tests/db/sqlalchemy/test_types.py +++ b/ironic/tests/db/sqlalchemy/test_types.py @@ -15,7 +15,6 @@ from oslo.db import exception as db_exc from ironic.common import utils as ironic_utils -from ironic.db import api as dbapi import ironic.db.sqlalchemy.api as sa_api from ironic.db.sqlalchemy import models @@ -24,10 +23,6 @@ from ironic.tests.db import base class SqlAlchemyCustomTypesTestCase(base.DbTestCase): - def setUp(self): - super(SqlAlchemyCustomTypesTestCase, self).setUp() - self.dbapi = dbapi.get_instance() - # NOTE(max_lobur): Since it's not straightforward to check this in # isolation these tests use existing db models. diff --git a/ironic/tests/db/test_chassis.py b/ironic/tests/db/test_chassis.py index 7bf7feb9f1..c354ef16d5 100644 --- a/ironic/tests/db/test_chassis.py +++ b/ironic/tests/db/test_chassis.py @@ -19,7 +19,6 @@ import six from ironic.common import exception from ironic.common import utils as ironic_utils -from ironic.db import api as dbapi from ironic.tests.db import base from ironic.tests.db import utils @@ -27,10 +26,6 @@ from ironic.tests.db import utils class DbChassisTestCase(base.DbTestCase): - def setUp(self): - super(DbChassisTestCase, self).setUp() - self.dbapi = dbapi.get_instance() - def _create_test_chassis(self, **kwargs): ch = utils.get_test_chassis(**kwargs) self.dbapi.create_chassis(ch) diff --git a/ironic/tests/db/test_conductor.py b/ironic/tests/db/test_conductor.py index 4501d32188..cebabd0355 100644 --- a/ironic/tests/db/test_conductor.py +++ b/ironic/tests/db/test_conductor.py @@ -21,17 +21,12 @@ import mock from oslo.utils import timeutils from ironic.common import exception -from ironic.db import api as dbapi from ironic.tests.db import base from ironic.tests.db import utils class DbConductorTestCase(base.DbTestCase): - def setUp(self): - super(DbConductorTestCase, self).setUp() - self.dbapi = dbapi.get_instance() - def test_register_conductor_existing_fails(self): c = utils.get_test_conductor() self.dbapi.register_conductor(c) diff --git a/ironic/tests/db/test_nodes.py b/ironic/tests/db/test_nodes.py index 1b066398b9..e96dab6b03 100644 --- a/ironic/tests/db/test_nodes.py +++ b/ironic/tests/db/test_nodes.py @@ -24,17 +24,12 @@ import six from ironic.common import exception from ironic.common import states from ironic.common import utils as ironic_utils -from ironic.db import api as dbapi from ironic.tests.db import base from ironic.tests.db import utils class DbNodeTestCase(base.DbTestCase): - def setUp(self): - super(DbNodeTestCase, self).setUp() - self.dbapi = dbapi.get_instance() - def _create_test_node(self, **kwargs): n = utils.get_test_node(**kwargs) self.dbapi.create_node(n) diff --git a/ironic/tests/db/test_ports.py b/ironic/tests/db/test_ports.py index e1c7a9ebf8..42c4d5cb28 100644 --- a/ironic/tests/db/test_ports.py +++ b/ironic/tests/db/test_ports.py @@ -19,7 +19,6 @@ import six from ironic.common import exception from ironic.common import utils as ironic_utils -from ironic.db import api as dbapi from ironic.tests.db import base from ironic.tests.db import utils as db_utils @@ -31,7 +30,6 @@ class DbPortTestCase(base.DbTestCase): # This method creates a port for every test and # replaces a test for creating a port. super(DbPortTestCase, self).setUp() - self.dbapi = dbapi.get_instance() ndict = db_utils.get_test_node() self.n = self.dbapi.create_node(ndict) self.p = db_utils.get_test_port() diff --git a/ironic/tests/drivers/drac/test_power.py b/ironic/tests/drivers/drac/test_power.py index 1988ee4073..6796c8a22d 100644 --- a/ironic/tests/drivers/drac/test_power.py +++ b/ironic/tests/drivers/drac/test_power.py @@ -19,12 +19,11 @@ import mock from ironic.common import exception from ironic.common import states -from ironic.db import api as dbapi from ironic.drivers.modules.drac import client as drac_client from ironic.drivers.modules.drac import common as drac_common from ironic.drivers.modules.drac import power as drac_power from ironic.drivers.modules.drac import resource_uris -from ironic.tests import base +from ironic.tests.db import base from ironic.tests.db import utils as db_utils from ironic.tests.drivers.drac import utils as test_utils @@ -33,7 +32,7 @@ INFO_DICT = db_utils.get_test_drac_info() @mock.patch.object(drac_client, 'pywsman') @mock.patch.object(drac_power, 'pywsman') -class DracPowerInternalMethodsTestCase(base.TestCase): +class DracPowerInternalMethodsTestCase(base.DbTestCase): def setUp(self): super(DracPowerInternalMethodsTestCase, self).setUp() @@ -41,7 +40,6 @@ class DracPowerInternalMethodsTestCase(base.TestCase): db_node = db_utils.get_test_node(driver='fake_drac', driver_info=driver_info, instance_uuid='instance_uuid_123') - self.dbapi = dbapi.get_instance() self.node = self.dbapi.create_node(db_node) def test__get_power_state(self, mock_power_pywsman, mock_client_pywsman): @@ -107,7 +105,7 @@ class DracPowerInternalMethodsTestCase(base.TestCase): resource_uris.DCIM_ComputerSystem, 'RequestStateChange') -class DracPowerTestCase(base.TestCase): +class DracPowerTestCase(base.DbTestCase): def setUp(self): super(DracPowerTestCase, self).setUp() @@ -115,7 +113,6 @@ class DracPowerTestCase(base.TestCase): db_node = db_utils.get_test_node(driver='fake_drac', driver_info=driver_info, instance_uuid='instance_uuid_123') - self.dbapi = dbapi.get_instance() self.node = self.dbapi.create_node(db_node) def test_get_properties(self): diff --git a/ironic/tests/drivers/ilo/test_common.py b/ironic/tests/drivers/ilo/test_common.py index a131064550..d4ec8e839c 100644 --- a/ironic/tests/drivers/ilo/test_common.py +++ b/ironic/tests/drivers/ilo/test_common.py @@ -26,7 +26,6 @@ from ironic.common import images from ironic.common import swift from ironic.common import utils from ironic.conductor import task_manager -from ironic.db import api as dbapi from ironic.drivers.modules.ilo import common as ilo_common from ironic.drivers import utils as driver_utils from ironic.tests.conductor import utils as mgr_utils @@ -43,10 +42,6 @@ CONF = cfg.CONF class IloValidateParametersTestCase(db_base.DbTestCase): - def setUp(self): - super(IloValidateParametersTestCase, self).setUp() - self.dbapi = dbapi.get_instance() - def test_parse_driver_info(self): node = obj_utils.create_test_node(self.context, driver='fake_ilo', @@ -117,7 +112,6 @@ class IloCommonMethodsTestCase(db_base.DbTestCase): def setUp(self): super(IloCommonMethodsTestCase, self).setUp() - self.dbapi = dbapi.get_instance() mgr_utils.mock_the_extension_manager(driver="fake_ilo") self.node = obj_utils.create_test_node(self.context, driver='fake_ilo', driver_info=INFO_DICT) diff --git a/ironic/tests/drivers/ilo/test_deploy.py b/ironic/tests/drivers/ilo/test_deploy.py index 7d03cdc53d..632c9de985 100644 --- a/ironic/tests/drivers/ilo/test_deploy.py +++ b/ironic/tests/drivers/ilo/test_deploy.py @@ -27,7 +27,6 @@ from ironic.common import swift from ironic.common import utils from ironic.conductor import task_manager from ironic.conductor import utils as manager_utils -from ironic.db import api as dbapi from ironic.drivers.modules import agent from ironic.drivers.modules import deploy_utils from ironic.drivers.modules.ilo import common as ilo_common @@ -52,7 +51,6 @@ class IloDeployPrivateMethodsTestCase(db_base.DbTestCase): def setUp(self): super(IloDeployPrivateMethodsTestCase, self).setUp() - self.dbapi = dbapi.get_instance() mgr_utils.mock_the_extension_manager(driver="iscsi_ilo") self.node = obj_utils.create_test_node(self.context, driver='iscsi_ilo', driver_info=INFO_DICT) @@ -198,7 +196,6 @@ class IloVirtualMediaIscsiDeployTestCase(db_base.DbTestCase): def setUp(self): super(IloVirtualMediaIscsiDeployTestCase, self).setUp() - self.dbapi = dbapi.get_instance() mgr_utils.mock_the_extension_manager(driver="iscsi_ilo") self.node = obj_utils.create_test_node(self.context, driver='iscsi_ilo', driver_info=INFO_DICT) @@ -274,7 +271,6 @@ class IloVirtualMediaAgentDeployTestCase(db_base.DbTestCase): def setUp(self): super(IloVirtualMediaAgentDeployTestCase, self).setUp() - self.dbapi = dbapi.get_instance() mgr_utils.mock_the_extension_manager(driver="agent_ilo") self.node = obj_utils.create_test_node(self.context, driver='agent_ilo', driver_info=INFO_DICT) @@ -326,7 +322,6 @@ class VendorPassthruTestCase(db_base.DbTestCase): def setUp(self): super(VendorPassthruTestCase, self).setUp() - self.dbapi = dbapi.get_instance() mgr_utils.mock_the_extension_manager(driver="iscsi_ilo") self.node = obj_utils.create_test_node(self.context, driver='iscsi_ilo', driver_info=INFO_DICT) @@ -393,7 +388,6 @@ class IloPXEDeployTestCase(db_base.DbTestCase): def setUp(self): super(IloPXEDeployTestCase, self).setUp() - self.dbapi = dbapi.get_instance() mgr_utils.mock_the_extension_manager(driver="pxe_ilo") self.node = obj_utils.create_test_node(self.context, driver='pxe_ilo', driver_info=INFO_DICT) @@ -449,7 +443,6 @@ class IloManagementTestCase(db_base.DbTestCase): def setUp(self): super(IloManagementTestCase, self).setUp() - self.dbapi = dbapi.get_instance() mgr_utils.mock_the_extension_manager(driver="pxe_ilo") self.node = obj_utils.create_test_node(self.context, driver='pxe_ilo', driver_info=INFO_DICT) @@ -475,7 +468,6 @@ class IloPXEVendorPassthruTestCase(db_base.DbTestCase): def setUp(self): super(IloPXEVendorPassthruTestCase, self).setUp() - self.dbapi = dbapi.get_instance() mgr_utils.mock_the_extension_manager(driver="pxe_ilo") self.node = obj_utils.create_test_node(self.context, driver='pxe_ilo', driver_info=INFO_DICT) diff --git a/ironic/tests/drivers/ilo/test_power.py b/ironic/tests/drivers/ilo/test_power.py index 0419a372fb..3a30aa0122 100644 --- a/ironic/tests/drivers/ilo/test_power.py +++ b/ironic/tests/drivers/ilo/test_power.py @@ -22,7 +22,6 @@ from oslo.utils import importutils from ironic.common import exception from ironic.common import states from ironic.conductor import task_manager -from ironic.db import api as dbapi from ironic.drivers.modules.ilo import common as ilo_common from ironic.drivers.modules.ilo import deploy as ilo_deploy from ironic.drivers.modules.ilo import power as ilo_power @@ -49,7 +48,6 @@ class IloPowerInternalMethodsTestCase(db_base.DbTestCase): driver='fake_ilo', driver_info=driver_info, instance_uuid='instance_uuid_123') - self.dbapi = dbapi.get_instance() self.node = self.dbapi.create_node(n) CONF.set_override('power_retry', 2, 'ilo') CONF.set_override('power_wait', 0, 'ilo') @@ -163,7 +161,6 @@ class IloPowerTestCase(db_base.DbTestCase): super(IloPowerTestCase, self).setUp() driver_info = INFO_DICT mgr_utils.mock_the_extension_manager(driver="fake_ilo") - self.dbapi = dbapi.get_instance() self.node = obj_utils.create_test_node(self.context, driver='fake_ilo', driver_info=driver_info) diff --git a/ironic/tests/drivers/test_iboot.py b/ironic/tests/drivers/test_iboot.py index 152238350c..5278caf3c2 100644 --- a/ironic/tests/drivers/test_iboot.py +++ b/ironic/tests/drivers/test_iboot.py @@ -23,7 +23,6 @@ from ironic.common import driver_factory from ironic.common import exception from ironic.common import states from ironic.conductor import task_manager -from ironic.db import api as dbapi from ironic.drivers.modules import iboot from ironic.tests.conductor import utils as mgr_utils from ironic.tests.db import base as db_base @@ -36,10 +35,6 @@ INFO_DICT = db_utils.get_test_iboot_info() class IBootPrivateMethodTestCase(db_base.DbTestCase): - def setUp(self): - super(IBootPrivateMethodTestCase, self).setUp() - self.dbapi = dbapi.get_instance() - def test__parse_driver_info_good(self): node = obj_utils.create_test_node( self.context, @@ -201,7 +196,6 @@ class IBootDriverTestCase(db_base.DbTestCase): def setUp(self): super(IBootDriverTestCase, self).setUp() - self.dbapi = dbapi.get_instance() mgr_utils.mock_the_extension_manager(driver='fake_iboot') self.driver = driver_factory.get_driver('fake_iboot') self.node = obj_utils.create_test_node( diff --git a/ironic/tests/drivers/test_ipminative.py b/ironic/tests/drivers/test_ipminative.py index 1b7af8e9cd..0f2e41e330 100644 --- a/ironic/tests/drivers/test_ipminative.py +++ b/ironic/tests/drivers/test_ipminative.py @@ -30,7 +30,6 @@ from ironic.common import exception from ironic.common import states from ironic.common import utils from ironic.conductor import task_manager -from ironic.db import api as db_api from ironic.drivers.modules import console_utils from ironic.drivers.modules import ipminative from ironic.tests.conductor import utils as mgr_utils @@ -51,7 +50,6 @@ class IPMINativePrivateMethodTestCase(db_base.DbTestCase): self.node = obj_utils.create_test_node(self.context, driver='fake_ipminative', driver_info=INFO_DICT) - self.dbapi = db_api.get_instance() self.info = ipminative._parse_driver_info(self.node) def test__parse_driver_info(self): @@ -220,7 +218,6 @@ class IPMINativeDriverTestCase(db_base.DbTestCase): self.node = obj_utils.create_test_node(self.context, driver='fake_ipminative', driver_info=INFO_DICT) - self.dbapi = db_api.get_instance() self.info = ipminative._parse_driver_info(self.node) def test_get_properties(self): diff --git a/ironic/tests/drivers/test_ipmitool.py b/ironic/tests/drivers/test_ipmitool.py index 822276f1fc..7babdd33cd 100644 --- a/ironic/tests/drivers/test_ipmitool.py +++ b/ironic/tests/drivers/test_ipmitool.py @@ -33,7 +33,6 @@ from ironic.common import exception from ironic.common import states from ironic.common import utils from ironic.conductor import task_manager -from ironic.db import api as db_api from ironic.drivers.modules import console_utils from ironic.drivers.modules import ipmitool as ipmi from ironic.openstack.common import processutils @@ -854,7 +853,6 @@ class IPMIToolDriverTestCase(db_base.DbTestCase): def setUp(self): super(IPMIToolDriverTestCase, self).setUp() - self.dbapi = db_api.get_instance() mgr_utils.mock_the_extension_manager(driver="fake_ipmitool") self.driver = driver_factory.get_driver("fake_ipmitool") diff --git a/ironic/tests/drivers/test_iscsi_deploy.py b/ironic/tests/drivers/test_iscsi_deploy.py index 39af3239ba..e6eb8df6d4 100644 --- a/ironic/tests/drivers/test_iscsi_deploy.py +++ b/ironic/tests/drivers/test_iscsi_deploy.py @@ -23,7 +23,6 @@ from oslo.config import cfg from ironic.common import exception from ironic.common import utils -from ironic.db import api as dbapi from ironic.drivers.modules import deploy_utils from ironic.drivers.modules import iscsi_deploy from ironic.openstack.common import fileutils @@ -40,10 +39,6 @@ DRV_INFO_DICT = db_utils.get_test_pxe_driver_info() class IscsiDeployValidateParametersTestCase(db_base.DbTestCase): - def setUp(self): - super(IscsiDeployValidateParametersTestCase, self).setUp() - self.dbapi = dbapi.get_instance() - def test_parse_instance_info_good(self): # make sure we get back the expected things node = obj_utils.create_test_node(self.context, @@ -152,7 +147,6 @@ class IscsiDeployPrivateMethodsTestCase(db_base.DbTestCase): 'driver_info': DRV_INFO_DICT, } mgr_utils.mock_the_extension_manager(driver="fake_pxe") - self.dbapi = dbapi.get_instance() self.node = obj_utils.create_test_node(self.context, **n) def test__get_image_dir_path(self): @@ -177,7 +171,6 @@ class IscsiDeployMethodsTestCase(db_base.DbTestCase): 'driver_info': DRV_INFO_DICT, } mgr_utils.mock_the_extension_manager(driver="fake_pxe") - self.dbapi = dbapi.get_instance() self.node = obj_utils.create_test_node(self.context, **n) @mock.patch.object(deploy_utils, 'fetch_images') diff --git a/ironic/tests/drivers/test_pxe.py b/ironic/tests/drivers/test_pxe.py index b68bb162c1..882f004ae0 100644 --- a/ironic/tests/drivers/test_pxe.py +++ b/ironic/tests/drivers/test_pxe.py @@ -33,7 +33,6 @@ from ironic.common import states from ironic.common import utils from ironic.conductor import task_manager from ironic.conductor import utils as manager_utils -from ironic.db import api as dbapi from ironic.drivers.modules import deploy_utils from ironic.drivers.modules import iscsi_deploy from ironic.drivers.modules import pxe @@ -52,10 +51,6 @@ DRV_INFO_DICT = db_utils.get_test_pxe_driver_info() class PXEValidateParametersTestCase(db_base.DbTestCase): - def setUp(self): - super(PXEValidateParametersTestCase, self).setUp() - self.dbapi = dbapi.get_instance() - def test__parse_deploy_info(self): # make sure we get back the expected things node = obj_utils.create_test_node(self.context, @@ -107,7 +102,6 @@ class PXEPrivateMethodsTestCase(db_base.DbTestCase): 'driver_info': DRV_INFO_DICT, } mgr_utils.mock_the_extension_manager(driver="fake_pxe") - self.dbapi = dbapi.get_instance() self.node = obj_utils.create_test_node(self.context, **n) @mock.patch.object(base_image_service.BaseImageService, '_show') @@ -305,7 +299,6 @@ class PXEDriverTestCase(db_base.DbTestCase): driver='fake_pxe', instance_info=instance_info, driver_info=DRV_INFO_DICT) - self.dbapi = dbapi.get_instance() self.port = obj_utils.create_test_port(self.context, node_id=self.node.id) self.config(group='conductor', api_url='http://127.0.0.1:1234/') @@ -732,7 +725,6 @@ class CleanUpFullFlowTestCase(db_base.DbTestCase): driver='fake_pxe', instance_info=instance_info, driver_info=DRV_INFO_DICT) - self.dbapi = dbapi.get_instance() self.port = obj_utils.create_test_port(self.context, node_id=self.node.id) diff --git a/ironic/tests/drivers/test_seamicro.py b/ironic/tests/drivers/test_seamicro.py index b5000856eb..383e51115b 100644 --- a/ironic/tests/drivers/test_seamicro.py +++ b/ironic/tests/drivers/test_seamicro.py @@ -24,7 +24,6 @@ from ironic.common import exception from ironic.common import states from ironic.common import utils from ironic.conductor import task_manager -from ironic.db import api as dbapi from ironic.drivers.modules import seamicro from ironic.tests.conductor import utils as mgr_utils from ironic.tests.db import base as db_base @@ -137,7 +136,6 @@ class SeaMicroPrivateMethodsTestCase(db_base.DbTestCase): 'driver': 'fake_seamicro', 'driver_info': INFO_DICT } - self.dbapi = dbapi.get_instance() self.node = obj_utils.create_test_node(self.context, **n) self.Server = Fake_Server self.Volume = Fake_Volume @@ -283,7 +281,6 @@ class SeaMicroPowerDriverTestCase(db_base.DbTestCase): self.node = obj_utils.create_test_node(self.context, driver='fake_seamicro', driver_info=INFO_DICT) - self.dbapi = dbapi.get_instance() self.get_server_patcher = mock.patch.object(seamicro, '_get_server') self.get_server_mock = None diff --git a/ironic/tests/drivers/test_snmp.py b/ironic/tests/drivers/test_snmp.py index 9c93820a4d..5bba4e8a84 100644 --- a/ironic/tests/drivers/test_snmp.py +++ b/ironic/tests/drivers/test_snmp.py @@ -29,7 +29,6 @@ from pysnmp import error as snmp_error from ironic.common import exception from ironic.common import states from ironic.conductor import task_manager -from ironic.db import api as db_api from ironic.drivers.modules import snmp as snmp from ironic.tests import base from ironic.tests.conductor import utils as mgr_utils @@ -996,7 +995,6 @@ class SNMPDriverTestCase(db_base.DbTestCase): def setUp(self): super(SNMPDriverTestCase, self).setUp() - self.dbapi = db_api.get_instance() mgr_utils.mock_the_extension_manager(driver='fake_snmp') self.node = obj_utils.create_test_node(self.context, diff --git a/ironic/tests/drivers/test_ssh.py b/ironic/tests/drivers/test_ssh.py index 53427f8fda..21d38481b4 100644 --- a/ironic/tests/drivers/test_ssh.py +++ b/ironic/tests/drivers/test_ssh.py @@ -25,7 +25,6 @@ from ironic.common import exception from ironic.common import states from ironic.common import utils from ironic.conductor import task_manager -from ironic.db import api as dbapi from ironic.drivers.modules import ssh from ironic.drivers import utils as driver_utils from ironic.openstack.common import processutils @@ -571,7 +570,6 @@ class SSHDriverTestCase(db_base.DbTestCase): self.node = obj_utils.create_test_node( self.context, driver='fake_ssh', driver_info=db_utils.get_test_ssh_info()) - self.dbapi = dbapi.get_instance() self.port = obj_utils.create_test_port(self.context, node_id=self.node.id) self.sshclient = paramiko.SSHClient() diff --git a/ironic/tests/drivers/test_utils.py b/ironic/tests/drivers/test_utils.py index 0e5544f109..ec8c20f9d7 100644 --- a/ironic/tests/drivers/test_utils.py +++ b/ironic/tests/drivers/test_utils.py @@ -18,7 +18,6 @@ import mock from ironic.common import driver_factory from ironic.common import exception from ironic.conductor import task_manager -from ironic.db import api as db_api from ironic.drivers.modules import fake from ironic.drivers import utils as driver_utils from ironic.tests.conductor import utils as mgr_utils @@ -30,7 +29,6 @@ class UtilsTestCase(db_base.DbTestCase): def setUp(self): super(UtilsTestCase, self).setUp() - self.dbapi = db_api.get_instance() mgr_utils.mock_the_extension_manager() self.driver = driver_factory.get_driver("fake") self.node = obj_utils.create_test_node(self.context) diff --git a/ironic/tests/objects/test_chassis.py b/ironic/tests/objects/test_chassis.py index ec31f28d94..cc7a596a36 100644 --- a/ironic/tests/objects/test_chassis.py +++ b/ironic/tests/objects/test_chassis.py @@ -18,7 +18,6 @@ from testtools.matchers import HasLength from ironic.common import exception from ironic.common import utils as ironic_utils -from ironic.db import api as db_api from ironic import objects from ironic.tests.db import base @@ -30,7 +29,6 @@ class TestChassisObject(base.DbTestCase): def setUp(self): super(TestChassisObject, self).setUp() self.fake_chassis = utils.get_test_chassis() - self.dbapi = db_api.get_instance() def test_get_by_id(self): chassis_id = self.fake_chassis['id'] diff --git a/ironic/tests/objects/test_conductor.py b/ironic/tests/objects/test_conductor.py index 2df59c0346..aa7764a037 100644 --- a/ironic/tests/objects/test_conductor.py +++ b/ironic/tests/objects/test_conductor.py @@ -19,7 +19,6 @@ import datetime import mock from oslo.utils import timeutils -from ironic.db import api as db_api from ironic import objects from ironic.objects import utils as obj_utils from ironic.tests.db import base @@ -32,7 +31,6 @@ class TestConductorObject(base.DbTestCase): super(TestConductorObject, self).setUp() self.fake_conductor = utils.get_test_conductor( updated_at=timeutils.utcnow()) - self.dbapi = db_api.get_instance() def test_load(self): host = self.fake_conductor['hostname'] diff --git a/ironic/tests/objects/test_node.py b/ironic/tests/objects/test_node.py index 76c07048b8..9b4e78e45c 100644 --- a/ironic/tests/objects/test_node.py +++ b/ironic/tests/objects/test_node.py @@ -17,7 +17,6 @@ import mock from testtools.matchers import HasLength from ironic.common import exception -from ironic.db import api as db_api from ironic import objects from ironic.tests.db import base from ironic.tests.db import utils @@ -28,7 +27,6 @@ class TestNodeObject(base.DbTestCase): def setUp(self): super(TestNodeObject, self).setUp() self.fake_node = utils.get_test_node() - self.dbapi = db_api.get_instance() def test_get_by_id(self): node_id = self.fake_node['id'] diff --git a/ironic/tests/objects/test_objects.py b/ironic/tests/objects/test_objects.py index fb5d4b50d6..b7fde013c2 100644 --- a/ironic/tests/objects/test_objects.py +++ b/ironic/tests/objects/test_objects.py @@ -26,7 +26,6 @@ from ironic.objects import base from ironic.objects import utils from ironic.openstack.common import context from ironic.tests import base as test_base -from ironic.tests.db import base as db_base gettext.install('ironic') @@ -124,7 +123,7 @@ class TestMetaclass(test_base.TestCase): self.assertEqual(expected, Test2._obj_classes) -class TestUtils(db_base.DbTestCase): +class TestUtils(test_base.TestCase): def test_datetime_or_none(self): naive_dt = datetime.datetime.now() @@ -212,7 +211,7 @@ class TestUtils(db_base.DbTestCase): base.obj_to_primitive(mylist)) -class _BaseTestCase(db_base.DbTestCase): +class _BaseTestCase(test_base.TestCase): def setUp(self): super(_BaseTestCase, self).setUp() self.remote_object_calls = list() @@ -513,7 +512,7 @@ class TestObject(_LocalTest, _TestObject): pass -class TestObjectListBase(db_base.DbTestCase): +class TestObjectListBase(test_base.TestCase): def test_list_like_operations(self): class Foo(base.ObjectListBase, base.IronicObject): @@ -590,7 +589,7 @@ class TestObjectListBase(db_base.DbTestCase): self.assertEqual(set(), obj.obj_what_changed()) -class TestObjectSerializer(db_base.DbTestCase): +class TestObjectSerializer(test_base.TestCase): def test_serialize_entity_primitive(self): ser = base.IronicObjectSerializer() diff --git a/ironic/tests/objects/test_port.py b/ironic/tests/objects/test_port.py index 4d02758869..c9baa8cc71 100644 --- a/ironic/tests/objects/test_port.py +++ b/ironic/tests/objects/test_port.py @@ -17,7 +17,6 @@ import mock from testtools.matchers import HasLength from ironic.common import exception -from ironic.db import api as db_api from ironic import objects from ironic.tests.db import base from ironic.tests.db import utils @@ -28,7 +27,6 @@ class TestPortObject(base.DbTestCase): def setUp(self): super(TestPortObject, self).setUp() self.fake_port = utils.get_test_port() - self.dbapi = db_api.get_instance() def test_get_by_id(self): port_id = self.fake_port['id'] diff --git a/ironic/tests/test_hash_ring.py b/ironic/tests/test_hash_ring.py index 63b5884f46..8dadb34a73 100644 --- a/ironic/tests/test_hash_ring.py +++ b/ironic/tests/test_hash_ring.py @@ -18,7 +18,6 @@ from testtools import matchers from ironic.common import exception from ironic.common import hash_ring -from ironic.db import api as dbapi from ironic.tests import base from ironic.tests.db import base as db_base @@ -199,7 +198,6 @@ class HashRingManagerTestCase(db_base.DbTestCase): def setUp(self): super(HashRingManagerTestCase, self).setUp() self.ring_manager = hash_ring.HashRingManager() - self.dbapi = dbapi.get_instance() def register_conductors(self): self.dbapi.register_conductor({ diff --git a/ironic/tests/test_network.py b/ironic/tests/test_network.py index c7aa57cb33..a7f5ea9e05 100644 --- a/ironic/tests/test_network.py +++ b/ironic/tests/test_network.py @@ -16,7 +16,6 @@ from ironic.common import network from ironic.common import utils from ironic.conductor import task_manager -from ironic.db import api as dbapi from ironic.tests.conductor import utils as mgr_utils from ironic.tests.db import base as db_base from ironic.tests.db import utils as db_utils @@ -28,7 +27,6 @@ class TestNetwork(db_base.DbTestCase): def setUp(self): super(TestNetwork, self).setUp() mgr_utils.mock_the_extension_manager(driver='fake') - self.dbapi = dbapi.get_instance() self.node = object_utils.create_test_node(self.context) def _create_test_port(self, **kwargs): diff --git a/ironic/tests/test_pxe_utils.py b/ironic/tests/test_pxe_utils.py index 4cbf280b50..5ead4c7dc0 100644 --- a/ironic/tests/test_pxe_utils.py +++ b/ironic/tests/test_pxe_utils.py @@ -21,7 +21,6 @@ from oslo.config import cfg from ironic.common import pxe_utils from ironic.conductor import task_manager -from ironic.db import api as dbapi from ironic.tests.conductor import utils as mgr_utils from ironic.tests.db import base as db_base from ironic.tests.objects import utils as object_utils @@ -34,7 +33,6 @@ class TestPXEUtils(db_base.DbTestCase): def setUp(self): super(TestPXEUtils, self).setUp() mgr_utils.mock_the_extension_manager(driver="fake") - self.dbapi = dbapi.get_instance() self.pxe_options = { 'deployment_key': '0123456789ABCDEFGHIJKLMNOPQRSTUV', 'ari_path': u'/tftpboot/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/'