Additional options

Additional options

These options can also be set in the cinder.conf file.

Description of API configuration options
Configuration option = Default value Description
api_rate_limit = True (Boolean) Enables or disables rate limit of the API.
compute_api_class = cinder.compute.nova.API (String) The full class name of the compute API class to use
enable_v3_api = True (Boolean) Deploy v3 of the Cinder API.
group_api_class = cinder.group.api.API (String) The full class name of the group API class
osapi_volume_ext_list = [] (List of String) Specify list of extensions to load when using osapi_volume_extension option with cinder.api.contrib.select_extensions
osapi_volume_extension = [cinder.api.contrib.standard_extensions] (String) osapi volume extension to load
tcp_keepalive = True (Boolean) Sets the value of TCP_KEEPALIVE (True/False) for each server socket.
tcp_keepalive_count = None (Integer) Sets the value of TCP_KEEPCNT for each server socket. Not supported on OS X.
tcp_keepalive_interval = None (Integer) Sets the value of TCP_KEEPINTVL in seconds for each server socket. Not supported on OS X.
volume_api_class = cinder.volume.api.API (String) The full class name of the volume API class to use
enable_v2_api = True (Boolean) DEPRECATED: Deploy v2 of the Cinder API. DEPRECATED
Description of [oslo_middleware] configuration options
Configuration option = Default value Description
enable_proxy_headers_parsing = False (Boolean) Whether the application is behind a proxy or not. This determines if the middleware should parse the headers or not.
max_request_body_size = 114688 (Integer) The maximum body size for each request, in bytes.
secure_proxy_ssl_header = X-Forwarded-Proto (String) The HTTP Header that will be used to determine what the original request protocol scheme was, even if it was hidden by a SSL termination proxy. DEPRECATED
Description of authorization configuration options
Configuration option = Default value Description
auth_strategy = keystone (String(choices=[‘noauth’, ‘keystone’])) The strategy to use for auth. Supports noauth or keystone.
Description of Volume Manager configuration options
Configuration option = Default value Description
backend_native_threads_pool_size = 20 (Integer(min=20)) Size of the native threads pool for the backend. Increase for backends that heavily rely on this, like the RBD driver.
extra_capabilities = {} (String) User defined capabilities, a JSON formatted string specifying key/value pairs. The key/value pairs can be used by the CapabilitiesFilter to select between backends when requests specify volume types. For example, specifying a service level or the geographical location of a backend, then creating a volume type to allow the user to select by these different properties.
init_host_max_objects_retrieval = 0 (Integer) Max number of volumes and snapshots to be retrieved per batch during volume manager host initialization. Query results will be obtained in batches from the database and not in one shot to avoid extreme memory usage. Set 0 to turn off this functionality.
migration_create_volume_timeout_secs = 300 (Integer) Timeout for creating the volume to migrate to when performing volume migration (seconds)
reinit_driver_count = 3 (Integer) Maximum times to reintialize the driver if volume initialization fails. The interval of retry is exponentially backoff, and will be 1s, 2s, 4s etc.
suppress_requests_ssl_warnings = False (Boolean) Suppress requests library SSL certificate warnings.
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver (String) Driver to use for volume creation
volume_service_inithost_offload = False (Boolean) Offload pending volume delete during volume service startup
zoning_mode = None (String) FC Zoning mode configured, only ‘fabric’ is supported now.
Description of Volume Scheduler configuration options
Configuration option = Default value Description
allocated_capacity_weight_multiplier = -1.0 (Float) Multiplier used for weighing allocated capacity. Positive numbers mean to stack vs spread.
capacity_weight_multiplier = 1.0 (Float) Multiplier used for weighing free capacity. Negative numbers mean to stack vs spread.
scheduler_default_filters = [AvailabilityZoneFilter, CapacityFilter, CapabilitiesFilter] (List of String) Which filter class names to use for filtering hosts when not specified in the request.
scheduler_default_weighers = [CapacityWeigher] (List of String) Which weigher class names to use for weighing hosts.
scheduler_driver = cinder.scheduler.filter_scheduler.FilterScheduler (String) Default scheduler driver to use
scheduler_host_manager = cinder.scheduler.host_manager.HostManager (String) The scheduler host manager class to use
scheduler_max_attempts = 3 (Integer) Maximum number of attempts to schedule a volume
scheduler_weight_handler = cinder.scheduler.weights.OrderedHostWeightHandler (String) Which handler to use for selecting the host/pool after weighing
volume_number_multiplier = -1.0 (Float) Multiplier used for weighing volume number. Negative numbers mean to spread vs stack.
Description of backup configuration options
Configuration option = Default value Description
backup_api_class = cinder.backup.api.API (String) The full class name of the volume backup API class
backup_compression_algorithm = zlib (String(choices=[‘none’, ‘off’, ‘no’, ‘zlib’, ‘gzip’, ‘bz2’, ‘bzip2’])) Compression algorithm (None to disable)
backup_driver = cinder.backup.drivers.swift.SwiftBackupDriver (String) Driver to use for backups.
backup_manager = cinder.backup.manager.BackupManager (String) Full class name for the Manager for volume backup
backup_metadata_version = 2 (Integer) Backup metadata version to be used when backing up volume metadata. If this number is bumped, make sure the service doing the restore supports the new version.
backup_name_template = backup-%s (String) Template string to be used to generate backup names
backup_native_threads_pool_size = 60 (Integer(min=20)) Size of the native threads pool for the backups. Most backup drivers rely heavily on this, it can be decreased for specific drivers that don’t.
backup_object_number_per_notification = 10 (Integer) The number of chunks or objects, for which one Ceilometer notification will be sent
backup_service_inithost_offload = True (Boolean) Offload pending backup delete during backup service startup. If false, the backup service will remain down until all pending backups are deleted.
backup_timer_interval = 120 (Integer) Interval, in seconds, between two progress notifications reporting the backup status
backup_use_same_host = False (Boolean) Backup services use same backend.
Description of [nova] configuration options
Configuration option = Default value Description
auth_section = None (<class ‘str’>) Config Section from which to load plugin specific options
auth_type = None (<class ‘str’>) Authentication type to load
cafile = None (String) PEM encoded Certificate Authority to use when verifying HTTPs connections.
certfile = None (String) PEM encoded client certificate cert file
collect-timing = False (Boolean) Collect per-API call timing information.
insecure = False (Boolean) Verify HTTPS connections.
interface = public (String(choices=[‘public’, ‘admin’, ‘internal’])) Type of the nova endpoint to use. This endpoint will be looked up in the keystone catalog and should be one of public, internal or admin.
keyfile = None (String) PEM encoded client certificate key file
region_name = None (String) Name of nova region to use. Useful if keystone manages more than one region.
split-loggers = False (Boolean) Log requests to multiple loggers.
timeout = None (Integer) Timeout value for http requests
token_auth_url = None (String) The authentication URL for the nova connection when using the current users token
Description of images configuration options
Configuration option = Default value Description
allowed_direct_url_schemes = [] (List of String) A list of url schemes that can be downloaded directly via the direct_url. Currently supported schemes: [file, cinder].
enforce_multipath_for_image_xfer = False (Boolean) If this is set to True, attachment of volumes for image transfer will be aborted when multipathd is not running. Otherwise, it will fallback to single path.
glance_api_insecure = False (Boolean) Allow to perform insecure SSL (https) requests to glance (https will be used but cert validation will not be performed).
glance_api_servers = None (List of String) A list of the URLs of glance API servers available to cinder ([http[s]://][hostname|ip]:port). If protocol is not specified it defaults to http.
glance_api_ssl_compression = False (Boolean) Enables or disables negotiation of SSL layer compression. In some cases disabling compression can improve data throughput, such as when high network bandwidth is available and you use compressed image formats like qcow2.
glance_ca_certificates_file = None (String) Location of ca certificates file to use for glance client requests.
glance_catalog_info = image:glance:publicURL (String) Info to match when looking for glance in the service catalog. Format is: separated values of the form: <service_type>:<service_name>:<endpoint_type> - Only used if glance_api_servers are not provided.
glance_core_properties = [checksum, container_format, disk_format, image_name, image_id, min_disk, min_ram, name, size] (List of String) Default core properties of image
glance_num_retries = 0 (Integer(min=0)) Number retries when downloading an image from glance
glance_request_timeout = None (Integer) http/https timeout value for glance operations. If no value (None) is supplied here, the glanceclient default value is used.
image_conversion_dir = $state_path/conversion (String) Directory used for temporary storage during image conversion
image_upload_use_cinder_backend = False (Boolean) If set to True, upload-to-image in raw format will create a cloned volume and register its location to the image service, instead of uploading the volume content. The cinder backend and locations support must be enabled in the image service.
image_upload_use_internal_tenant = False (Boolean) If set to True, the image volume created by upload-to-image will be placed in the internal tenant. Otherwise, the image volume is created in the current context’s tenant.
image_volume_cache_enabled = False (Boolean) Enable the image volume cache for this backend.
image_volume_cache_max_count = 0 (Integer) Max number of entries allowed in the image volume cache. 0 => unlimited.
image_volume_cache_max_size_gb = 0 (Integer) Max size of the image volume cache for this backend in GB. 0 => unlimited.
use_multipath_for_image_xfer = False (Boolean) Do we attach/detach volumes in cinder using multipath for volume to image and image to volume transfers?
verify_glance_signatures = enabled (String(choices=[‘disabled’, ‘enabled’])) Enable image signature verification. Cinder uses the image signature metadata from Glance and verifies the signature of a signed image while downloading that image. There are two options here. 1. enabled: verify when image has signature metadata. 2. disabled: verification is turned off. If the image signature cannot be verified or if the image signature metadata is incomplete when required, then Cinder will not create the volume and update it into an error state. This provides end users with stronger assurances of the integrity of the image data they are using to create volumes.
Description of NAS configuration options
Configuration option = Default value Description
nas_host = <> (String) IP address or Hostname of NAS system.
nas_login = admin (String) User name to connect to NAS system.
nas_mount_options = None (String) Options used to mount the storage backend file system where Cinder volumes are stored.
nas_password = <> (String) Password to connect to NAS system.
nas_private_key = <> (String) Filename of private key to use for SSH authentication.
nas_secure_file_operations = auto (String) Allow network-attached storage systems to operate in a secure environment where root level access is not permitted. If set to False, access is as the root user and insecure. If set to True, access is not as root. If set to auto, a check is done to determine if this is a new installation: True is used if so, otherwise False. Default is auto.
nas_secure_file_permissions = auto (String) Set more secure file permissions on network-attached storage volume files to restrict broad other/world access. If set to False, volumes are created with open permissions. If set to True, volumes are created with permissions for the cinder user and group (660). If set to auto, a check is done to determine if this is a new installation: True is used if so, otherwise False. Default is auto.
nas_share_path = <> (String) Path to the share to use for storing Cinder volumes. For example: “/srv/export1” for an NFS server export available at 10.0.5.10:/srv/export1 .
nas_ssh_port = 22 (Port(min=0, max=65535)) SSH port to use to connect to NAS system.
nas_volume_prov_type = thin (String(choices=[‘thin’, ‘thick’])) Provisioning type that will be used when creating volumes.
Description of common driver configuration options
Configuration option = Default value Description
backend_availability_zone = None (String) Availability zone for this volume backend. If not set, the storage_availability_zone option value is used as the default for all backends.
chap_password = <> (String) Password for specified CHAP account name.
chap_username = <> (String) CHAP user name.
chiscsi_conf = /etc/chelsio-iscsi/chiscsi.conf (String) Chiscsi (CXT) global defaults configuration file
driver_client_cert = None (String) The path to the client certificate for verification, if the driver supports it.
driver_client_cert_key = None (String) The path to the client certificate key for verification, if the driver supports it.
driver_data_namespace = None (String) Namespace for driver private data values to be saved in.
driver_ssl_cert_path = None (String) Can be used to specify a non default path to a CA_BUNDLE file or directory with certificates of trusted CAs, which will be used to validate the backend
driver_ssl_cert_verify = False (Boolean) If set to True the http client will validate the SSL certificate of the backend endpoint.
driver_use_ssl = False (Boolean) Tell driver to use SSL for connection to backend storage if the driver supports it.
enable_unsupported_driver = False (Boolean) Set this to True when you want to allow an unsupported driver to start. Drivers that haven’t maintained a working CI system and testing are marked as unsupported until CI is working again. This also marks a driver as deprecated and may be removed in the next release.
filter_function = None (String) String representation for an equation that will be used to filter hosts. Only used when the driver filter is set to be used by the Cinder scheduler.
goodness_function = None (String) String representation for an equation that will be used to determine the goodness of a host. Only used when using the goodness weigher is set to be used by the Cinder scheduler.
iet_conf = /etc/iet/ietd.conf (String) IET configuration file
iscsi_iotype = fileio (String(choices=[‘blockio’, ‘fileio’, ‘auto’])) Sets the behavior of the iSCSI target to either perform blockio or fileio optionally, auto can be set and Cinder will autodetect type of backing device
iscsi_secondary_ip_addresses = [] (List of String) The list of secondary IP addresses of the iSCSI daemon
iscsi_target_flags = <> (String) Sets the target-specific flags for the iSCSI target. Only used for tgtadm to specify backing device flags using bsoflags option. The specified string is passed as is to the underlying tool.
iscsi_write_cache = on (String(choices=[‘on’, ‘off’])) Sets the behavior of the iSCSI target to either perform write-back(on) or write-through(off). This parameter is valid if target_helper is set to tgtadm.
max_over_subscription_ratio = 20.0 (String(regex=’^(auto|\d*.\d+|\d+)$’)) Representation of the over subscription ratio when thin provisioning is enabled. Default ratio is 20.0, meaning provisioned capacity can be 20 times of the total physical capacity. If the ratio is 10.5, it means provisioned capacity can be 10.5 times of the total physical capacity. A ratio of 1.0 means provisioned capacity cannot exceed the total physical capacity. If ratio is ‘auto’, Cinder will automatically calculate the ratio based on the provisioned capacity and the used space. If not set to auto, the ratio has to be a minimum of 1.0.
num_shell_tries = 3 (Integer) Number of times to attempt to run flakey shell commands
num_volume_device_scan_tries = 3 (Integer) The maximum number of times to rescan targets to find volume
replication_device = None (Dict of String) Multi opt of dictionaries to represent a replication target device. This option may be specified multiple times in a single config section to specify multiple replication target devices. Each entry takes the standard dict config form: replication_device = target_device_id:<required>,key1:value1,key2:value2…
report_discard_supported = False (Boolean) Report to clients of Cinder that the backend supports discard (aka. trim/unmap). This will not actually change the behavior of the backend or the client directly, it will only notify that it can be used.
reserved_percentage = 0 (Integer(min=0, max=100)) The percentage of backend capacity is reserved
storage_protocol = iscsi (String(choices=[‘iscsi’, ‘fc’])) Protocol for transferring data between host and storage back-end.
target_helper = tgtadm (String(choices=[‘tgtadm’, ‘lioadm’, ‘scstadmin’, ‘iscsictl’, ‘ietadm’, ‘nvmet’, ‘spdk-nvmeof’, ‘fake’])) Target user-land tool to use. tgtadm is default, use lioadm for LIO iSCSI support, scstadmin for SCST target support, ietadm for iSCSI Enterprise Target, iscsictl for Chelsio iSCSI Target, nvmet for NVMEoF support, spdk-nvmeof for SPDK NVMe-oF, or fake for testing.
target_ip_address = $my_ip (String) The IP address that the iSCSI daemon is listening on
target_port = 3260 (Port(min=0, max=65535)) The port that the iSCSI daemon is listening on
target_prefix = iqn.2010-10.org.openstack: (String) Prefix for iSCSI volumes
target_protocol = iscsi (String(choices=[‘iscsi’, ‘iser’, ‘nvmet_rdma’])) Determines the target protocol for new volumes, created with tgtadm, lioadm and nvmet target helpers. In order to enable RDMA, this parameter should be set with the value “iser”. The supported iSCSI protocol values are “iscsi” and “iser”, in case of nvmet target set to “nvmet_rdma”.
trace_flags = None (List of String) List of options that control which trace info is written to the DEBUG log level to assist developers. Valid values are method and api.
use_chap_auth = False (Boolean) Option to enable/disable CHAP authentication for targets.
volume_backend_name = None (String) The backend name for a given driver implementation
volume_clear = zero (String(choices=[‘none’, ‘zero’])) Method used to wipe old volumes
volume_clear_ionice = None (String) The flag to pass to ionice to alter the i/o priority of the process used to zero a volume after deletion, for example “-c3” for idle only priority.
volume_clear_size = 0 (Integer(max=1024)) Size in MiB to wipe at start of old volumes. 1024 MiB at max. 0 => all
volume_copy_blkio_cgroup_name = cinder-volume-copy (String) The blkio cgroup name to be used to limit bandwidth of volume copy
volume_copy_bps_limit = 0 (Integer) The upper limit of bandwidth of volume copy. 0 => unlimited
volume_dd_blocksize = 1M (String) The default block size used when copying/clearing volumes
volumes_dir = $state_path/volumes (String) Volume configuration file storage directory
Description of common configuration options
Configuration option = Default value Description
allow_availability_zone_fallback = False (Boolean) If the requested Cinder availability zone is unavailable, fall back to the value of default_availability_zone, then storage_availability_zone, instead of failing.
consistencygroup_api_class = cinder.consistencygroup.api.API (String) The full class name of the consistencygroup API class
default_availability_zone = None (String) Default availability zone for new volumes. If not set, the storage_availability_zone option value is used as the default for new volumes.
default_group_type = None (String) Default group type to use
default_volume_type = None (String) Default volume type to use
enabled_backends = None (List of String) A list of backend names to use. These backend names should be backed by a unique [CONFIG] group with its options
host = localhost (HostAddress) Name of this node. This can be an opaque identifier. It is not necessarily a host name, FQDN, or IP address.
monkey_patch = False (Boolean) Enable monkey patching
monkey_patch_modules = [] (List of String) List of modules/decorators to monkey patch
my_ip = <HOST_IP_ADDRESS> (HostAddress) IP address of this host
no_snapshot_gb_quota = False (Boolean) Whether snapshots count against gigabyte quota
rootwrap_config = /etc/cinder/rootwrap.conf (String) Path to the rootwrap configuration file to use for running commands as root
scheduler_manager = cinder.scheduler.manager.SchedulerManager (String) Full class name for the Manager for scheduler
service_down_time = 60 (Integer) Maximum time since last check-in for a service to be considered up
split_loggers = False (Boolean) Log requests to multiple loggers.
storage_availability_zone = nova (String) Availability zone of this node. Can be overridden per volume backend with the option “backend_availability_zone”.
transfer_api_class = cinder.transfer.api.API (String) The full class name of the volume transfer API class
volume_manager = cinder.volume.manager.VolumeManager (String) Full class name for the Manager for volume
volume_usage_audit_period = month (String) Time period for which to generate volume usages. The options are hour, day, month, or year.
Description of [profiler] configuration options
Configuration option = Default value Description
connection_string = messaging:// (String) Connection string for a notifier backend. Default value is messaging:// which sets the notifier to oslo_messaging. Examples of possible values: * messaging:// - use oslo_messaging driver for sending spans. * redis://127.0.0.1:6379 - use redis driver for sending spans. * mongodb://127.0.0.1:27017 - use mongodb driver for sending spans. * elasticsearch://127.0.0.1:9200 - use elasticsearch driver for sending spans. * jaeger://127.0.0.1:6831 - use jaeger tracing as driver for sending spans.
enabled = False (Boolean) Enable the profiling for all services on this node. Default value is False (fully disable the profiling feature). Possible values: * True: Enables the feature * False: Disables the feature. The profiling cannot be started via this project operations. If the profiling is triggered by another project, this project part will be empty.
es_doc_type = notification (String) Document type for notification indexing in elasticsearch.
es_scroll_size = 10000 (Integer) Elasticsearch splits large requests in batches. This parameter defines maximum size of each batch (for example: es_scroll_size=10000).
es_scroll_time = 2m (String) This parameter is a time value parameter (for example: es_scroll_time=2m), indicating for how long the nodes that participate in the search will maintain relevant resources in order to continue and support it.
filter_error_trace = False (Boolean) Enable filter traces that contain error/exception to a separated place. Default value is set to False. Possible values: * True: Enable filter traces that contain error/exception. * False: Disable the filter.
hmac_keys = SECRET_KEY (String) Secret key(s) to use for encrypting context data for performance profiling. This string value should have the following format: <key1>[,<key2>,…<keyn>], where each key is some random string. A user who triggers the profiling via the REST API has to set one of these keys in the headers of the REST API call to include profiling results of this node for this particular project. Both “enabled” flag and “hmac_keys” config options should be set to enable profiling. Also, to generate correct profiling information across all services at least one key needs to be consistent between OpenStack projects. This ensures it can be used from client side to generate the trace, containing information from all possible resources.
sentinel_service_name = mymaster (String) Redissentinel uses a service name to identify a master redis service. This parameter defines the name (for example: sentinal_service_name=mymaster).
socket_timeout = 0.1 (Float) Redissentinel provides a timeout option on the connections. This parameter defines that timeout (for example: socket_timeout=0.1).
trace_sqlalchemy = False (Boolean) Enable SQL requests profiling in services. Default value is False (SQL requests won’t be traced). Possible values: * True: Enables SQL requests profiling. Each SQL query will be part of the trace and can the be analyzed by how much time was spent for that. * False: Disables SQL requests profiling. The spent time is only shown on a higher level of operations. Single SQL queries cannot be analyzed this way.
Description of quota configuration options
Configuration option = Default value Description
max_age = 0 (Integer) Number of seconds between subsequent usage refreshes
per_volume_size_limit = -1 (Integer) Max size allowed per volume, in gigabytes
quota_backup_gigabytes = 1000 (Integer) Total amount of storage, in gigabytes, allowed for backups per project
quota_backups = 10 (Integer) Number of volume backups allowed per project
quota_consistencygroups = 10 (Integer) Number of consistencygroups allowed per project
quota_driver = cinder.quota.DbQuotaDriver (String) Default driver to use for quota checks
quota_gigabytes = 1000 (Integer) Total amount of storage, in gigabytes, allowed for volumes and snapshots per project
quota_groups = 10 (Integer) Number of groups allowed per project
quota_snapshots = 10 (Integer) Number of volume snapshots allowed per project
quota_volumes = 10 (Integer) Number of volumes allowed per project
reservation_clean_interval = $reservation_expire (Integer) Interval between periodic task runs to clean expired reservations in seconds.
reservation_expire = 86400 (Integer) Number of seconds until a reservation expires
until_refresh = 0 (Integer) Count of reservations until usage is refreshed
use_default_quota_class = True (Boolean) Enables or disables use of default quota class with default quota.
Description of SAN configuration options
Configuration option = Default value Description
san_api_port = None (Port(min=0, max=65535)) Port to use to access the SAN API
san_clustername = <> (String) Cluster name to use for creating volumes
san_ip = <> (String) IP address of SAN controller
san_is_local = False (Boolean) Execute commands locally instead of over SSH; use if the volume service is running on the SAN device
san_login = admin (String) Username for SAN controller
san_password = <> (String) Password for SAN controller
san_private_key = <> (String) Filename of private key to use for SSH authentication
san_ssh_port = 22 (Port(min=0, max=65535)) SSH port to use with SAN
san_thin_provision = True (Boolean) Use thin provisioning for SAN volumes?
ssh_conn_timeout = 30 (Integer) SSH connection timeout in seconds
ssh_max_pool_conn = 5 (Integer) Maximum ssh connections in the pool
ssh_min_pool_conn = 1 (Integer) Minimum ssh connections in the pool
Description of iSER volume driver configuration options
Configuration option = Default value Description
iser_helper = tgtadm (String) The name of the iSER target user-land tool to use
iser_ip_address = $my_ip (String) The IP address that the iSER daemon is listening on
iser_port = 3260 (Port(min=0, max=65535)) The port that the iSER daemon is listening on
iser_target_prefix = iqn.2010-10.org.openstack: (String) Prefix for iSER volumes
num_iser_scan_tries = 3 (Integer) The maximum number of times to rescan iSER target to find volume
Description of NVMET volume driver configuration options
Configuration option = Default value Description
nvmet_ns_id = 10 (Integer) The namespace id associated with the subsystem that will be created with the path for the LVM volume.
nvmet_port_id = 1 (Port(min=0, max=65535)) The port that the NVMe target is listening on.
Description of SCST volume driver configuration options
Configuration option = Default value Description
scst_target_driver = iscsi (String) SCST target implementation can choose from multiple SCST target drivers.
scst_target_iqn_name = None (String) Certain ISCSI targets have predefined target names, SCST target driver uses this name.
Description of zones configuration options
Configuration option = Default value Description
cloned_volume_same_az = True (Boolean) Ensure that the new volumes are the same AZ as snapshot or source volume
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.