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 Heat environment file which can be used to enable a
|
||||||
# a Cinder NetApp backend.
|
# a Cinder NetApp backend, configured via puppet
|
||||||
resource_registry:
|
resource_registry:
|
||||||
OS::TripleO::Controller::CinderBackend: extraconfig/controller/cinder-netapp.yaml
|
OS::TripleO::ControllerExtraConfigPre: ../puppet/extraconfig/pre_deploy/controller/cinder-netapp.yaml
|
||||||
|
|
||||||
parameter_defaults:
|
parameter_defaults:
|
||||||
CinderBackendConfig:
|
CinderEnableNetappBackend: false
|
||||||
CinderEnableNetappBackend: false
|
CinderNetappBackendName: 'tripleo_netapp'
|
||||||
CinderNetappBackendName: 'tripleo_netapp'
|
CinderNetappLogin: ''
|
||||||
CinderNetappLogin: ''
|
CinderNetappPassword: ''
|
||||||
CinderNetappPassword: ''
|
CinderNetappServerHostname: ''
|
||||||
CinderNetappServerHostname: ''
|
CinderNetappServerPort: '80'
|
||||||
CinderNetappServerPort: '80'
|
CinderNetappSizeMultiplier: '1.2'
|
||||||
CinderNetappSizeMultiplier: '1.2'
|
CinderNetappStorageFamily: 'ontap_cluster'
|
||||||
CinderNetappStorageFamily: 'ontap_cluster'
|
CinderNetappStorageProtocol: 'nfs'
|
||||||
CinderNetappStorageProtocol: 'nfs'
|
CinderNetappTransportType: 'http'
|
||||||
CinderNetappTransportType: 'http'
|
CinderNetappVfiler: ''
|
||||||
CinderNetappVfiler: ''
|
CinderNetappVolumeList: ''
|
||||||
CinderNetappVolumeList: ''
|
CinderNetappVserver: ''
|
||||||
CinderNetappVserver: ''
|
CinderNetappPartnerBackendName: ''
|
||||||
CinderNetappPartnerBackendName: ''
|
CinderNetappNfsShares: ''
|
||||||
CinderNetappNfsShares: ''
|
CinderNetappNfsSharesConfig: '/etc/cinder/shares.conf'
|
||||||
CinderNetappNfsSharesConfig: '/etc/cinder/shares.conf'
|
CinderNetappNfsMountOptions: ''
|
||||||
CinderNetappNfsMountOptions: ''
|
CinderNetappCopyOffloadToolPath: ''
|
||||||
CinderNetappCopyOffloadToolPath: ''
|
CinderNetappControllerIps: ''
|
||||||
CinderNetappControllerIps: ''
|
CinderNetappSaPassword: ''
|
||||||
CinderNetappSaPassword: ''
|
CinderNetappStoragePools: ''
|
||||||
CinderNetappStoragePools: ''
|
CinderNetappEseriesHostType: 'linux_dm_mp'
|
||||||
CinderNetappEseriesHostType: 'linux_dm_mp'
|
CinderNetappWebservicePath: '/devmgr/v2'
|
||||||
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::CephClusterConfig::SoftwareConfig: puppet/ceph-cluster-config.yaml
|
||||||
OS::TripleO::AllNodes::SoftwareConfig: puppet/all-nodes-config.yaml
|
OS::TripleO::AllNodes::SoftwareConfig: puppet/all-nodes-config.yaml
|
||||||
OS::TripleO::BootstrapNode::SoftwareConfig: puppet/bootstrap-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
|
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
|
# TripleO overcloud networks
|
||||||
OS::TripleO::Network: network/networks.yaml
|
OS::TripleO::Network: network/networks.yaml
|
||||||
OS::TripleO::VipConfig: puppet/vip-config.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::StoragePort: network/ports/noop.yaml
|
||||||
OS::TripleO::BlockStorage::Ports::StorageMgmtPort: 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
|
# Port assignments for service virtual IPs for the controller role
|
||||||
OS::TripleO::Controller::Ports::RedisVipPort: network/ports/ctlplane_vip.yaml
|
OS::TripleO::Controller::Ports::RedisVipPort: network/ports/ctlplane_vip.yaml
|
||||||
|
|
||||||
|
@ -824,6 +824,7 @@ resources:
|
|||||||
- vip_data # provided by vip-config
|
- vip_data # provided by vip-config
|
||||||
- '"%{::osfamily}"'
|
- '"%{::osfamily}"'
|
||||||
- common
|
- common
|
||||||
|
- cinder_netapp_data # Optionally provided by ControllerExtraConfigPre
|
||||||
datafiles:
|
datafiles:
|
||||||
common:
|
common:
|
||||||
raw_data: {get_file: hieradata/common.yaml}
|
raw_data: {get_file: hieradata/common.yaml}
|
||||||
@ -1041,6 +1042,13 @@ resources:
|
|||||||
tripleo::loadbalancer::public_virtual_interface: {get_input: public_virtual_interface}
|
tripleo::loadbalancer::public_virtual_interface: {get_input: public_virtual_interface}
|
||||||
enable_package_install: {get_input: enable_package_install}
|
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:
|
UpdateConfig:
|
||||||
type: OS::TripleO::Tasks::PackageUpdate
|
type: OS::TripleO::Tasks::PackageUpdate
|
||||||
|
|
||||||
@ -1112,4 +1120,8 @@ outputs:
|
|||||||
IP: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
|
IP: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
|
||||||
config_identifier:
|
config_identifier:
|
||||||
description: identifier which changes if the controller configuration may need re-applying
|
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…
x
Reference in New Issue
Block a user