nova/nova
Chris Dent ef6f4e4c8e Refactor WSGI apps and utils to limit imports
The file nova/api/openstack/__init__.py had imported a lot of
modules, notably nova.utils. This means that any code which
runs within that package, notably the placement service, imports
all those modules, even if it is not going to use them. This
results in scripts/binaries that are heavier than they need
to be and in some cases including modules, like eventlet, that
it would feel safe to not have in the stack.

Unfortunately we cannot sinply rename nova/api/openstack/__init__.py
to another name because it contains FaultWrapper and FaultWrapper
is referred to, by package path, from the paste.ini file and that
file is out there in config land, and something we prefer not to
change. Therefore alternate methods of cleaning up were explored
and this has led to some useful changes:

Fault wrapper is the only consumer of walk_class_hierarchy so
there is no reason for it it to be in nova.utils.

nova.wsgi contains a mismash of WSGI middleware and applications,
which need only a small number of imports, and Server classes
which are more complex and not required by the WSGI wares.

Therefore nova.wsgi was split into nova.wsgi and nova.api.wsgi.
The name choices may not be ideal, but they were chosen to limit
the cascades of changes that are needed across code and tests.

Where utils.utf8 was used it has been replaced with the similar (but not
exactly equivalient) method from oslo_utils.encodeutils.

Change-Id: I297f30aa6eb01fe3b53fd8c9b7853949be31156d
Partial-Bug: #1743120
2018-03-06 22:05:12 +00:00
..
CA
api Refactor WSGI apps and utils to limit imports 2018-03-06 22:05:12 +00:00
cells Add instance action record for snapshot instances 2017-12-11 17:46:38 +08:00
cmd Merge "Extending delete_cell --force to delete instance_mappings" 2018-02-22 20:47:17 +00:00
common
compute Merge "Handle spawning error on unshelving" 2018-02-27 17:52:29 +00:00
conductor Store block device mappings in cell0 2018-02-14 20:28:43 -05:00
conf Merge "libvirt: add Linux distribution guest only description for inject_xxx options" 2018-02-20 00:42:02 +00:00
console Fix accumulated nits 2018-01-16 14:54:04 +00:00
consoleauth Merge "Remove translation of log messages" 2017-08-10 11:39:03 +00:00
db Remove deprecated aggregate DB compatibility 2018-02-14 14:32:00 -08:00
hacking trivial: Rename 'policy_check' -> 'policy' 2017-10-25 17:56:40 +01:00
image Workaround glanceclient bug when CONF.glance.api_servers not set 2018-02-08 09:06:48 -05:00
ipv6
keymgr Remove deprecated keymgr code 2017-09-11 15:48:30 -04:00
locale Imported Translations from Zanata 2018-02-18 06:12:37 +00:00
network Fix grammar error 2018-02-09 17:01:59 +08:00
notifications Merge "Transform instance.resize_prep notification" 2018-01-27 01:36:42 +00:00
objects rp: GET /resource_providers?required=<traits> 2018-02-23 12:08:32 -06:00
pci trivial: Move __init__ function 2018-02-16 11:39:12 +00:00
policies trivial: Fix few policy doc 2018-02-01 03:04:00 +00:00
privsep Merge "Update plugs Contrail methods to work with privsep" 2018-02-21 22:38:34 +00:00
scheduler Make _get_sharing_providers more efficient 2018-02-26 14:08:23 +00:00
servicegroup iso8601.is8601.Utc No Longer Exists 2017-08-29 19:26:55 -04:00
tests Refactor WSGI apps and utils to limit imports 2018-03-06 22:05:12 +00:00
virt libvirt: mask InjectionInfo.admin_pass 2018-02-27 11:32:29 +00:00
vnc
volume Add the ability to get absolute limits from Cinder 2018-02-08 19:08:14 -05:00
__init__.py
availability_zones.py Avoid lazy-load error when getting instance AZ 2017-05-25 15:46:22 -04:00
baserpc.py
block_device.py Add uuid column to BlockDeviceMapping 2017-12-17 14:28:35 +00:00
cache_utils.py remove log translation tags from nova.cells 2017-04-10 14:48:07 +00:00
config.py
context.py Get auth from context for glance endpoint 2017-11-21 10:26:42 -06:00
crypto.py
debugger.py
exception.py Merge "Fix nits in support traits changes" 2018-02-01 21:25:45 +00:00
exception_wrapper.py rename binary to source in versioned notifications 2017-07-25 17:36:04 +02:00
filters.py
hooks.py
i18n.py correct referenced url in comments 2018-01-18 09:16:37 +08:00
loadables.py
manager.py
policy.py Add policy granularity to the Flavors API 2017-07-19 15:56:47 -04:00
profiler.py
quota.py Remove unnecessary variables 2018-02-08 10:15:53 +09:00
rpc.py Remove dead code of api.fault notification sending 2017-10-09 17:29:40 +02:00
safe_utils.py Allow wrapping of closures 2017-07-20 10:07:52 +01:00
service.py Refactor WSGI apps and utils to limit imports 2018-03-06 22:05:12 +00:00
service_auth.py Fix NoneType error when [service_user] is misconfigured 2017-11-28 12:22:30 -06:00
test.py Reset the _RC_CACHE between tests 2018-02-02 14:40:44 +00:00
utils.py Refactor WSGI apps and utils to limit imports 2018-03-06 22:05:12 +00:00
version.py
weights.py
wsgi.py Refactor WSGI apps and utils to limit imports 2018-03-06 22:05:12 +00:00