Remove unused method _ensure_vr_id_and_network()

Method _ensure_vr_id_and_network is not used in l3_hamode_db.py,
hence method and related tests can be removed.

Closes-Bug: #1715371
Change-Id: I9a64e683f060573195a88b3c4ee34abbd941fa44
This commit is contained in:
Nurmatov Mamatisa 2021-04-02 17:07:16 +03:00 committed by Mamatisa Nurmatov
parent 1bc2313dc9
commit ba3d78099f
2 changed files with 2 additions and 91 deletions

View File

@ -352,20 +352,6 @@ class L3_HA_NAT_db_mixin(l3_dvr_db.L3_NAT_with_dvr_db_mixin,
return super(L3_HA_NAT_db_mixin,
self)._get_device_owner(context, router)
@n_utils.transaction_guard
def _ensure_vr_id_and_network(self, context, router_db):
"""Attach vr_id to router while tolerating network deletes."""
creator = functools.partial(self._ensure_vr_id,
context, router_db)
dep_getter = functools.partial(self.get_ha_network,
context, router_db.tenant_id)
dep_creator = functools.partial(self._create_ha_network,
context, router_db.tenant_id)
dep_deleter = functools.partial(self._delete_ha_network, context)
dep_id_attr = 'network_id'
return n_utils.create_object_with_dependency(
creator, dep_getter, dep_creator, dep_id_attr, dep_deleter)[1]
@registry.receives(resources.ROUTER, [events.BEFORE_CREATE],
priority_group.PRIORITY_ROUTER_EXTENDED_ATTRIBUTE)
@db_api.retry_if_session_inactive()

View File

@ -34,7 +34,6 @@ from neutron_lib.objects import exceptions
from neutron_lib.plugins import constants as plugin_constants
from neutron_lib.plugins import directory
from oslo_config import cfg
from oslo_db import exception as db_exc
from oslo_utils import uuidutils
import sqlalchemy as sa
from sqlalchemy import orm
@ -289,8 +288,8 @@ class L3HATestCase(L3HATestFramework):
def jam_in_interface(*args, **kwargs):
ctx = context.get_admin_context()
net = self.plugin._ensure_vr_id_and_network(
ctx, self.plugin._get_router(ctx, router['id']))
net = self.plugin.get_ha_network(self.admin_ctx,
router['tenant_id'])
self.plugin.add_ha_port(
ctx, router['id'], net.network_id, router['tenant_id'])
registry.unsubscribe(jam_in_interface, resources.ROUTER,
@ -668,80 +667,6 @@ class L3HATestCase(L3HATestFramework):
self.admin_ctx, ports[0]['id'],
port)
def test_ensure_vr_id_and_network_net_exists(self):
router = self._create_router()
router_db = self.plugin._get_router(self.admin_ctx, router['id'])
with mock.patch.object(self.plugin, '_create_ha_network') as create:
self.plugin._ensure_vr_id_and_network(
self.admin_ctx, router_db)
self.assertFalse(create.called)
def test_ensure_vr_id_and_network_concurrent_create(self):
# create a non-ha router so we can manually invoke the create ha
# interfaces call down below
router = self._create_router(ha=False)
router_db = self.plugin._get_router(self.admin_ctx, router['id'])
orig_create = self.plugin._create_ha_network
created_nets = []
def _create_ha_network(*args, **kwargs):
# create the network and then raise the error to simulate another
# worker creating the network before us.
created_nets.append(orig_create(*args, **kwargs))
raise db_exc.DBDuplicateEntry(columns=['tenant_id'])
with mock.patch.object(self.plugin, '_create_ha_network',
new=_create_ha_network):
net = self.plugin._ensure_vr_id_and_network(
self.admin_ctx, router_db)
# ensure that it used the concurrently created network
self.assertEqual([net], created_nets)
def _test_ensure_with_patched_ensure_vr_id(self, _ensure_vr_id):
# create a non-ha router so we can manually invoke the create ha
# interfaces call down below
router = self._create_router(ha=False)
router_db = self.plugin._get_router(self.admin_ctx, router['id'])
with mock.patch.object(self.plugin, '_ensure_vr_id',
new=_ensure_vr_id):
self.plugin._ensure_vr_id_and_network(
self.admin_ctx, router_db)
self.assertTrue(_ensure_vr_id.called)
def test_ensure_vr_id_and_network_interface_failure(self):
def _ensure_vr_id(ctx, rdb, ha_net):
raise ValueError('broken')
with testtools.ExpectedException(ValueError):
self._test_ensure_with_patched_ensure_vr_id(_ensure_vr_id)
self.assertEqual([], self.core_plugin.get_networks(self.admin_ctx))
def test_ensure_vr_id_and_network_concurrent_delete(self):
orig_create = self.plugin._ensure_vr_id
def _ensure_vr_id(ctx, rdb, ha_net):
# concurrent delete on the first attempt
if not getattr(_ensure_vr_id, 'called', False):
setattr(_ensure_vr_id, 'called', True)
self.core_plugin.delete_network(self.admin_ctx,
ha_net['network_id'])
return orig_create(ctx, rdb, ha_net)
self._test_ensure_with_patched_ensure_vr_id(_ensure_vr_id)
def test_ensure_vr_id_and_network_concurrent_swap(self):
orig_create = self.plugin._ensure_vr_id
def _ensure_vr_id(ctx, rdb, ha_net):
# concurrent delete on the first attempt
if not getattr(_ensure_vr_id, 'called', False):
setattr(_ensure_vr_id, 'called', True)
self.core_plugin.delete_network(self.admin_ctx,
ha_net['network_id'])
self.plugin._create_ha_network(self.admin_ctx,
rdb.tenant_id)
return orig_create(ctx, rdb, ha_net)
self._test_ensure_with_patched_ensure_vr_id(_ensure_vr_id)
def test_create_ha_network_tenant_binding_raises_duplicate(self):
router = self._create_router()
network = self.plugin.get_ha_network(self.admin_ctx,