diff --git a/cinder/tests/unit/volume/drivers/emc/scaleio/test_misc.py b/cinder/tests/unit/volume/drivers/emc/scaleio/test_misc.py index eea2c2da08d..e7e20a47470 100644 --- a/cinder/tests/unit/volume/drivers/emc/scaleio/test_misc.py +++ b/cinder/tests/unit/volume/drivers/emc/scaleio/test_misc.py @@ -84,6 +84,12 @@ class TestMisc(scaleio.TestScaleIODriver): self.assertRaises(exception.InvalidInput, self.driver.check_for_setup_error) + def test_no_storage_pools(self): + """No storage pools.""" + self.driver.storage_pools = None + self.assertRaises(exception.InvalidInput, + self.driver.check_for_setup_error) + def test_volume_size_round_true(self): self.driver._check_volume_size(1) diff --git a/cinder/volume/drivers/emc/scaleio.py b/cinder/volume/drivers/emc/scaleio.py index 27a572e8939..c74d3951e53 100644 --- a/cinder/volume/drivers/emc/scaleio.py +++ b/cinder/volume/drivers/emc/scaleio.py @@ -122,8 +122,13 @@ class ScaleIODriver(driver.VolumeDriver): 'user': self.server_username, 'verify_cert': self.verify_server_certificate}) - self.storage_pools = [e.strip() for e in - self.configuration.sio_storage_pools.split(',')] + self.storage_pools = None + if self.configuration.sio_storage_pools: + self.storage_pools = [ + e.strip() for e in + self.configuration.sio_storage_pools.split(',') + ] + self.storage_pool_name = self.configuration.sio_storage_pool_name self.storage_pool_id = self.configuration.sio_storage_pool_id if self.storage_pool_name is None and self.storage_pool_id is None: @@ -205,6 +210,12 @@ class ScaleIODriver(driver.VolumeDriver): msg = _("Must specify storage pool name or id.") raise exception.InvalidInput(reason=msg) + if not self.storage_pools: + msg = _( + "Must specify storage pools. Option: sio_storage_pools." + ) + raise exception.InvalidInput(reason=msg) + def _find_storage_pool_id_from_storage_type(self, storage_type): # Default to what was configured in configuration file if not defined. return storage_type.get(STORAGE_POOL_ID,