tripleo-heat-templates/undercloud-source.yaml

280 lines
7.8 KiB
YAML

Description: All-in-one baremetal OpenStack and all dependencies.
HeatTemplateFormatVersion: '2012-12-12'
Parameters:
AdminPassword:
Default: unset
Description: The password for the keystone admin account, used for monitoring, querying neutron etc.
Type: String
NoEcho: true
AdminToken:
Default: unset
Description: The keystone auth secret.
Type: String
NoEcho: true
BaremetalArch:
Default: i386
Description: The architecture to use in Nova-BM - i386 or amd64.
Type: String
CeilometerMeteringSecret:
Default: unset
Description: Secret shared by the ceilometer services.
Type: String
NoEcho: true
CeilometerPassword:
Default: unset
Description: The password for the ceilometer service account.
Type: String
NoEcho: true
Flavor:
Default: baremetal
Description: Flavor to request when deploying.
Type: String
GlancePassword:
Default: unset
Description: The password for the glance service account, used by the glance services.
Type: String
NoEcho: true
GlanceNotifierStrategy:
Description: Strategy to use for Glance notification queue
Type: String
Default: noop
GlanceLogFile:
Description: The filepath of the file to use for logging messages from Glance.
Type: String
Default: ''
KeyName:
Default: default
Description: Name of an existing EC2 KeyPair to enable SSH access to the instances
Type: String
HeatPassword:
Default: unset
Description: The password for the Heat service account, used by the Heat services.
Type: String
NoEcho: true
ImageUpdatePolicy:
Default: REBUILD_PRESERVE_EPHEMERAL
Description: What policy to use when reconstructing instances. REBUILD for rebuilds,
REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
Type: String
undercloudImage:
Default: undercloud
Type: String
NeutronPassword:
Default: unset
Description: The password for the neutron service account, used by neutron agents.
Type: String
NoEcho: true
NovaPassword:
Default: unset
Description: The password for the nova service account, used by nova-api.
Type: String
NoEcho: true
NtpServer:
Type: String
Default: ''
RabbitUserName:
Default: guest
Description: The username for RabbitMQ
Type: String
RabbitPassword:
Default: guest
Description: The password for RabbitMQ
Type: String
NoEcho: true
RabbitCookieSalt:
Type: String
Default: unset
Description: Salt for the rabbit cookie, change this to force the randomly generated rabbit cookie to change.
HeatStackDomainAdminPassword:
Description: Password for heat_domain_admin user.
Type: String
Default: ''
NoEcho: true
MysqlInnodbBufferPoolSize:
Description: Specifies the size of the buffer pool in megabytes.
Type: Number
Default: 100
Resources:
RabbitCookie:
Type: OS::Heat::RandomString
Properties:
length: 20
salt:
Ref: RabbitCookieSalt
AccessPolicy:
Properties:
AllowedResources:
- undercloudConfig
Type: OS::Heat::AccessPolicy
controller0Key:
Properties:
UserName:
Ref: User
Type: AWS::IAM::AccessKey
controller0CompletionCondition:
Type: AWS::CloudFormation::WaitCondition
DependsOn: undercloud
Properties:
Handle: {Ref: controller0CompletionHandle}
Count: '1'
Timeout: '1800'
controller0CompletionHandle:
Type: AWS::CloudFormation::WaitConditionHandle
User:
Properties:
Policies:
- Ref: AccessPolicy
Type: AWS::IAM::User
undercloudConfig:
Type: AWS::AutoScaling::LaunchConfiguration
Properties:
ImageId: '0'
InstanceType: foo
Metadata:
OpenStack::Role: undercloudConfig
OpenStack::Heat::Stack: {}
OpenStack::ImageBuilder::Elements: [ boot-stack, heat-cfntools, neutron-network-node ]
admin-password:
Ref: AdminPassword
admin-token:
Ref: AdminToken
controller-address:
Fn::Select:
- 0
- Fn::Select:
- "ctlplane"
- Fn::GetAtt:
- undercloud
- networks
ceilometer:
db: mysql://ceilometer:unset@localhost/ceilometer
metering_secret: {Ref: CeilometerMeteringSecret}
service-password:
Ref: CeilometerPassword
cinder:
db: mysql://cinder:unset@localhost/cinder
volume_size_mb: '5000'
completion-handle:
Ref: controller0CompletionHandle
db-password: unset
glance:
backend: file
db: mysql://glance:unset@localhost/glance
host: 127.0.0.1
service-password:
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:
Fn::Join:
- ''
- - http://
- Fn::Select:
- 0
- Fn::Select:
- "ctlplane"
- Fn::GetAtt:
- undercloud
- networks
- ":8003"
metadata_server_url:
Fn::Join:
- ''
- - http://
- Fn::Select:
- 0
- Fn::Select:
- "ctlplane"
- Fn::GetAtt:
- undercloud
- networks
- ":8000"
waitcondition_server_url:
Fn::Join:
- ''
- - http://
- Fn::Select:
- 0
- Fn::Select:
- "ctlplane"
- Fn::GetAtt:
- undercloud
- networks
- ":8000/v1/waitcondition"
os-collect-config:
cfn:
access_key_id:
Ref: controller0Key
path: undercloudConfig.Metadata
secret_access_key:
Fn::GetAtt:
- controller0Key
- SecretAccessKey
stack_name:
Ref: AWS::StackName
keystone:
db: mysql://keystone:unset@localhost/keystone
host: 127.0.0.1
mysql:
innodb_buffer_pool_size: {Ref: MysqlInnodbBufferPoolSize}
neutron:
host: 127.0.0.1
ovs_db: mysql://neutron:unset@localhost/ovs_neutron?charset=utf8
ovs:
public_interface:
Ref: NeutronPublicInterface
physical_bridge: br-ctlplane
physical_network: ctlplane
network_vlan_ranges: ctlplane
bridge_mappings: ctlplane:br-ctlplane
tenant_network_type: vlan
enable_tunneling: 'False'
service-password:
Ref: NeutronPassword
ntp:
servers:
- {server: {Ref: NtpServer}, fudge: "stratum 0"}
rabbit:
host: 127.0.0.1
username:
Ref: RabbitUserName
password:
Ref: RabbitPassword
cookie:
Fn::GetAtt:
- RabbitCookie
- value
undercloud:
Type: OS::Nova::Server
Properties:
image:
Ref: undercloudImage
flavor:
Ref: Flavor
key_name:
Ref: KeyName
image_update_policy:
Ref: ImageUpdatePolicy
Metadata:
os-collect-config:
cfn:
access_key_id:
Ref: controller0Key
path: undercloudConfig.Metadata
secret_access_key:
Fn::GetAtt:
- controller0Key
- SecretAccessKey
stack_name:
Ref: AWS::StackName