d77da01dcb
Based on the openstack networking-sfc project API: - Introducing an SFC driver that maps the SFC model (port pairs, port pair groups, port chains) to the AIM Service Graph model; - Introducing a FlowClassifier driver that maps the FLOWC model (flow classifier) to the AIM Service Graph model; - Adding some registry notifications to the AIM MD and the FLOWC driver for business logic validation. Current divergence/limitations from the upstream SFC API: - Added 2 l7_parameters to the flow classifier API, source_logica_network and destination_logical_network. Representing the networks involved in the traffic redirection mechanism; - Every valid flow classifier must include the l7_parameters as mentioned above. Internal networks and SVI networks are valid values, but --external networks are excluded; When SVI networks are specified, the corresponding source/destination IP prefix must be specified in the API; - Any other FlowClassifier parameter other than the ones mentioned above will be ignored; - On port binding, the chain will fix itself; - Trunk ports are supported on port-pairs; - On PPGs, all the Port Pairs must be in the same network pair; - Ports in Port Pairs must have a univocally retrievable APIC Domain; - Ports in Port Pairs can't be in the same network; - Flowc src/dst networks must be distinct; - Flowc can't be updated if in use by a chain; - Networks partecipating a port chain must be in the same VRF; - Src and Dst networks in a chain must be in the same tenant (temporarily); - Port Pair's ports' network can't be external or SVI; - Port Pair's ports' networks can't be re-used in the same PPG. Change-Id: If40595584ef46f1ac2aa0cf7525e16447f491f48
69 lines
2.4 KiB
Python
69 lines
2.4 KiB
Python
# 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.
|
|
|
|
# This module must import all modules from the GBP repo that define
|
|
# SQLAlchemy database models using Neutron's
|
|
# neutron_lib.db.model_base.BASEV2 base class. It also must itself be
|
|
# imported, directly or indirectly, by every test module for which
|
|
# Neutron's neutron.tests.unit.testlib_api.SqlFixture, or any derived
|
|
# class, manages the creation of the DB schema prior to running tests
|
|
# and the clearing of DB tables between tests.
|
|
|
|
from gbpservice.neutron.db.grouppolicy.extensions import ( # noqa
|
|
apic_allowed_vm_name_db,
|
|
apic_auto_ptg_db,
|
|
apic_intra_ptg_db,
|
|
apic_reuse_bd_db,
|
|
apic_segmentation_label_db,
|
|
group_proxy_db
|
|
)
|
|
from gbpservice.neutron.db.grouppolicy import ( # noqa
|
|
group_policy_db,
|
|
group_policy_mapping_db
|
|
)
|
|
from gbpservice.neutron.db import ( # noqa
|
|
implicitsubnetpool_db,
|
|
servicechain_db
|
|
)
|
|
from gbpservice.neutron.plugins.ml2plus.drivers.apic_aim import ( # noqa
|
|
data_migrations,
|
|
db,
|
|
extension_db
|
|
)
|
|
from gbpservice.neutron.services.grouppolicy.drivers import ( # noqa
|
|
chain_mapping,
|
|
implicit_policy,
|
|
nsp_manager,
|
|
resource_mapping
|
|
)
|
|
from gbpservice.neutron.services.grouppolicy.drivers.cisco.apic import ( # noqa
|
|
port_ha_ipaddress_binding
|
|
)
|
|
from gbpservice.neutron.services.servicechain.plugins.ncp import ( # noqa
|
|
model
|
|
)
|
|
from gbpservice.neutron.services.servicechain.plugins.ncp.node_drivers import ( # noqa
|
|
heat_node_driver,
|
|
nfp_node_driver
|
|
)
|
|
from gbpservice.neutron.tests.unit.plugins.ml2plus.drivers import ( # noqa
|
|
extension_test
|
|
)
|
|
from gbpservice.neutron.tests.unit.services.grouppolicy.drivers import ( # noqa
|
|
extension_test
|
|
)
|
|
from networking_sfc.db import flowclassifier_db # noqa
|
|
from networking_sfc.db import sfc_db # noqa
|
|
|
|
# Note that the models in gbpservice.nfp.orchestrator.db.nfp_db_model
|
|
# are managed by a separate fixture, so are not imported here.
|