Files
tripleo-heat-templates/puppet/extraconfig/pre_deploy/controller/cinder-netapp.yaml
Steve Baker 1733d74392 Set the name property for all deployment resources
There are two reasons the name property should always be set for deployment
resources:
- The name often shows up in logs, files and API calls, the default
  derived name is long and unhelpful
- Sorting by name determines the merge order of os-apply-config, and the
  execution order of puppet/shell scripts (note this is different to
  resource dependency order) so leaving the default name results in an
  undetermined order which could lead to unpredictable deployment of
  configs

This change simply sets the name to the resource name, but a future change
should prepend each name with a run-parts style 2 digit prefix so that the
order is explicitly stated. Documentation for extraconfig needs to clearly
state what prefix is needed to override which merge/execution order.

For existing overcloud stacks, heat currently replaces deployment resources
when the name changes, so this change
Depends-On: I95037191915ccd32b2efb72203b146897a4edbc9

Change-Id: Ic4bcd56aa65b981275c3d4214588bfc4de63b3b0
2015-12-10 14:48:04 +13:00

149 lines
5.9 KiB
YAML

heat_template_version: 2015-04-30
description: Configure hieradata for Cinder Netapp configuration
parameters:
server:
description: ID of the controller node to apply this config to
type: string
# Config specific parameters, to be provided via parameter_defaults
CinderEnableNetappBackend:
type: boolean
default: true
CinderNetappBackendName:
type: string
default: 'tripleo_netapp'
CinderNetappLogin:
type: string
CinderNetappPassword:
type: string
hidden: true
CinderNetappServerHostname:
type: string
CinderNetappServerPort:
type: string
default: '80'
CinderNetappSizeMultiplier:
type: string
default: '1.2'
CinderNetappStorageFamily:
type: string
default: 'ontap_cluster'
CinderNetappStorageProtocol:
type: string
default: 'nfs'
CinderNetappTransportType:
type: string
default: 'http'
CinderNetappVfiler:
type: string
default: ''
CinderNetappVolumeList:
type: string
default: ''
CinderNetappVserver:
type: string
default: ''
CinderNetappPartnerBackendName:
type: string
default: ''
CinderNetappNfsShares:
type: string
default: ''
CinderNetappNfsSharesConfig:
type: string
default: '/etc/cinder/shares.conf'
CinderNetappNfsMountOptions:
type: string
default: ''
CinderNetappCopyOffloadToolPath:
type: string
default: ''
CinderNetappControllerIps:
type: string
default: ''
CinderNetappSaPassword:
type: string
default: ''
hidden: true
CinderNetappStoragePools:
type: string
default: ''
CinderNetappEseriesHostType:
type: string
default: 'linux_dm_mp'
CinderNetappWebservicePath:
type: string
default: '/devmgr/v2'
resources:
CinderNetappConfig:
type: OS::Heat::StructuredConfig
properties:
group: os-apply-config
config:
hiera:
datafiles:
cinder_netapp_data:
mapped_data:
cinder_enable_netapp_backend: {get_input: EnableNetappBackend}
cinder::backend::netapp::title: {get_input: NetappBackendName}
cinder::backend::netapp::netapp_login: {get_input: NetappLogin}
cinder::backend::netapp::netapp_password: {get_input: NetappPassword}
cinder::backend::netapp::netapp_server_hostname: {get_input: NetappServerHostname}
cinder::backend::netapp::netapp_server_port: {get_input: NetappServerPort}
cinder::backend::netapp::netapp_size_multiplier: {get_input: NetappSizeMultiplier}
cinder::backend::netapp::netapp_storage_family: {get_input: NetappStorageFamily}
cinder::backend::netapp::netapp_storage_protocol: {get_input: NetappStorageProtocol}
cinder::backend::netapp::netapp_transport_type: {get_input: NetappTransportType}
cinder::backend::netapp::netapp_vfiler: {get_input: NetappVfiler}
cinder::backend::netapp::netapp_volume_list: {get_input: NetappVolumeList}
cinder::backend::netapp::netapp_vserver: {get_input: NetappVserver}
cinder::backend::netapp::netapp_partner_backend_name: {get_input: NetappPartnerBackendName}
cinder::backend::netapp::nfs_shares: {get_input: NetappNfsShares}
cinder::backend::netapp::nfs_shares_config: {get_input: NetappNfsSharesConfig}
cinder::backend::netapp::nfs_mount_options: {get_input: NetappNfsMountOptions}
cinder::backend::netapp::netapp_copyoffload_tool_path: {get_input: NetappCopyOffloadToolPath}
cinder::backend::netapp::netapp_controller_ips: {get_input: NetappControllerIps}
cinder::backend::netapp::netapp_sa_password: {get_input: NetappSaPassword}
cinder::backend::netapp::netapp_storage_pools: {get_input: NetappStoragePools}
cinder::backend::netapp::netapp_eseries_host_type: {get_input: NetappEseriesHostType}
cinder::backend::netapp::netapp_webservice_path: {get_input: NetappWebservicePath}
CinderNetappDeployment:
type: OS::Heat::StructuredDeployment
properties:
name: CinderNetappDeployment
config: {get_resource: CinderNetappConfig}
server: {get_param: server}
input_values:
EnableNetappBackend: {get_param: CinderEnableNetappBackend}
NetappBackendName: {get_param: CinderNetappBackendName}
NetappLogin: {get_param: CinderNetappLogin}
NetappPassword: {get_param: CinderNetappPassword}
NetappServerHostname: {get_param: CinderNetappServerHostname}
NetappServerPort: {get_param: CinderNetappServerPort}
NetappSizeMultiplier: {get_param: CinderNetappSizeMultiplier}
NetappStorageFamily: {get_param: CinderNetappStorageFamily}
NetappStorageProtocol: {get_param: CinderNetappStorageProtocol}
NetappTransportType: {get_param: CinderNetappTransportType}
NetappVfiler: {get_param: CinderNetappVfiler}
NetappVolumeList: {get_param: CinderNetappVolumeList}
NetappVserver: {get_param: CinderNetappVserver}
NetappPartnerBackendName: {get_param: CinderNetappPartnerBackendName}
NetappNfsShares: {get_param: CinderNetappNfsShares}
NetappNfsSharesConfig: {get_param: CinderNetappNfsSharesConfig}
NetappNfsMountOptions: {get_param: CinderNetappNfsMountOptions}
NetappCopyOffloadToolPath: {get_param: CinderNetappCopyOffloadToolPath}
NetappControllerIps: {get_param: CinderNetappControllerIps}
NetappSaPassword: {get_param: CinderNetappSaPassword}
NetappStoragePools: {get_param: CinderNetappStoragePools}
NetappEseriesHostType: {get_param: CinderNetappEseriesHostType}
NetappWebservicePath: {get_param: CinderNetappWebservicePath}
outputs:
deploy_stdout:
description: Deployment reference, used to trigger puppet apply on changes
value: {get_attr: [CinderNetappDeployment, deploy_stdout]}