stop using common db mixin

All of the methods of common db mixin are available via neutron-lib
and the mixin will be removed before long.
This patch switches the code over to use neutron-lib's APIs rather
than those of the mixin and stops using common_db_mix for parent
classes.

Change-Id: I767b88d3a70d744e4170325a9f2c2dc36163756b
This commit is contained in:
Boden R 2019-02-07 09:53:50 -07:00
parent 187f7fa85b
commit c800a90f2f
2 changed files with 6 additions and 10 deletions

View File

@ -17,7 +17,6 @@ import re
import netaddr
from neutron.common import ipv6_utils
from neutron.db import common_db_mixin as base_db
from neutron_lib.callbacks import events
from neutron_lib.callbacks import registry
from neutron_lib.callbacks import resources
@ -50,8 +49,7 @@ from neutron_lbaas.services.loadbalancer import data_models
LOG = logging.getLogger(__name__)
class LoadBalancerPluginDbv2(base_db.CommonDbMixin,
agent_scheduler.LbaasAgentSchedulerDbMixin):
class LoadBalancerPluginDbv2(agent_scheduler.LbaasAgentSchedulerDbMixin):
"""Wraps loadbalancer with SQLAlchemy models.
A class that wraps the implementation of the Neutron loadbalancer
@ -75,7 +73,7 @@ class LoadBalancerPluginDbv2(base_db.CommonDbMixin,
model.id == id).with_lockmode('update')
resource = query.one()
else:
resource = self._get_by_id(context, model, id)
resource = model_query.get_by_id(context, model, id)
except exc.NoResultFound:
with excutils.save_and_reraise_exception(reraise=False) as ctx:
if issubclass(model, (models.LoadBalancer, models.Listener,
@ -90,14 +88,14 @@ class LoadBalancerPluginDbv2(base_db.CommonDbMixin,
def _resource_exists(self, context, model, id):
try:
self._get_by_id(context, model, id)
model_query.get_by_id(context, model, id)
except exc.NoResultFound:
return False
return True
def _get_resources(self, context, model, filters=None, options=None):
query = self._get_collection_query(context, model,
filters=filters)
query = model_query.get_collection_query(context, model,
filters=filters)
if options:
query = query.options(options)
return [model_instance for model_instance in query]

View File

@ -13,7 +13,6 @@
# under the License.
from neutron.db import agents_db
from neutron.db import common_db_mixin
from neutron.services import provider_configuration as provconf
from neutron_lib import exceptions as n_exc
from neutron_lib import rpc as n_rpc
@ -163,8 +162,7 @@ class LoadBalancerAgentApi(object):
class LoadBalancerManager(driver_base.BaseLoadBalancerManager,
agent_scheduler_v2.LbaasAgentSchedulerDbMixin,
common_db_mixin.CommonDbMixin):
agent_scheduler_v2.LbaasAgentSchedulerDbMixin):
def __init__(self, driver):
super(LoadBalancerManager, self).__init__(driver)
self.db = ldbv2.LoadBalancerPluginDbv2()