tripleo-heat-templates/puppet/services/cinder-backend-dellemc-vnx.yaml
Alan Bishop dc2d0de810 Add parameters for cinder storage availability zones
Add CinderStorageAvailabilityZone parameter that configures
cinder's DEFAULT/storage_availability_zone. The default value
of 'nova' matches cinder's own default value.

Add several CinderXXXAvailabilityZone parameters, where XXX is
any of the cinder volume service's storage backends. The
parameters are optional, and when set they override the
"backend_availability_zone" for the corresponding backend.

Implements: blueprint split-controlplane-cinder-volume-az
Depends-On: Ic407b747474b567858ad36beabc8a7d8c5022343
Change-Id: Idb035bf112cbab41547bd89935df4c175bf665f4
2018-10-23 09:18:53 -04:00

117 lines
4.4 KiB
YAML

# Copyright (c) 2016-2018 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 VNX backend
parameters:
CinderEnableDellEMCVNXBackend:
type: boolean
default: true
CinderDellEMCVNXBackendName:
type: string
default: tripleo_dellemc_vnx
CinderDellEMCVNXAvailabilityZone:
default: ''
description: >
The availability zone of the Dell EMC VNX Cinder backend.
When set, it overrides the default CinderStorageAvailabilityZone.
type: string
CinderDellEMCVNXSanIp:
type: string
CinderDellEMCVNXSanLogin:
type: string
default: admin
CinderDellEMCVNXSanPassword:
type: string
hidden: true
default: ''
CinderDellEMCVNXStorageProtocol:
type: string
default: iscsi
CinderDellEMCVNXStoragePoolNames:
type: comma_delimited_list
default: ''
CinderDellEMCVNXDefaultTimeout:
type: number
default: 3600
CinderDellEMCVNXMaxLunsPerStorageGroup:
type: number
default: 255
CinderDellEMCVNXInitiatorAutoRegistration:
type: string
default: true
CinderDellEMCVNXAuthType:
type: string
default: global
CinderDellEMCVNXStorageSecurityFileDir:
type: string
default: /etc/secfile/array1
CinderDellEMCVNXNaviSecCliPath:
type: string
default: /opt/Navisphere/bin/naviseccli
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 VNX backend.
value:
service_name: cinder_backend_dellemc_vnx
config_settings:
map_merge:
- tripleo::profile::base::cinder::volume::cinder_enable_dellemc_vnx_backend: {get_param: CinderEnableDellEMCVNXBackend}
cinder::backend::emc_vnx::volume_backend_name: {get_param: CinderDellEMCVNXBackendName}
cinder::backend::emc_vnx::san_ip: {get_param: CinderDellEMCVNXSanIp}
cinder::backend::emc_vnx::san_login: {get_param: CinderDellEMCVNXSanLogin}
cinder::backend::emc_vnx::san_password: {get_param: CinderDellEMCVNXSanPassword}
cinder::backend::emc_vnx::storage_protocol: {get_param: CinderDellEMCVNXStorageProtocol}
cinder::backend::emc_vnx::storage_vnx_pool_names: {get_param: CinderDellEMCVNXStoragePoolNames}
cinder::backend::emc_vnx::default_timeout: {get_param: CinderDellEMCVNXDefaultTimeout}
cinder::backend::emc_vnx::max_luns_per_storage_group: {get_param: CinderDellEMCVNXMaxLunsPerStorageGroup}
cinder::backend::emc_vnx::initiator_auto_registration: {get_param: CinderDellEMCVNXInitiatorAutoRegistration}
cinder::backend::emc_vnx::storage_vnx_auth_type: {get_param: CinderDellEMCVNXAuthType}
cinder::backend::emc_vnx::storage_vnx_security_file_dir: {get_param: CinderDellEMCVNXStorageSecurityFileDir}
cinder::backend::emc_vnx::naviseccli_path: {get_param: CinderDellEMCVNXNaviSecCliPath}
-
if:
- {equals : [{get_param: CinderDellEMCVNXAvailabilityZone}, '']}
- {}
- cinder::backend::emc_vnx::backend_availability_zone: {get_param: CinderDellEMCVNXAvailabilityZone}