# 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 PowerFlex backend parameters: CinderEnablePowerFlexBackend: type: boolean default: true CinderPowerFlexBackendName: type: string default: 'tripleo_dellemc_PowerFlex' CinderPowerFlexAvailabilityZone: type: string default: '' description: > The availability zone of the PowerFlex Cinder backend. When set, it overrides the default CinderStorageAvailabilityZone. CinderPowerFlexSanIp: type: string description: PowerFlex Gateway server IP CinderPowerFlexSanLogin: type: string description: PowerFlex user credentials. CinderPowerFlexSanPassword: type: string hidden: true description: PowerFlex user password. CinderPowerFlexStoragePools: type: comma_delimited_list description: > Storage Pools. Comma separated list of storage pools used to provide volumes. Each pool should be specified as a protection_domain_name:storage_pool_name value CinderPowerFlexAllowMigrationDuringRebuild: type: boolean default: false description: Allow volume migration during rebuild. CinderPowerFlexAllowNonPaddedVolumes: type: boolean default: false description: > Allow volumes to be created in Storage Pools when zero padding is disabled. This option should not be enabled if multiple tenants will utilize volumes from a shared Storage Pool. CinderPowerFlexMaxOverSubscriptionRatio: type: number default: 10.0 description: Maximum value allowed is 10.0. CinderPowerFlexRestServerPort: type: number default: 443 description: (Port(min=0, max=65535)) PowerFlex Gateway REST server port. CinderPowerFlexRoundVolumeCapacity: type: boolean default: true description: > Round volume sizes up to 8GB boundaries. PowerFlex requires volumes to be sized in multiples of 8GB. If set to False, volume creation will fail for volumes not sized properly. CinderPowerFlexServerApiVersion: type: string default: '' description: PowerFlex API version. This value should be left as the default value unless otherwise instructed by technical support. CinderPowerFlexUnmapVolumeBeforeDeletion: type: boolean default: false description: Unmap volumes before deletion. CinderPowerFlexSanThinProvision: type: boolean default: true description: Whether to use thin provisioning or not. CinderPowerFlexDriverSSLCertVerify: type: boolean default: false description: Verify the server certificate. CinderPowerFlexDriverSSLCertPath: type: string default: '' description: Server certificate path. ServiceData: type: json default: {} description: Dictionary packing service data ServiceNetMap: type: json default: {} description: Mapping of service_name -> network name. Typically set via parameter_defaults in the resource registry. This mapping overrides those in ServiceNetMapDefaults. DefaultPasswords: type: json default: {} RoleName: type: string default: '' description: Role name on which the service is applied RoleParameters: type: json default: {} description: Parameters specific to the role EndpointMap: type: json default: {} 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 PowerFlex backend. value: service_name: cinder_backend_powerflex config_settings: map_merge: - tripleo::profile::base::cinder::volume::cinder_enable_dellemc_powerflex_backend: {get_param: CinderEnablePowerFlexBackend} cinder::backend::dellemc_powerflex::volume_backend_name: {get_param: CinderPowerFlexBackendName} cinder::backend::dellemc_powerflex::san_login: {get_param: CinderPowerFlexSanLogin} cinder::backend::dellemc_powerflex::san_password: {get_param: CinderPowerFlexSanPassword} cinder::backend::dellemc_powerflex::san_ip: {get_param: CinderPowerFlexSanIp} cinder::backend::dellemc_powerflex::powerflex_storage_pools: {get_param: CinderPowerFlexStoragePools} cinder::backend::dellemc_powerflex::powerflex_allow_migration_during_rebuild: {get_param: CinderPowerFlexAllowMigrationDuringRebuild} cinder::backend::dellemc_powerflex::powerflex_allow_non_padded_volumes: {get_param: CinderPowerFlexAllowNonPaddedVolumes} cinder::backend::dellemc_powerflex::powerflex_max_over_subscription_ratio: {get_param: CinderPowerFlexMaxOverSubscriptionRatio} cinder::backend::dellemc_powerflex::powerflex_rest_server_port: {get_param: CinderPowerFlexRestServerPort} cinder::backend::dellemc_powerflex::powerflex_round_volume_capacity: {get_param: CinderPowerFlexRoundVolumeCapacity} cinder::backend::dellemc_powerflex::powerflex_server_api_version: {get_param: CinderPowerFlexRoundVolumeCapacity} cinder::backend::dellemc_powerflex::powerflex_unmap_volume_before_deletion: {get_param: CinderPowerFlexUnmapVolumeBeforeDeletion} cinder::backend::dellemc_powerflex::san_thin_provision: {get_param: CinderPowerFlexSanThinProvision} cinder::backend::dellemc_powerflex::driver_ssl_cert_verify: {get_param: CinderPowerFlexDriverSSLCertVerify} cinder::backend::dellemc_powerflex::driver_ssl_cert_path: {get_param: CinderPowerFlexDriverSSLCertPath} - if: - {equals : [{get_param: CinderPowerFlexAvailabilityZone}, '']} - {} - cinder::backend::dellemc_powerflex::backend_availability_zone: {get_param: CinderPowerFlexAvailabilityZone}