-heat_template_version: 2014-10-16
+heat_template_version: 2013-05-23
description: 'Tie OpenStack components together'
parameters:
TemplateRoot:
RabbitMQ:
type: AWS::CloudFormation::Stack
TemplateURL:
- list_join:
+ Fn::Join:
- {get_param: TemplateRoot}
- rabbitmq.yaml
parameters:
MySQL:
type: AWS::CloudFormation::Stack
TemplateURL:
- list_join:
+ Fn::Join:
- {get_param: TemplateRoot}
- mysql.yaml
parameters:
Keystone:
type: AWS::CloudFormation::Stack
TemplateURL:
- list_join:
+ Fn::Join:
- {get_param: TemplateRoot}
- keystone.yaml
parameters:
AdminToken: {get_param: KeystoneAdminToken}
KeyName: default
KeystoneDSN:
- list_join:
+ Fn::Join:
- 'mysql://keystone:'
- {get_attr: [ MySQL , KeystonePassword ]}
- '@'
Glance:
type: AWS::CloudFormation::Stack
TemplateURL:
- list_join:
+ Fn::Join:
- {get_param: TemplateRoot}
- glance.yaml
parameters:
KeyName: default
HeatDSN:
- list_join:
+ Fn::Join:
- 'mysql://glance:'
- {get_attr: [ MySQL, GlancePassword ] }
- '@'
Heat:
type: AWS::CloudFormation::Stack
TemplateURL:
- list_join:
+ Fn::Join:
- {get_param: TemplateRoot}
- heat.yaml
parameters:
KeyName: default
HeatDSN:
- list_join:
+ Fn::Join:
- 'mysql://heat:'
- {get_attr: [ MySQL, HeatPassword ] }
- '@'
-heat_template_version: 2014-10-16
+heat_template_version: 2013-05-23
description: 'Common Block Storage Configuration'
parameters:
BlockStorageImage:
keystone:
host: {get_attr: [controller0, networks, ctlplane, 0]}
cinder:
- db: {list_join: ['', ['mysql://cinder:unset@', {get_attr: [controller0, networks, ctlplane, 0]} , '/cinder']]}
+ db: {"Fn::Join": ['', ['mysql://cinder:unset@', {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} , '/cinder']]}
volume_size_mb: '5000'
service-password:
get_param: CinderPassword
include_nfs_backend: 'true'
nfs_shares:
- - {list_join: ['', [{get_attr: [controller0, networks, ctlplane, 0]} , ':/mnt/state/var/lib/nfs_share']]}
+ - {"Fn::Join": ['', [{get_attr: [controller0, networks, ctlplane, 0]} , ':/mnt/state/var/lib/nfs_share']]}
admin-password: {get_param: AdminPassword}
rabbit:
host: {get_attr: [controller0, networks, ctlplane, 0]}
-heat_template_version: 2014-10-16
+heat_template_version: 2013-05-23
description: 'Common Block Storage Configuration'
parameters:
BlockStorageImage:
config: {get_resource: BlockStorageConfig}
input_values:
controller_host: {get_attr: [controller0, networks, ctlplane, 0]}
- cinder_dsn: {list_join: ['', ['mysql://cinder:unset@', {get_attr: [controller0, networks, ctlplane, 0]} , '/cinder']]}
+ cinder_dsn: {"Fn::Join": ['', ['mysql://cinder:unset@', {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} , '/cinder']]}
neutron_local_ip: {get_attr: [BlockStorage0 , networks, ctlplane, 0]}
signal_transport: NO_SIGNAL
BlockStorageConfig:
description: Nova API,Keystone,Heat Engine and API,Glance,Neutron,Dedicated MySQL
server,Dedicated RabbitMQ Server
-heat_template_version: 2014-10-16
+heat_template_version: 2013-05-23
parameters:
AdminToken:
type: string
password: {get_param: NeutronDBPassword}
glance:
db:
- list_join:
+ Fn::Join:
- ''
- - 'mysql://glance:'
- {get_param: GlanceDBPassword}
get_param: GlanceLogFile
heat:
db:
- list_join:
+ Fn::Join:
- ''
- - 'mysql://heat:'
- {get_param: HeatDBPassword}
host:
'127.0.0.1'
db:
- list_join:
+ Fn::Join:
- ''
- - 'mysql://keystone:'
- {get_param: KeystoneDBPassword}
- '@127.0.0.1/keystone'
nova:
db:
- list_join:
+ Fn::Join:
- ''
- - 'mysql://nova:'
- {get_param: NovaDBPassword}
host:
'127.0.0.1'
ovs_db:
- list_join:
+ Fn::Join:
- ''
- - 'mysql://neutron:'
- {get_param: NeutronDBPassword}
Path: examples/lib_hot.yaml
SubKey: resources.GenericB
parameters:
- ImportantValue: {list_join: [ '', ['one', 'two', 'three']]}
+ ImportantValue: {"Fn::Join": [ '', ['one', 'two', 'three']]}
# License for the specific language governing permissions and limitations
# under the License.
#
-heat_template_version: 2014-10-16
+heat_template_version: 2013-05-23
description: Deploy Nagios
parameters:
adm_web_passwd:
shares:
Merge::Map:
NovaCompute0:
- list_join:
+ Fn::Join:
- ' '
- - get_attr:
- NovaCompute0
- ctlplane
- 0
BlockStorage0:
- list_join:
+ Fn::Join:
- ' '
- - get_attr:
- BlockStorage0
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}
live-update:
-heat_template_version: 2014-10-16
+heat_template_version: 2013-05-23
description: 'Nova Compute'
parameters:
AdminPassword:
default: ''
description: A port to add to the NeutronPhysicalBridge.
type: string
+ RabbitHost:
+ type: string
RabbitUserName:
type: string
RabbitPassword:
neutron_public_interface: {get_param: NeutronPublicInterface}
neutron_password: {get_param: NeutronPassword}
admin_password: {get_param: AdminPassword}
+ rabbit_host: {get_param: RabbitHost}
rabbit_username: {get_param: RabbitUserName}
rabbit_password: {get_param: RabbitPassword}
live_update_host: {get_param: LiveUpdateHost}
description: Nova API,Keystone,Heat Engine and API,Glance,Neutron,Dedicated MySQL
server,Dedicated RabbitMQ Server,Group of Nova Computes
-heat_template_version: 2014-10-16
+heat_template_version: 2013-05-23
parameters:
AdminPassword:
default: unset
KeystoneHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
NeutronHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
GlanceHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
- NovaDSN: {list_join: ['', ['mysql://nova:unset@', {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}, '/nova']]}
- CeilometerDSN: {list_join: ['', ['mysql://ceilometer:unset@', {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}, '/ceilometer']]}
- NeutronDSN: {list_join: ['', ['mysql://neutron:unset@', {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}, '/ovs_neutron']]}
+ RabbitHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
+ NovaDSN:
+ Fn::Join:
+ - ''
+ - - mysql://nova:unset@
+ - &compute_database_host {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
+ - /nova
+ CeilometerDSN:
+ Fn::Join:
+ - ''
+ - - mysql://ceilometer:unset@
+ - *compute_database_host
+ - /ceilometer
+ NeutronDSN:
+ Fn::Join:
+ - ''
+ - - mysql://neutron:unset@
+ - *compute_database_host
+ - /ovs_neutron
NeutronNetworkType: "gre"
NeutronEnableTunnelling: "True"
NeutronFlatNetworks:
- controller0
- show
nodeid: {get_input: bootstack_nodeid}
+ database:
+ host: &database_host
+ {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
cinder:
- db: mysql://cinder:unset@localhost/cinder
+ db:
+ Fn::Join:
+ - ''
+ - - mysql://cinder:unset@
+ - *database_host
+ - /cinder
volume_size_mb:
get_param: CinderLVMLoopDeviceSize
service-password:
registry:
host: {get_input: controller_virtual_ip}
backend: swift
- db: mysql://glance:unset@localhost/glance
+ db:
+ Fn::Join:
+ - ''
+ - - mysql://glance:unset@
+ - *database_host
+ - /glance
host:
get_input: controller_virtual_ip
port:
admin_tenant_name: service
admin_user: heat
auth_encryption_key: unset___________
- db: mysql://heat:unset@localhost/heat
+ db:
+ Fn::Join:
+ - ''
+ - - mysql://heat:unset@
+ - *database_host
+ - /heat
stack_domain_admin_password: {get_param: HeatStackDomainAdminPassword}
watch_server_url: {get_input: heat.watch_server_url}
metadata_server_url: {get_input: heat.metadata_server_url}
controller0:
{get_attr: [controller0, show, name]}
keystone:
- db: mysql://keystone:unset@localhost/keystone
+ db:
+ Fn::Join:
+ - ''
+ - - mysql://keystone:unset@
+ - *database_host
+ - /keystone
host:
get_input: controller_virtual_ip
ca_certificate: {get_param: KeystoneCACertificate}
signing_certificate: {get_param: KeystoneSigningCertificate}
mysql:
innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
+ local_bind: true
nodes:
Merge::Map:
controller0:
ip: {get_attr: [controller0, networks, ctlplane, 0]}
cluster_name:
- list_join:
+ Fn::Join:
- '-'
- - 'tripleo'
- {get_resource: MysqlClusterUniquePart}
get_param: NeutronPublicInterfaceDefaultRoute
physical_bridge: br-ex
tenant_network_type: gre
- ovs_db: mysql://neutron:unset@localhost/ovs_neutron?charset=utf8
+ ovs_db:
+ Fn::Join:
+ - ''
+ - - mysql://neutron:unset@
+ - *database_host
+ - /ovs_neutron?charset=utf8
service-password:
get_param: NeutronPassword
dnsmasq-options:
get_param: NeutronDnsmasqOptions
ceilometer:
- db: mysql://ceilometer:unset@localhost/ceilometer
+ db:
+ Fn::Join:
+ - ''
+ - - mysql://ceilometer:unset@
+ - *database_host
+ - /ceilometer
metering_secret: {get_param: CeilometerMeteringSecret}
service-password:
get_param: CeilometerPassword
get_param: SnmpdReadonlyUserPassword
nova:
compute_driver: libvirt.LibvirtDriver
- db: mysql://nova:unset@localhost/nova
+ db:
+ Fn::Join:
+ - ''
+ - - mysql://nova:unset@
+ - *database_host
+ - /nova
default_floating_pool:
ext-net
host: {get_input: controller_virtual_ip}
service-password:
get_param: NovaPassword
rabbit:
+ host: {get_input: controller_virtual_ip}
username:
get_param: RabbitUserName
password:
- name: heat_cfn
port: 8000
net_binds: *public_binds
+ - name: mysql
+ port: 3306
+ extra_server_params:
+ - backup
- name: nova_ec2
port: 8773
- name: nova_osapi
- name: swift_proxy_server
port: 8080
net_binds: *public_binds
+ - name: rabbitmq
+ port: 5672
+ options:
+ - timeout client 0
+ - timeout server 0
controllerPassthrough:
type: OS::Heat::StructuredConfig
properties:
controller_virtual_ip:
{get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
heat.watch_server_url:
- list_join:
+ Fn::Join:
- ''
- - 'http://'
- {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
- ':8003'
heat.metadata_server_url:
- list_join:
+ Fn::Join:
- ''
- - 'http://'
- {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
- ':8000'
heat.waitcondition_server_url:
- list_join:
+ Fn::Join:
- ''
- - 'http://'
- {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
config:
completion-signal: {get_input: deploy_signal_id}
hosts:
- list_join:
+ Fn::Join:
- "\n"
- - - list_join:
+ - - Fn::Join:
- "\n"
- Merge::Map:
NovaCompute0:
- list_join:
+ Fn::Join:
- ' '
- - {get_attr: [NovaCompute0, networks, ctlplane, 0]}
- {get_attr: [NovaCompute0, show, name]}
- - list_join:
+ - Fn::Join:
- '.'
- - {get_attr: [NovaCompute0, show, name]}
- 'novalocal'
- - list_join:
+ - Fn::Join:
- "\n"
- Merge::Map:
controller0:
- list_join:
+ Fn::Join:
- ' '
- - {get_attr: [controller0, networks, ctlplane, 0]}
- {get_attr: [controller0, show, name]}
- - list_join:
+ - Fn::Join:
- '.'
- - {get_attr: [controller0, show, name]}
- 'novalocal'
- {get_param: CloudName}
rabbit:
nodes:
- list_join:
+ Fn::Join:
- ','
- Merge::Map:
controller0:
KeystoneURL:
description: URL for the Overcloud Keystone service
value:
- list_join:
+ Fn::Join:
- ''
- - http://
- {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
properties:
group: os-apply-config
config:
+ ssl:
+ ca_certificate:
+ get_input: ssl_ca_certificate
stunnel:
cert:
get_input: ssl_certificate
swift_hash_suffix: {get_param: SwiftHashSuffix}
swift_password: {get_param: SwiftPassword}
swift_devices:
- list_join:
+ Fn::Join:
- ', '
- Merge::Map:
controller0:
- list_join:
+ Fn::Join:
- ''
- - 'r1z1-'
- {get_attr: [controller0, networks, ctlplane, 0]}
- ':%PORT%/d1'
SwiftStorage0:
- list_join:
+ Fn::Join:
- ''
- - 'r1z1-'
- {get_attr: [SwiftStorage0, networks, ctlplane, 0]}
- ':%PORT%/d1'
swift_proxy_memcache:
- list_join:
+ Fn::Join:
- ','
- Merge::Map:
controller0:
- list_join:
+ Fn::Join:
- ', '
- - - list_join:
+ - - Fn::Join:
- ''
- - {get_attr: [controller0, networks, ctlplane, 0]}
- ':11211'
-heat_template_version: 2014-10-16
+heat_template_version: 2013-05-23
description: 'Common Swift Storage Configuration'
parameters:
SwiftStorageImage:
swift_hash_suffix: {get_param: SwiftHashSuffix}
swift_password: {get_param: SwiftPassword}
swift_devices:
- list_join:
+ Fn::Join:
- ', '
- Merge::Map:
controller0:
- list_join:
+ Fn::Join:
- ''
- - 'r1z1-'
- {get_attr: [controller0, networks, ctlplane, 0]}
- ':%PORT%/d1'
SwiftStorage0:
- list_join:
+ Fn::Join:
- ''
- - 'r1z1-'
- {get_attr: [SwiftStorage0, networks, ctlplane, 0]}
- ':%PORT%/d1'
swift_proxy_memcache:
- list_join:
+ Fn::Join:
- ','
- Merge::Map:
controller0:
- list_join:
+ Fn::Join:
- ', '
- - - list_join:
+ - - Fn::Join:
- ''
- - {get_attr: [controller0, networks, ctlplane, 0]}
- ':11211'
class Hot(object):
base_template = {
- 'heat_template_version': '2014-10-16',
+ 'heat_template_version': '2013-05-23',
'description': []
}
get_resource = 'get_resource'
description: All-in-one baremetal OpenStack and all dependencies.
-heat_template_version: 2014-10-16
+heat_template_version: 2013-05-23
parameters:
AdminPassword:
default: unset
- ctlplane
- 0
heat.watch_server_url:
- list_join:
+ Fn::Join:
- ''
- - 'http://'
- get_attr: [undercloud, networks, ctlplane, 0]
- ':8003'
heat.metadata_server_url:
- list_join:
+ Fn::Join:
- ''
- - 'http://'
- {get_attr: [undercloud, networks, ctlplane, 0]}
- ':8000'
heat.waitcondition_server_url:
- list_join:
+ Fn::Join:
- ''
- - 'http://'
- {get_attr: [undercloud, networks, ctlplane, 0]}