diff options
author | Bence Romsics <bence.romsics@gmail.com> | 2022-12-28 15:58:17 +0100 |
---|---|---|
committer | Bence Romsics <bence.romsics@gmail.com> | 2023-05-09 11:49:17 +0200 |
commit | 0390ada97c01031e675caf43b5028bb311331865 (patch) | |
tree | e00d303bc1871a342d60487904029b5b832353e4 /neutron/plugins | |
parent | 0b954831060089588fb17367c0c1553d6b230d67 (diff) | |
download | neutron-0390ada97c01031e675caf43b5028bb311331865.tar.gz |
port-hints: api extension
api extension
db model
db migration
ovo (including changes affecting push rpc)
extension driver
policies
To enable this:
* neutron-db-manage upgrade 6f1145bff34c
* ml2_conf.ini:
[ml2]
extension_drivers += port_hints
This patch also bumps neutron-lib requirement to 3.5.0.
Change-Id: I80816618285d742775bc0534510c0f874f84ed2e
Partial-Bug: #1990842
Related-Change (spec): https://review.opendev.org/c/openstack/neutron-specs/+/862133
Related-Change (n-lib api-def): https://review.opendev.org/c/openstack/neutron-lib/+/870080
Diffstat (limited to 'neutron/plugins')
-rw-r--r-- | neutron/plugins/ml2/extensions/port_hints.py | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/neutron/plugins/ml2/extensions/port_hints.py b/neutron/plugins/ml2/extensions/port_hints.py new file mode 100644 index 0000000000..1e4ba654f4 --- /dev/null +++ b/neutron/plugins/ml2/extensions/port_hints.py @@ -0,0 +1,45 @@ +# Copyright 2023 Ericsson Software Technology +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +from neutron_lib.api.definitions import port_hints as phints_def +from neutron_lib.plugins.ml2 import api +from oslo_log import log as logging + +from neutron.db import port_hints_db + + +LOG = logging.getLogger(__name__) + + +class PortHintsExtensionDriver( + api.ExtensionDriver, port_hints_db.PortHintsMixin): + + _supported_extension_alias = phints_def.ALIAS + + def initialize(self): + LOG.info('PortHintsExtensionDriver initialization complete') + + @property + def extension_alias(self): + return self._supported_extension_alias + + def process_create_port(self, context, data, result): + self._process_create_port(context, data, result) + + def process_update_port(self, context, data, result): + if phints_def.HINTS in data: + self._process_update_port(context, data, result) + + def extend_port_dict(self, session, port_db, result): + self._extend_port_dict(port_db, result) |