tripleo-heat-templates/deployment/cinder/cinder-backend-dellemc-xtremio-puppet.yaml
Ivan Pchelintsev e0adf10564 Add ports filtering support to XtremIO Cinder driver
If there are some iSCSI or FC targets (ESXi for example) that
are not connected to the OpenStack host,
attach volume operation waits until timeout.
The XtremIO Cinder driver needs a new option to support ports
filtering.

Depends-On: https://review.opendev.org/#/c/776264
Related-Bug: #1915800
Change-Id: Ib689f08e414f3a10d18ed34932f8a314be7a7344
2021-02-18 12:51:23 +00:00

123 lines
5.0 KiB
YAML

# Copyright (c) 2020 Dell Inc, or its subsidiaries.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
heat_template_version: rocky
description: >
Openstack Cinder Dell EMC Xtremio backend
parameters:
CinderEnableXtremioBackend:
type: boolean
default: true
CinderXtremioBackendName:
type: comma_delimited_list
default: tripleo_dellemc_xtremio
description: A backend name or list of names for multiple configuration.
CinderXtremioMultiConfig:
type: json
default: {}
description: >
Dictionary of settings when configuring multiple Xtremio backends. The
hash key is the backend name, and the value is a dictionary of parameter
values unique to that backend.
CinderXtremioAvailabilityZone:
default: ''
description: >
The availability zone of the Dell EMC XtremeIO Cinder backend.
When set, it overrides the default CinderStorageAvailabilityZone.
type: string
CinderXtremioSanIp:
type: string
CinderXtremioSanLogin:
type: string
default: admin
CinderXtremioSanPassword:
type: string
hidden: true
CinderXtremioClusterName:
type: string
CinderXtremioArrayBusyRetryCount:
type: number
default: 5
CinderXtremioArrayBusyRetryInterval:
type: number
default: 5
CinderXtremioVolumesPerGlanceCache:
type: number
default: 100
description: Number of volumes created from each cached glance image.
This is for image service optimisation. Limit the number
of copies (Xtremio snapshots) taken from each image cache.
A value of 0 ignores the limit and defers to the array
maximum as the effective limit.
CinderXtremioStorageProtocol:
type: string
default: 'iSCSI'
constraints:
- allowed_values: [ 'iSCSI', 'FC']
CinderXtremioPorts:
type: string
default: ''
description: Allowed ports. Comma separated list of XtremIO
iSCSI IPs or FC WWNs (ex. 58:cc:f0:98:49:22:07:02)
to be used. If option is not set all ports are allowed.
ServiceData:
default: {}
description: Dictionary packing service data
type: json
ServiceNetMap:
default: {}
description: Mapping of service_name -> network name. Typically set
via parameter_defaults in the resource registry. This
mapping overrides those in ServiceNetMapDefaults.
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
type: json
EndpointMap:
default: {}
type: json
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
outputs:
role_data:
description: Role data for the Cinder Dell EMC XTREMIO backend.
value:
service_name: cinder_backend_dellemc_xtremio
config_settings:
map_merge:
- tripleo::profile::base::cinder::volume::cinder_enable_dellemc_xtremio_backend: {get_param: CinderEnableXtremioBackend}
cinder::backend::dellemc_xtremio::volume_backend_name: {get_param: CinderXtremioBackendName}
cinder::backend::dellemc_xtremio::volume_multi_config: {get_param: CinderXtremioMultiConfig}
cinder::backend::dellemc_xtremio::san_ip: {get_param: CinderXtremioSanIp}
cinder::backend::dellemc_xtremio::san_login: {get_param: CinderXtremioSanLogin}
cinder::backend::dellemc_xtremio::san_password: {get_param: CinderXtremioSanPassword}
cinder::backend::dellemc_xtremio::xtremio_cluster_name: {get_param: CinderXtremioClusterName}
cinder::backend::dellemc_xtremio::xtremio_array_busy_retry_count: {get_param: CinderXtremioArrayBusyRetryCount}
cinder::backend::dellemc_xtremio::xtremio_array_busy_retry_interval: {get_param: CinderXtremioArrayBusyRetryInterval}
cinder::backend::dellemc_xtremio::xtremio_volumes_per_glance_cache: {get_param: CinderXtremioVolumesPerGlanceCache}
cinder::backend::dellemc_xtremio::xtremio_storage_protocol: {get_param: CinderXtremioStorageProtocol}
cinder::backend::dellemc_xtremio::xtremio_ports: {get_param: CinderXtremioPorts}
-
if:
- {equals : [{get_param: CinderXtremioAvailabilityZone}, '']}
- {}
- cinder::backend::dellemc_xtremio::backend_availability_zone: {get_param: CinderXtremioAvailabilityZone}