nova/nova
Lee Yarwood 684780ac0d libvirt: Load and cache volume drivers on-demand
This change completes a long standing TODO in the libvirt driver where
volume drivers had previously been loaded at startup. While quick this
can result in drivers being dropped from the resulting list on hosts
that don't support the underlying connector protocols as checked in
os-brick.

We should instead load and cache these drivers on-demand ensuring the
same instance is reused by repeat callers to _get_volume_driver.

An additional TODO is left in place to make this dict configurable in
the future, allowing drivers to be replaced by different volume driver
implementations. An example being the replacment of the os-brick `iscsi`
volume driver with a native `iscsi` QEMU driver.

Change-Id: If02a263055376442a116d00c18a1599b436f21d2
2021-01-21 17:04:44 +00:00
..
accelerator Remove six.text_type (1/2) 2020-12-13 11:25:31 +00:00
api Merge "Cyborg shelve/unshelve support" 2021-01-16 12:13:37 +00:00
cmd Merge "Add an online migration for PciDevice.uuid" 2021-01-17 14:30:57 +00:00
compute Merge "Make PCI claim NUMA aware during live migration" 2021-01-20 17:53:50 +00:00
conductor Cyborg shelve/unshelve support 2021-01-15 03:21:17 +00:00
conf Merge "libvirt: Remove support for '[libvirt] use_usb_tablet'" 2021-01-20 17:53:13 +00:00
console Remove six.text_type (1/2) 2020-12-13 11:25:31 +00:00
db Remove six.text_type (1/2) 2020-12-13 11:25:31 +00:00
hacking Add a hacking rule for assert_has_calls 2020-09-28 23:08:15 +09:00
image Remove six.text_type (1/2) 2020-12-13 11:25:31 +00:00
keymgr
locale Imported Translations from Zanata 2020-04-26 07:51:21 +00:00
network Merge "only wait for plugtime events in pre-live-migration" 2021-01-10 06:54:17 +00:00
notifications virt: Remove 'get_all_bw_counters' API 2020-11-24 15:29:21 +00:00
objects Merge "Add an online migration for PciDevice.uuid" 2021-01-17 14:30:57 +00:00
pci Merge "Ignore PCI devices with 32bit domain" 2020-12-23 13:26:43 +00:00
policies virt: Remove 'reset_network' API 2020-11-23 15:55:50 +00:00
privsep Remove six.text_type (1/2) 2020-12-13 11:25:31 +00:00
scheduler Remove dead code from SchedulerReportClient 2021-01-06 09:14:11 +01:00
servicegroup Remove six.binary_type/integer_types/string_types 2020-12-13 11:25:14 +00:00
storage Merge "rbd: Only log import failures when the RbdDriver is used" 2020-11-09 23:51:46 +00:00
tests libvirt: Load and cache volume drivers on-demand 2021-01-21 17:04:44 +00:00
virt libvirt: Load and cache volume drivers on-demand 2021-01-21 17:04:44 +00:00
volume Remove six.text_type (1/2) 2020-12-13 11:25:31 +00:00
__init__.py
availability_zones.py Remove six.PY2 and six.PY3 2020-08-15 07:45:23 +00:00
baserpc.py
block_device.py virt: Remove 'is_xenapi' helper 2020-09-11 14:09:06 +01:00
cache_utils.py trivial: Remove unused 'cache_utils' APIs 2020-02-05 17:20:28 +00:00
config.py Fix config option default value for sample config file 2020-11-25 00:05:08 +00:00
context.py Remove six.binary_type/integer_types/string_types 2020-12-13 11:25:14 +00:00
crypto.py crypto: Add support for creating, destroying vTPM secrets 2020-07-16 17:58:36 +01:00
debugger.py trivial: Remove remaining '_LW' instances 2020-05-18 17:00:41 +01:00
exception.py libvirt: Load and cache volume drivers on-demand 2021-01-21 17:04:44 +00:00
exception_wrapper.py Use 'Exception.__traceback__' for versioned notifications 2020-06-08 14:38:33 +01:00
filters.py trivial: Remove remaining '_LI' instances 2020-05-18 17:00:57 +01:00
i18n.py trivial: Remove remaining '_LI' instances 2020-05-18 17:00:57 +01:00
loadables.py trivial: Remove dead code 2019-12-12 10:55:02 +00:00
manager.py Remove six.add_metaclass 2020-08-15 07:45:39 +00:00
middleware.py
monkey_patch.py Correctly disable greendns 2020-09-11 12:42:04 -04:00
policy.py Reuse code from oslo lib for JSON policy migration 2021-01-14 22:41:33 +00:00
profiler.py
quota.py Make quotas respect instance_list_per_project_cells 2020-05-15 17:21:29 -04:00
rpc.py Remove six.text_type (1/2) 2020-12-13 11:25:31 +00:00
safe_utils.py
service.py Restore retrying the RPC connection to conductor 2020-11-13 18:02:00 +01:00
service_auth.py
test.py Remove six.binary_type/integer_types/string_types 2020-12-13 11:25:14 +00:00
utils.py Remove six.text_type (1/2) 2020-12-13 11:25:31 +00:00
version.py Remove six.moves 2020-11-07 03:25:02 +00:00
weights.py Remove six.add_metaclass 2020-08-15 07:45:39 +00:00
wsgi.py trivial: Remove remaining '_LI' instances 2020-05-18 17:00:57 +01:00