# 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: wallaby 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: - not: {equals : [{get_param: CinderXtremioAvailabilityZone}, '']} - cinder::backend::dellemc_xtremio::backend_availability_zone: {get_param: CinderXtremioAvailabilityZone}