# Copyright (c) 2016-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 Storage Center backend parameters: CinderEnableScBackend: type: boolean default: true CinderScBackendName: type: comma_delimited_list default: 'tripleo_dellemc_sc' description: A list of Cinder SC Storage backend names. CinderScMultiConfig: type: json default: {} description: > Dictionary of settings when configuring multiple SC backends. The hash key is the backend name, and the value is a dictionary of parameter values unique to that backend. CinderScAvailabilityZone: default: '' description: > The availability zone of the Dell SC Cinder backend. When set, it overrides the default CinderStorageAvailabilityZone. type: string CinderScSanIp: type: string CinderScSanLogin: type: string default: 'Admin' CinderScSanPassword: type: string hidden: true CinderScSsn: type: number default: 64702 CinderScIscsiIpAddress: type: string default: '' CinderScIscsiPort: type: number default: 3260 CinderScApiPort: type: number default: 3033 CinderScServerFolder: type: string default: 'dellsc_server' CinderScVolumeFolder: type: string default: 'dellsc_volume' CinderScSecondarySanIp: type: string default: '' CinderScSecondarySanLogin: type: string default: 'Admin' CinderScSecondarySanPassword: type: string hidden: true CinderScSecondaryScApiPort: type: number default: 3033 CinderScExcludedDomainIp: type: string default: '' CinderScExcludedDomainIps: type: comma_delimited_list default: [] CinderScMultipathXfer: type: boolean default: true CinderSCStorageProtocol: type: string default: 'iSCSI' constraints: - allowed_values: [ 'iSCSI', 'FC'] 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 Storage Center backend. value: service_name: cinder_backend_dellsc config_settings: map_merge: - tripleo::profile::base::cinder::volume::cinder_enable_dellsc_backend: {get_param: CinderEnableScBackend} cinder::backend::dellemc_sc::volume_backend_name: {get_param: CinderScBackendName} cinder::backend::dellemc_sc::volume_multi_config: {get_param: CinderScMultiConfig} cinder::backend::dellemc_sc::san_ip: {get_param: CinderScSanIp} cinder::backend::dellemc_sc::san_login: {get_param: CinderScSanLogin} cinder::backend::dellemc_sc::san_password: {get_param: CinderScSanPassword} cinder::backend::dellemc_sc::dell_sc_ssn: {get_param: CinderScSsn} cinder::backend::dellemc_sc::iscsi_ip_address: {get_param: CinderScIscsiIpAddress} cinder::backend::dellemc_sc::iscsi_port: {get_param: CinderScIscsiPort} cinder::backend::dellemc_sc::dell_sc_api_port: {get_param: CinderScApiPort} cinder::backend::dellemc_sc::dell_sc_server_folder: {get_param: CinderScServerFolder} cinder::backend::dellemc_sc::dell_sc_volume_folder: {get_param: CinderScVolumeFolder} cinder::backend::dellemc_sc::secondary_san_ip: {get_param: CinderScSecondarySanIp} cinder::backend::dellemc_sc::secondary_san_login: {get_param: CinderScSecondarySanLogin} cinder::backend::dellemc_sc::secondary_san_password: {get_param: CinderScSecondarySanPassword} cinder::backend::dellemc_sc::secondary_sc_api_port: {get_param: CinderScSecondaryScApiPort} cinder::backend::dellemc_sc::excluded_domain_ips: {get_param: CinderScExcludedDomainIps} cinder::backend::dellemc_sc::use_multipath_for_image_xfer: {get_param: CinderScMultipathXfer} cinder::backend::dellemc_sc::sc_storage_protocol: {get_param: CinderScStorageProtocol} - if: - not: {equals : [{get_param: CinderScAvailabilityZone}, '']} - cinder::backend::dellemc_sc::backend_availability_zone: {get_param: CinderScAvailabilityZone}