15 changed files with 1 additions and 2743 deletions
@ -1,93 +0,0 @@
|
||||
heat_template_version: 2015-04-30 |
||||
description: 'All Nodes Config' |
||||
|
||||
parameters: |
||||
compute_hosts: |
||||
type: comma_delimited_list |
||||
controller_hosts: |
||||
type: comma_delimited_list |
||||
controller_ips: |
||||
type: comma_delimited_list |
||||
block_storage_hosts: |
||||
type: comma_delimited_list |
||||
object_storage_hosts: |
||||
type: comma_delimited_list |
||||
ceph_storage_hosts: |
||||
type: comma_delimited_list |
||||
controller_names: |
||||
type: comma_delimited_list |
||||
rabbit_node_ips: |
||||
type: comma_delimited_list |
||||
mongo_node_ips: |
||||
type: comma_delimited_list |
||||
redis_node_ips: |
||||
type: comma_delimited_list |
||||
memcache_node_ips: |
||||
type: comma_delimited_list |
||||
mysql_node_ips: |
||||
type: comma_delimited_list |
||||
horizon_node_ips: |
||||
type: comma_delimited_list |
||||
heat_api_node_ips: |
||||
type: comma_delimited_list |
||||
swift_proxy_node_ips: |
||||
type: comma_delimited_list |
||||
ceilometer_api_node_ips: |
||||
type: comma_delimited_list |
||||
nova_api_node_ips: |
||||
type: comma_delimited_list |
||||
nova_metadata_node_ips: |
||||
type: comma_delimited_list |
||||
glance_api_node_ips: |
||||
type: comma_delimited_list |
||||
glance_registry_node_ips: |
||||
type: comma_delimited_list |
||||
cinder_api_node_ips: |
||||
type: comma_delimited_list |
||||
neutron_api_node_ips: |
||||
type: comma_delimited_list |
||||
keystone_public_api_node_ips: |
||||
type: comma_delimited_list |
||||
keystone_admin_api_node_ips: |
||||
type: comma_delimited_list |
||||
|
||||
resources: |
||||
|
||||
allNodesConfigImpl: |
||||
type: OS::Heat::StructuredConfig |
||||
properties: |
||||
config: |
||||
completion-signal: {get_input: deploy_signal_id} |
||||
hosts: |
||||
list_join: |
||||
- "\n" |
||||
- - list_join: |
||||
- "\n" |
||||
- {get_param: compute_hosts} |
||||
- list_join: |
||||
- "\n" |
||||
- {get_param: controller_hosts} |
||||
- list_join: |
||||
- "\n" |
||||
- {get_param: block_storage_hosts} |
||||
- list_join: |
||||
- "\n" |
||||
- {get_param: object_storage_hosts} |
||||
- list_join: |
||||
- "\n" |
||||
- {get_param: ceph_storage_hosts} |
||||
rabbit: |
||||
nodes: |
||||
list_join: |
||||
- ',' |
||||
- {get_param: controller_names} |
||||
sysctl: |
||||
net.ipv4.tcp_keepalive_time: 5 |
||||
net.ipv4.tcp_keepalive_probes: 5 |
||||
net.ipv4.tcp_keepalive_intvl: 1 |
||||
|
||||
outputs: |
||||
config_id: |
||||
description: The ID of the allNodesConfigImpl resource. |
||||
value: |
||||
{get_resource: allNodesConfigImpl} |
@ -1,69 +0,0 @@
|
||||
heat_template_version: 2015-04-30 |
||||
description: 'Ceph Cluster config data' |
||||
|
||||
parameters: |
||||
ceph_storage_count: |
||||
default: 0 |
||||
type: number |
||||
description: Number of Ceph storage nodes. Used to enable/disable managed Ceph installation. |
||||
ceph_external_mon_ips: |
||||
default: '' |
||||
type: string |
||||
description: List of external Ceph Mon host IPs. |
||||
ceph_client_key: |
||||
default: '' |
||||
type: string |
||||
description: Ceph key used to create the client user keyring. |
||||
ceph_fsid: |
||||
default: '' |
||||
type: string |
||||
ceph_admin_key: |
||||
default: '' |
||||
type: string |
||||
ceph_mon_key: |
||||
default: '' |
||||
type: string |
||||
ceph_mon_names: |
||||
type: comma_delimited_list |
||||
ceph_mon_ips: |
||||
type: comma_delimited_list |
||||
NovaRbdPoolName: |
||||
default: vms |
||||
type: string |
||||
CinderRbdPoolName: |
||||
default: volumes |
||||
type: string |
||||
GlanceRbdPoolName: |
||||
default: images |
||||
type: string |
||||
CephClientUserName: |
||||
default: openstack |
||||
type: string |
||||
|
||||
resources: |
||||
CephClusterConfigImpl: |
||||
type: OS::Heat::StructuredConfig |
||||
properties: |
||||
group: os-apply-config |
||||
config: |
||||
ceph_cluster: |
||||
mon_initial_members: |
||||
list_join: |
||||
- ',' |
||||
- {get_param: ceph_mon_names} |
||||
mon_host: |
||||
list_join: |
||||
- ',' |
||||
- {get_param: ceph_mon_ips} |
||||
fsid: {get_param: ceph_fsid} |
||||
admin_key: {get_param: ceph_admin_key} |
||||
mon_key: {get_param: ceph_mon_key} |
||||
# We would need a dedicated key for OSD bootstrap |
||||
bootstrap_osd_key: {get_param: ceph_mon_key} |
||||
osds: '{"/srv/data": {}}' |
||||
|
||||
outputs: |
||||
config_id: |
||||
description: The ID of the CephClusterConfigImpl resource. |
||||
value: |
||||
{get_resource: CephClusterConfigImpl} |
@ -1,21 +0,0 @@
|
||||
heat_template_version: 2015-04-30 |
||||
description: 'Ceph Storage Post Deployment' |
||||
# NOTE: this is a noop for os-apply-config style deployments because |
||||
# post deployment ordering is controlled by tripleo-image-elements |
||||
|
||||
parameters: |
||||
servers: |
||||
type: json |
||||
NodeConfigIdentifiers: |
||||
type: json |
||||
description: Value which changes if the node configuration may need to be re-applied |
||||
|
||||
resources: |
||||
|
||||
# Note, this should come last, so use depends_on to ensure |
||||
# this is created after any other resources. |
||||
ExtraConfig: |
||||
type: OS::TripleO::NodeExtraConfigPost |
||||
properties: |
||||
servers: {get_param: servers} |
||||
|
@ -1,172 +0,0 @@
|
||||
heat_template_version: 2015-04-30 |
||||
description: 'Common Ceph Storage Configuration' |
||||
parameters: |
||||
Image: |
||||
type: string |
||||
default: overcloud-ceph-storage |
||||
KeyName: |
||||
default: default |
||||
description: Name of an existing EC2 KeyPair to enable SSH access to the instances |
||||
type: string |
||||
Flavor: |
||||
default: baremetal |
||||
description: Flavor for block storage nodes to request when deploying. |
||||
type: string |
||||
CephClusterFSID: |
||||
default: '' |
||||
type: string |
||||
description: The Ceph cluster FSID. Must be a UUID. |
||||
CephMonKey: |
||||
default: '' |
||||
description: The Ceph monitors key. Can be created with ceph-authtool --gen-print-key. |
||||
type: string |
||||
hidden: true |
||||
CephAdminKey: |
||||
default: '' |
||||
description: The Ceph admin client key. Can be created with ceph-authtool --gen-print-key. |
||||
type: string |
||||
hidden: true |
||||
CephMonitors: |
||||
default: '' |
||||
description: The list of ip/names to use as Ceph monitors |
||||
type: json |
||||
ServiceNetMap: |
||||
default: {} |
||||
description: Mapping of service_name -> network name. Typically set |
||||
via parameter_defaults in the resource registry. |
||||
type: json |
||||
UpdateIdentifier: |
||||
default: '' |
||||
type: string |
||||
description: > |
||||
Setting to a previously unused value during stack-update will trigger |
||||
package update on all nodes |
||||
Hostname: |
||||
type: string |
||||
default: '' # Defaults to Heat created hostname |
||||
ExtraConfig: |
||||
default: {} |
||||
description: | |
||||
Additional configuration to inject into the cluster. Note |
||||
that CephStorageExtraConfig takes precedence over ExtraConfig. |
||||
type: json |
||||
CephStorageExtraConfig: |
||||
default: {} |
||||
description: | |
||||
Role specific additional configuration to inject into the cluster. |
||||
type: json |
||||
|
||||
|
||||
resources: |
||||
CephStorage: |
||||
type: OS::Nova::Server |
||||
properties: |
||||
image: |
||||
{get_param: Image} |
||||
flavor: {get_param: OvercloudCephStorageFlavor} |
||||
key_name: {get_param: KeyName} |
||||
networks: |
||||
- network: ctlplane |
||||
user_data_format: SOFTWARE_CONFIG |
||||
user_data: {get_resource: NodeUserData} |
||||
name: {get_param: Hostname} |
||||
|
||||
NodeUserData: |
||||
type: OS::TripleO::NodeUserData |
||||
|
||||
StoragePort: |
||||
type: OS::TripleO::CephStorage::Ports::StoragePort |
||||
properties: |
||||
ControlPlaneIP: {get_attr: [CephStorage, networks, ctlplane, 0]} |
||||
|
||||
StorageMgmtPort: |
||||
type: OS::TripleO::CephStorage::Ports::StorageMgmtPort |
||||
properties: |
||||
ControlPlaneIP: {get_attr: [CephStorage, networks, ctlplane, 0]} |
||||
|
||||
NetworkConfig: |
||||
type: OS::TripleO::CephStorage::Net::SoftwareConfig |
||||
properties: |
||||
ControlPlaneIp: {get_attr: [CephStorage, networks, ctlplane, 0]} |
||||
StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]} |
||||
StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]} |
||||
|
||||
NetworkDeployment: |
||||
type: OS::TripleO::SoftwareDeployment |
||||
properties: |
||||
config: {get_resource: NetworkConfig} |
||||
server: {get_resource: CephStorage} |
||||
|
||||
CephStorageDeployment: |
||||
type: OS::Heat::StructuredDeployment |
||||
properties: |
||||
server: {get_resource: CephStorage} |
||||
config: {get_resource: CephStorageConfig} |
||||
signal_transport: NO_SIGNAL |
||||
CephStorageConfig: |
||||
type: OS::Heat::StructuredConfig |
||||
properties: |
||||
group: os-apply-config |
||||
config: |
||||
ceph: |
||||
fsid: {get_param: CephClusterFSID} |
||||
keyrings: |
||||
admin: |
||||
key: {get_param: CephAdminKey} |
||||
mon_nodes: {get_param: CephMonitors} |
||||
ControllerCephDeployment: |
||||
type: OS::Heat::StructuredDeployment |
||||
properties: |
||||
server: {get_resource: Controller} |
||||
config: {get_resource: ControllerCephConfig} |
||||
signal_transport: NO_SIGNAL |
||||
ControllerCephConfig: |
||||
type: OS::Heat::StructuredConfig |
||||
properties: |
||||
group: os-apply-config |
||||
config: |
||||
cinder: |
||||
include_ceph_backend: true |
||||
ceph: |
||||
fsid: {get_param: CephClusterFSID} |
||||
keyrings: |
||||
mon: |
||||
key: {get_param: CephMonKey} |
||||
admin: |
||||
key: {get_param: CephAdminKey} |
||||
mon_nodes: {get_param: CephMonitors} |
||||
NovaComputeCephDeployment: |
||||
depends_on: [ControllerCephDeployment] |
||||
type: OS::Heat::StructuredDeployment |
||||
properties: |
||||
server: {get_resource: NovaCompute} |
||||
config: {get_resource: NovaComputeCephConfig} |
||||
signal_transport: NO_SIGNAL |
||||
NovaComputeCephConfig: |
||||
type: OS::Heat::StructuredConfig |
||||
properties: |
||||
group: os-apply-config |
||||
config: |
||||
ceph: |
||||
fsid: {get_param: CephClusterFSID} |
||||
keyrings: |
||||
admin: |
||||
key: {get_param: CephAdminKey} |
||||
mon_nodes: {get_param: CephMonitors} |
||||
outputs: |
||||
hosts_entry: |
||||
value: |
||||
str_replace: |
||||
template: "IP HOST" |
||||
params: |
||||
IP: {get_attr: [CephStorage, networks, ctlplane, 0]} |
||||
HOST: {get_attr: [CephStorage, name]} |
||||
storage_ip_address: |
||||
description: IP address of the server in the storage network |
||||
value: {get_attr: [StoragePort, ip_address]} |
||||
storage_mgmt_ip_address: |
||||
description: IP address of the server in the storage_mgmt network |
||||
value: {get_attr: [StorageMgmtPort, ip_address]} |
||||
config_identifier: |
||||
description: identifier which changes if the node configuration may need re-applying |
||||
value: "None - NO_SIGNAL" |
@ -1,21 +0,0 @@
|
||||
heat_template_version: 2015-04-30 |
||||
description: 'Common Block Storage Post Deployment' |
||||
# NOTE: this is a noop for os-apply-config style deployments because |
||||
# post deployment ordering is controlled by tripleo-image-elements |
||||
|
||||
parameters: |
||||
servers: |
||||
type: json |
||||
NodeConfigIdentifiers: |
||||
type: json |
||||
description: Value which changes if the node configuration may need to be re-applied |
||||
|
||||
resources: |
||||
|
||||
# Note, this should come last, so use depends_on to ensure |
||||
# this is created after any other resources. |
||||
ExtraConfig: |
||||
type: OS::TripleO::NodeExtraConfigPost |
||||
properties: |
||||
servers: {get_param: servers} |
||||
|
@ -1,234 +0,0 @@
|
||||
heat_template_version: 2015-04-30 |
||||
description: 'Common Block Storage Configuration' |
||||
parameters: |
||||
Image: |
||||
default: overcloud-cinder-volume |
||||
type: string |
||||
CinderEnableIscsiBackend: |
||||
default: true |
||||
description: Whether to enable or not the Iscsi backend for Cinder |
||||
type: boolean |
||||
CinderISCSIHelper: |
||||
default: tgtadm |
||||
description: The iSCSI helper to use with cinder. |
||||
type: string |
||||
CinderLVMLoopDeviceSize: |
||||
default: 5000 |
||||
description: The size of the loopback file used by the cinder LVM driver. |
||||
type: number |
||||
CinderPassword: |
||||
default: unset |
||||
description: The password for the cinder service and db account, used by cinder-api. |
||||
type: string |
||||
hidden: true |
||||
VirtualIP: |
||||
default: '' |
||||
type: string |
||||
ExtraConfig: |
||||
default: {} |
||||
description: | |
||||
Additional configuration to inject into the cluster. The JSON should have |
||||
the following structure: |
||||
{"FILEKEY": |
||||
{"config": |
||||
[{"section": "SECTIONNAME", |
||||
"values": |
||||
[{"option": "OPTIONNAME", |
||||
"value": "VALUENAME" |
||||
} |
||||
] |
||||
} |
||||
] |
||||
} |
||||
} |
||||
For instance: |
||||
{"nova": |
||||
{"config": |
||||
[{"section": "default", |
||||
"values": |
||||
[{"option": "force_config_drive", |
||||
"value": "always" |
||||
} |
||||
] |
||||
}, |
||||
{"section": "cells", |
||||
"values": |
||||
[{"option": "driver", |
||||
"value": "nova.cells.rpc_driver.CellsRPCDriver" |
||||
} |
||||
] |
||||
} |
||||
] |
||||
} |
||||
} |
||||
type: json |
||||
BlockStorageExtraConfig: |
||||
default: {} |
||||
description: | |
||||
Role specific additional configuration to inject into the cluster. |
||||
type: json |
||||
Flavor: |
||||
description: Flavor for block storage nodes to request when deploying. |
||||
type: string |
||||
constraints: |
||||
- custom_constraint: nova.flavor |
||||
GlancePort: |
||||
default: "9292" |
||||
description: Glance port. |
||||
type: string |
||||
GlanceProtocol: |
||||
default: http |
||||
description: Protocol to use when connecting to glance, set to https for SSL. |
||||
type: string |
||||
KeyName: |
||||
default: default |
||||
description: Name of an existing EC2 KeyPair to enable SSH access to the instances |
||||
type: string |
||||
RabbitPassword: |
||||
default: 'guest' |
||||
type: string |
||||
hidden: true |
||||
RabbitUserName: |
||||
default: 'guest' |
||||
type: string |
||||
RabbitClientUseSSL: |
||||
default: false |
||||
description: > |
||||
Rabbit client subscriber parameter to specify |
||||
an SSL connection to the RabbitMQ host. |
||||
type: string |
||||
RabbitClientPort: |
||||
default: 5672 |
||||
description: Set rabbit subscriber port, change this if using SSL |
||||
type: number |
||||
SnmpdReadonlyUserName: |
||||
default: ro_snmp_user |
||||
description: The user name for SNMPd with readonly rights running on all Overcloud nodes |
||||
type: string |
||||
SnmpdReadonlyUserPassword: |
||||
default: unset |
||||
description: The user password for SNMPd with readonly rights running on all Overcloud nodes |
||||
type: string |
||||
hidden: true |
||||
UpdateIdentifier: |
||||
default: '' |
||||
type: string |
||||
description: > |
||||
Setting to a previously unused value during stack-update will trigger |
||||
package update on all nodes |
||||
Hostname: |
||||
type: string |
||||
default: '' # Defaults to Heat created hostname |
||||
ServiceNetMap: |
||||
default: {} |
||||
description: Mapping of service_name -> network name. Typically set |
||||
via parameter_defaults in the resource registry. |
||||
type: json |
||||
GlanceApiVirtualIP: |
||||
type: string |
||||
default: '' |
||||
MysqlVirtualIP: |
||||
type: string |
||||
default: '' |
||||
|
||||
resources: |
||||
BlockStorage: |
||||
type: OS::Nova::Server |
||||
properties: |
||||
image: |
||||
{get_param: Image} |
||||
flavor: {get_param: Flavor} |
||||
key_name: {get_param: KeyName} |
||||
networks: |
||||
- network: ctlplane |
||||
user_data_format: SOFTWARE_CONFIG |
||||
user_data: {get_resource: NodeUserData} |
||||
name: {get_param: Hostname} |
||||
|
||||
NodeUserData: |
||||
type: OS::TripleO::NodeUserData |
||||
|
||||
InternalApiPort: |
||||
type: OS::TripleO::BlockStorage::Ports::InternalApiPort |
||||
properties: |
||||
ControlPlaneIP: {get_attr: [BlockStorage, networks, ctlplane, 0]} |
||||
|
||||
StoragePort: |
||||
type: OS::TripleO::BlockStorage::Ports::StoragePort |
||||
properties: |
||||
ControlPlaneIP: {get_attr: [BlockStorage, networks, ctlplane, 0]} |
||||
|
||||
StorageMgmtPort: |
||||
type: OS::TripleO::BlockStorage::Ports::StorageMgmtPort |
||||
properties: |
||||
ControlPlaneIP: {get_attr: [BlockStorage, networks, ctlplane, 0]} |
||||
|
||||
NetworkConfig: |
||||
type: OS::TripleO::BlockStorage::Net::SoftwareConfig |
||||
properties: |
||||
ControlPlaneIp: {get_attr: [BlockStorage, networks, ctlplane, 0]} |
||||
InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]} |
||||
StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]} |
||||
StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]} |
||||
|
||||
NetworkDeployment: |
||||
type: OS::TripleO::SoftwareDeployment |
||||
properties: |
||||
config: {get_resource: NetworkConfig} |
||||
server: {get_resource: BlockStorage} |
||||
|
||||
BlockStorageDeployment: |
||||
type: OS::Heat::StructuredDeployment |
||||
properties: |
||||
server: {get_resource: BlockStorage} |
||||
config: {get_resource: BlockStorageConfig} |
||||
input_values: |
||||
controller_virtual_ip: {get_param: VirtualIP} |
||||
cinder_dsn: {list_join: ['', ['mysql://cinder:', {get_param: CinderPassword}, '@', {get_param: VirtualIP} , '/cinder']]} |
||||
snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName} |
||||
snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword} |
||||
signal_transport: NO_SIGNAL |
||||
BlockStorageConfig: |
||||
type: OS::Heat::StructuredConfig |
||||
properties: |
||||
group: os-apply-config |
||||
config: |
||||
keystone: |
||||
host: {get_input: controller_virtual_ip} |
||||
cinder: |
||||
db: {get_input: cinder_dsn} |
||||
volume_size_mb: |
||||
get_param: CinderLVMLoopDeviceSize |
||||
iscsi-helper: |
||||
get_param: CinderISCSIHelper |
||||
snmpd: |
||||
export_MIB: UCD-SNMP-MIB |
||||
readonly_user_name: {get_input: snmpd_readonly_user_name} |
||||
readonly_user_password: {get_input: snmpd_readonly_user_password} |
||||
rabbit: |
||||
host: {get_input: controller_virtual_ip} |
||||
username: {get_param: RabbitUserName} |
||||
password: {get_param: RabbitPassword} |
||||
glance: |
||||
host: {get_input: controller_virtual_ip} |
||||
port: {get_param: GlancePort} |
||||
outputs: |
||||
hosts_entry: |
||||
value: |
||||
str_replace: |
||||
template: "IP HOST" |
||||
params: |
||||
IP: {get_attr: [BlockStorage, networks, ctlplane, 0]} |
||||
HOST: {get_attr: [BlockStorage, name]} |
||||
internal_api_ip_address: |
||||
description: IP address of the server in the internal_api network |
||||
value: {get_attr: [InternalApiPort, ip_address]} |
||||
storage_ip_address: |
||||
description: IP address of the server in the storage network |
||||
value: {get_attr: [StoragePort, ip_address]} |
||||
storage_mgmt_ip_address: |
||||
description: IP address of the server in the storage_mgmt network |
||||
value: {get_attr: [StorageMgmtPort, ip_address]} |
||||
config_identifier: |
||||
description: identifier which changes if the node configuration may need re-applying |
||||
value: "None - NO_SIGNAL" |
@ -1,22 +0,0 @@
|
||||
heat_template_version: 2015-04-30 |
||||
description: 'Compute Post Deployment' |
||||
# NOTE: this is a noop for os-apply-config style deployments because |
||||
# post deployment ordering is controlled by tripleo-image-elements |
||||
|
||||
parameters: |
||||
servers: |
||||
type: json |
||||
NodeConfigIdentifiers: |
||||
type: json |
||||
description: Value which changes if the node configuration may need to be re-applied |
||||
|
||||
resources: |
||||
|
||||
|
||||
# Note, this should come last, so use depends_on to ensure |
||||
# this is created after any other resources. |
||||
ExtraConfig: |
||||
type: OS::TripleO::NodeExtraConfigPost |
||||
properties: |
||||
servers: {get_param: servers} |
||||
|
@ -1,569 +0,0 @@
|
||||
heat_template_version: 2015-04-30 |
||||
|
||||
description: > |
||||
OpenStack hypervisor node. Can be wrapped in a ResourceGroup for scaling. |
||||
|
||||
parameters: |
||||
AdminPassword: |
||||
default: unset |
||||
description: The password for the keystone admin account, used for monitoring, querying neutron etc. |
||||
type: string |
||||
hidden: true |
||||
CeilometerComputeAgent: |
||||
description: Indicates whether the Compute agent is present and expects nova-compute to be configured accordingly |
||||
type: string |
||||
default: '' |
||||
constraints: |
||||
- allowed_values: ['', Present] |
||||
CeilometerMeteringSecret: |
||||
default: unset |
||||
description: Secret shared by the ceilometer services. |
||||
type: string |
||||
hidden: true |
||||
CeilometerPassword: |
||||
default: unset |
||||
description: The password for the ceilometer service account. |
||||
type: string |
||||
hidden: true |
||||
CinderEnableNfsBackend: |
||||
default: false |
||||
description: Whether to enable or not the NFS backend for Cinder |
||||
type: boolean |
||||
CinderEnableRbdBackend: |
||||
default: false |
||||
description: Whether to enable or not the Rbd backend for Cinder |
||||
type: boolean |
||||
Debug: |
||||
default: '' |
||||
description: Set to True to enable debugging on all services. |
||||
type: string |
||||
ExtraConfig: |
||||
default: {} |
||||
description: | |
||||
Additional configuration to inject into the cluster. The JSON should have |
||||
the following structure: |
||||
{"FILEKEY": |
||||
{"config": |
||||
[{"section": "SECTIONNAME", |
||||
"values": |
||||
[{"option": "OPTIONNAME", |
||||
"value": "VALUENAME" |
||||
} |
||||
] |
||||
} |
||||
] |
||||
} |
||||
} |
||||
For instance: |
||||
{"nova": |
||||
{"config": |
||||
[{"section": "default", |
||||
"values": |
||||
[{"option": "force_config_drive", |
||||
"value": "always" |
||||
} |
||||
] |
||||
}, |
||||
{"section": "cells", |
||||
"values": |
||||
[{"option": "driver", |
||||
"value": "nova.cells.rpc_driver.CellsRPCDriver" |
||||
} |
||||
] |
||||
} |
||||
] |
||||
} |
||||
} |
||||
type: json |
||||
Flavor: |
||||
description: Flavor for the nova compute node |
||||
type: string |
||||
constraints: |
||||
- custom_constraint: nova.flavor |
||||
GlanceHost: |
||||
type: string |
||||
default: '' # Has to be here because of the ignored empty value bug |
||||
GlancePort: |
||||
default: "9292" |
||||
description: Glance port. |
||||
type: string |
||||
GlanceProtocol: |
||||
default: http |
||||
description: Protocol to use when connecting to glance, set to https for SSL. |
||||
type: string |
||||
Image: |
||||
type: string |
||||
default: overcloud-compute |
||||
constraints: |
||||
- custom_constraint: glance.image |
||||
ImageUpdatePolicy: |
||||
default: 'REBUILD_PRESERVE_EPHEMERAL' |
||||
description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt. |
||||
type: string |
||||
KeyName: |
||||
description: Name of an existing EC2 KeyPair to enable SSH access to the instances |
||||
type: string |
||||
default: default |
||||
constraints: |
||||
- custom_constraint: nova.keypair |
||||
KeystoneAdminApiVirtualIP: |
||||
type: string |
||||
default: '' |
||||
KeystonePublicApiVirtualIP: |
||||
type: string |
||||
default: '' |
||||
NeutronBridgeMappings: |
||||
description: > |
||||
The OVS logical->physical bridge mappings to use. See the Neutron |
||||
documentation for details. Defaults to mapping br-ex - the external |
||||
bridge on hosts - to a physical name 'datacentre' which can be used |
||||
to create provider networks (and we use this for the default floating |
||||
network) - if changing this either use different post-install network |
||||
scripts or be sure to keep 'datacentre' as a mapping network name. |
||||
type: string |
||||
default: "datacentre:br-ex" |
||||
NeutronEnableTunnelling: |
||||
type: string |
||||
default: "True" |
||||
NeutronEnableL2Pop: |
||||
type: string |
||||
description: > |
||||
Enable/disable the L2 population feature in the Neutron agents. |
||||
default: "False" |
||||
NeutronFlatNetworks: |
||||
type: string |
||||
default: 'datacentre' |
||||
description: > |
||||
If set, flat networks to configure in neutron plugins. |
||||
NeutronHost: |
||||
type: string |
||||
default: '' # Has to be here because of the ignored empty value bug |
||||
NeutronNetworkType: |
||||
type: string |
||||
description: The tenant network type for Neutron, either gre or vxlan. |
||||
default: 'vxlan' |
||||
NeutronNetworkVLANRanges: |
||||
default: 'datacentre' |
||||
description: > |
||||
The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the |
||||
Neutron documentation for permitted values. Defaults to permitting any |
||||
VLAN on the 'datacentre' physical network (See NeutronBridgeMappings). |
||||
type: comma_delimited_list |
||||
NeutronPassword: |
||||
default: unset |
||||
description: The password for the neutron service account, used by neutron agents. |
||||
type: string |
||||
hidden: true |
||||
NeutronPhysicalBridge: |
||||
default: '' |
||||
description: An OVS bridge to create for accessing external networks. |
||||
type: string |
||||
NeutronPublicInterface: |
||||
default: nic1 |
||||
description: A port to add to the NeutronPhysicalBridge. |
||||
type: string |
||||
NeutronTunnelTypes: |
||||
type: string |
||||
description: | |
||||
The tunnel types for the Neutron tenant network. To specify multiple |
||||
values, use a comma separated string, like so: 'gre,vxlan' |
||||
default: 'vxlan' |
||||
NeutronTunnelIdRanges: |
||||
description: | |
||||
Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges |
||||
of GRE tunnel IDs that are available for tenant network allocation |
||||
default: ["1:1000", ] |
||||
type: comma_delimited_list |
||||
NeutronVniRanges: |
||||
description: | |
||||
Comma-separated list of <vni_min>:<vni_max> tuples enumerating ranges |
||||
of VXLAN VNI IDs that are available for tenant network allocation |
||||
default: ["1:1000", ] |
||||
type: comma_delimited_list |
||||
NeutronPublicInterfaceRawDevice: |
||||
default: '' |
||||
type: string |
||||
NeutronDVR: |
||||
default: 'False' |
||||
type: string |
||||
NeutronMetadataProxySharedSecret: |
||||
default: 'unset' |
||||
description: Shared secret to prevent spoofing |
||||
type: string |
||||
hidden: true |
||||
NeutronCorePlugin: |
||||
default: "ml2" |
||||
description: | |
||||
The core plugin for Neutron. The value should be the entrypoint to be loaded |
||||
from neutron.core_plugins namespace. |
||||
type: string |
||||
NeutronServicePlugins: |
||||
default: "router" |
||||
description: | |
||||
Comma-separated list of service plugin entrypoints to be loaded from the |
||||
neutron.service_plugins namespace. |
||||
type: comma_delimited_list |
||||
NeutronTypeDrivers: |
||||
default: "vxlan,vlan,flat,gre" |
||||
description: | |
||||
Comma-separated list of network type driver entrypoints to be loaded. |
||||
type: comma_delimited_list |
||||
NeutronMechanismDrivers: |
||||
default: 'openvswitch' |
||||
description: | |
||||
The mechanism drivers for the Neutron tenant network. To specify multiple |
||||
values, use a comma separated string, like so: 'openvswitch,l2_population' |
||||
type: string |
||||
# Not relevant for Computes, should be removed |
||||
NeutronAllowL3AgentFailover: |
||||
default: 'True' |
||||
description: Allow automatic l3-agent failover |
||||
type: string |
||||
# Not relevant for Computes, should be removed |
||||
NeutronL3HA: |
||||
default: 'False' |
||||
description: Whether to enable l3-agent HA |
||||
type: string |
||||
NeutronAgentMode: |
||||
default: 'dvr_snat' |
||||
description: Agent mode for the neutron-l3-agent on the controller hosts |
||||
type: string |
||||
NovaApiHost: |
||||
type: string |
||||
default: '' # Has to be here because of the ignored empty value bug |
||||
NovaComputeDriver: |
||||
type: string |
||||
default: libvirt.LibvirtDriver |
||||
NovaComputeExtraConfig: |
||||
default: {} |
||||
description: | |
||||
NovaCompute specific configuration to inject into the cluster. Same |
||||
structure as ExtraConfig. |
||||
type: json |
||||
NovaComputeLibvirtType: |
||||
type: string |
||||
default: '' |
||||
NovaEnableRbdBackend: |
||||
default: false |
||||
description: Whether to enable or not the Rbd backend for Nova |
||||
type: boolean |
||||
NovaPassword: |
||||
default: unset |
||||
description: The password for the nova service account, used by nova-api. |
||||
type: string |
||||
hidden: true |
||||
NovaPublicIP: |
||||
type: string |
||||
default: '' # Has to be here because of the ignored empty value bug |
||||
NtpServer: |
||||
type: string |
||||
default: '' |
||||
RabbitHost: |
||||
type: string |
||||
default: '' # Has to be here because of the ignored empty value bug |
||||
RabbitPassword: |
||||
default: guest |
||||
description: The password for RabbitMQ |
||||
type: string |
||||
hidden: true |
||||
RabbitUserName: |
||||
default: guest |
||||
description: The username for RabbitMQ |
||||
type: string |
||||
RabbitClientUseSSL: |
||||
default: false |
||||
description: > |
||||
Rabbit client subscriber parameter to specify |
||||
an SSL connection to the RabbitMQ host. |
||||
type: string |
||||
RabbitClientPort: |
||||
default: 5672 |
||||
description: Set rabbit subscriber port, change this if using SSL |
||||
type: number |
||||
SnmpdReadonlyUserName: |
||||
default: ro_snmp_user |
||||
description: The user name for SNMPd with readonly rights running on all Overcloud nodes |
||||
type: string |
||||
SnmpdReadonlyUserPassword: |
||||
default: unset |
||||
description: The user password for SNMPd with readonly rights running on all Overcloud nodes |
||||
type: string |
||||
hidden: true |
||||
ServiceNetMap: |
||||
default: {} |
||||
description: Mapping of service_name -> network name. Typically set |
||||
via parameter_defaults in the resource registry. |
||||
type: json |
||||
UpdateIdentifier: |
||||
default: '' |
||||
type: string |
||||
description: > |
||||
Setting to a previously unused value during stack-update will trigger |
||||
package update on all nodes |
||||
Hostname: |
||||
type: string |
||||
default: '' # Defaults to Heat created hostname |
||||
|
||||
resources: |
||||
|
||||
NovaCompute: |
||||
type: OS::Nova::Server |
||||
properties: |
||||
image: |
||||
{get_param: Image} |
||||
image_update_policy: |
||||
get_param: ImageUpdatePolicy |
||||
flavor: {get_param: Flavor} |
||||
key_name: {get_param: KeyName} |
||||
networks: |
||||
- network: ctlplane |
||||
user_data_format: SOFTWARE_CONFIG |
||||
user_data: {get_resource: NodeUserData} |
||||
name: {get_param: Hostname} |
||||
|
||||
NodeUserData: |
||||
type: OS::TripleO::NodeUserData |
||||
|
||||
InternalApiPort: |
||||
type: OS::TripleO::Compute::Ports::InternalApiPort |
||||
properties: |
||||
ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]} |
||||
|
||||
StoragePort: |
||||
type: OS::TripleO::Compute::Ports::StoragePort |
||||
properties: |
||||
ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]} |
||||
|
||||
TenantPort: |
||||
type: OS::TripleO::Compute::Ports::TenantPort |
||||
properties: |
||||
ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]} |
||||
|
||||
NetworkConfig: |
||||
type: OS::TripleO::Compute::Net::SoftwareConfig |
||||
properties: |
||||
ControlPlaneIp: {get_attr: [NovaCompute, networks, ctlplane, 0]} |
||||
InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]} |
||||
StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]} |
||||
TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]} |
||||
|
||||
NetworkDeployment: |
||||
type: OS::TripleO::SoftwareDeployment |
||||
properties: |
||||
signal_transport: NO_SIGNAL |
||||
config: {get_resource: NetworkConfig} |
||||
server: {get_resource: NovaCompute} |
||||
input_values: |
||||
bridge_name: {get_param: NeutronPhysicalBridge} |
||||
interface_name: {get_param: NeutronPublicInterface} |
||||
|
||||
NovaComputeConfig: |
||||
type: OS::Heat::StructuredConfig |
||||
properties: |
||||
group: os-apply-config |
||||
config: |
||||
nova: |
||||
compute_driver: { get_input: nova_compute_driver } |
||||
compute_libvirt_type: { get_input: nova_compute_libvirt_type } |
||||
debug: {get_input: debug} |
||||
host: {get_input: nova_api_host} |
||||
public_ip: {get_input: nova_public_ip} |
||||
service-password: {get_input: nova_password} |
||||
ceilometer: |
||||
debug: {get_input: debug} |
||||
metering_secret: {get_input: ceilometer_metering_secret} |
||||
service-password: {get_input: ceilometer_password} |
||||
compute_agent: {get_input: ceilometer_compute_agent} |
||||
snmpd: |
||||
export_MIB: UCD-SNMP-MIB |
||||
readonly_user_name: {get_input: snmpd_readonly_user_name} |
||||
readonly_user_password: {get_input: snmpd_readonly_user_password} |
||||
glance: |
||||
debug: {get_input: debug} |
||||
host: {get_input: glance_host} |
||||
port: {get_input: glance_port} |
||||
protocol: {get_input: glance_protocol} |
||||
keystone: |
||||
debug: {get_input: debug} |
||||
host: {get_input: keystone_host} |
||||
neutron: |
||||
debug: {get_input: debug} |
||||
flat-networks: {get_input: neutron_flat_networks} |
||||
host: {get_input: neutron_host} |
||||
router_distributed: {get_input: neutron_router_distributed} |
||||
agent_mode: {get_input: neutron_agent_mode} |
||||
ovs_db: {get_input: neutron_dsn} |
||||
metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret} |
||||
core_plugin: {get_input: neutron_core_plugin} |
||||
service_plugins: {get_input: neutron_service_plugins} |
||||
type_drivers: {get_input: neutron_type_drivers} |
||||
mechanism_drivers: {get_input: neutron_mechanism_drivers} |
||||
allow_automatic_l3agent_failover: {get_input: neutron_allow_l3agent_failover} |
||||
l3_ha: {get_input: neutron_l3_ha} |
||||
ovs: |
||||
local_ip: {get_input: neutron_local_ip} |
||||
tenant_network_type: {get_input: neutron_tenant_network_type} |
||||
tunnel_types: {get_input: neutron_tunnel_types} |
||||
network_vlan_ranges: {get_input: neutron_network_vlan_ranges} |
||||
tunnel_id_ranges: {get_input: neutron_tunnel_id_ranges} |
||||
vni_ranges: {get_input: neutron_vni_ranges} |
||||
bridge_mappings: {get_input: neutron_bridge_mappings} |
||||
enable_tunneling: {get_input: neutron_enable_tunneling} |
||||
l2_population: {get_input: neutron_enable_l2pop} |
||||
physical_bridge: {get_input: neutron_physical_bridge} |
||||
public_interface: {get_input: neutron_public_interface} |
||||
public_interface_raw_device: {get_input: neutron_public_interface_raw_device} |
||||
service-password: {get_input: neutron_password} |
||||
admin-password: {get_input: admin_password} |
||||
rabbit: |
||||
host: {get_input: rabbit_host} |
||||
username: {get_input: rabbit_username} |
||||
password: {get_input: rabbit_password} |
||||
ntp: |
||||
servers: |
||||
- {server: {get_input: ntp_server}} |
||||
|
||||
NovaComputeDeployment: |
||||
type: OS::TripleO::SoftwareDeployment |
||||
properties: |
||||
signal_transport: NO_SIGNAL |
||||
config: {get_resource: NovaComputeConfig} |
||||
server: {get_resource: NovaCompute} |
||||
input_values: |
||||
debug: {get_param: Debug} |
||||
nova_compute_driver: {get_param: NovaComputeDriver} |
||||
nova_compute_libvirt_type: {get_param: NovaComputeLibvirtType} |
||||
nova_public_ip: {get_param: NovaPublicIP} |
||||
nova_api_host: {get_param: NovaApiHost} |
||||
nova_password: {get_param: NovaPassword} |
||||
ceilometer_metering_secret: {get_param: CeilometerMeteringSecret} |
||||
ceilometer_password: {get_param: CeilometerPassword} |
||||
ceilometer_compute_agent: {get_param: CeilometerComputeAgent} |
||||
snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName} |
||||
snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword} |
||||
glance_host: {get_param: GlanceHost} |
||||
glance_port: {get_param: GlancePort} |
||||
glance_protocol: {get_param: GlanceProtocol} |
||||
keystone_host: {get_param: KeystonePublicApiVirtualIP} |
||||
neutron_flat_networks: {get_param: NeutronFlatNetworks} |
||||
neutron_host: {get_param: NeutronHost} |
||||
neutron_local_ip: {get_attr: [NovaCompute, networks, ctlplane, 0]} |
||||
neutron_tenant_network_type: {get_param: NeutronNetworkType} |
||||
neutron_tunnel_types: {get_param: NeutronTunnelTypes} |
||||
neutron_tunnel_id_ranges: |
||||
str_replace: |
||||
template: "['RANGES']" |
||||
params: |
||||
RANGES: |
||||
list_join: |
||||
- "','" |
||||
- {get_param: NeutronTunnelIdRanges} |
||||
neutron_vni_ranges: |
||||
str_replace: |
||||
template: "['RANGES']" |
||||
params: |
||||
RANGES: |
||||
list_join: |
||||
- "','" |
||||
- {get_param: NeutronVniRanges} |
||||
neutron_network_vlan_ranges: {get_param: NeutronNetworkVLANRanges} |
||||
neutron_bridge_mappings: {get_param: NeutronBridgeMappings} |
||||
neutron_enable_tunneling: {get_param: NeutronEnableTunnelling} |
||||
neutron_enable_l2pop: {get_param: NeutronEnableL2Pop} |
||||
neutron_physical_bridge: {get_param: NeutronPhysicalBridge} |
||||
neutron_public_interface: {get_param: NeutronPublicInterface} |
||||
neutron_password: {get_param: NeutronPassword} |
||||
neutron_agent_mode: {get_param: NeutronAgentMode} |
||||
neutron_router_distributed: {get_param: NeutronDVR} |
||||
neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret} |
||||
neutron_core_plugin: {get_param: NeutronCorePlugin} |
||||
neutron_service_plugins: |
||||
str_replace: |
||||
template: "['PLUGINS']" |
||||
params: |
||||
PLUGINS: |
||||
list_join: |
||||
- "','" |
||||
- {get_param: NeutronServicePlugins} |
||||
neutron_type_drivers: |
||||
str_replace: |
||||
template: "['DRIVERS']" |
||||
params: |
||||
DRIVERS: |
||||
list_join: |
||||
- "','" |
||||
- {get_param: NeutronTypeDrivers} |
||||
neutron_mechanism_drivers: {get_param: NeutronMechanismDrivers} |
||||
neutron_allow_l3agent_failover: {get_param: NeutronAllowL3AgentFailover} |
||||
neutron_l3_ha: {get_param: NeutronL3HA} |
||||
neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice} |
||||
admin_password: {get_param: AdminPassword} |
||||
rabbit_host: {get_param: RabbitHost} |
||||
rabbit_username: {get_param: RabbitUserName} |
||||
rabbit_password: {get_param: RabbitPassword} |
||||
ntp_server: {get_param: NtpServer} |
||||
|
||||
NovaComputePassthrough: |
||||
type: OS::Heat::StructuredConfig |
||||
properties: |
||||
group: os-apply-config |
||||
config: {get_input: passthrough_config} |
||||
|
||||
NovaComputePassthroughSpecific: |
||||
type: OS::Heat::StructuredConfig |
||||
properties: |
||||
group: os-apply-config |
||||
config: {get_input: passthrough_config_specific} |
||||
|
||||
NovaComputePassthroughDeployment: |
||||
depends_on: [NovaComputeDeployment] |
||||
type: OS::Heat::StructuredDeployment |
||||
properties: |
||||
config: {get_resource: NovaComputePassthrough} |
||||
server: {get_resource: NovaCompute} |
||||
signal_transport: NO_SIGNAL |
||||
input_values: |
||||
passthrough_config: {get_param: ExtraConfig} |
||||
|
||||
NovaComputePassthroughDeploymentSpecific: |
||||
depends_on: [NovaComputePassthroughDeployment] |
||||
type: OS::Heat::StructuredDeployment |
||||
properties: |
||||
config: {get_resource: NovaComputePassthroughSpecific} |
||||
server: {get_resource: NovaCompute} |
||||
signal_transport: NO_SIGNAL |
||||
input_values: |
||||
passthrough_config_specific: {get_param: NovaComputeExtraConfig} |
||||
|
||||
outputs: |
||||
ip_address: |
||||
description: IP address of the server in the ctlplane network |
||||
value: {get_attr: [NovaCompute, networks, ctlplane, 0]} |
||||
internal_api_ip_address: |
||||
description: IP address of the server in the internal_api network |
||||
value: {get_attr: [InternalApiPort, ip_address]} |
||||
storage_ip_address: |
||||
description: IP address of the server in the storage network |
||||
value: {get_attr: [StoragePort, ip_address]} |
||||
tenant_ip_address: |
||||
description: IP address of the server in the tenant network |
||||
value: {get_attr: [TenantPort, ip_address]} |
||||
hostname: |
||||
description: Hostname of the server |
||||
value: {get_attr: [NovaCompute, name]} |
||||
hosts_entry: |
||||
description: > |
||||
Server's IP address and hostname in the /etc/hosts format |
||||
value: |
||||
str_replace: |
||||
template: "IP HOST" |
||||
params: |
||||
IP: {get_attr: [NovaCompute, networks, ctlplane, 0]} |
||||
HOST: {get_attr: [NovaCompute, name]} |
||||
nova_server_resource: |
||||
description: Heat resource handle for the Nova compute server |
||||
value: |
||||
{get_resource: NovaCompute} |
||||
config_identifier: |
||||
description: identifier which changes if the node configuration may need re-applying |
||||
value: "None - NO_SIGNAL" |
@ -1,20 +0,0 @@
|
||||
heat_template_version: 2015-04-30 |
||||
description: 'Controller Post Deployment' |
||||
# NOTE: this is a noop for os-apply-config style deployments because |
||||
# post deployment ordering is controlled by tripleo-image-elements |
||||
|
||||
parameters: |
||||
servers: |
||||
type: json |
||||
NodeConfigIdentifiers: |
||||
type: json |
||||
description: Value which changes if the node configuration may need to be re-applied |
||||
|
||||
resources: |
||||
|
||||
# Note, this should come last, so use depends_on to ensure |
||||
# this is created after any other resources. |
||||
ExtraConfig: |
||||
type: OS::TripleO::NodeExtraConfigPost |
||||
properties: |
||||
servers: {get_param: servers} |
File diff suppressed because it is too large
Load Diff
@ -1,38 +0,0 @@
|
||||
heat_template_version: 2015-04-30 |
||||
description: 'Swift Devices and Proxy Config' |
||||
|
||||
parameters: |
||||
controller_swift_devices: |
||||
type: comma_delimited_list |
||||
object_store_swift_devices: |
||||
type: comma_delimited_list |
||||
controller_swift_proxy_memcaches: |
||||
type: comma_delimited_list |
||||
|
||||
resources: |
||||
|
||||
SwiftDevicesAndProxyConfigImpl: |
||||
type: OS::Heat::StructuredConfig |
||||
properties: |
||||
group: os-apply-config |
||||
config: |
||||
swift: |
||||
devices: |
||||
list_join: |
||||
- ", " |
||||
- - list_join: |
||||
- ", " |
||||
- {get_param: controller_swift_devices} |
||||
- list_join: |
||||
- ", " |
||||
- {get_param: object_store_swift_devices} |
||||
proxy-memcache: |
||||
list_join: |
||||
- "," |
||||
- {get_param: controller_swift_proxy_memcaches} |
||||
|
||||
outputs: |
||||
config_id: |
||||
description: The ID of the SwiftDevicesAndProxyConfigImpl resource. |
||||
value: |
||||
{get_resource: SwiftDevicesAndProxyConfigImpl} |
@ -1,21 +0,0 @@
|
||||
heat_template_version: 2015-04-30 |
||||
description: 'Swift Storage Post Deployment' |
||||
# NOTE: this is a noop for os-apply-config style deployments because |
||||
# post deployment ordering is controlled by tripleo-image-elements |
||||
|
||||
parameters: |
||||
servers: |
||||
type: json |
||||
NodeConfigIdentifiers: |
||||
type: json |
||||
description: Value which changes if the node configuration may need to be re-applied |
||||
|
||||
resources: |
||||
|
||||
# Note, this should come last, so use depends_on to ensure |
||||
# this is created after any other resources. |
||||
ExtraConfig: |
||||
type: OS::TripleO::NodeExtraConfigPost |
||||
properties: |
||||
servers: {get_param: servers} |
||||
|
@ -1,209 +0,0 @@
|
||||
heat_template_version: 2015-04-30 |
||||
description: 'Common Swift Storage Configuration' |
||||
parameters: |
||||
ExtraConfig: |
||||
default: {} |
||||
description: | |
||||
Additional configuration to inject into the cluster. The JSON should have |
||||
the following structure: |
||||
{"FILEKEY": |
||||
{"config": |
||||
[{"section": "SECTIONNAME", |
||||
"values": |
||||
[{"option": "OPTIONNAME", |
||||
"value": "VALUENAME" |
||||
} |
||||
] |
||||
} |
||||
] |
||||
} |
||||
} |
||||
For instance: |
||||
{"nova": |
||||
{"config": |
||||
[{"section": "default", |
||||
"values": |
||||
[{"option": "force_config_drive", |
||||
"value": "always" |
||||
} |
||||
] |
||||
}, |
||||
{"section": "cells", |
||||
"values": |
||||
[{"option": "driver", |
||||
"value": "nova.cells.rpc_driver.CellsRPCDriver" |
||||
} |
||||
] |
||||
} |
||||
] |
||||
} |
||||
} |
||||
type: json |
||||
ObjectStorageExtraConfig: |
||||
default: {} |
||||
description: | |
||||
Role specific additional configuration to inject into the cluster. |
||||
type: json |
||||
Flavor: |
||||
description: Flavor for Swift storage nodes to request when deploying. |
||||
type: string |
||||
constraints: |
||||
- custom_constraint: nova.flavor |
||||
HashSuffix: |
||||
default: unset |
||||
description: A random string to be used as a salt when hashing to determine mappings |
||||
in the ring. |
||||
hidden: true |
||||
type: string |
||||
Image: |
||||
default: overcloud-swift-storage |
||||
type: string |
||||
KeyName: |
||||
default: default |
||||
description: Name of an existing EC2 KeyPair to enable SSH access to the instances |
||||
type: string |
||||
MountCheck: |
||||
default: 'false' |
||||
description: Value of mount_check in Swift account/container/object -server.conf |
||||
type: boolean |
||||
MinPartHours: |
||||
type: number |
||||
default: 1 |
||||
description: The minimum time (in hours) before a partition in a ring can be moved following a rebalance. |
||||
PartPower: |
||||
default: 10 |
||||
description: Partition Power to use when building Swift rings |
||||
type: number |
||||
Replicas: |
||||
type: number |
||||
default: 3 |
||||
description: How many replicas to use in the swift rings. |
||||
SnmpdReadonlyUserName: |
||||
default: ro_snmp_user |
||||
description: The user name for SNMPd with readonly rights running on all Overcloud nodes |
||||
type: string |
||||
SnmpdReadonlyUserPassword: |
||||
default: unset |
||||
description: The user password for SNMPd with readonly rights running on all Overcloud nodes |
||||
type: string |
||||
hidden: true |
||||
UpdateIdentifier: |
||||
default: '' |
||||
type: string |
||||
description: > |
||||
Setting to a previously unused value during stack-update will trigger |
||||
package update on all nodes |
||||
Hostname: |
||||
type: string |
||||
default: '' # Defaults to Heat created hostname |
||||
|
||||
resources: |
||||
SwiftConfig: |
||||
type: OS::Heat::StructuredConfig |
||||
properties: |
||||
group: os-apply-config |
||||
config: |
||||
snmpd: |
||||
export_MIB: UCD-SNMP-MIB |
||||
readonly_user_name: {get_input: snmpd_readonly_user_name} |
||||
readonly_user_password: {get_input: snmpd_readonly_user_password} |
||||
swift: |
||||
hash: { get_input: swift_hash_suffix } |
||||
part-power: { get_input: swift_part_power } |
||||
min-part-hours: { get_input: swift_min_part_hours } |
||||
mount-check: { get_input: swift_mount_check } |
||||
replicas: {get_input: swift_replicas } |
||||
neutron: |
||||
ovs: |
||||
local_ip: { get_input: neutron_local_ip } |
||||