Merge "Add support for copy offload, E-Series driver"
This commit is contained in:
commit
4d4017cb63
|
@ -7,20 +7,21 @@
|
|||
#
|
||||
# [*netapp_login*]
|
||||
# (required) Administrative user account name used to access the storage
|
||||
# system.
|
||||
# system or proxy server.
|
||||
#
|
||||
# [*netapp_password*]
|
||||
# (required) Password for the administrative user account specified in the
|
||||
# netapp_login parameter.
|
||||
#
|
||||
# [*netapp_server_hostname*]
|
||||
# (required) The hostname (or IP address) for the storage system.
|
||||
# (required) The hostname (or IP address) for the storage system or proxy
|
||||
# server.
|
||||
#
|
||||
# [*netapp_server_port*]
|
||||
# (optional) The TCP port to use for communication with ONTAPI on the
|
||||
# storage system. Traditionally, port 80 is used for HTTP and port 443 is
|
||||
# used for HTTPS; however, this value should be changed if an alternate
|
||||
# port has been configured on the storage system.
|
||||
# port has been configured on the storage system or proxy server.
|
||||
# Defaults to 80
|
||||
#
|
||||
# [*netapp_size_multiplier*]
|
||||
|
@ -32,7 +33,7 @@
|
|||
# [*netapp_storage_family*]
|
||||
# (optional) The storage family type used on the storage system; valid values
|
||||
# are ontap_7mode for using Data ONTAP operating in 7-Mode or ontap_cluster
|
||||
# for using clustered Data ONTAP.
|
||||
# for using clustered Data ONTAP, or eseries for NetApp E-Series.
|
||||
# Defaults to ontap_cluster
|
||||
#
|
||||
# [*netapp_storage_protocol*]
|
||||
|
@ -42,7 +43,7 @@
|
|||
#
|
||||
# [*netapp_transport_type*]
|
||||
# (optional) The transport protocol used when communicating with ONTAPI on the
|
||||
# storage system. Valid values are http or https.
|
||||
# storage system or proxy server. Valid values are http or https.
|
||||
# Defaults to http
|
||||
#
|
||||
# [*netapp_vfiler*]
|
||||
|
@ -97,6 +98,39 @@
|
|||
# (optional) File with the list of available NFS shares
|
||||
# Defaults to ''
|
||||
#
|
||||
# [*netapp_copyoffload_tool_path*]
|
||||
# (optional) This option specifies the path of the NetApp Copy Offload tool
|
||||
# binary. Ensure that the binary has execute permissions set which allow the
|
||||
# effective user of the cinder-volume process to execute the file.
|
||||
# Defaults to ''
|
||||
#
|
||||
# [*netapp_controller_ips*]
|
||||
# (optional) This option is only utilized when the storage family is
|
||||
# configured to eseries. This option is used to restrict provisioning to the
|
||||
# specified controllers. Specify the value of this option to be a comma
|
||||
# separated list of controller hostnames or IP addresses to be used for
|
||||
# provisioning.
|
||||
# Defaults to ''
|
||||
#
|
||||
# [*netapp_sa_password*]
|
||||
# (optional) Password for the NetApp E-Series storage array.
|
||||
# Defaults to ''
|
||||
#
|
||||
# [*netapp_storage_pools*]
|
||||
# (optional) This option is used to restrict provisioning to the specified
|
||||
# storage pools. Only dynamic disk pools are currently supported. Specify the
|
||||
# value of this option to be a comma separated list of disk pool names to be
|
||||
# used for provisioning.
|
||||
# Defaults to ''
|
||||
#
|
||||
# [*netapp_webservice_path*]
|
||||
# (optional) This option is used to specify the path to the E-Series proxy
|
||||
# application on a proxy server. The value is combined with the value of the
|
||||
# netapp_transport_type, netapp_server_hostname, and netapp_server_port
|
||||
# options to create the URL used by the driver to connect to the proxy
|
||||
# application.
|
||||
# Defaults to '/devmgr/v2'
|
||||
#
|
||||
# === Examples
|
||||
#
|
||||
# cinder::backend::netapp { 'myBackend':
|
||||
|
@ -120,38 +154,48 @@ define cinder::backend::netapp (
|
|||
$netapp_login,
|
||||
$netapp_password,
|
||||
$netapp_server_hostname,
|
||||
$volume_backend_name = $name,
|
||||
$netapp_server_port = '80',
|
||||
$netapp_size_multiplier = '1.2',
|
||||
$netapp_storage_family = 'ontap_cluster',
|
||||
$netapp_storage_protocol = 'nfs',
|
||||
$netapp_transport_type = 'http',
|
||||
$netapp_vfiler = '',
|
||||
$netapp_volume_list = '',
|
||||
$netapp_vserver = '',
|
||||
$expiry_thres_minutes = '720',
|
||||
$thres_avl_size_perc_start = '20',
|
||||
$thres_avl_size_perc_stop = '60',
|
||||
$nfs_shares_config = '',
|
||||
$volume_backend_name = $name,
|
||||
$netapp_server_port = '80',
|
||||
$netapp_size_multiplier = '1.2',
|
||||
$netapp_storage_family = 'ontap_cluster',
|
||||
$netapp_storage_protocol = 'nfs',
|
||||
$netapp_transport_type = 'http',
|
||||
$netapp_vfiler = '',
|
||||
$netapp_volume_list = '',
|
||||
$netapp_vserver = '',
|
||||
$expiry_thres_minutes = '720',
|
||||
$thres_avl_size_perc_start = '20',
|
||||
$thres_avl_size_perc_stop = '60',
|
||||
$nfs_shares_config = '',
|
||||
$netapp_copyoffload_tool_path = '',
|
||||
$netapp_controller_ips = '',
|
||||
$netapp_sa_password = '',
|
||||
$netapp_storage_pools = '',
|
||||
$netapp_webservice_path = '/devmgr/v2',
|
||||
) {
|
||||
|
||||
cinder_config {
|
||||
"${volume_backend_name}/volume_backend_name": value => $volume_backend_name;
|
||||
"${volume_backend_name}/volume_driver": value => 'cinder.volume.drivers.netapp.common.NetAppDriver';
|
||||
"${volume_backend_name}/netapp_login": value => $netapp_login;
|
||||
"${volume_backend_name}/netapp_password": value => $netapp_password, secret => true;
|
||||
"${volume_backend_name}/netapp_server_hostname": value => $netapp_server_hostname;
|
||||
"${volume_backend_name}/netapp_server_port": value => $netapp_server_port;
|
||||
"${volume_backend_name}/netapp_size_multiplier": value => $netapp_size_multiplier;
|
||||
"${volume_backend_name}/netapp_storage_family": value => $netapp_storage_family;
|
||||
"${volume_backend_name}/netapp_storage_protocol": value => $netapp_storage_protocol;
|
||||
"${volume_backend_name}/netapp_transport_type": value => $netapp_transport_type;
|
||||
"${volume_backend_name}/netapp_vfiler": value => $netapp_vfiler;
|
||||
"${volume_backend_name}/netapp_volume_list": value => $netapp_volume_list;
|
||||
"${volume_backend_name}/netapp_vserver": value => $netapp_vserver;
|
||||
"${volume_backend_name}/expiry_thres_minutes": value => $expiry_thres_minutes;
|
||||
"${volume_backend_name}/thres_avl_size_perc_start": value => $thres_avl_size_perc_start;
|
||||
"${volume_backend_name}/thres_avl_size_perc_stop": value => $thres_avl_size_perc_stop;
|
||||
"${volume_backend_name}/nfs_shares_config": value => $nfs_shares_config;
|
||||
"${volume_backend_name}/volume_backend_name": value => $volume_backend_name;
|
||||
"${volume_backend_name}/volume_driver": value => 'cinder.volume.drivers.netapp.common.NetAppDriver';
|
||||
"${volume_backend_name}/netapp_login": value => $netapp_login;
|
||||
"${volume_backend_name}/netapp_password": value => $netapp_password, secret => true;
|
||||
"${volume_backend_name}/netapp_server_hostname": value => $netapp_server_hostname;
|
||||
"${volume_backend_name}/netapp_server_port": value => $netapp_server_port;
|
||||
"${volume_backend_name}/netapp_size_multiplier": value => $netapp_size_multiplier;
|
||||
"${volume_backend_name}/netapp_storage_family": value => $netapp_storage_family;
|
||||
"${volume_backend_name}/netapp_storage_protocol": value => $netapp_storage_protocol;
|
||||
"${volume_backend_name}/netapp_transport_type": value => $netapp_transport_type;
|
||||
"${volume_backend_name}/netapp_vfiler": value => $netapp_vfiler;
|
||||
"${volume_backend_name}/netapp_volume_list": value => $netapp_volume_list;
|
||||
"${volume_backend_name}/netapp_vserver": value => $netapp_vserver;
|
||||
"${volume_backend_name}/expiry_thres_minutes": value => $expiry_thres_minutes;
|
||||
"${volume_backend_name}/thres_avl_size_perc_start": value => $thres_avl_size_perc_start;
|
||||
"${volume_backend_name}/thres_avl_size_perc_stop": value => $thres_avl_size_perc_stop;
|
||||
"${volume_backend_name}/nfs_shares_config": value => $nfs_shares_config;
|
||||
"${volume_backend_name}/netapp_copyoffload_tool_path": value => $netapp_copyoffload_tool_path;
|
||||
"${volume_backend_name}/netapp_controller_ips": value => $netapp_controller_ips;
|
||||
"${volume_backend_name}/netapp_sa_password": value => $netapp_sa_password;
|
||||
"${volume_backend_name}/netapp_storage_pools": value => $netapp_storage_pools;
|
||||
"${volume_backend_name}/netapp_webservice_path": value => $netapp_webservice_path;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -92,6 +92,43 @@
|
|||
# 'minutes, where M is the value of the expiry_thres_minutes parameter.
|
||||
# Defaults to 60
|
||||
#
|
||||
# [*nfs_shares_config*]
|
||||
# (optional) File with the list of available NFS shares
|
||||
# Defaults to ''
|
||||
#
|
||||
# [*netapp_copyoffload_tool_path*]
|
||||
# (optional) This option specifies the path of the NetApp Copy Offload tool
|
||||
# binary. Ensure that the binary has execute permissions set which allow the
|
||||
# effective user of the cinder-volume process to execute the file.
|
||||
# Defaults to ''
|
||||
#
|
||||
# [*netapp_controller_ips*]
|
||||
# (optional) This option is only utilized when the storage family is
|
||||
# configured to eseries. This option is used to restrict provisioning to the
|
||||
# specified controllers. Specify the value of this option to be a comma
|
||||
# separated list of controller hostnames or IP addresses to be used for
|
||||
# provisioning.
|
||||
# Defaults to ''
|
||||
#
|
||||
# [*netapp_sa_password*]
|
||||
# (optional) Password for the NetApp E-Series storage array.
|
||||
# Defaults to ''
|
||||
#
|
||||
# [*netapp_storage_pools*]
|
||||
# (optional) This option is used to restrict provisioning to the specified
|
||||
# storage pools. Only dynamic disk pools are currently supported. Specify the
|
||||
# value of this option to be a comma separated list of disk pool names to be
|
||||
# used for provisioning.
|
||||
# Defaults to ''
|
||||
#
|
||||
# [*netapp_webservice_path*]
|
||||
# (optional) This option is used to specify the path to the E-Series proxy
|
||||
# application on a proxy server. The value is combined with the value of the
|
||||
# netapp_transport_type, netapp_server_hostname, and netapp_server_port
|
||||
# options to create the URL used by the driver to connect to the proxy
|
||||
# application.
|
||||
# Defaults to '/devmgr/v2'
|
||||
#
|
||||
# === Examples
|
||||
#
|
||||
# class { 'cinder::volume::netapp':
|
||||
|
@ -115,35 +152,47 @@ class cinder::volume::netapp (
|
|||
$netapp_login,
|
||||
$netapp_password,
|
||||
$netapp_server_hostname,
|
||||
$netapp_server_port = '80',
|
||||
$netapp_size_multiplier = '1.2',
|
||||
$netapp_storage_family = 'ontap_cluster',
|
||||
$netapp_storage_protocol = 'nfs',
|
||||
$netapp_transport_type = 'http',
|
||||
$netapp_vfiler = '',
|
||||
$netapp_volume_list = '',
|
||||
$netapp_vserver = '',
|
||||
$expiry_thres_minutes = '720',
|
||||
$thres_avl_size_perc_start = '20',
|
||||
$thres_avl_size_perc_stop = '60'
|
||||
$netapp_server_port = '80',
|
||||
$netapp_size_multiplier = '1.2',
|
||||
$netapp_storage_family = 'ontap_cluster',
|
||||
$netapp_storage_protocol = 'nfs',
|
||||
$netapp_transport_type = 'http',
|
||||
$netapp_vfiler = '',
|
||||
$netapp_volume_list = '',
|
||||
$netapp_vserver = '',
|
||||
$expiry_thres_minutes = '720',
|
||||
$thres_avl_size_perc_start = '20',
|
||||
$thres_avl_size_perc_stop = '60',
|
||||
$nfs_shares_config = '',
|
||||
$netapp_copyoffload_tool_path = '',
|
||||
$netapp_controller_ips = '',
|
||||
$netapp_sa_password = '',
|
||||
$netapp_storage_pools = '',
|
||||
$netapp_webservice_path = '/devmgr/v2',
|
||||
) {
|
||||
|
||||
cinder_config {
|
||||
'DEFAULT/volume_driver': value => 'cinder.volume.drivers.netapp.common.NetAppDriver';
|
||||
'DEFAULT/netapp_login': value => $netapp_login;
|
||||
'DEFAULT/netapp_password': value => $netapp_password, secret => true;
|
||||
'DEFAULT/netapp_server_hostname': value => $netapp_server_hostname;
|
||||
'DEFAULT/netapp_server_port': value => $netapp_server_port;
|
||||
'DEFAULT/netapp_size_multiplier': value => $netapp_size_multiplier;
|
||||
'DEFAULT/netapp_storage_family': value => $netapp_storage_family;
|
||||
'DEFAULT/netapp_storage_protocol': value => $netapp_storage_protocol;
|
||||
'DEFAULT/netapp_transport_type': value => $netapp_transport_type;
|
||||
'DEFAULT/netapp_vfiler': value => $netapp_vfiler;
|
||||
'DEFAULT/netapp_volume_list': value => $netapp_volume_list;
|
||||
'DEFAULT/netapp_vserver': value => $netapp_vserver;
|
||||
'DEFAULT/expiry_thres_minutes': value => $expiry_thres_minutes;
|
||||
'DEFAULT/thres_avl_size_perc_start': value => $thres_avl_size_perc_start;
|
||||
'DEFAULT/thres_avl_size_perc_stop': value => $thres_avl_size_perc_stop;
|
||||
'DEFAULT/volume_driver': value => 'cinder.volume.drivers.netapp.common.NetAppDriver';
|
||||
'DEFAULT/netapp_login': value => $netapp_login;
|
||||
'DEFAULT/netapp_password': value => $netapp_password, secret => true;
|
||||
'DEFAULT/netapp_server_hostname': value => $netapp_server_hostname;
|
||||
'DEFAULT/netapp_server_port': value => $netapp_server_port;
|
||||
'DEFAULT/netapp_size_multiplier': value => $netapp_size_multiplier;
|
||||
'DEFAULT/netapp_storage_family': value => $netapp_storage_family;
|
||||
'DEFAULT/netapp_storage_protocol': value => $netapp_storage_protocol;
|
||||
'DEFAULT/netapp_transport_type': value => $netapp_transport_type;
|
||||
'DEFAULT/netapp_vfiler': value => $netapp_vfiler;
|
||||
'DEFAULT/netapp_volume_list': value => $netapp_volume_list;
|
||||
'DEFAULT/netapp_vserver': value => $netapp_vserver;
|
||||
'DEFAULT/expiry_thres_minutes': value => $expiry_thres_minutes;
|
||||
'DEFAULT/thres_avl_size_perc_start': value => $thres_avl_size_perc_start;
|
||||
'DEFAULT/thres_avl_size_perc_stop': value => $thres_avl_size_perc_stop;
|
||||
'DEFAULT/nfs_shares_config': value => $nfs_shares_config;
|
||||
'DEFAULT/netapp_copyoffload_tool_path': value => $netapp_copyoffload_tool_path;
|
||||
'DEFAULT/netapp_controller_ips': value => $netapp_controller_ips;
|
||||
'DEFAULT/netapp_sa_password': value => $netapp_sa_password;
|
||||
'DEFAULT/netapp_storage_pools': value => $netapp_storage_pools;
|
||||
'DEFAULT/netapp_webservice_path': value => $netapp_webservice_path;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -12,17 +12,23 @@ describe 'cinder::volume::netapp' do
|
|||
|
||||
let :default_params do
|
||||
{
|
||||
:netapp_server_port => '80',
|
||||
:netapp_size_multiplier => '1.2',
|
||||
:netapp_storage_family => 'ontap_cluster',
|
||||
:netapp_storage_protocol => 'nfs',
|
||||
:netapp_transport_type => 'http',
|
||||
:netapp_vfiler => '',
|
||||
:netapp_volume_list => '',
|
||||
:netapp_vserver => '',
|
||||
:expiry_thres_minutes => '720',
|
||||
:thres_avl_size_perc_start => '20',
|
||||
:thres_avl_size_perc_stop => '60',
|
||||
:netapp_server_port => '80',
|
||||
:netapp_size_multiplier => '1.2',
|
||||
:netapp_storage_family => 'ontap_cluster',
|
||||
:netapp_storage_protocol => 'nfs',
|
||||
:netapp_transport_type => 'http',
|
||||
:netapp_vfiler => '',
|
||||
:netapp_volume_list => '',
|
||||
:netapp_vserver => '',
|
||||
:expiry_thres_minutes => '720',
|
||||
:thres_avl_size_perc_start => '20',
|
||||
:thres_avl_size_perc_stop => '60',
|
||||
:nfs_shares_config => '',
|
||||
:netapp_copyoffload_tool_path => '',
|
||||
:netapp_controller_ips => '',
|
||||
:netapp_sa_password => '',
|
||||
:netapp_storage_pools => '',
|
||||
:netapp_webservice_path => '/devmgr/v2',
|
||||
}
|
||||
end
|
||||
|
||||
|
|
|
@ -15,18 +15,23 @@ describe 'cinder::backend::netapp' do
|
|||
|
||||
let :default_params do
|
||||
{
|
||||
:netapp_server_port => '80',
|
||||
:netapp_size_multiplier => '1.2',
|
||||
:netapp_storage_family => 'ontap_cluster',
|
||||
:netapp_storage_protocol => 'nfs',
|
||||
:netapp_transport_type => 'http',
|
||||
:netapp_vfiler => '',
|
||||
:netapp_volume_list => '',
|
||||
:netapp_vserver => '',
|
||||
:expiry_thres_minutes => '720',
|
||||
:thres_avl_size_perc_start => '20',
|
||||
:thres_avl_size_perc_stop => '60',
|
||||
:nfs_shares_config => '',
|
||||
:netapp_server_port => '80',
|
||||
:netapp_size_multiplier => '1.2',
|
||||
:netapp_storage_family => 'ontap_cluster',
|
||||
:netapp_storage_protocol => 'nfs',
|
||||
:netapp_transport_type => 'http',
|
||||
:netapp_vfiler => '',
|
||||
:netapp_volume_list => '',
|
||||
:netapp_vserver => '',
|
||||
:expiry_thres_minutes => '720',
|
||||
:thres_avl_size_perc_start => '20',
|
||||
:thres_avl_size_perc_stop => '60',
|
||||
:nfs_shares_config => '',
|
||||
:netapp_copyoffload_tool_path => '',
|
||||
:netapp_controller_ips => '',
|
||||
:netapp_sa_password => '',
|
||||
:netapp_storage_pools => '',
|
||||
:netapp_webservice_path => '/devmgr/v2',
|
||||
}
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in New Issue