neutron/neutron/plugins
John Perkins 972cdef50c Classes lack metaclass decoration
Add decorations where required.

There are roughly a dozen classes in Neutron that define abstract
methods or properties but are not decorated with
@six.add_metaclass(abc.ABCMeta). Without this decoration, children
can be created without defining the required methods or properties.

Decorating RBACColumns in db/rbac_db_models.py causes failures and will
be reported separately.

Decorating unit tests is of dubious benifit and should be addressed
separately (if at all).

There are also several more places where metaclassing isn't correct, to
be taken care of in follow-on patches.

For example, BaseScheduler is using the fact the None doesn't have a
filter_agents() method, which gives developers confusing error messages
when they incorrectly implement the interface, and they won't see any
error until schedule() is called. As an aside, the docstring for this
base class is also incorrect.

Change-Id: I2b2cce37d9b0d40559a715a7d510a969b8ba9963
Closes-Bug: #1577648
2016-05-05 13:31:15 -06:00
..
common Use constants from neutron-lib 2016-04-23 21:23:56 -04:00
hyperv Using LOG.warning replace LOG.warn 2016-03-10 11:02:45 -08:00
ml2 Classes lack metaclass decoration 2016-05-05 13:31:15 -06:00
__init__.py Finish off rebranding of the Nicira NVP plugin 2014-03-01 18:14:52 -08:00