In earlier Red Hat OpenStack Platform versions, when you deployed the Block Storage service (cinder) on a NetApp back end server, director warned you that deprecated parameters were specified.
In RHOSP 15, these deprecated director parameters have been updated to align with the latest NetApp driver settings. A new parameter, CinderNetappPoolNameSearchPattern, replaces, CinderNetappStoragePools. The deprecated parameter, CinderNetappEseriesHostType, has been removed.
Description of problem:
cinder-netapp-config.yaml provides parameter for CinderNetappStoragePools / cinder::backend::netapp::netapp_storage_pools which has been deprecated in favor of netapp_pool_name_search_pattern:
warning('The "netapp_storage_pools" parameter is deprecated. Use "netapp_pool_name_search_pattern" instead.')
Additionally it sets netapp_pool_name_search_pattern = '(.+)' by default in the openstack-puppet module, which is not escaped properly, resulting in an invalid search pattern of "()" in cinder.conf. This causes driver initialization to fail
Version-Release number of selected component (if applicable):
openstack-tripleo-heat-templates-7.0.9-8.el7ost.noarch.rpm
How reproducible:
Every time
Steps to Reproduce:
Deploy a clustered netapp backend with the provided cinder-netapp-config.yaml
Actual results:
Deployment generates error.
warning('The "netapp_storage_pools" parameter is deprecated. Use "netapp_pool_name_search_pattern" instead.')
Expected results:
Additional info:
Additionally it sets netapp_pool_name_search_pattern = '(.+)' by default in the openstack-puppet module, which is not escaped properly, resulting in an invalid search pattern of "()" in cinder.conf. This causes driver initialization to fail:
2018-06-23 03:41:24.980 57 DEBUG cinder.volume.drivers.netapp.dataontap.block_cmode [req-67a71ecd-6539-460d-b750-094189b1c91b - - - - -] Volume 'Pool1_iSCSI' does not match ^()$ _get_flexvol_to_pool_map /usr/lib/python2.7/site-packages/cinder/volume/drivers/netapp/dataontap/block_cmode.py:373
2018-06-23 03:41:24.980 57 DEBUG cinder.volume.drivers.netapp.dataontap.block_cmode [req-67a71ecd-6539-460d-b750-094189b1c91b - - - - -] Volume 'Pool2_iSCSI' does not match ^()$ _get_flexvol_to_pool_map /usr/lib/python2.7/site-packages/cinder/volume/drivers/netapp/dataontap/block_cmode.py:373
2018-06-23 03:41:24.981 57 DEBUG cinder.volume.drivers.netapp.dataontap.block_cmode [req-67a71ecd-6539-460d-b750-094189b1c91b - - - - -] Volume 'Pool3_Glance' does not match ^()$ _get_flexvol_to_pool_map /usr/lib/python2.7/site-packages/cinder/volume/drivers/netapp/dataontap/block_cmode.py:373
2018-06-23 03:41:24.981 57 ERROR cinder.volume.manager [req-67a71ecd-6539-460d-b750-094189b1c91b - - - - -] Failed to initialize driver.: NetAppDriverException: No pools are available for provisioning volumes. Ensure that the configuration option netapp_pool_name_search_pattern is set correctly.
2018-06-23 03:41:24.981 57 ERROR cinder.volume.manager Traceback (most recent call last):
2018-06-23 03:41:24.981 57 ERROR cinder.volume.manager File "/usr/lib/python2.7/site-packages/cinder/volume/manager.py", line 457, in init_host
2018-06-23 03:41:24.981 57 ERROR cinder.volume.manager self.driver.check_for_setup_error()
2018-06-23 03:41:24.981 57 ERROR cinder.volume.manager File "/usr/lib/python2.7/site-packages/cinder/volume/drivers/netapp/dataontap/iscsi_cmode.py", line 44, in check_for_setup_error
2018-06-23 03:41:24.981 57 ERROR cinder.volume.manager self.library.check_for_setup_error()
2018-06-23 03:41:24.981 57 ERROR cinder.volume.manager File "/usr/lib/python2.7/site-packages/cinder/utils.py", line 849, in trace_method_logging_wrapper
2018-06-23 03:41:24.981 57 ERROR cinder.volume.manager return f(*args, **kwargs)
2018-06-23 03:41:24.981 57 ERROR cinder.volume.manager File "/usr/lib/python2.7/site-packages/cinder/utils.py", line 849, in trace_method_logging_wrapper
2018-06-23 03:41:24.981 57 ERROR cinder.volume.manager return f(*args, **kwargs)
2018-06-23 03:41:24.981 57 ERROR cinder.volume.manager File "/usr/lib/python2.7/site-packages/cinder/volume/drivers/netapp/dataontap/block_cmode.py", line 109, in check_for_setup_error
2018-06-23 03:41:24.981 57 ERROR cinder.volume.manager raise exception.NetAppDriverException(msg)
2018-06-23 03:41:24.981 57 ERROR cinder.volume.manager NetAppDriverException: No pools are available for provisioning volumes. Ensure that the configuration option netapp_pool_name_search_pattern is set correctly.
Verified on:
openstack-tripleo-heat-templates-10.5.1-0.20190509160423.4dac4dc.el8ost.noarch
Installed with netapp iscsi using
openstack-tripleo-heat-templates-10.5.1-0.20190509160423.4dac4dc.el8ost.noarch
netapp backend is configured and running
| cinder-volume | hostgroup@tripleo_netapp | nova | enabled | up | 2019-05-23T12:27:09.000000 | - |
[tripleo_netapp]
backend_host=hostgroup
nfs_mount_options=
volume_backend_name=tripleo_netapp
volume_driver=cinder.volume.drivers.netapp.common.NetAppDriver
...
..
netapp_pool_name_search_pattern=(.+) <-looks good
Also old params are gone
CinderNetappStoragePools
CinderNetappEseriesHostType
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.
https://access.redhat.com/errata/RHEA-2019:2811
Description of problem: cinder-netapp-config.yaml provides parameter for CinderNetappStoragePools / cinder::backend::netapp::netapp_storage_pools which has been deprecated in favor of netapp_pool_name_search_pattern: warning('The "netapp_storage_pools" parameter is deprecated. Use "netapp_pool_name_search_pattern" instead.') Additionally it sets netapp_pool_name_search_pattern = '(.+)' by default in the openstack-puppet module, which is not escaped properly, resulting in an invalid search pattern of "()" in cinder.conf. This causes driver initialization to fail Version-Release number of selected component (if applicable): openstack-tripleo-heat-templates-7.0.9-8.el7ost.noarch.rpm How reproducible: Every time Steps to Reproduce: Deploy a clustered netapp backend with the provided cinder-netapp-config.yaml Actual results: Deployment generates error. warning('The "netapp_storage_pools" parameter is deprecated. Use "netapp_pool_name_search_pattern" instead.') Expected results: Additional info: Additionally it sets netapp_pool_name_search_pattern = '(.+)' by default in the openstack-puppet module, which is not escaped properly, resulting in an invalid search pattern of "()" in cinder.conf. This causes driver initialization to fail: 2018-06-23 03:41:24.980 57 DEBUG cinder.volume.drivers.netapp.dataontap.block_cmode [req-67a71ecd-6539-460d-b750-094189b1c91b - - - - -] Volume 'Pool1_iSCSI' does not match ^()$ _get_flexvol_to_pool_map /usr/lib/python2.7/site-packages/cinder/volume/drivers/netapp/dataontap/block_cmode.py:373 2018-06-23 03:41:24.980 57 DEBUG cinder.volume.drivers.netapp.dataontap.block_cmode [req-67a71ecd-6539-460d-b750-094189b1c91b - - - - -] Volume 'Pool2_iSCSI' does not match ^()$ _get_flexvol_to_pool_map /usr/lib/python2.7/site-packages/cinder/volume/drivers/netapp/dataontap/block_cmode.py:373 2018-06-23 03:41:24.981 57 DEBUG cinder.volume.drivers.netapp.dataontap.block_cmode [req-67a71ecd-6539-460d-b750-094189b1c91b - - - - -] Volume 'Pool3_Glance' does not match ^()$ _get_flexvol_to_pool_map /usr/lib/python2.7/site-packages/cinder/volume/drivers/netapp/dataontap/block_cmode.py:373 2018-06-23 03:41:24.981 57 ERROR cinder.volume.manager [req-67a71ecd-6539-460d-b750-094189b1c91b - - - - -] Failed to initialize driver.: NetAppDriverException: No pools are available for provisioning volumes. Ensure that the configuration option netapp_pool_name_search_pattern is set correctly. 2018-06-23 03:41:24.981 57 ERROR cinder.volume.manager Traceback (most recent call last): 2018-06-23 03:41:24.981 57 ERROR cinder.volume.manager File "/usr/lib/python2.7/site-packages/cinder/volume/manager.py", line 457, in init_host 2018-06-23 03:41:24.981 57 ERROR cinder.volume.manager self.driver.check_for_setup_error() 2018-06-23 03:41:24.981 57 ERROR cinder.volume.manager File "/usr/lib/python2.7/site-packages/cinder/volume/drivers/netapp/dataontap/iscsi_cmode.py", line 44, in check_for_setup_error 2018-06-23 03:41:24.981 57 ERROR cinder.volume.manager self.library.check_for_setup_error() 2018-06-23 03:41:24.981 57 ERROR cinder.volume.manager File "/usr/lib/python2.7/site-packages/cinder/utils.py", line 849, in trace_method_logging_wrapper 2018-06-23 03:41:24.981 57 ERROR cinder.volume.manager return f(*args, **kwargs) 2018-06-23 03:41:24.981 57 ERROR cinder.volume.manager File "/usr/lib/python2.7/site-packages/cinder/utils.py", line 849, in trace_method_logging_wrapper 2018-06-23 03:41:24.981 57 ERROR cinder.volume.manager return f(*args, **kwargs) 2018-06-23 03:41:24.981 57 ERROR cinder.volume.manager File "/usr/lib/python2.7/site-packages/cinder/volume/drivers/netapp/dataontap/block_cmode.py", line 109, in check_for_setup_error 2018-06-23 03:41:24.981 57 ERROR cinder.volume.manager raise exception.NetAppDriverException(msg) 2018-06-23 03:41:24.981 57 ERROR cinder.volume.manager NetAppDriverException: No pools are available for provisioning volumes. Ensure that the configuration option netapp_pool_name_search_pattern is set correctly.