![]() 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 |
||
---|---|---|
.. | ||
__init__.py | ||
base_resource_filter.py | ||
base_scheduler.py | ||
dhcp_agent_scheduler.py | ||
l3_agent_scheduler.py |