tripleo-heat-templates/puppet/services/cinder-backend-pure.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

91 lines
3.1 KiB
YAML

# Copyright (c) 2017 Pure Storage 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 Pure Storage FlashArray backend
parameters:
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.
CinderEnablePureBackend:
type: boolean
default: true
CinderPureBackendName:
type: string
default: 'tripleo_pure'
CinderPureAvailabilityZone:
default: ''
description: >
The availability zone of the Pure Storage Cinder backend.
When set, it overrides the default CinderStorageAvailabilityZone.
type: string
CinderPureStorageProtocol:
type: string
default: 'iSCSI'
CinderPureSanIp:
type: string
CinderPureAPIToken:
type: string
CinderPureUseChap:
type: boolean
default: false
CinderPureMultipathXfer:
type: boolean
default: true
outputs:
role_data:
description: Role data for the Cinder Pure Storage FlashArray backend.
value:
service_name: cinder_backend_pure
config_settings:
map_merge:
- tripleo::profile::base::cinder::volume::cinder_enable_pure_backend: {get_param: CinderEnablePureBackend}
cinder::backend::pure::volume_backend_name: {get_param: CinderPureBackendName}
cinder::backend::pure::pure_storage_protocol: {get_param: CinderPureStorageProtocol}
cinder::backend::pure::san_ip: {get_param: CinderPureSanIp}
cinder::backend::pure::pure_api_token: {get_input: PureAPIToken}
cinder::backend::pure::use_chap_auth: {get_input: PureUseChap}
cinder::backend::pure::use_multipath_for_image_xfer: {get_input: PureMultipathXfer}
-
if:
- {equals : [{get_param: CinderPureAvailabilityZone}, '']}
- {}
- cinder::backend::pure::backend_availability_zone: {get_param: CinderPureAvailabilityZone}