]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commit
Do not attempt vg.update on uninitialized vg
authorJohn Griffith <john.griffith@solidfire.com>
Fri, 6 Sep 2013 19:55:39 +0000 (13:55 -0600)
committerJohn Griffith <john.griffith@solidfire.com>
Sun, 8 Sep 2013 21:28:10 +0000 (15:28 -0600)
commitd552220a83052daabe19682b531bc6b8e685a834
tree6b2c70cbf9ed0a7600b84b8ddbe8f899fd10eae0
parent24cbfb3539c91764f92baa801f7ae1f82dc221d4
Do not attempt vg.update on uninitialized vg

It's possible for the scheduler to send the periodic
stats update request *before* the volume service/driver
has finished initializing, resulting in an exception trace
being logged.

This change adds a check to verify that the vg is actually
initialized (completed check_for_setup_error) and it also
removes all of the duplication of each LVM class driver.

To deal with other drivers that may have similar issues,
add initialized member to base driver, that member is
set False on __init__ and is updated by the manager
after running check_for_setup_error.  We also skip
update_stats if initialization isn't set True.

Rather than have a separate copy of update_stats in every
driver, we have one in the base LVM class and we set the two
unique variables as member parameters.

Fixes bug 1221874

Change-Id: I159e98a77782b8b2c85a8dd956b150828358fd25
cinder/volume/driver.py
cinder/volume/drivers/lvm.py
cinder/volume/manager.py