From d1166474aba0083fd66879f20c1ea7a229d9809e Mon Sep 17 00:00:00 2001 From: Sean McGinnis <sean.mcginnis@gmail.com> Date: Mon, 16 Jan 2017 17:17:48 -0600 Subject: [PATCH] Prevent driver load failures from objects There's been an intermittent issue where getting a list of all drivers would fail to get all defined classes. With recent local tests, once it got 103 drivers, but several times it got 69 drivers. This appears to be from exceptions thrown while loading the decorated classes with various cinder.objects classes not being defined. To get around this, this adds an explicit load of all cinder.objects before attempting to get the driver classes. Change-Id: Ief4a93ec2d8256424166c7bf3b9d48a79a6e5e54 --- tools/generate_driver_list.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tools/generate_driver_list.py b/tools/generate_driver_list.py index 5f7d9aacd20..23811001737 100755 --- a/tools/generate_driver_list.py +++ b/tools/generate_driver_list.py @@ -18,6 +18,11 @@ import argparse import os from cinder.interface import util +from cinder import objects + + +# Object loading can cause issues loading drivers, force it up front +objects.register_all() parser = argparse.ArgumentParser(prog="generate_driver_list")