neutron/neutron
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
..
agent Classes lack metaclass decoration 2016-05-05 13:31:15 -06:00
api Remove BGP code from neutron 2016-04-25 21:54:06 -07:00
callbacks Use exceptions from neutron-lib 2016-04-21 21:29:44 -04:00
cmd Remove BGP code from neutron 2016-04-25 21:54:06 -07:00
common Remove old fwaas remnants from neutron 2016-04-27 16:48:29 -05:00
core_extensions Objects DB api: added composite key to handle multiple primary key 2016-03-01 17:05:11 +00:00
db Merge "Use paginate_query from oslo_db" 2016-05-03 00:15:32 +00:00
debug Use constants from neutron-lib 2016-04-23 21:23:56 -04:00
extensions Classes lack metaclass decoration 2016-05-05 13:31:15 -06:00
hacking Revert "Switch to inheriting hacking checks from neutron-lib" 2016-04-24 15:19:20 +00:00
ipam Use converters and validators from neutron-lib 2016-04-24 19:13:10 -04:00
locale Imported Translations from Zanata 2016-04-18 06:57:03 +00:00
notifiers Use constants from neutron-lib 2016-04-23 21:23:56 -04:00
objects Use constants from neutron-lib 2016-04-23 21:23:56 -04:00
openstack Fix module's import order 2016-01-22 06:38:42 -08:00
pecan_wsgi Pecan: Fix Shim status codes 2016-04-29 13:18:14 -07:00
plugins Classes lack metaclass decoration 2016-05-05 13:31:15 -06:00
quota Use exceptions from neutron-lib 2016-04-21 21:29:44 -04:00
scheduler Classes lack metaclass decoration 2016-05-05 13:31:15 -06:00
server Moved CORS middleware configuration into oslo-config-generator 2016-03-01 12:21:33 -08:00
services Remove old fwaas remnants from neutron 2016-04-27 16:48:29 -05:00
tests Classes lack metaclass decoration 2016-05-05 13:31:15 -06:00
__init__.py Hacking rule to check i18n usage 2016-03-30 21:28:37 -04:00
_i18n.py Move i18n to _i18n, as per oslo_i18n guidelines 2015-12-01 19:29:10 -07:00
auth.py Consume ConfigurableMiddleware from oslo_middleware 2015-10-08 17:59:43 +00:00
context.py Define context.roles with base class 2016-04-06 11:47:13 -04:00
i18n.py Move i18n to _i18n, as per oslo_i18n guidelines 2015-12-01 19:29:10 -07:00
manager.py Pecan: replace dashes with underscores on controller lookup 2016-02-19 00:54:32 -08:00
neutron_plugin_base_v2.py Fix module's import order 2016-01-22 06:38:42 -08:00
opts.py Return oslo_config Opts to config generator 2016-03-15 10:08:14 +11:00
policy.py Use constants from neutron-lib 2016-04-23 21:23:56 -04:00
service.py Check if plugin supports starting rpc listeners 2016-03-01 15:43:44 -06:00
version.py
worker.py Some minor misspellings in comment block. 2015-11-24 00:01:21 -06:00
wsgi.py Use exceptions from neutron-lib 2016-04-21 21:29:44 -04:00