summaryrefslogtreecommitdiff
path: root/neutron/plugins
diff options
context:
space:
mode:
authorBence Romsics <bence.romsics@gmail.com>2022-12-28 15:58:17 +0100
committerBence Romsics <bence.romsics@gmail.com>2023-05-09 11:49:17 +0200
commit0390ada97c01031e675caf43b5028bb311331865 (patch)
treee00d303bc1871a342d60487904029b5b832353e4 /neutron/plugins
parent0b954831060089588fb17367c0c1553d6b230d67 (diff)
downloadneutron-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.py45
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)