Skip to content

Commit

Permalink
feat(neutron): add no-op trunk driver for understack
Browse files Browse the repository at this point in the history
This adds an effectively no-op trunk driver for the understack mechanism
driver. This allows the trunk plugin to load and work with the
undercloud ML2 mechanism. No operations are being performed here so it's
just a stub.
  • Loading branch information
cardoe committed Jan 15, 2025
1 parent 44319e3 commit ad6a383
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@

from neutron_understack import config
from neutron_understack.nautobot import Nautobot
from neutron_understack.trunk import UnderStackTrunkDriver
from neutron_understack.undersync import Undersync

LOG = logging.getLogger(__name__)
Expand Down Expand Up @@ -110,6 +111,7 @@ def initialize(self):
conf = cfg.CONF.ml2_understack
self.nb = Nautobot(conf.nb_url, conf.nb_token)
self.undersync = Undersync(conf.undersync_token, conf.undersync_url)
self.trunk_driver = UnderStackTrunkDriver.create(self)

def create_network_precommit(self, context):
log_call("create_network_precommit", context)
Expand Down
28 changes: 28 additions & 0 deletions python/neutron-understack/neutron_understack/trunk.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
from neutron.services.trunk.drivers import base as trunk_base
from neutron_lib.api.definitions import portbindings
from neutron_lib.services.trunk import constants as trunk_consts
from oslo_config import cfg

SUPPORTED_INTERFACES = (portbindings.VIF_TYPE_OTHER,)

SUPPORTED_SEGMENTATION_TYPES = (trunk_consts.SEGMENTATION_TYPE_VLAN,)


class UnderStackTrunkDriver(trunk_base.DriverBase):
@property
def is_loaded(self):
try:
return "understack" in cfg.CONF.ml2.mechanism_drivers
except cfg.NoSuchOptError:
return False

@classmethod
def create(cls, plugin_driver):
cls.plugin_driver = plugin_driver
return cls(
"understack",
SUPPORTED_INTERFACES,
SUPPORTED_SEGMENTATION_TYPES,
None,
can_trunk_bound_port=True,
)

0 comments on commit ad6a383

Please sign in to comment.