# 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 VxFlexOS backend parameters: CinderEnableVxFlexOSBackend: type: boolean default: true CinderVxFlexOSBackendName: type: string default: 'tripleo_dellemc_VxFlexOS' CinderVxFlexOSAvailabilityZone: default: '' description: > The availability zone of the VxFlexOS Cinder backend. When set, it overrides the default CinderStorageAvailabilityZone. type: string CinderVxFlexOSSanIp: type: string description: VxFlexOS Gateway server IP CinderVxFlexOSSanLogin: type: string description: VxFlexOS user credentials. CinderVxFlexOSSanPassword: type: string hidden: true description: VxFlexOS user password. CinderVxFlexOSStoragePools: type: string 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 CinderVxFlexOSAllowMigrationDuringRebuild: type: boolean default: false description: Allow volume migration during rebuild. CinderVxFlexOSAllowNonPaddedVolumes: 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. CinderVxFlexOSMaxOverSubscriptionRatio: type: number default: 10.0 description: Maximum value allowed is 10.0. CinderVxFlexOSRestServerPort: type: number default: 443 description: (Port(min=0, max=65535)) VxFlexOS Gateway REST server port. CinderVxFlexOSRoundVolumeCapacity: type: boolean default: true description: > Round volume sizes up to 8GB boundaries. VxFlex OS requires volumes to be sized in multiples of 8GB. If set to False, volume creation will fail for volumes not sized properly. CinderVxFlexOSServerApiVersion: type: string default: '' description: VxFlexOS API version. CinderVxFlexOSUnmapVolumeBeforeDeletion: type: boolean default: false description: Unmap volumes before deletion. CinderVxFlexOSSanThinProvision: type: boolean default: true description: Wheater to use thin provisioning or not. CinderVxFlexOSDriverSSLCertVerify: type: boolean default: false description: Verify the server certificate. CinderVxFlexOSDriverSSLCertPath: type: string default: '' description: Server certificate path. 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 DefaultPasswords: default: {} 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 VxFlexOS backend. value: service_name: cinder_backend_vxflexos config_settings: map_merge: - tripleo::profile::base::cinder::volume::cinder_enable_VxFlexOS_backend: {get_param: CinderEnableVxFlexOSBackend} cinder::backend::dellemc_vxflexos::volume_backend_name: {get_param: CinderVxFlexOSBackendName} cinder::backend::dellemc_vxflexos::san_login: {get_param: CinderVxFlexOSSanLogin} cinder::backend::dellemc_vxflexos::san_password: {get_param: CinderVxFlexOSSanPassword} cinder::backend::dellemc_vxflexos::san_ip: {get_param: CinderVxFlexOSSanIp} cinder::backend::dellemc_vxflexos::vxflexos_storage_pools: {get_param: CinderVxFlexOSStoragePools} cinder::backend::dellemc_vxflexos::vxflexos_allow_migration_during_rebuild: {get_param: CinderVxFlexOSAllowMigrationDuringRebuild} cinder::backend::dellemc_vxflexos::vxflexos_allow_non_padded_volumes: {get_param: CinderVxFlexOSAllowNonPaddedVolumes} cinder::backend::dellemc_vxflexos::vxflexos_max_over_subscription_ratio: {get_param: CinderVxFlexOSMaxOverSubscriptionRatio} cinder::backend::dellemc_vxflexos::vxflexos_rest_server_port: {get_param: CinderVxFlexOSRestServerPort} cinder::backend::dellemc_vxflexos::vxflexos_round_volume_capacity: {get_param: CinderVxFlexOSRoundVolumeCapacity} cinder::backend::dellemc_vxflexos::vxflexos_server_api_version: {get_param: CinderVxFlexOSRoundVolumeCapacity} cinder::backend::dellemc_vxflexos::vxflexos_unmap_volume_before_deletion: {get_param: CinderVxFlexOSUnmapVolumeBeforeDeletion} cinder::backend::dellemc_vxflexos::san_thin_provision: {get_param: CinderVxFlexOSSanThinProvision} cinder::backend::dellemc_vxflexos::driver_ssl_cert_verify: {get_param: CinderVxFlexOSDriverSSLCertVerify} cinder::backend::dellemc_vxflexos::driver_ssl_cert_path: {get_param: CinderVxFlexOSDriverSSLCertPath} - if: - {equals : [{get_param: CinderVxFlexOSAvailabilityZone}, '']} - {} - cinder::backend::dellemc_vxflexos::backend_availability_zone: {get_param: CinderVxFlexOSAvailabilityZone}