6033N/A# == Class: cinder::backend::zfssa_iscsi
6033N/A#
6033N/A# Setup Cinder wth the volume ZFSSA iSCSI driver
6033N/A#
6033N/A# === Parameters
6033N/A#
6033N/A# [*volume_backend_name*]
6033N/A# (optional) Allows for the volume_backend_name to be separate of $name.
6033N/A# Defaults to: $name
6033N/A#
6033N/A# [*hostname*]
6033N/A# (required) Hostname of ZFS Storage Appliance.
6033N/A#
6033N/A# [*login*]
6033N/A# (required) Username to login to ZFS Storage Appliance.
6033N/A#
6033N/A# [*password*]
6033N/A# (required) Password for user in *login*.
6033N/A#
6033N/A# [*zfssa_pool*]
6033N/A# (required) Storage pool name
6033N/A#
6033N/A# [*zfssa_project*]
6033N/A# (optional) Project name in *zfssa_pool*. Defaults to 'default'.
6033N/A#
6033N/A# [*zfssa_target_portal*]
6033N/A# (required) Address of the iSCSI target portal in IP:port format.
6033N/A#
6033N/A# [*zfssa_target_interfaces*]
6033N/A# (required) Interface names where iSCSI targets are available.
6033N/A# Example:
6033N/A# "e1000g0,vnic1"
6033N/A#
6033N/A# [*zfssa_initiator*]
6033N/A# (optional) iSCSI initator name. Requires setting *zfssa_initiator_group*
6033N/A#
6033N/A# [*zfssa_initiator_group*]
6033N/A# (optional) iSCSI initiator group name. Required if *zfssa_initiator* is set.
6033N/A#
6033N/A# [*zfssa_initiator_config*]
6033N/A# (optional) iSCSI initator configuration.
6033N/A#
6033N/A# [*zfssa_initiator_user*]
6033N/A# (optional) CHAP user name for the iSCSI initator. Requires setting
6033N/A# *zfssa_initiator_password*
6033N/A#
6033N/A# [*zfssa_initiator_password*]
6033N/A# (optional) CHAP password. Required if *zfssa_initiator_user* is set.
6033N/A#
6033N/A# [*zfssa_target_group*]
6033N/A# (optional) iSCSI target group name.
6033N/A#
6033N/A# [*zfssa_target_user*]
6033N/A# (optional) CHAP user name for the iSCSI target. Requires setting
6033N/A# *zfssa_target_password*
6033N/A#
6033N/A# [*zfssa_target_password*]
6033N/A# (optional) CHAP password. Required if *zfssa_target_password* is set.
6033N/A#
6033N/A# [*zfssa_lun_volblocksize*]
6033N/A# (optional) Volume block size. Valid sizes are 512, 1k, 2k, 4k, 8k,
6033N/A# 16k, 32k, 64k, 128k. Default is 8k
6033N/A#
6033N/A# [*zfssa_lun_sparse*]
6033N/A# (optional) Flag to enable sparse allocation (thin-provisioning).
6033N/A# Default is False.
6033N/A#
6033N/A# [*zfssa_lun_compression*]
6033N/A# (optional) Data compression to use on the lun. Valid values are off, lzjb,
6033N/A# gzip, gzip-2, gzip-9.
6033N/A#
6033N/A# [*zfssa_lun_logbias*]
6033N/A# (optional) Synchronous log bias. Valid values are latency, throughput.
6033N/A#
6033N/A# [*extra_options*]
6033N/A# (optional) Hash of extra options to pass to the backend stanza
6033N/A# Defaults to: {}
6033N/A# Example :
6033N/A# { 'zfssa_param' => { 'value' => value1 } }
6033N/A
6033N/Adefine cinder::backend::zfssa_iscsi(
6033N/A $hostname,
6033N/A $login,
6033N/A $password,
6033N/A $zfssa_pool,
6033N/A $zfssa_target_portal,
6033N/A $zfssa_target_interfaces,
6033N/A $volume_backend_name = $name,
6033N/A $zfssa_project = undef,
6033N/A $zfssa_initiator = undef,
6033N/A $zfssa_initiator_group = undef,
6033N/A $zfssa_initiator_config = undef,
6033N/A $zfssa_initiator_user = undef,
6033N/A $zfssa_initiator_password = undef,
6033N/A $zfssa_target_group = undef,
6033N/A $zfssa_target_user = undef,
6033N/A $zfssa_target_password = undef,
6033N/A $zfssa_lun_volblocksize = undef,
6033N/A $zfssa_lun_sparse = undef,
6033N/A $zfssa_lun_compression = undef,
6033N/A $zfssa_lun_logbias = undef,
6033N/A $zfssa_rest_timeout = undef,
6033N/A $extra_options = {},
6033N/A) {
6033N/A
6033N/A cinder_config {
6033N/A "${name}/volume_backend_name": value => $volume_backend_name;
6033N/A "${name}/volume_driver": value => 'cinder.volume.drivers.zfssa.zfssaiscsi.ZFSSAISCSIDriver';
6033N/A "${name}/san_ip": value => $hostname;
6033N/A "${name}/san_login": value => $login;
6033N/A "${name}/san_password": value => $password, secret => true;
6033N/A "${name}/zfssa_pool": value => $zfssa_pool;
6033N/A "${name}/zfssa_project": value => $zfssa_project;
6033N/A "${name}/zfssa_target_portal": value => $zfssa_target_portal;
6033N/A "${name}/zfssa_target_interfaces": value => $zfssa_target_interfaces;
6033N/A "${name}/zfssa_target_group": value => $zfssa_target_group;
6033N/A "${name}/zfssa_initiator_config": value => $zfssa_initiator_config;
6033N/A "${name}/zfssa_lun_volblocksize": value => $zfssa_lun_volblocksize;
6033N/A "${name}/zfssa_lun_sparse": value => $zfssa_lun_sparse;
6033N/A "${name}/zfssa_lun_compression": value => $zfssa_lun_compression;
6033N/A "${name}/zfssa_lun_logbias": value => $zfssa_lun_logbias;
6033N/A "${name}/zfssa_rest_timeout": value => $zfssa_rest_timeout;
6033N/A }
6033N/A
6033N/A
6033N/A if ($zfssa_initiator and $zfssa_initiator_group) {
6033N/A cinder_config {
6033N/A "${name}/zfssa_initiator": value => $zfssa_initiator;
6033N/A "${name}/zfssa_initiator_group": value => $zfssa_initiator_group;
6033N/A }
6033N/A }
6033N/A
6033N/A if ($zfssa_initiator_user and $zfssa_initiator_password) {
6033N/A cinder_config {
6033N/A "${name}/zfssa_initiator_user": value => $zfssa_initiator_user;
6033N/A "${name}/zfssa_initiator_password": value => $zfssa_initiator_password, secret => true;
6033N/A }
6033N/A }
6033N/A
6033N/A
6033N/A if ($zfssa_target_user and $zfssa_target_password) {
6033N/A cinder_config {
6033N/A "${name}/zfssa_target_user": value => $zfssa_target_user;
6033N/A "${name}/zfssa_target_password": value => $zfssa_target_password, secret => true;
6033N/A }
6033N/A }
6033N/A
6033N/A create_resources('cinder_config', $extra_options)
6033N/A
6033N/A}