+ controllerConfig:
+ Type: OS::Heat::StructuredConfig
+ Properties:
+ group: os-apply-config
+ config:
+ completion-signal: {get_input: deploy_signal_id}
+ admin-password:
+ Ref: AdminPassword
+ admin-token:
+ Ref: AdminToken
+ bootstack:
+ public_interface_ip:
+ Ref: NeutronPublicInterfaceIP
+ bootstrap_host:
+ bootstrap_nodeid:
+ Fn::Select:
+ - 0
+ - Fn::Select:
+ - 0
+ - Merge::Map:
+ controller0:
+ - Fn::Select:
+ - name
+ - Fn::GetAtt:
+ - controller0
+ - show
+ nodeid: {get_input: bootstack_nodeid}
+ cinder:
+ db: mysql://cinder:unset@localhost/cinder
+ volume_size_mb:
+ Ref: CinderLVMLoopDeviceSize
+ service-password:
+ Ref: CinderPassword
+ iscsi-helper:
+ Ref: CinderISCSIHelper
+ controller-address:
+ get_input: controller_host
+ db-password: unset
+ glance:
+ registry:
+ host: {get_input: controller_virtual_ip}
+ backend: swift
+ db: mysql://glance:unset@localhost/glance
+ host:
+ get_input: controller_host
+ port:
+ Ref: GlancePort
+ protocol:
+ Ref: GlanceProtocol
+ service-password:
+ Ref: GlancePassword
+ swift-store-user: service:glance
+ swift-store-key:
+ Ref: GlancePassword
+ notifier-strategy:
+ Ref: GlanceNotifierStrategy
+ log-file:
+ Ref: GlanceLogFile
+ heat:
+ admin_password:
+ Ref: HeatPassword
+ admin_tenant_name: service
+ admin_user: heat
+ auth_encryption_key: unset___________
+ db: mysql://heat:unset@localhost/heat
+ stack_domain_admin_password: {Ref: HeatStackDomainAdminPassword}
+ watch_server_url: {get_input: heat.watch_server_url}
+ metadata_server_url: {get_input: heat.metadata_server_url}
+ waitcondition_server_url: {get_input: heat.waitcondition_server_url}
+ hosts: {get_input: hosts}
+ keystone:
+ db: mysql://keystone:unset@localhost/keystone
+ host:
+ get_input: controller_host
+ ca_certificate: {Ref: KeystoneCACertificate}
+ signing_key: {Ref: KeystoneSigningKey}
+ signing_certificate: {Ref: KeystoneSigningCertificate}
+ mysql:
+ innodb_buffer_pool_size: {Ref: MysqlInnodbBufferPoolSize}
+ neutron:
+ flat-networks: {Ref: NeutronFlatNetworks}
+ host: {get_input: controller_virtual_ip}
+ metadata_proxy_shared_secret: unset
+ ovs:
+ enable_tunneling: 'True'
+ local_ip:
+ get_input: controller_host
+ bridge_mappings: {Ref: NeutronBridgeMappings}
+ public_interface:
+ Ref: NeutronPublicInterface
+ public_interface_raw_device:
+ Ref: NeutronPublicInterfaceRawDevice
+ public_interface_route:
+ Ref: NeutronPublicInterfaceDefaultRoute
+ physical_bridge: br-ex
+ tenant_network_type: gre
+ ovs_db: mysql://neutron:unset@localhost/ovs_neutron?charset=utf8
+ service-password:
+ Ref: NeutronPassword
+ dnsmasq-options:
+ Ref: NeutronDnsmasqOptions
+ ceilometer:
+ db: mysql://ceilometer:unset@localhost/ceilometer
+ metering_secret: {Ref: CeilometerMeteringSecret}
+ service-password:
+ Ref: CeilometerPassword
+ snmpd:
+ export_MIB: UCD-SNMP-MIB
+ readonly_user_name:
+ Ref: SnmpdReadonlyUserName
+ readonly_user_password:
+ Ref: SnmpdReadonlyUserPassword
+ nova:
+ compute_driver: libvirt.LibvirtDriver
+ db: mysql://nova:unset@localhost/nova
+ default_floating_pool:
+ ext-net
+ host: {get_input: controller_virtual_ip}
+ metadata-proxy: true
+ service-password:
+ Ref: NovaPassword
+ rabbit:
+ host:
+ get_input: controller_host
+ username:
+ Ref: RabbitUserName
+ password:
+ Ref: RabbitPassword
+ cookie:
+ Fn::GetAtt:
+ - RabbitCookie
+ - value
+ ntp:
+ servers:
+ - {server: {Ref: NtpServer}, fudge: "stratum 0"}
+ keepalived:
+ keepalive_interface:
+ Ref: NeutronPublicInterface
+ priority: 101
+ virtual_ips:
+ -
+ ip: {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
+ interface:
+ Ref: ControlVirtualInterface
+ haproxy:
+ nodes:
+ Merge::Map:
+ controller0:
+ ip: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
+ name: {"Fn::Select": [ name, {"Fn::GetAtt": [controller0, show]} ] }
+ net_binds:
+ - ip: {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
+ services:
+ - name: keystone_admin
+ port: 35357
+ - name: keystone_public
+ port: 5000
+ - name: horizon
+ port: 80
+ - name: neutron
+ port: 9696
+ - name: cinder
+ port: 8776
+ - name: glance_api
+ port: 9292
+ - name: glance_registry
+ port: 9191
+ - name: heat_api
+ port: 8004
+ - name: heat_cloudwatch
+ port: 8003
+ - name: heat_cfn
+ port: 8000
+ - name: nova_ec2
+ port: 8773
+ - name: nova_osapi
+ port: 8774
+ - name: nova_metadata
+ port: 8775
+ - name: ceilometer
+ port: 8777
+ - name: swift_proxy_server
+ port: 8080
+ controllerPassthrough:
+ Type: OS::Heat::StructuredConfig
+ Properties:
+ group: os-apply-config
+ config: {get_input: passthrough_config}
+ controller0:
+ Type: OS::Nova::Server