From 014480d52fce238b36ab5750f36c9ab4ece4a6d2 Mon Sep 17 00:00:00 2001 From: Stephen Finucane Date: Mon, 15 Feb 2021 16:43:23 +0000 Subject: [PATCH] db: Remove constant aliases from 'nova.db.api' No need for these things to live in two places. Change-Id: Ided8e57ddd0cf12fd7d37d4fe029fb1807f8d719 Signed-off-by: Stephen Finucane --- nova/cmd/manage.py | 5 ++-- nova/compute/flavors.py | 17 +++++++------- nova/db/api.py | 10 +------- .../openstack/compute/test_flavor_manage.py | 15 ++++++------ .../unit/api/openstack/compute/test_quotas.py | 4 ++-- .../api/openstack/compute/test_servers.py | 4 ++-- nova/tests/unit/compute/test_flavors.py | 23 ++++++++++--------- 7 files changed, 37 insertions(+), 41 deletions(-) diff --git a/nova/cmd/manage.py b/nova/cmd/manage.py index d32001a31d..6bf833ff1e 100644 --- a/nova/cmd/manage.py +++ b/nova/cmd/manage.py @@ -48,6 +48,7 @@ import nova.conf from nova import config from nova import context from nova.db import api as db +from nova.db import constants as db_const from nova.db import migration from nova.db.sqlalchemy import api as sa_db from nova import exception @@ -246,9 +247,9 @@ Error: %s""") % str(e)) if max_rows < 0: print(_("Must supply a positive value for max_rows")) return 2 - if max_rows > db.MAX_INT: + if max_rows > db_const.MAX_INT: print(_('max rows must be <= %(max_value)d') % - {'max_value': db.MAX_INT}) + {'max_value': db_const.MAX_INT}) return 2 ctxt = context.get_admin_context() diff --git a/nova/compute/flavors.py b/nova/compute/flavors.py index b73cf433bb..153abbd375 100644 --- a/nova/compute/flavors.py +++ b/nova/compute/flavors.py @@ -25,7 +25,7 @@ from oslo_utils import uuidutils import nova.conf from nova import context -from nova.db import api as db +from nova.db import constants as db_const from nova import exception from nova.i18n import _ from nova import objects @@ -96,19 +96,20 @@ def create(name, memory, vcpus, root_gb, ephemeral_gb=0, flavorid=None, } for key, value in flavor_attributes.items(): - kwargs[key] = utils.validate_integer(kwargs[key], value[0], value[1], - db.MAX_INT) + kwargs[key] = utils.validate_integer( + kwargs[key], value[0], value[1], db_const.MAX_INT) # rxtx_factor should be a positive float try: kwargs['rxtx_factor'] = float(kwargs['rxtx_factor']) - if (kwargs['rxtx_factor'] <= 0 or - kwargs['rxtx_factor'] > db.SQL_SP_FLOAT_MAX): + if ( + kwargs['rxtx_factor'] <= 0 or + kwargs['rxtx_factor'] > db_const.SQL_SP_FLOAT_MAX + ): raise ValueError() except ValueError: - msg = (_("'rxtx_factor' argument must be a float between 0 and %g") % - db.SQL_SP_FLOAT_MAX) - raise exception.InvalidInput(reason=msg) + msg = _("'rxtx_factor' argument must be a float between 0 and %g") + raise exception.InvalidInput(reason=msg % db_const.SQL_SP_FLOAT_MAX) kwargs['name'] = name kwargs['flavorid'] = flavorid diff --git a/nova/db/api.py b/nova/db/api.py index ea98beece0..8c5281d8a6 100644 --- a/nova/db/api.py +++ b/nova/db/api.py @@ -31,22 +31,14 @@ from oslo_db import concurrency from oslo_log import log as logging import nova.conf -from nova.db import constants CONF = nova.conf.CONF -# NOTE(cdent): These constants are re-defined in this module to preserve -# existing references to them. -MAX_INT = constants.MAX_INT -SQL_SP_FLOAT_MAX = constants.SQL_SP_FLOAT_MAX +LOG = logging.getLogger(__name__) _BACKEND_MAPPING = {'sqlalchemy': 'nova.db.sqlalchemy.api'} - - IMPL = concurrency.TpoolDbapiWrapper(CONF, backend_mapping=_BACKEND_MAPPING) -LOG = logging.getLogger(__name__) - ################### diff --git a/nova/tests/unit/api/openstack/compute/test_flavor_manage.py b/nova/tests/unit/api/openstack/compute/test_flavor_manage.py index e6e1c8e26a..f8412c772c 100644 --- a/nova/tests/unit/api/openstack/compute/test_flavor_manage.py +++ b/nova/tests/unit/api/openstack/compute/test_flavor_manage.py @@ -22,7 +22,7 @@ import webob from nova.api.openstack.compute import flavor_access as flavor_access_v21 from nova.api.openstack.compute import flavor_manage as flavormanage_v21 from nova.compute import flavors -from nova.db import api as db +from nova.db import constants as db_const from nova import exception from nova import objects from nova import test @@ -244,7 +244,7 @@ class FlavorManageTestV21(test.NoDBTestCase): self._create_flavor_bad_request_case(self.request_body) def test_create_with_ram_exceed_max_limit(self): - self.request_body['flavor']['ram'] = db.MAX_INT + 1 + self.request_body['flavor']['ram'] = db_const.MAX_INT + 1 self._create_flavor_bad_request_case(self.request_body) def test_create_without_vcpus(self): @@ -256,7 +256,7 @@ class FlavorManageTestV21(test.NoDBTestCase): self._create_flavor_bad_request_case(self.request_body) def test_create_with_vcpus_exceed_max_limit(self): - self.request_body['flavor']['vcpus'] = db.MAX_INT + 1 + self.request_body['flavor']['vcpus'] = db_const.MAX_INT + 1 self._create_flavor_bad_request_case(self.request_body) def test_create_without_disk(self): @@ -268,7 +268,7 @@ class FlavorManageTestV21(test.NoDBTestCase): self._create_flavor_bad_request_case(self.request_body) def test_create_with_disk_exceed_max_limit(self): - self.request_body['flavor']['disk'] = db.MAX_INT + 1 + self.request_body['flavor']['disk'] = db_const.MAX_INT + 1 self._create_flavor_bad_request_case(self.request_body) def test_create_with_minus_ephemeral(self): @@ -277,7 +277,7 @@ class FlavorManageTestV21(test.NoDBTestCase): def test_create_with_ephemeral_exceed_max_limit(self): self.request_body['flavor'][ - 'OS-FLV-EXT-DATA:ephemeral'] = db.MAX_INT + 1 + 'OS-FLV-EXT-DATA:ephemeral'] = db_const.MAX_INT + 1 self._create_flavor_bad_request_case(self.request_body) def test_create_with_minus_swap(self): @@ -285,7 +285,7 @@ class FlavorManageTestV21(test.NoDBTestCase): self._create_flavor_bad_request_case(self.request_body) def test_create_with_swap_exceed_max_limit(self): - self.request_body['flavor']['swap'] = db.MAX_INT + 1 + self.request_body['flavor']['swap'] = db_const.MAX_INT + 1 self._create_flavor_bad_request_case(self.request_body) def test_create_with_minus_rxtx_factor(self): @@ -293,7 +293,8 @@ class FlavorManageTestV21(test.NoDBTestCase): self._create_flavor_bad_request_case(self.request_body) def test_create_with_rxtx_factor_exceed_max_limit(self): - self.request_body['flavor']['rxtx_factor'] = db.SQL_SP_FLOAT_MAX * 2 + self.request_body['flavor']['rxtx_factor'] = \ + db_const.SQL_SP_FLOAT_MAX * 2 self._create_flavor_bad_request_case(self.request_body) def test_create_with_non_boolean_is_public(self): diff --git a/nova/tests/unit/api/openstack/compute/test_quotas.py b/nova/tests/unit/api/openstack/compute/test_quotas.py index a002408a0e..545bd51e13 100644 --- a/nova/tests/unit/api/openstack/compute/test_quotas.py +++ b/nova/tests/unit/api/openstack/compute/test_quotas.py @@ -18,7 +18,7 @@ import mock import webob from nova.api.openstack.compute import quota_sets as quotas_v21 -from nova.db import api as db +from nova.db import constants as db_const from nova import exception from nova import quota from nova import test @@ -156,7 +156,7 @@ class QuotaSetsTestV21(BaseQuotaSetsTest): # Invalid - limit is larger than 0x7FFFFFFF self.assertRaises(webob.exc.HTTPBadRequest, self.controller._validate_quota_limit, - resource, db.MAX_INT + 1, -1, -1) + resource, db_const.MAX_INT + 1, -1, -1) def test_quotas_defaults(self): uri = '/v2/%s/os-quota-sets/%s/defaults' % ( diff --git a/nova/tests/unit/api/openstack/compute/test_servers.py b/nova/tests/unit/api/openstack/compute/test_servers.py index 8b28d1b924..9d9ff17f09 100644 --- a/nova/tests/unit/api/openstack/compute/test_servers.py +++ b/nova/tests/unit/api/openstack/compute/test_servers.py @@ -51,7 +51,7 @@ from nova.compute import task_states from nova.compute import vm_states import nova.conf from nova import context -from nova.db import api as db +from nova.db import constants as db_const from nova.db.sqlalchemy import api as db_api from nova.db.sqlalchemy import models from nova import exception @@ -5155,7 +5155,7 @@ class ServersControllerCreateTest(test.TestCase): self._test_create_bdm_instance_with_size_error("0") def test_create_instance_with_size_greater_than_limit(self): - self._test_create_bdm_instance_with_size_error(db.MAX_INT + 1) + self._test_create_bdm_instance_with_size_error(db_const.MAX_INT + 1) def test_create_instance_with_bdm_delete_on_termination(self): bdm = [{'device_name': 'foo1', 'volume_id': fakes.FAKE_UUID, diff --git a/nova/tests/unit/compute/test_flavors.py b/nova/tests/unit/compute/test_flavors.py index d296aeed90..80465b1452 100644 --- a/nova/tests/unit/compute/test_flavors.py +++ b/nova/tests/unit/compute/test_flavors.py @@ -17,7 +17,7 @@ from nova.compute import flavors from nova import context -from nova.db import api as db +from nova.db import constants as db_const from nova import exception from nova import objects from nova.objects import base as obj_base @@ -149,35 +149,36 @@ class TestCreateFlavor(test.TestCase): self.assertInvalidInput('flavor1', 'foo', 1, 120) self.assertInvalidInput('flavor1', -1, 1, 120) self.assertInvalidInput('flavor1', 0, 1, 120) - self.assertInvalidInput('flavor1', db.MAX_INT + 1, 1, 120) + self.assertInvalidInput('flavor1', db_const.MAX_INT + 1, 1, 120) flavors.create('flavor1', 1, 1, 120) def test_vcpus_must_be_positive_db_integer(self): self.assertInvalidInput('flavor`', 64, 'foo', 120) self.assertInvalidInput('flavor1', 64, -1, 120) self.assertInvalidInput('flavor1', 64, 0, 120) - self.assertInvalidInput('flavor1', 64, db.MAX_INT + 1, 120) + self.assertInvalidInput('flavor1', 64, db_const.MAX_INT + 1, 120) flavors.create('flavor1', 64, 1, 120) def test_root_gb_must_be_nonnegative_db_integer(self): self.assertInvalidInput('flavor1', 64, 1, 'foo') self.assertInvalidInput('flavor1', 64, 1, -1) - self.assertInvalidInput('flavor1', 64, 1, db.MAX_INT + 1) + self.assertInvalidInput('flavor1', 64, 1, db_const.MAX_INT + 1) flavors.create('flavor1', 64, 1, 0) flavors.create('flavor2', 64, 1, 120) def test_ephemeral_gb_must_be_nonnegative_db_integer(self): self.assertInvalidInput('flavor1', 64, 1, 120, ephemeral_gb='foo') self.assertInvalidInput('flavor1', 64, 1, 120, ephemeral_gb=-1) - self.assertInvalidInput('flavor1', 64, 1, 120, - ephemeral_gb=db.MAX_INT + 1) + self.assertInvalidInput( + 'flavor1', 64, 1, 120, ephemeral_gb=db_const.MAX_INT + 1) flavors.create('flavor1', 64, 1, 120, ephemeral_gb=0) flavors.create('flavor2', 64, 1, 120, ephemeral_gb=120) def test_swap_must_be_nonnegative_db_integer(self): self.assertInvalidInput('flavor1', 64, 1, 120, swap='foo') self.assertInvalidInput('flavor1', 64, 1, 120, swap=-1) - self.assertInvalidInput('flavor1', 64, 1, 120, swap=db.MAX_INT + 1) + self.assertInvalidInput( + 'flavor1', 64, 1, 120, swap=db_const.MAX_INT + 1) flavors.create('flavor1', 64, 1, 120, swap=0) flavors.create('flavor2', 64, 1, 120, swap=1) @@ -195,14 +196,14 @@ class TestCreateFlavor(test.TestCase): def test_rxtx_factor_must_be_within_sql_float_range(self): # We do * 10 since this is an approximation and we need to make sure # the difference is noticeble. - over_rxtx_factor = db.SQL_SP_FLOAT_MAX * 10 + over_rxtx_factor = db_const.SQL_SP_FLOAT_MAX * 10 self.assertInvalidInput('flavor1', 64, 1, 120, rxtx_factor=over_rxtx_factor) - flavor = flavors.create('flavor2', 64, 1, 120, - rxtx_factor=db.SQL_SP_FLOAT_MAX) - self.assertEqual(db.SQL_SP_FLOAT_MAX, flavor.rxtx_factor) + flavor = flavors.create( + 'flavor2', 64, 1, 120, rxtx_factor=db_const.SQL_SP_FLOAT_MAX) + self.assertEqual(db_const.SQL_SP_FLOAT_MAX, flavor.rxtx_factor) def test_is_public_must_be_valid_bool_string(self): self.assertInvalidInput('flavor1', 64, 1, 120, is_public='foo')