Merge "Wire in Controller pre-deployment extraconfig"
This commit is contained in:
commit
82f04ec310
@ -1,30 +1,29 @@
|
||||
# A Heat environment file which can be used to enable a
|
||||
# a Cinder NetApp backend.
|
||||
# a Cinder NetApp backend, configured via puppet
|
||||
resource_registry:
|
||||
OS::TripleO::Controller::CinderBackend: extraconfig/controller/cinder-netapp.yaml
|
||||
OS::TripleO::ControllerExtraConfigPre: ../puppet/extraconfig/pre_deploy/controller/cinder-netapp.yaml
|
||||
|
||||
parameter_defaults:
|
||||
CinderBackendConfig:
|
||||
CinderEnableNetappBackend: false
|
||||
CinderNetappBackendName: 'tripleo_netapp'
|
||||
CinderNetappLogin: ''
|
||||
CinderNetappPassword: ''
|
||||
CinderNetappServerHostname: ''
|
||||
CinderNetappServerPort: '80'
|
||||
CinderNetappSizeMultiplier: '1.2'
|
||||
CinderNetappStorageFamily: 'ontap_cluster'
|
||||
CinderNetappStorageProtocol: 'nfs'
|
||||
CinderNetappTransportType: 'http'
|
||||
CinderNetappVfiler: ''
|
||||
CinderNetappVolumeList: ''
|
||||
CinderNetappVserver: ''
|
||||
CinderNetappPartnerBackendName: ''
|
||||
CinderNetappNfsShares: ''
|
||||
CinderNetappNfsSharesConfig: '/etc/cinder/shares.conf'
|
||||
CinderNetappNfsMountOptions: ''
|
||||
CinderNetappCopyOffloadToolPath: ''
|
||||
CinderNetappControllerIps: ''
|
||||
CinderNetappSaPassword: ''
|
||||
CinderNetappStoragePools: ''
|
||||
CinderNetappEseriesHostType: 'linux_dm_mp'
|
||||
CinderNetappWebservicePath: '/devmgr/v2'
|
||||
CinderEnableNetappBackend: false
|
||||
CinderNetappBackendName: 'tripleo_netapp'
|
||||
CinderNetappLogin: ''
|
||||
CinderNetappPassword: ''
|
||||
CinderNetappServerHostname: ''
|
||||
CinderNetappServerPort: '80'
|
||||
CinderNetappSizeMultiplier: '1.2'
|
||||
CinderNetappStorageFamily: 'ontap_cluster'
|
||||
CinderNetappStorageProtocol: 'nfs'
|
||||
CinderNetappTransportType: 'http'
|
||||
CinderNetappVfiler: ''
|
||||
CinderNetappVolumeList: ''
|
||||
CinderNetappVserver: ''
|
||||
CinderNetappPartnerBackendName: ''
|
||||
CinderNetappNfsShares: ''
|
||||
CinderNetappNfsSharesConfig: '/etc/cinder/shares.conf'
|
||||
CinderNetappNfsMountOptions: ''
|
||||
CinderNetappCopyOffloadToolPath: ''
|
||||
CinderNetappControllerIps: ''
|
||||
CinderNetappSaPassword: ''
|
||||
CinderNetappStoragePools: ''
|
||||
CinderNetappEseriesHostType: 'linux_dm_mp'
|
||||
CinderNetappWebservicePath: '/devmgr/v2'
|
||||
|
@ -1,38 +0,0 @@
|
||||
heat_template_version: 2015-04-30
|
||||
|
||||
description: >
|
||||
Configure hieradata for Cinder Netapp configuration
|
||||
|
||||
resources:
|
||||
CinderNetappConfig:
|
||||
type: OS::Heat::StructuredConfig
|
||||
properties:
|
||||
group: os-apply-config
|
||||
config:
|
||||
hiera:
|
||||
datafiles:
|
||||
cinder_netapp_data:
|
||||
mapped_data:
|
||||
cinder_enable_netapp_backend: {get_param: CinderEnableNetappBackend}
|
||||
cinder::backend::netapp::title: {get_param: CinderNetappBackendName}
|
||||
cinder::backend::netapp::netapp_login: {get_param: CinderNetappLogin}
|
||||
cinder::backend::netapp::netapp_password: {get_param: CinderNetappPassword}
|
||||
cinder::backend::netapp::netapp_hostname: {get_param: CinderNetappServerHostname}
|
||||
cinder::backend::netapp::netapp_server_port: {get_param: CinderNetappServerPort}
|
||||
cinder::backend::netapp::netapp_size_multiplier: {get_param: CinderNetappSizeMultiplier}
|
||||
cinder::backend::netapp::netapp_storage_family: {get_param: CinderNetappStorageFamily}
|
||||
cinder::backend::netapp::netapp_storage_protocol: {get_param: CinderNetappStorageProtocol}
|
||||
cinder::backend::netapp::netapp_transport_type: {get_param: CinderNetappTransportType}
|
||||
cinder::backend::netapp::netapp_vfiler: {get_param: CinderNetappVfiler}
|
||||
cinder::backend::netapp::netapp_volume_list: {get_param: CinderNetappVolumeList}
|
||||
cinder::backend::netapp::netapp_vserver: {get_param: CinderNetappVserver}
|
||||
cinder::backend::netapp::netapp_partner_backend_name: {get_param: CinderNetappPartnerBackendName}
|
||||
cinder::backend::netapp::nfs_shares: {get_param: CinderNetappNfsShares}
|
||||
cinder::backend::netapp::nfs_shares_config: {get_param: CinderNetappNfsSharesConfig}
|
||||
cinder::backend::netapp::nfs_mount_options: {get_param: CinderNetappNfsMountOptions}
|
||||
cinder::backend::netapp::netapp_copyoffload_tool_path: {get_param: CinderNetappCopyOffloadToolPath}
|
||||
cinder::backend::netapp::netapp_controller_ips: {get_param: CinderNetappControllerIps}
|
||||
cinder::backend::netapp::netapp_sa_password: {get_param: CinderNetappSaPassword}
|
||||
cinder::backend::netapp::netapp_storage_pools: {get_param: CinderNetappStoragePools}
|
||||
cinder::backend::netapp::netapp_eseries_host_type: {get_param: CinderNetappEseriesHostType}
|
||||
cinder::backend::netapp::netapp_webservice_path: {get_param: CinderNetappWebservicePath}
|
@ -1,3 +0,0 @@
|
||||
heat_template_version: 2015-04-30
|
||||
|
||||
description: A stack which doesn't configure anything.
|
2
extraconfig/post_deploy/README
Normal file
2
extraconfig/post_deploy/README
Normal file
@ -0,0 +1,2 @@
|
||||
This tree contains additional configuration which happens "post deployment",
|
||||
e.g after the OpenStack service configuration has been completed.
|
@ -21,10 +21,16 @@ resource_registry:
|
||||
OS::TripleO::CephClusterConfig::SoftwareConfig: puppet/ceph-cluster-config.yaml
|
||||
OS::TripleO::AllNodes::SoftwareConfig: puppet/all-nodes-config.yaml
|
||||
OS::TripleO::BootstrapNode::SoftwareConfig: puppet/bootstrap-config.yaml
|
||||
OS::TripleO::NodeUserData: firstboot/userdata_default.yaml
|
||||
OS::TripleO::NodeExtraConfigPost: extraconfig/post_deploy/default.yaml
|
||||
OS::TripleO::Tasks::PackageUpdate: extraconfig/tasks/yum_update.yaml
|
||||
|
||||
# Hooks for operator extra config
|
||||
# NodeUserData == Cloud-init additional user-data, e.g cloud-config
|
||||
# ControllerExtraConfigPre == Controller configuration pre service deployment
|
||||
# NodeExtraConfigPost == All nodes configuration post service deployment
|
||||
OS::TripleO::NodeUserData: firstboot/userdata_default.yaml
|
||||
OS::TripleO::ControllerExtraConfigPre: puppet/extraconfig/pre_deploy/default.yaml
|
||||
OS::TripleO::NodeExtraConfigPost: extraconfig/post_deploy/default.yaml
|
||||
|
||||
# TripleO overcloud networks
|
||||
OS::TripleO::Network: network/networks.yaml
|
||||
OS::TripleO::VipConfig: puppet/vip-config.yaml
|
||||
@ -65,9 +71,6 @@ resource_registry:
|
||||
OS::TripleO::BlockStorage::Ports::StoragePort: network/ports/noop.yaml
|
||||
OS::TripleO::BlockStorage::Ports::StorageMgmtPort: network/ports/noop.yaml
|
||||
|
||||
# Cinder backend config for the controller role
|
||||
OS::TripleO::Controller::CinderBackend: extraconfig/controller/noop.yaml
|
||||
|
||||
# Port assignments for service virtual IPs for the controller role
|
||||
OS::TripleO::Controller::Ports::RedisVipPort: network/ports/ctlplane_vip.yaml
|
||||
|
||||
|
@ -824,6 +824,7 @@ resources:
|
||||
- vip_data # provided by vip-config
|
||||
- '"%{::osfamily}"'
|
||||
- common
|
||||
- cinder_netapp_data # Optionally provided by ControllerExtraConfigPre
|
||||
datafiles:
|
||||
common:
|
||||
raw_data: {get_file: hieradata/common.yaml}
|
||||
@ -1041,6 +1042,13 @@ resources:
|
||||
tripleo::loadbalancer::public_virtual_interface: {get_input: public_virtual_interface}
|
||||
enable_package_install: {get_input: enable_package_install}
|
||||
|
||||
# Hook for site-specific additional pre-deployment config, e.g extra hieradata
|
||||
ControllerExtraConfigPre:
|
||||
depends_on: ControllerDeployment
|
||||
type: OS::TripleO::ControllerExtraConfigPre
|
||||
properties:
|
||||
server: {get_resource: Controller}
|
||||
|
||||
UpdateConfig:
|
||||
type: OS::TripleO::Tasks::PackageUpdate
|
||||
|
||||
@ -1112,4 +1120,8 @@ outputs:
|
||||
IP: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
|
||||
config_identifier:
|
||||
description: identifier which changes if the controller configuration may need re-applying
|
||||
value: {get_attr: [ControllerDeployment, deploy_stdout]}
|
||||
value:
|
||||
list_join:
|
||||
- ','
|
||||
- - {get_attr: [ControllerDeployment, deploy_stdout]}
|
||||
- {get_attr: [ControllerExtraConfigPre, deploy_stdout]}
|
||||
|
12
puppet/extraconfig/pre_deploy/README
Normal file
12
puppet/extraconfig/pre_deploy/README
Normal file
@ -0,0 +1,12 @@
|
||||
This tree contains additional configuration which happens "pre deployment",
|
||||
e.g before the OpenStack services themselves are configured but after the
|
||||
nodes themselves have been provisioned and initially configured.
|
||||
|
||||
Typically for puppet deployments these additional configs will put in place
|
||||
hieradata which is then consumed by the subsequent puppet configuration
|
||||
which occurs during the post-deployment phase.
|
||||
|
||||
If you need to specify multiple configs, you can chain them together in a
|
||||
template, see the multiple.yaml example:
|
||||
|
||||
OS::TripleO::ControllerExtraConfigPre: puppet/extraconfig/pre_deploy/controller/multiple.yaml
|
145
puppet/extraconfig/pre_deploy/controller/cinder-netapp.yaml
Normal file
145
puppet/extraconfig/pre_deploy/controller/cinder-netapp.yaml
Normal file
@ -0,0 +1,145 @@
|
||||
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: string
|
||||
default: false
|
||||
CinderNetappBackendName:
|
||||
type: string
|
||||
default: 'tripleo_netapp'
|
||||
CinderNetappLogin:
|
||||
type: string
|
||||
CinderNetappPassword:
|
||||
type: string
|
||||
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: ''
|
||||
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_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:
|
||||
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]}
|
18
puppet/extraconfig/pre_deploy/controller/multiple.yaml
Normal file
18
puppet/extraconfig/pre_deploy/controller/multiple.yaml
Normal file
@ -0,0 +1,18 @@
|
||||
heat_template_version: 2014-10-16
|
||||
description: 'Extra Pre-Deployment Config, multiple'
|
||||
parameters:
|
||||
server:
|
||||
type: string
|
||||
|
||||
resources:
|
||||
|
||||
CinderNetappConfig:
|
||||
type: cinder-netapp.yaml
|
||||
properties:
|
||||
server: {get_param: server}
|
||||
|
||||
# Note depends_on may be used for serialization if ordering is important
|
||||
OtherConfig:
|
||||
type: other.yaml
|
||||
properties:
|
||||
server: {get_param: server}
|
8
puppet/extraconfig/pre_deploy/default.yaml
Normal file
8
puppet/extraconfig/pre_deploy/default.yaml
Normal file
@ -0,0 +1,8 @@
|
||||
heat_template_version: 2014-10-16
|
||||
description: 'Noop Extra Pre-Deployment Config'
|
||||
parameters:
|
||||
server:
|
||||
type: string
|
||||
outputs:
|
||||
deploy_stdout:
|
||||
value: "None"
|
Loading…
Reference in New Issue
Block a user