[OVN] Delete duplicated OVN resource type constants

Trivial-Fix

Change-Id: If0de7235f6d00a3f034b5c9ef2a84d42cc86c517
This commit is contained in:
Rodolfo Alonso Hernandez
2024-11-01 21:27:13 +00:00
committed by Rodolfo Alonso
parent a298a37fe7
commit 9bd0b21a37
3 changed files with 32 additions and 60 deletions
+1 -11
View File
@@ -266,7 +266,7 @@ TYPE_FLOATINGIPS = 'floatingips'
TYPE_SUBNETS = 'subnets'
TYPE_ADDRESS_GROUPS = 'address_groups'
_TYPES_PRIORITY_ORDER = (
TYPES_PRIORITY_ORDER = (
TYPE_NETWORKS,
TYPE_SECURITY_GROUPS,
TYPE_SUBNETS,
@@ -281,16 +281,6 @@ DB_CONSISTENCY_CHECK_INTERVAL = 300 # 5 minutes
MAINTENANCE_TASK_RETRY_LIMIT = 100 # times
MAINTENANCE_ONE_RUN_TASK_SPACING = 5 # seconds
# The order in which the resources should be created or updated by the
# maintenance task: Root ones first and leafs at the end.
MAINTENANCE_CREATE_UPDATE_TYPE_ORDER = {
t: n for n, t in enumerate(_TYPES_PRIORITY_ORDER, 1)}
# The order in which the resources should be deleted by the maintenance
# task: Leaf ones first and roots at the end.
MAINTENANCE_DELETE_TYPE_ORDER = {
t: n for n, t in enumerate(reversed(_TYPES_PRIORITY_ORDER), 1)}
# The addresses field to set in the logical switch port which has a
# peer router port (connecting to the logical router).
DEFAULT_ADDR_FOR_LSP_WITH_PEER = 'router'
+7 -25
View File
@@ -24,7 +24,9 @@ from oslo_utils import timeutils
import sqlalchemy as sa
from sqlalchemy.orm import exc
from neutron.common.ovn import constants as ovn_const
from neutron.common.ovn import utils as ovn_utils
from neutron.db.models import address_group # noqa
from neutron.db.models import l3 # noqa
from neutron.db.models import ovn as ovn_models
from neutron.db.models import securitygroup # noqa
@@ -35,40 +37,19 @@ CONF = cfg.CONF
STD_ATTR_MAP = standard_attr.get_standard_attr_resource_model_map()
# NOTE(ralonsoh): to be moved to neutron-lib
TYPE_NETWORKS = 'networks'
TYPE_PORTS = 'ports'
TYPE_SECURITY_GROUP_RULES = 'security_group_rules'
TYPE_ROUTERS = 'routers'
TYPE_ROUTER_PORTS = 'router_ports'
TYPE_SECURITY_GROUPS = 'security_groups'
TYPE_FLOATINGIPS = 'floatingips'
TYPE_SUBNETS = 'subnets'
TYPE_ADDRESS_GROUPS = 'address_groups'
_TYPES_PRIORITY_ORDER = (
TYPE_NETWORKS,
TYPE_SECURITY_GROUPS,
TYPE_SUBNETS,
TYPE_ROUTERS,
TYPE_PORTS,
TYPE_ROUTER_PORTS,
TYPE_FLOATINGIPS,
TYPE_ADDRESS_GROUPS,
TYPE_SECURITY_GROUP_RULES)
# The order in which the resources should be created or updated by the
# maintenance task: Root ones first and leafs at the end.
MAINTENANCE_CREATE_UPDATE_TYPE_ORDER = [
(ovn_models.OVNRevisionNumbers.resource_type == resource_type, idx)
for idx, resource_type in enumerate(_TYPES_PRIORITY_ORDER, 1)
for idx, resource_type in enumerate(ovn_const.TYPES_PRIORITY_ORDER, 1)
]
# The order in which the resources should be deleted by the maintenance
# task: Leaf ones first and roots at the end.
MAINTENANCE_DELETE_TYPE_ORDER = [
(ovn_models.OVNRevisionNumbers.resource_type == resource_type, idx)
for idx, resource_type in enumerate(reversed(_TYPES_PRIORITY_ORDER), 1)
for idx, resource_type in
enumerate(reversed(ovn_const.TYPES_PRIORITY_ORDER), 1)
]
INITIAL_REV_NUM = -1
@@ -81,7 +62,8 @@ INCONSISTENCIES_OLDER_THAN = 60
# 1:2 mapping for OVN, neutron router ports are simple ports, but
# for OVN we handle LSP & LRP objects
if STD_ATTR_MAP:
STD_ATTR_MAP[TYPE_ROUTER_PORTS] = STD_ATTR_MAP[TYPE_PORTS]
STD_ATTR_MAP[ovn_const.TYPE_ROUTER_PORTS] = (
STD_ATTR_MAP[ovn_const.TYPE_PORTS])
# NOTE(ralonsoh): to be moved to neutron-lib
@@ -64,21 +64,21 @@ class TestRevisionNumber(test_db_base_plugin_v2.NeutronDbPluginV2TestCase):
def test_bump_revision(self):
with db_api.CONTEXT_WRITER.using(self.ctx):
self._create_initial_revision(self.net['id'],
ovn_rn_db.TYPE_NETWORKS)
ovn_const.TYPE_NETWORKS)
self.net['revision_number'] = 123
ovn_rn_db.bump_revision(self.ctx, self.net,
ovn_rn_db.TYPE_NETWORKS)
ovn_const.TYPE_NETWORKS)
row = ovn_rn_db.get_revision_row(self.ctx, self.net['id'])
self.assertEqual(123, row.revision_number)
def test_bump_older_revision(self):
with db_api.CONTEXT_WRITER.using(self.ctx):
self._create_initial_revision(
self.net['id'], ovn_rn_db.TYPE_NETWORKS,
self.net['id'], ovn_const.TYPE_NETWORKS,
revision_number=124)
self.net['revision_number'] = 1
ovn_rn_db.bump_revision(self.ctx, self.net,
ovn_rn_db.TYPE_NETWORKS)
ovn_const.TYPE_NETWORKS)
row = ovn_rn_db.get_revision_row(self.ctx, self.net['id'])
self.assertEqual(124, row.revision_number)
@@ -87,7 +87,7 @@ class TestRevisionNumber(test_db_base_plugin_v2.NeutronDbPluginV2TestCase):
with db_api.CONTEXT_WRITER.using(self.ctx):
self.net['revision_number'] = 123
ovn_rn_db.bump_revision(self.ctx, self.net,
ovn_rn_db.TYPE_NETWORKS)
ovn_const.TYPE_NETWORKS)
# Assert the revision number wasn't bumped
row = ovn_rn_db.get_revision_row(self.ctx, self.net['id'])
self.assertEqual(123, row.revision_number)
@@ -97,16 +97,16 @@ class TestRevisionNumber(test_db_base_plugin_v2.NeutronDbPluginV2TestCase):
def test_delete_revision(self):
with db_api.CONTEXT_WRITER.using(self.ctx):
self._create_initial_revision(self.net['id'],
ovn_rn_db.TYPE_NETWORKS)
ovn_const.TYPE_NETWORKS)
ovn_rn_db.delete_revision(self.ctx, self.net['id'],
ovn_rn_db.TYPE_NETWORKS)
ovn_const.TYPE_NETWORKS)
row = ovn_rn_db.get_revision_row(self.ctx, self.net['id'])
self.assertIsNone(row)
def test_create_initial_revision_may_exist_duplicated_entry(self):
try:
with db_api.CONTEXT_WRITER.using(self.ctx):
args = (self.net['id'], ovn_rn_db.TYPE_NETWORKS)
args = (self.net['id'], ovn_const.TYPE_NETWORKS)
self._create_initial_revision(*args)
# DBDuplicateEntry is raised when may_exist is False (default)
self._create_initial_revision(*args)
@@ -116,7 +116,7 @@ class TestRevisionNumber(test_db_base_plugin_v2.NeutronDbPluginV2TestCase):
"should have raised a DBDuplicateEntry exception")
with db_api.CONTEXT_WRITER.using(self.ctx):
args = (self.net['id'], ovn_rn_db.TYPE_NETWORKS)
args = (self.net['id'], ovn_const.TYPE_NETWORKS)
self._create_initial_revision(*args)
try:
self._create_initial_revision(*args, may_exist=True)
@@ -210,7 +210,7 @@ class TestRevisionNumberMaintenance(test_securitygroup.SecurityGroupsTestCase,
def test_get_inconsistent_resources(self):
# Set the intial revision to -1 to force it to be incosistent
self._create_initial_revision(
self.net['id'], ovn_rn_db.TYPE_NETWORKS, revision_number=-1)
self.net['id'], ovn_const.TYPE_NETWORKS, revision_number=-1)
res = ovn_rn_db.get_inconsistent_resources(self.ctx)
self.assertEqual(1, len(res))
self.assertEqual(self.net['id'], res[0].resource_uuid)
@@ -220,7 +220,7 @@ class TestRevisionNumberMaintenance(test_securitygroup.SecurityGroupsTestCase,
# it's default value
self.older_than_mock.stop()
self._create_initial_revision(
self.net['id'], ovn_rn_db.TYPE_NETWORKS, revision_number=-1)
self.net['id'], ovn_const.TYPE_NETWORKS, revision_number=-1)
res = ovn_rn_db.get_inconsistent_resources(self.ctx)
# Assert that nothing is returned because the entry is not old
@@ -238,14 +238,14 @@ class TestRevisionNumberMaintenance(test_securitygroup.SecurityGroupsTestCase,
# Set the initial revision to 0 which is the initial revision_number
# for recently created resources
self._create_initial_revision(
self.net['id'], ovn_rn_db.TYPE_NETWORKS, revision_number=0)
self.net['id'], ovn_const.TYPE_NETWORKS, revision_number=0)
res = ovn_rn_db.get_inconsistent_resources(self.ctx)
# Assert nothing is inconsistent
self.assertEqual([], res)
def test_get_deleted_resources(self):
self._create_initial_revision(
self.net['id'], ovn_rn_db.TYPE_NETWORKS, revision_number=0)
self.net['id'], ovn_const.TYPE_NETWORKS, revision_number=0)
self._delete('networks', self.net['id'])
res = ovn_rn_db.get_deleted_resources(self.ctx)
self.assertEqual(1, len(res))
@@ -270,16 +270,16 @@ class TestRevisionNumberMaintenance(test_securitygroup.SecurityGroupsTestCase,
self.fmt, self._create_address_group(
**{'name': 'ag1'}))['address_group']
self._create_initial_revision(router['id'], ovn_rn_db.TYPE_ROUTERS)
self._create_initial_revision(subnet['id'], ovn_rn_db.TYPE_SUBNETS)
self._create_initial_revision(fip['id'], ovn_rn_db.TYPE_FLOATINGIPS)
self._create_initial_revision(port['id'], ovn_rn_db.TYPE_PORTS)
self._create_initial_revision(port['id'], ovn_rn_db.TYPE_ROUTER_PORTS)
self._create_initial_revision(sg['id'], ovn_rn_db.TYPE_SECURITY_GROUPS)
self._create_initial_revision(router['id'], ovn_const.TYPE_ROUTERS)
self._create_initial_revision(subnet['id'], ovn_const.TYPE_SUBNETS)
self._create_initial_revision(fip['id'], ovn_const.TYPE_FLOATINGIPS)
self._create_initial_revision(port['id'], ovn_const.TYPE_PORTS)
self._create_initial_revision(port['id'], ovn_const.TYPE_ROUTER_PORTS)
self._create_initial_revision(sg['id'], ovn_const.TYPE_SECURITY_GROUPS)
self._create_initial_revision(sg_rule['id'],
ovn_rn_db.TYPE_SECURITY_GROUP_RULES)
self._create_initial_revision(self.net['id'], ovn_rn_db.TYPE_NETWORKS)
self._create_initial_revision(ag['id'], ovn_rn_db.TYPE_ADDRESS_GROUPS)
ovn_const.TYPE_SECURITY_GROUP_RULES)
self._create_initial_revision(self.net['id'], ovn_const.TYPE_NETWORKS)
self._create_initial_revision(ag['id'], ovn_const.TYPE_ADDRESS_GROUPS)
if delete:
self._delete('security-group-rules', sg_rule['id'])
@@ -295,11 +295,11 @@ class TestRevisionNumberMaintenance(test_securitygroup.SecurityGroupsTestCase,
self._prepare_resources_for_ordering_test()
res = ovn_rn_db.get_inconsistent_resources(self.ctx)
actual_order = tuple(r.resource_type for r in res)
self.assertEqual(ovn_rn_db._TYPES_PRIORITY_ORDER, actual_order)
self.assertEqual(ovn_const.TYPES_PRIORITY_ORDER, actual_order)
def test_get_deleted_resources_order(self):
self._prepare_resources_for_ordering_test(delete=True)
res = ovn_rn_db.get_deleted_resources(self.ctx)
actual_order = tuple(r.resource_type for r in res)
self.assertEqual(tuple(reversed(ovn_rn_db._TYPES_PRIORITY_ORDER)),
self.assertEqual(tuple(reversed(ovn_const.TYPES_PRIORITY_ORDER)),
actual_order)