]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commit
ML2: Driver API changes for hierarchical port binding
authorRobert Kukura <kukura@noironetworks.com>
Mon, 11 Aug 2014 18:54:13 +0000 (14:54 -0400)
committerRobert Kukura <kukura@noironetworks.com>
Fri, 16 Jan 2015 00:46:05 +0000 (19:46 -0500)
commit4d143b710de22cd8c052c02fab7fdb5273ab4a93
tree8863dbea29227ad272063c0b59f0019154076890
parent4facef4d000e358672dbd504a6b105d33ad73941
ML2: Driver API changes for hierarchical port binding

The following ML2 driver API changes are required to support
hierarchical port binding:

* Add segments_to_bind PortContext property containing the list of
  network segments with which a mechanism driver should try to bind
  the port. All mechanism drivers that bind ports should now use this
  property in place of network.network_segments, which contains only
  the network's static segments.

* Replace several PortContext properties (bound_segment, bound_driver,
  original_bound_segment, original_bound_driver) with new properties
  (binding_levels, top_bound_segment, bottom_bound_segment,
  original_binding_levels, original_top_bound_segment,
  original_bottom_bound_segment) in order to represent hierarchical
  bindings.

* Add stubbed-out continue_binding() method to PortContext, allowing
  mechanism drivers to partially bind the port.

All existing drivers and unit tests are updated accordingly.

The DB schema changes and logic required for hierarchical port binding
will be implemented in dependent patches.

Gerrit Spec: https://review.openstack.org/#/c/139886/

Partially-implements: blueprint ml2-hierarchical-port-binding

Change-Id: Icb1a016f4661e427cb6cfa3452802ba5e64b7124
20 files changed:
neutron/plugins/ml2/driver_api.py
neutron/plugins/ml2/driver_context.py
neutron/plugins/ml2/drivers/cisco/apic/mechanism_apic.py
neutron/plugins/ml2/drivers/cisco/nexus/mech_cisco_nexus.py
neutron/plugins/ml2/drivers/freescale/mechanism_fslsdn.py
neutron/plugins/ml2/drivers/l2pop/mech_driver.py
neutron/plugins/ml2/drivers/mech_agent.py
neutron/plugins/ml2/drivers/mech_bigswitch/driver.py
neutron/plugins/ml2/drivers/mech_nuage/driver.py
neutron/plugins/ml2/drivers/mech_sriov/mech_driver.py
neutron/plugins/ml2/drivers/mechanism_odl.py
neutron/plugins/ml2/plugin.py
neutron/plugins/ml2/rpc.py
neutron/tests/unit/ml2/_test_mech_agent.py
neutron/tests/unit/ml2/drivers/cisco/apic/test_cisco_apic_mechanism_driver.py
neutron/tests/unit/ml2/drivers/cisco/nexus/test_cisco_mech.py
neutron/tests/unit/ml2/drivers/cisco/nexus/test_cisco_nexus.py
neutron/tests/unit/ml2/drivers/mechanism_logger.py
neutron/tests/unit/ml2/drivers/mechanism_test.py
neutron/tests/unit/ml2/test_rpcapi.py