Previously, the CinderNetappNfsMountOptions TripleO Heat parameter was inadvertently ignored, and was not used to configure the corresponding setting in the Cinder Netapp backend. As a result, it was not possible to configure the Netapp NFS mount options with the TripleO Heat parameter.
With this update, the code responsible for handling the Cinder Netapp configuration no longer ignores the CinderNetappNfsMountOptions parameter and the CinderNetappNfsMountOptions parameter correctly configures the Cinder Netapp NFS mount options.
Description of problem:
cinder-netapp.yaml has a parameter for nfs mount options
CinderNetappNfsMountOptions
This param is referenced in /usr/share/openstack-tripleo-heat-templates/puppet/extraconfig/pre_deploy/controller/cinder-netapp.yaml
The specific line is below.
cinder::backend::netapp::nfs_mount_options: {get_input: NetappNfsMountOptions}
However, the puppet template , /etc/puppet/modules/tripleo/manifests/profile/base/cinder/volume/netapp.pp
does not include NFS mount options, inline with the other values such as what is shown below.
cinder::backend::netapp { $backend_name :
netapp_login => hiera('cinder::backend::netapp::netapp_login', undef),
netapp_password => hiera('cinder::backend::netapp::netapp_password', undef),
netapp_server_hostname => hiera('cinder::backend::netapp::netapp_server_hostname', undef),
netapp_server_port => hiera('cinder::backend::netapp::netapp_server_port', undef),
netapp_size_multiplier => hiera('cinder::backend::netapp::netapp_size_multiplier', undef),
netapp_storage_family => hiera('cinder::backend::netapp::netapp_storage_family', undef),
netapp_storage_protocol => hiera('cinder::backend::netapp::netapp_storage_protocol', undef),
netapp_transport_type => hiera('cinder::backend::netapp::netapp_transport_type', undef),
netapp_vfiler => hiera('cinder::backend::netapp::netapp_vfiler', undef),
netapp_volume_list => hiera('cinder::backend::netapp::netapp_volume_list', undef),
netapp_vserver => hiera('cinder::backend::netapp::netapp_vserver', undef),
netapp_partner_backend_name => hiera('cinder::backend::netapp::netapp_partner_backend_name', undef),
nfs_shares => $cinder_netapp_nfs_shares,
nfs_shares_config => hiera('cinder::backend::netapp::nfs_shares_config', undef),
netapp_copyoffload_tool_path => hiera('cinder::backend::netapp::netapp_copyoffload_tool_path', undef),
netapp_controller_ips => hiera('cinder::backend::netapp::netapp_controller_ips', undef),
netapp_sa_password => hiera('cinder::backend::netapp::netapp_sa_password', undef),
netapp_storage_pools => hiera('cinder::backend::netapp::netapp_storage_pools', undef),
netapp_eseries_host_type => hiera('cinder::backend::netapp::netapp_eseries_host_type', undef),
netapp_webservice_path => hiera('cinder::backend::netapp::netapp_webservice_path', undef),
}
}
How reproducible:
Deploy cinder netapp backend, attempt to set nfs mount options using override in a template, deploy completes however, no value for CinderNetappNfsMountOptions is not set.
Indeed, a couple of parameters are missing in the puppet-tripleo binding between THT and puppet-cinder. In puppet-cinder the netapp backend is implemented as a 'define' and so hiera bindings don't work.
I also noticed puppet-tripleo isn't handling the CinderNetappHostType parameter.
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/RHBA-2018:2670
Description of problem: cinder-netapp.yaml has a parameter for nfs mount options CinderNetappNfsMountOptions This param is referenced in /usr/share/openstack-tripleo-heat-templates/puppet/extraconfig/pre_deploy/controller/cinder-netapp.yaml The specific line is below. cinder::backend::netapp::nfs_mount_options: {get_input: NetappNfsMountOptions} However, the puppet template , /etc/puppet/modules/tripleo/manifests/profile/base/cinder/volume/netapp.pp does not include NFS mount options, inline with the other values such as what is shown below. cinder::backend::netapp { $backend_name : netapp_login => hiera('cinder::backend::netapp::netapp_login', undef), netapp_password => hiera('cinder::backend::netapp::netapp_password', undef), netapp_server_hostname => hiera('cinder::backend::netapp::netapp_server_hostname', undef), netapp_server_port => hiera('cinder::backend::netapp::netapp_server_port', undef), netapp_size_multiplier => hiera('cinder::backend::netapp::netapp_size_multiplier', undef), netapp_storage_family => hiera('cinder::backend::netapp::netapp_storage_family', undef), netapp_storage_protocol => hiera('cinder::backend::netapp::netapp_storage_protocol', undef), netapp_transport_type => hiera('cinder::backend::netapp::netapp_transport_type', undef), netapp_vfiler => hiera('cinder::backend::netapp::netapp_vfiler', undef), netapp_volume_list => hiera('cinder::backend::netapp::netapp_volume_list', undef), netapp_vserver => hiera('cinder::backend::netapp::netapp_vserver', undef), netapp_partner_backend_name => hiera('cinder::backend::netapp::netapp_partner_backend_name', undef), nfs_shares => $cinder_netapp_nfs_shares, nfs_shares_config => hiera('cinder::backend::netapp::nfs_shares_config', undef), netapp_copyoffload_tool_path => hiera('cinder::backend::netapp::netapp_copyoffload_tool_path', undef), netapp_controller_ips => hiera('cinder::backend::netapp::netapp_controller_ips', undef), netapp_sa_password => hiera('cinder::backend::netapp::netapp_sa_password', undef), netapp_storage_pools => hiera('cinder::backend::netapp::netapp_storage_pools', undef), netapp_eseries_host_type => hiera('cinder::backend::netapp::netapp_eseries_host_type', undef), netapp_webservice_path => hiera('cinder::backend::netapp::netapp_webservice_path', undef), } } How reproducible: Deploy cinder netapp backend, attempt to set nfs mount options using override in a template, deploy completes however, no value for CinderNetappNfsMountOptions is not set.