Handling non-existing pools in InfiniBox


The default behavior of our volume driver is to raise an exception during startup if the pool defined in the volume backend configuration does not exist within InfiniBox.

This means that the volume backend won't show up in the UI and provision volumes with it, and in our opinion, it is better than showing it and having volume-create fail (without showing the root cause).

In case there are still volumes in the Cinder database that were provisioned with the volume backend, you won't be able to delete or force-delete them since the backend is not running.

You can change the behaviour of the driver by added infinidat_allow_pool_not_found = true to the configuration; this will allow the driver to start even though the volume does not exist, so you could force-delete the volume from the Cinder APIs.

There's no option to set this parameter with infini-openstack (our command-line tool); this needs to be done manually by modifying the cinder configuration file (the default location is /etc/cinder/cinder.conf). Here's a sample diff when applying this change: 

 volume_driver = infinidat_openstack.cinder.InfiniboxVolumeDriver
 san_ip = box-demo
 infinidat_pool_id = 1
 san_login = admin
 san_password = 123456
 infinidat_provision_type = thin
 infinidat_prefer_fc = False
-infinidat_allow_pool_not_found = False
+infinidat_allow_pool_not_found = True
 infinidat_purge_volume_on_deletion = False

It doesn't matter if the value is True or true


Powered by Zendesk