cookbook-openstack-block-st.../templates/default/cinder.conf.erb

864 lines
30 KiB
Plaintext

<%= node["openstack"]["block-storage"]["custom_template_banner"] %>
[DEFAULT]
######## defined in cinder.openstack.common.cfg:CommonConfigOpts ########
debug=<%= node["openstack"]["block-storage"]["debug"] %>
#### (BoolOpt) Print debugging output
verbose=<%= node["openstack"]["block-storage"]["verbose"] %>
#### (BoolOpt) Print more verbose output
# lock_path
lock_path=<%= node["openstack"]["block-storage"]["lock_path"] %>
notification_driver=<%= node["openstack"]["block-storage"]["notification_driver"] %>
# log_config=<None>
#### (StrOpt) If this option is specified, the logging configuration file
#### specified is used and overrides any other logging options
#### specified. Please see the Python logging module
#### documentation for details on logging configuration files.
# log_format=%(asctime)s %(levelname)8s [%(name)s] %(message)s
#### (StrOpt) A logging.Formatter log message format string which may use
#### any of the available logging.LogRecord attributes. Default:
#### %default
# log_date_format=%Y-%m-%d %H:%M:%S
#### (StrOpt) Format string for %(asctime)s in log records. Default:
#### %default
# log_file=<None>
#### (StrOpt) (Optional) Name of log file to output to. If not set,
#### logging will go to stdout.
# log_dir=<None>
#### (StrOpt) (Optional) The directory to keep log files in (will be
#### prepended to --logfile)
# ================= Syslog Options ============================
<% if node["openstack"]["block-storage"]["syslog"]["use"] %>
log_config = /etc/openstack/logging.conf
<% else %>
log_file = /var/log/cinder/cinder.log
<% end %>
######## defined in cinder.flags ########
# connection_type=<None>
#### (StrOpt) Virtualization api connection type : libvirt, xenapi, or
#### fake
sql_connection=<%= @sql_connection %>
# sql_connection=sqlite:///$state_path/$sqlite_db
#### (StrOpt) The SQLAlchemy connection string used to connect to the
#### database
# sql_connection_debug=0
#### (IntOpt) Verbosity of SQL debugging information. 0=None,
#### 100=Everything
# api_paste_config=api-paste.ini
#### (StrOpt) File name for the paste.deploy config for cinder-api
# pybasedir=/usr/lib/python/site-packages
#### (StrOpt) Directory where the cinder python module is installed
# bindir=$pybasedir/bin
#### (StrOpt) Directory where cinder binaries are installed
state_path=<%= node["openstack"]["block-storage"]["volume"]["state_path"] %>
#### (StrOpt) Top-level directory for maintaining cinder's state
my_ip=<%= node["ipaddress"] %>
#### (StrOpt) ip address of this host
glance_host=<%= @glance_host %>
#### (StrOpt) default glance hostname or ip
glance_port=<%= @glance_port %>
#### (IntOpt) default glance port
# glance_api_servers=$glance_host:$glance_port
#### (ListOpt) A list of the glance api servers available to cinder
#### ([hostname|ip]:port)
# glance_num_retries=0
#### (IntOpt) Number retries when downloading an image from glance
# scheduler_topic=cinder-scheduler
#### (StrOpt) the topic scheduler nodes listen on
# volume_topic=cinder-volume
#### (StrOpt) the topic volume nodes listen on
api_rate_limit=<%= node["openstack"]["block-storage"]["api"]["ratelimit"] %>
#### (BoolOpt) whether to rate limit the api
# osapi_volume_ext_list=
#### (ListOpt) Specify list of extensions to load when using
#### osapi_volume_extension option with
#### cinder.api.openstack.volume.contrib.select_extensions
# osapi_volume_extension=cinder.api.openstack.volume.contrib.standard_extensions
#### (MultiStrOpt) osapi volume extension to load
# osapi_compute_link_prefix=<None>
#### (StrOpt) Base URL that will be presented to users in links to the
#### OpenStack Compute API
# osapi_max_limit=1000
#### (IntOpt) the maximum number of items returned in a single response
#### from a collection resource
# sqlite_db=cinder.sqlite
#### (StrOpt) the filename to use with sqlite
# sqlite_synchronous=true
#### (BoolOpt) If passed, use synchronous mode for sqlite
# sql_idle_timeout=3600
#### (IntOpt) timeout before idle sql connections are reaped
# sql_max_retries=10
#### (IntOpt) maximum db connection retries during startup. (setting -1
#### implies an infinite retry count)
# sql_retry_interval=10
#### (IntOpt) interval between retries of opening a sql connection
# volume_manager=cinder.volume.manager.VolumeManager
#### (StrOpt) full class name for the Manager for volume
# scheduler_manager=cinder.scheduler.manager.SchedulerManager
#### (StrOpt) full class name for the Manager for scheduler
# host=cinder
#### (StrOpt) Name of this node. This can be an opaque identifier. It is
#### not necessarily a hostname, FQDN, or IP address.
storage_availability_zone=<%= node["openstack"]["block-storage"]["storage_availability_zone"] %>
#### (StrOpt) availability zone of this node
# memcached_servers=<None>
#### (ListOpt) Memcached servers or None for in process cache.
# volume_usage_audit_period=month
#### (StrOpt) time period to generate volume usages for. Time period must
#### be hour, day, month or year
# root_helper=cinder-rootwrap
#### (StrOpt) Deprecated: command to use for running commands as root
rootwrap_config=/etc/cinder/rootwrap.conf
#### (StrOpt) Path to the rootwrap configuration file to use for running
#### commands as root
# monkey_patch=false
#### (BoolOpt) Whether to log monkey patching
# monkey_patch_modules=
#### (ListOpt) List of modules/decorators to monkey patch
# service_down_time=60
#### (IntOpt) maximum time since last check-in for up service
# volume_api_class=cinder.volume.api.API
#### (StrOpt) The full class name of the volume API class to use
auth_strategy=keystone
#### (StrOpt) The strategy to use for auth. Supports noauth, keystone, and
#### deprecated.
<% if node["openstack"]["mq"]["block-storage"]["rabbit"]["control_exchange"] %>
control_exchange=<%=node["openstack"]["mq"]["block-storage"]["rabbit"]["control_exchange"]%>
<% end %>
# control_exchange=cinder
#### (StrOpt) AMQP exchange to connect to if using RabbitMQ or Qpid
######## defined in cinder.policy ########
# policy_file=policy.json
#### (StrOpt) JSON file representing policy
# policy_default_rule=default
#### (StrOpt) Rule checked when requested rule is not found
######## defined in cinder.quota ########
quota_volumes=<%= node["openstack"]["block-storage"]["quota_volumes"] %>
#### (IntOpt) number of volumes allowed per project
quota_gigabytes=<%= node["openstack"]["block-storage"]["quota_gigabytes"] %>
#### (IntOpt) number of volume gigabytes allowed per project
# reservation_expire=86400
#### (IntOpt) number of seconds until a reservation expires
# until_refresh=0
#### (IntOpt) count of reservations until usage is refreshed
# max_age=0
#### (IntOpt) number of seconds between subsequent usage refreshes
quota_driver=<%= node["openstack"]["block-storage"]["quota_driver"] %>
#### (StrOpt) default driver to use for quota checks
######## defined in cinder.service ########
# report_interval=10
#### (IntOpt) seconds between nodes reporting state to datastore
# periodic_interval=60
#### (IntOpt) seconds between running periodic tasks
# periodic_fuzzy_delay=60
#### (IntOpt) range of seconds to randomly delay when starting the
#### periodic task scheduler to reduce stampeding. (Disable by
#### setting to 0)
# osapi_volume_listen=0.0.0.0
#### (StrOpt) IP address for OpenStack Volume API to listen
# osapi_volume_listen_port=8776
#### (IntOpt) port for os volume api to listen
######## defined in cinder.test ########
# sqlite_clean_db=clean.sqlite
#### (StrOpt) File name of clean sqlite db
# fake_tests=true
#### (BoolOpt) should we use everything for testing
######## defined in cinder.api.auth ########
# use_forwarded_for=false
#### (BoolOpt) Treat X-Forwarded-For as the canonical remote address. Only
#### enable this if you have a sanitizing proxy.
######## defined in cinder.api.sizelimit ########
# osapi_max_request_body_size=114688
#### (IntOpt) Max size for body of a request
######## defined in cinder.common.deprecated ########
# fatal_deprecations=false
#### (BoolOpt) make deprecations fatal
######## defined in cinder.db.api ########
db_backend=sqlalchemy
#### (StrOpt) The backend to use for db
# enable_new_services=true
#### (BoolOpt) Services to be added to the available pool on create
volume_name_template=<%= node["openstack"]["block-storage"]["volume_name_template"] %>
#### (StrOpt) Template string to be used to generate volume names
snapshot_name_template=<%= node["openstack"]["block-storage"]["snapshot_name_template"] %>
#### (StrOpt) Template string to be used to generate snapshot names
######## defined in cinder.db.base ########
# db_driver=cinder.db
#### (StrOpt) driver to use for database access
######## defined in cinder.openstack.common.log ########
# logdir=<None>
### (StrOpt) Log output to a per-service log file in named directory
# logfile=<None>
#### (StrOpt) Log output to a named file
# use_stderr=true
#### (BoolOpt) Log output to standard error
# logfile_mode=0644
#### (StrOpt) Default file mode used when creating log files
# logging_context_format_string=%(asctime)s %(levelname)s %(name)s [%(request_id)s %(user_id)s %(project_id)s] %(instance)s%(message)s
#### (StrOpt) format string to use for log messages with context
# logging_default_format_string=%(asctime)s %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s
#### (StrOpt) format string to use for log messages without context
# logging_debug_format_suffix=%(funcName)s %(pathname)s:%(lineno)d
#### (StrOpt) data to append to log format when level is DEBUG
# logging_exception_prefix=%(asctime)s %(process)d TRACE %(name)s %(instance)s
#### (StrOpt) prefix each line of exception output with this format
# default_log_levels=amqplib=WARN,sqlalchemy=WARN,boto=WARN,suds=INFO,keystone=INFO,eventlet.wsgi.server=WARN
#### (ListOpt) list of logger=LEVEL pairs
# publish_errors=false
#### (BoolOpt) publish error events
# instance_format="[instance: %(uuid)s] "
#### (StrOpt) If an instance is passed with the log message, format it
#### like this
# instance_uuid_format="[instance: %(uuid)s] "
#### (StrOpt) If an instance UUID is passed with the log message, format
#### it like this
######## defined in cinder.openstack.common.notifier.api ########
#### (MultiStrOpt) Driver or drivers to handle sending notifications
# default_notification_level=INFO
#### (StrOpt) Default notification level for outgoing notifications
# default_publisher_id=$host
#### (StrOpt) Default publisher_id for outgoing notifications
######## defined in cinder.openstack.common.rpc ########
#### (StrOpt) The messaging module to use, defaults to kombu.
rpc_backend=<%= node["openstack"]["block_storage"]["rpc_backend"] %>
rpc_thread_pool_size=<%= node["openstack"]["block-storage"]["rpc_thread_pool_size"] %>
#### (IntOpt) Size of RPC thread pool
rpc_conn_pool_size=<%= node["openstack"]["block-storage"]["rpc_conn_pool_size"] %>
#### (IntOpt) Size of RPC connection pool
rpc_response_timeout=<%= node["openstack"]["block-storage"]["rpc_response_timeout"] %>
#### (IntOpt) Seconds to wait for a response from call or multicall
# rpc_cast_timeout=30
#### (IntOpt) Seconds to wait before a cast expires (TTL). Only supported
#### by impl_zmq.
# allowed_rpc_exception_modules=cinder.openstack.common.exception,nova.exception,cinder.exception
#### (ListOpt) Modules of exceptions that are permitted to be recreatedupon
#### receiving exception data from an rpc call.
<% if node["openstack"]["mq"]["block-storage"]["service_type"] == "rabbitmq" %>
# fake_rabbit=false
#### (BoolOpt) If passed, use a fake RabbitMQ provider
######## defined in cinder.openstack.common.rpc.impl_kombu ########
# kombu_ssl_version=
#### (StrOpt) SSL version to use (valid only if SSL enabled)
# kombu_ssl_keyfile=
#### (StrOpt) SSL key file (valid only if SSL enabled)
# kombu_ssl_certfile=
#### (StrOpt) SSL cert file (valid only if SSL enabled)
# kombu_ssl_ca_certs=
#### (StrOpt) SSL certification authority file (valid only if SSL enabled)
<% if node["openstack"]["mq"]["block-storage"]["rabbit"]["ha"] -%>
rabbit_hosts=<%= @rabbit_hosts %>
#### (ListOpt) RabbitMQ HA cluster host:port pairs
# rabbit_durable_queues=false
#### (BoolOpt) use durable queues in RabbitMQ
rabbit_ha_queues=True
#### (BoolOpt) use H/A queues in RabbitMQ (x-ha-policy: all).You need to
#### wipe RabbitMQ database when changing this option.
<% else -%>
rabbit_host=<%= node["openstack"]["mq"]["block-storage"]["rabbit"]["host"] %>
#### (StrOpt) The RabbitMQ broker address where a single node is used
rabbit_port=<%= node["openstack"]["mq"]["block-storage"]["rabbit"]["port"] %>
#### (IntOpt) The RabbitMQ broker port where a single node is used
<% end -%>
rabbit_use_ssl=<%= node["openstack"]["mq"]["block-storage"]["rabbit"]["use_ssl"] %>
#### (BoolOpt) connect over SSL for RabbitMQ
rabbit_userid=<%= node["openstack"]["mq"]["block-storage"]["rabbit"]["userid"] %>
#### (StrOpt) the RabbitMQ userid
rabbit_password=<%= @rabbit_password %>
#### (StrOpt) the RabbitMQ password
rabbit_virtual_host=<%= node["openstack"]["mq"]["block-storage"]["rabbit"]["vhost"] %>
#### (StrOpt) the RabbitMQ virtual host
notification_topics=<%= node["openstack"]["mq"]["block-storage"]["rabbit"]["notification_topic"] %>
#### (ListOpt) AMQP topic used for openstack notifications
# rabbit_retry_interval=1
#### (IntOpt) how frequently to retry connecting with RabbitMQ
# rabbit_retry_backoff=2
#### (IntOpt) how long to backoff for between retries when connecting to
#### RabbitMQ
# rabbit_max_retries=0
#### (IntOpt) maximum retries with trying to connect to RabbitMQ (the
#### default of 0 implies an infinite retry count)
<% end %>
<% if node["openstack"]["mq"]["block-storage"]["service_type"] == "qpid" %>
##### QPID #####
######## defined in cinder.openstack.common.rpc.impl_qpid ########
rpc_backend=cinder.openstack.common.rpc.impl_qpid
qpid_hostname=<%= node["openstack"]["mq"]["block-storage"]["qpid"]["host"] %>
#### (StrOpt) Qpid broker hostname
qpid_port=<%= node["openstack"]["mq"]["block-storage"]["qpid"]["port"] %>
#### (StrOpt) Qpid broker port
qpid_username=<%= node["openstack"]["mq"]["block-storage"]["qpid"]["username"] %>
#### (StrOpt) Username for qpid connection
qpid_password=<%= node["openstack"]["mq"]["block-storage"]["qpid"]["password"] %>
#### (StrOpt) Password for qpid connection
qpid_sasl_mechanisms=<%= node["openstack"]["mq"]["block-storage"]["qpid"]["sasl_mechanisms"] %>
#### (StrOpt) Space separated list of SASL mechanisms to use for auth
qpid_reconnect=<%= node["openstack"]["mq"]["block-storage"]["qpid"]["reconnect"] %>
#### (BoolOpt) Automatically reconnect
qpid_reconnect_timeout=<%= node["openstack"]["mq"]["block-storage"]["qpid"]["reconnect_timeout"] %>
#### (IntOpt) Reconnection timeout in seconds
qpid_reconnect_limit=<%= node["openstack"]["mq"]["block-storage"]["qpid"]["reconnect_limit"] %>
#### (IntOpt) Max reconnections before giving up
qpid_reconnect_interval_min=<%= node["openstack"]["mq"]["block-storage"]["qpid"]["reconnect_interval_min"] %>
#### (IntOpt) Minimum seconds between reconnection attempts
qpid_reconnect_interval_max=<%= node["openstack"]["mq"]["block-storage"]["qpid"]["reconnect_interval_max"] %>
#### (IntOpt) Maximum seconds between reconnection attempts
qpid_reconnect_interval=<%= node["openstack"]["mq"]["block-storage"]["qpid"]["reconnect_interval"] %>
#### (IntOpt) Equivalent to setting max and min to the same value
qpid_heartbeat=<%= node["openstack"]["mq"]["block-storage"]["qpid"]["heartbeat"] %>
#### (IntOpt) Seconds between connection keepalive heartbeats
qpid_protocol=<%= node["openstack"]["mq"]["block-storage"]["qpid"]["protocol"] %>
#### (StrOpt) Transport to use, either 'tcp' or 'ssl'
qpid_tcp_nodelay=<%= node["openstack"]["mq"]["block-storage"]["qpid"]["tcp_nodelay"] %>
#### (BoolOpt) Disable Nagle algorithm
notification_topics=<%= node["openstack"]["mq"]["block-storage"]["qpid"]["notification_topic"] %>
#### (ListOpt) AMQP topic used for openstack notifications
<% end %>
######## defined in cinder.openstack.common.rpc.impl_zmq ########
# rpc_zmq_bind_address=*
#### (StrOpt) ZeroMQ bind address. Should be a wildcard (*), an ethernet
#### interface, or IP. The "host" option should point or resolve
#### to this address.
# rpc_zmq_matchmaker=cinder.openstack.common.rpc.matchmaker.MatchMakerLocalhost
#### (StrOpt) MatchMaker driver
# rpc_zmq_port=9501
#### (IntOpt) ZeroMQ receiver listening port
# rpc_zmq_port_pub=9502
#### (IntOpt) ZeroMQ fanout publisher port
# rpc_zmq_contexts=1
#### (IntOpt) Number of ZeroMQ contexts, defaults to 1
# rpc_zmq_ipc_dir=/var/run/openstack
#### (StrOpt) Directory for holding IPC sockets
# rpc_zmq_host=cinder
#### (StrOpt) Name of this node. Must be a valid hostname, FQDN, or IP
#### address. Must match "host" option, if running Nova.
######## defined in cinder.openstack.common.rpc.matchmaker ########
# matchmaker_ringfile=/etc/nova/matchmaker_ring.json
#### (StrOpt) Matchmaker ring file (JSON)
######## defined in cinder.scheduler.driver ########
# scheduler_host_manager=cinder.scheduler.host_manager.HostManager
#### (StrOpt) The scheduler host manager class to use
######## defined in cinder.scheduler.manager ########
# scheduler_driver=cinder.scheduler.simple.SimpleScheduler
#### (StrOpt) Default driver to use for the scheduler
######## defined in cinder.scheduler.simple ########
max_gigabytes=<%= node["openstack"]["block-storage"]["max_gigabytes"] %>
#### (IntOpt) maximum number of volume gigabytes to allow per host
######## defined in cinder.volume.api ########
# snapshot_same_host=true
#### (BoolOpt) Create volume from snapshot at the host where snapshot
#### resides
######## defined in cinder.volume.driver ########
<% if node["openstack"]["block-storage"]["volume"]["driver"] == "cinder.volume.drivers.lvm.LVMISCSIDriver" %>
volume_group=<%= node["openstack"]["block-storage"]["volume"]["volume_group"] %>
#### (StrOpt) Name for the VG that will contain exported volumes
volume_clear=<%= node["openstack"]["block-storage"]["volume"]["volume_clear"] %>
volume_clear_size=<%= node["openstack"]["block-storage"]["volume"]["volume_clear_size"] %>
<% end %>
# num_shell_tries=3
#### (IntOpt) number of times to attempt to run flakey shell commands
# num_iscsi_scan_tries=3
#### (IntOpt) number of times to rescan iSCSI target to find volume
# iscsi_num_targets=100
#### (IntOpt) Number of iscsi target ids per host
# iscsi_target_prefix=iqn.2010-10.org.openstack:
#### (StrOpt) prefix for iscsi volumes
iscsi_ip_address=<%= node["openstack"]["block-storage"]["volume"]["iscsi_ip_address"] %>
#### (StrOpt) The IP address where the iSCSI daemon is listening on
iscsi_port=<%= node["openstack"]["block-storage"]["volume"]["iscsi_port"] %>
#### (IntOpt) The port that the iSCSI daemon is listening on
<% if node["openstack"]["block-storage"]["volume"]["driver"] == "cinder.volume.drivers.rbd.RBDDriver" %>
rbd_pool=<%= node["openstack"]["block-storage"]["rbd_pool"] %>
#### (StrOpt) the RADOS pool in which rbd volumes are stored
rbd_user=<%= node["openstack"]["block-storage"]["rbd_user"] %>
#### (StrOpt) the RADOS client name for accessing rbd volumes
rbd_secret_uuid=<%= node["openstack"]["block-storage"]["rbd_secret_uuid"] %>
#### (StrOpt) the libvirt uuid of the secret for the rbd_uservolumes
<% end %>
# volume_tmp_dir=<None>
#### (StrOpt) where to store temporary image files if the volume driver
#### does not write them directly to the volume
######## defined in cinder.volume.iscsi ########
iscsi_helper=<%= node["openstack"]["block-storage"]["volume"]["iscsi_helper"] %>
#### (StrOpt) iscsi target user-land tool to use
volumes_dir=<%= node['openstack']['block-storage']['volume']['volumes_dir'] %>
#### (StrOpt) Volume configuration file storage directory
######## defined in cinder.volume.manager ########
volume_driver=<%= node["openstack"]["block-storage"]["volume"]["driver"] %>
#### (StrOpt) Driver to use for volume creation
# use_local_volumes=true
#### (BoolOpt) if True, will not discover local volumes
# volume_force_update_capabilities=false
#### (BoolOpt) if True will force update capabilities on each check
######## defined in cinder.volume.netapp ########
<% if node["openstack"]["block-storage"]["volume"]["driver"] == "cinder.volume.drivers.netapp.NetAppISCSIDriver" %>
netapp_wsdl_url=<%= node["openstack"]["block-storage"]["netapp"]["protocol"] %>://<%= node["openstack"]["block-storage"]["netapp"]["dfm_hostname"] %>:<%= node["openstack"]["block-storage"]["netapp"]["dfm_web_port"] %>/dfm.wsdl
#### (StrOpt) URL of the WSDL file for the DFM server
netapp_login=<%= node["openstack"]["block-storage"]["netapp"]["dfm_login"] %>
#### (StrOpt) User name for the DFM server
netapp_password=<%= node["openstack"]["block-storage"]["netapp"]["dfm_password"] %>
#### (StrOpt) Password for the DFM server
netapp_server_hostname=<%= node["openstack"]["block-storage"]["netapp"]["dfm_hostname"] %>
#### (StrOpt) Hostname for the DFM server
netapp_server_port=<%= node["openstack"]["block-storage"]["netapp"]["dfm_port"] %>
#### (IntOpt) Port number for the DFM server
netapp_storage_service=<%= node["openstack"]["block-storage"]["netapp"]["storage_service"] %>
#### (StrOpt) Storage service to use for provisioning (when
#### volume_type=None)
# netapp_storage_service_prefix=<None>
#### (StrOpt) Prefix of storage service name to use for provisioning
#### (volume_type name will be appended)
# netapp_vfiler=<None>
#### (StrOpt) Vfiler to use for provisioning
<% end %>
######## defined in cinder.volume.netapp_nfs ########
<% if node["openstack"]["block-storage"]["volume"]["driver"] == "cinder.volume.drivers.netapp.nfs.NetAppDirect7modeNfsDriver" %>
nfs_mount_point_base=<%= node["openstack"]["block-storage"]["nfs"]["mount_point_base"] %>
<% node["openstack"]["block-storage"]["netapp"]["netapp_server_hostname"].each do |h| %>
netapp_server_hostname=<%= h %>
<% end %>
netapp_server_port=<%= node["openstack"]["block-storage"]["netapp"]["netapp_server_port"] %>
netapp_login=<%= node["openstack"]["block-storage"]["netapp"]["netapp_server_login"] %>
netapp_password=<%= node["openstack"]["block-storage"]["netapp"]["netapp_server_password"] %>
nfs_shares_config=<%= node["openstack"]["block-storage"]["nfs"]["shares_config"] %>
nfs_disk_util=<%= node["openstack"]["block-storage"]["nfs"]["nfs_disk_util"] %>
nfs_sparsed_volumes=<%= node["openstack"]["block-storage"]["nfs"]["nfs_sparsed_volumes"] %>
<% end %>
######## defined in cinder.volume.nexenta.volume ########
# nexenta_host=
#### (StrOpt) IP address of Nexenta SA
# nexenta_rest_port=2000
#### (IntOpt) HTTP port to connect to Nexenta REST API server
# nexenta_rest_protocol=auto
#### (StrOpt) Use http or https for REST connection (default auto)
# nexenta_user=admin
#### (StrOpt) User name to connect to Nexenta SA
# nexenta_password=nexenta
#### (StrOpt) Password to connect to Nexenta SA
# nexenta_iscsi_target_portal_port=3260
#### (IntOpt) Nexenta target portal port
# nexenta_volume=cinder
#### (StrOpt) pool on SA that will hold all volumes
# nexenta_target_prefix=iqn.1986-03.com.sun:02:cinder-
#### (StrOpt) IQN prefix for iSCSI targets
# nexenta_target_group_prefix=cinder/
#### (StrOpt) prefix for iSCSI target groups on SA
# nexenta_blocksize=
#### (StrOpt) block size for volumes (blank=default,8KB)
# nexenta_sparse=false
#### (BoolOpt) flag to create sparse volumes
######## defined in cinder.volume.nfs ########
# nfs_shares_config=<None>
#### (StrOpt) File with the list of available nfs shares
# nfs_mount_point_base=$state_path/mnt
#### (StrOpt) Base dir where nfs expected to be mounted
# nfs_disk_util=df
#### (StrOpt) Use du or df for free space calculation
# nfs_sparsed_volumes=true
#### (BoolOpt) Create volumes as sparsed files which take no space.If set
#### to False volume is created as regular file.In such case
#### volume creation takes a lot of time.
######## defined in cinder.volume.san ########
<% if node["openstack"]["block-storage"]["volume"]["driver"] == "cinder.volume.drivers.storwize_svc.StorwizeSVCDriver" %>
san_ip=<%= node["openstack"]["block-storage"]["storwize"]["san_ip"] %>
#### (StrOpt) IP address of SAN controller
san_login=<%= node["openstack"]["block-storage"]["storwize"]["san_login"] %>
#### (StrOpt) Username for SAN controller
san_private_key=<%= node["openstack"]["block-storage"]["storwize"]["san_private_key"] %>
#### (StrOpt) Filename of private key to use for SSH authentication
<% else %>
# san_thin_provision=true
#### (BoolOpt) Use thin provisioning for SAN volumes?
# san_ip=
#### (StrOpt) IP address of SAN controller
# san_login=admin
#### (StrOpt) Username for SAN controller
# san_password=
#### (StrOpt) Password for SAN controller
# san_private_key=
#### (StrOpt) Filename of private key to use for SSH authentication
# san_clustername=
#### (StrOpt) Cluster name to use for creating volumes
# san_ssh_port=22
#### (IntOpt) SSH port to use with SAN
# san_is_local=false
#### (BoolOpt) Execute commands locally instead of over SSH; use if the
#### volume service is running on the SAN device
# san_zfs_volume_base=rpool/
#### (StrOpt) The ZFS path under which to create zvols for volumes.
<% end %>
<% if node["openstack"]["block-storage"]["volume"]["driver"] == "cinder.volume.drivers.solidfire.SolidFire" %>
######## defined in cinder.volume.solidfire ########
sf_emulate_512=<%= node["openstack"]["block-storage"]["solidfire"]["sf_emulate"] %>
#### (BoolOpt) Set 512 byte emulation on volume creation;
san_ip=<%= node["openstack"]["block-storage"]["solidfire"]["san_ip"] %>
# #### (StrOpt) IP address of SolidFire MVIP
san_login=<%= node["openstack"]["block-storage"]["solidfire"]["san_login"] %>
#### (StrOpt) Username for SF Cluster Admin
san_password=<%= @solidfire_pass %>
#### (StrOpt) Password for SF Cluster Admin
<% unless node["openstack"]["block-storage"]["solidfire"]['iscsi_ip_prefix'].nil? %>
iscsi_ip_prefix=<%= node["openstack"]["block-storage"]["solidfire"]["iscsi_ip_prefix"] %>
<% end %>
<% end %>
#### (BoolOpt) Allow tenants to specify QOS on create
<% if node["openstack"]["block-storage"]["volume"]["driver"] == "cinder.volume.drivers.storwize_svc.StorwizeSVCDriver" %>
######## defined in cinder.volume.storwize_svc ########
storwize_svc_volpool_name=<%= node["openstack"]["block-storage"]["storwize"]["storwize_svc_volpool_name"] %>
#### (StrOpt) Storage system storage pool for volumes
storwize_svc_vol_rsize=<%= node["openstack"]["block-storage"]["storwize"]["storwize_svc_vol_rsize"] %>
#### (StrOpt) Storage system space-efficiency parameter for volumes
storwize_svc_vol_warning=<%= node["openstack"]["block-storage"]["storwize"]["storwize_svc_vol_warning"] %>
#### (StrOpt) Storage system threshold for volume capacity warnings
storwize_svc_vol_autoexpand=<%= node["openstack"]["block-storage"]["storwize"]["storwize_svc_vol_autoexpand"] %>
#### (BoolOpt) Storage system autoexpand parameter for volumes (True/False)
storwize_svc_vol_grainsize=<%= node["openstack"]["block-storage"]["storwize"]["storwize_svc_vol_grainsize"] %>
#### (StrOpt) Storage system grain size parameter for volumes
#### (32/64/128/256)
storwize_svc_vol_compression=<%= node["openstack"]["block-storage"]["storwize"]["storwize_svc_vol_compression"] %>
#### (BoolOpt) Storage system compression option for volumes
storwize_svc_vol_easytier=<%= node["openstack"]["block-storage"]["storwize"]["storwize_svc_vol_easytier"] %>
#### (BoolOpt) Enable Easy Tier for volumes
# The I/O group in which to allocate volumes (integer value)
storwize_svc_vol_iogrp=<%= node["openstack"]["block-storage"]["storwize"]["storwize_svc_vol_iogrp"] %>
storwize_svc_flashcopy_timeout=<%= node["openstack"]["block-storage"]["storwize"]["storwize_svc_flashcopy_timeout"] %>
#### (StrOpt) Maximum number of seconds to wait for FlashCopy to be
#### prepared. Maximum value is 600 seconds (10 minutes).
# Connection protocol (iSCSI/FC) (string value)
storwize_svc_connection_protocol=<%= node["openstack"]["block-storage"]["storwize"]["storwize_svc_connection_protocol"] %>
<% if node["openstack"]["block-storage"]["storwize"]["storwize_svc_connection_protocol"] == "iSCSI" %>
# Configure CHAP authentication for iSCSI connections
# (Default: Enabled) (boolean value)
storwize_svc_iscsi_chap_enabled=<%= node["openstack"]["block-storage"]["storwize"]["storwize_svc_iscsi_chap_enabled"] %>
<% else %>
# Connect with multipath (FC only; iSCSI multipath is
# controlled by Nova) (boolean value)
storwize_svc_multipath_enabled=<%= node["openstack"]["block-storage"]["storwize"]["storwize_svc_multipath_enabled"] %>
<% end %>
# Allows vdisk to multi host mapping (boolean value)
storwize_svc_multihostmap_enabled=<%= node["openstack"]["block-storage"]["storwize"]["storwize_svc_multihostmap_enabled"] %>
<% end %>
<% if node["openstack"]["block-storage"]["volume"]["driver"] == "cinder.volume.drivers.emc.emc_smis_iscsi.EMCSMISISCSIDriver" %>
iscsi_target_prefix=<%= node["openstack"]["block-storage"]["emc"]["iscsi_target_prefix"] %>
cinder_emc_config_file=<%= node["openstack"]["block-storage"]["emc"]["cinder_emc_config_file"] %>
<% end %>
######## defined in cinder.volume.xiv ########
# xiv_proxy=xiv_openstack.nova_proxy.XIVNovaProxy
#### (StrOpt) Proxy driver
######## defined in cinder.volume.zadara ########
# zadara_vpsa_ip=<None>
#### (StrOpt) Management IP of Zadara VPSA
# zadara_vpsa_port=<None>
#### (StrOpt) Zadara VPSA port number
# zadara_vpsa_use_ssl=false
#### (BoolOpt) Use SSL connection
# zadara_user=<None>
#### (StrOpt) User name for the VPSA
# zadara_password=<None>
#### (StrOpt) Password for the VPSA
# zadara_vpsa_poolname=<None>
#### (StrOpt) Name of VPSA storage pool for volumes
# zadara_default_cache_policy=write-through
#### (StrOpt) Default cache policy for volumes
# zadara_default_encryption=NO
#### (StrOpt) Default encryption policy for volumes
# zadara_default_striping_mode=simple
#### (StrOpt) Default striping mode for volumes
# zadara_default_stripesize=64
#### (StrOpt) Default stripe size for volumes
# zadara_vol_name_template=OS_%s
#### (StrOpt) Default template for VPSA volume names
# zadara_vpsa_auto_detach_on_delete=true
#### (BoolOpt) Automatically detach from servers on volume delete
# zadara_vpsa_allow_nonexistent_delete=true
#### (BoolOpt) Don't halt on deletion of non-existing volumes