Merge "Check unspecified flavor in user defined driver"

This commit is contained in:
Zuul 2024-03-26 16:14:25 +00:00 committed by Gerrit Code Review
commit 73d647a7dd
2 changed files with 11 additions and 1 deletions

View File

@ -16,6 +16,7 @@
from neutron_lib.callbacks import events
from neutron_lib.callbacks import registry
from neutron_lib.callbacks import resources
from neutron_lib import constants as const
from neutron_lib.plugins import constants as plugin_constants
from neutron_lib.plugins import directory
from oslo_log import log as logging
@ -44,7 +45,7 @@ class UserDefined(base.L3ServiceProvider):
def _is_user_defined_provider(self, context, router):
flavor_id = router.get('flavor_id')
if flavor_id is None:
if flavor_id is None or flavor_id is const.ATTR_NOT_SPECIFIED:
return False
flavor = self._flavor_plugin.get_flavor(context, flavor_id)
provider = self._flavor_plugin.get_flavor_next_provider(

View File

@ -14,6 +14,7 @@
from unittest import mock
from neutron_lib.callbacks import events
from neutron_lib import constants as const
from neutron.db.models import l3
@ -56,6 +57,14 @@ class TestUserDefined(testlib_api.SqlTestCase):
self.assertFalse(self.provider._is_user_defined_provider(
self.context, self.router))
# test flavor_id request not specified
self.router.flavor_id = None
self.assertFalse(self.provider._is_user_defined_provider(
self.context, self.router))
self.router.flavor_id = const.ATTR_NOT_SPECIFIED
self.assertFalse(self.provider._is_user_defined_provider(
self.context, self.router))
def test_router_processing(self):
with mock.patch.object(user_defined.LOG, 'debug') as log:
payload = events.DBEventPayload(