neutron/neutron/ipam
John Davidge de3a3cda74 IP allocation with Service Subnets
This changes the way that IPAM decides which subnets to use when
assigning IPs to newly created ports. If the port has a defined
device_owner, this is used to filter available subnets to choose
from only those with a matching service_type or no service_type
at all.

If the given network has no service subnets, then the existing
behaviour is used.

A new IPAM exception is introduced to handle the following scenarios:
1. A port is created with a device_owner and only non-matching service
   subnets exist.
2. A port is created without a device owner, and no subnets exist
   without a service_type.

With this patch, service subnets are now usable.

Implements: blueprint service-subnets
APIImpact: subnet-create and subnet-update with service_types
DocImpact: IPs assigned to new ports will now come from a service subnet
matching the port device_owner, if one exists.

Closes-Bug: 1544768
Change-Id: If3dd94a46bdee24c13d1f17c4f2e69af0cb8af63
2016-08-24 20:03:22 +01:00
..
drivers Avoid IPAM driver reusing a session that has been rolled back 2016-08-12 15:53:57 +00:00
__init__.py Make IPAM more pythonic 2015-07-09 17:33:17 +00:00
driver.py Avoid IPAM driver reusing a session that has been rolled back 2016-08-12 15:53:57 +00:00
exceptions.py IP allocation with Service Subnets 2016-08-24 20:03:22 +01:00
requests.py Use next available address for dhcp ports 2016-06-09 02:16:01 -07:00
subnet_alloc.py Enable IPAM drivers to allocate from more than one subnet 2016-05-10 22:00:46 +00:00
utils.py Use constants from neutron-lib 2016-04-23 21:23:56 -04:00