Compat is for compatibility; there are certain things that no longer
need help because they're consistent across all OpenStack versions we
support (really Queens+ at this point). Remove the compat.py code
that supports this and stop using compat in import lines.
Also removed some conditional importing that was happening outside of
the compatibility layer - which shouldn't happen, but did in odd
places.
Change-Id: I913b184713a85b05ff97dcc14c9459025cb0c0e5
GPE networks have a large pool of allocatable
Virtual Network Identifiers (VNIs) - 16+ Million. The prior
implementation stores each unallocated VNI in the specified
range, for allocation in the Neutron DB.
This patch optimizes VNI allocation in the DB, by dynamically
computing a valid VNI for allocation at network creation time,
thereby storing only the allocated VNIs in Neutron DB.
Mypy code added; couple of method signatures changes; removed
some hard work that previously generated a log about whether
a released segment was a tenant segment or not.
Also, provides GPE type driver support for the Train
release.
Closes-bug: #1817218
Change-Id: I5413c130103431ad031fc19a65b4f0aa85cf5c72
A type driver for use by the GPE network type. This type
driver will replace the vxlan network type with the gpe
type. The vxlan network type will no longer be supported by
this mechanism driver. To use this driver, set below options
in the ml2_conf.ini file.
[ml2]
tenant_network_types = gpe,vlan
type_drivers = gpe,vlan,flat
[ml2_vpp]
gpe_vni_ranges = <vni_min>:<vni_max>, <vni_min>:<vni_max>, ..
Closes-bug: #1808887
Change-Id: I41572afabb9945c2e9c944c2486439d8ab26930b
The utils module contained a number of originally general purpose
functions, but they ultimately ended up being all about etcd. The
exceptions were also exclusively about etcd and its config. The
two modules have been combined with etcdhelper and networking_vpp's
own exceptions module.
Change-Id: Ieaa574cf7b335c43062419845e9ebd96a38b4bdb