Add a 'notcompute' template.

This commit is contained in:
Clint Byrum 2013-05-14 11:20:17 -07:00
parent d5e511f945
commit b4113dc7ef
1 changed files with 254 additions and 0 deletions

254
notcompute.yaml Normal file
View File

@ -0,0 +1,254 @@
Description: HEAT Template - Dedicated MySQL server,HEAT Template - Dedicated MySQL
server,HEAT Template - Nova API
HeatTemplateFormatVersion: '2012-12-12'
Outputs:
GlancePassword:
Fn::GetAtt:
- GlancePassword
- Data
GlanceUser:
Ref: GlanceUser
HeatPassword:
Fn::GetAtt:
- HeatPassword
- Data
HeatUser:
Ref: HeatUser
KeystonePassword:
Fn::GetAtt:
- KeystonePassword
- Data
KeystoneUser:
Ref: KeystoneUser
MySQLHost:
Fn::GetAtt:
- notcompute
- PrivateIp
RabbitMQHost:
Fn::GetAtt:
- notcompute
- PrivateIp
RabbitMQPassword:
Fn::GetAtt:
- RabbitMQPassword
- Data
Parameters:
BootstrapDumpPassword:
Default: ''
Description: Password to use for mysqldump from Bootstrap Host
Type: String
BootstrapHost:
Default: ''
Description: Load mysqldump from this Host
Type: String
BootstrapRootPassword:
Default: ''
Description: Root password for localhost access after bootstrap
Type: String
BootstrapSlavePassword:
Default: ''
Description: Password to use with BootstrapSlaveUser
Type: String
BootstrapSlaveUser:
Default: ''
Description: User to use for replication from bootstrap host
Type: String
GlanceUser:
Default: heat
Description: Glance database username.
Type: String
HeatUser:
Default: heat
Description: Heat database username.
Type: String
InstanceType:
Default: bm.small
Description: Use this flavor
Type: String
KeyName:
Default: default
Description: Name of an existing EC2 KeyPair to enable SSH access to the instances
Type: String
KeystoneHost:
Type: String
KeystoneUser:
Default: keystone
Description: Keystone database username.
Type: String
NovaAPiSize:
Default: 1
Type: Integer
NovaDSN:
Description: DSN for connecting to nova database
Type: String
NovaInterfaces:
Default: eth0
Type: String
RabbitHost:
Type: String
RabbitPassword:
Type: String
ServicePassword:
Description: admin_password for setting up auth in nova.
Type: String
TemplateURL:
Default: https://raw.github.com/openstack-ops/templates/master/
Type: String
notcomputeImage:
Type: String
Resources:
AccessPolicy:
Properties:
AllowedResources:
- notcompute
Type: OS::Heat::AccessPolicy
ApiAccessPolicy:
Properties:
AllowedResources:
- notcompute
Type: OS::Heat::AccessPolicy
ApiKey:
Properties:
UserName:
Ref: ApiUser
Type: AWS::IAM::AccessKey
ApiUser:
Properties:
Policies:
- Ref: ApiAccessPolicy
Type: AWS::IAM::User
GlancePassword:
DependsOn: notcompute
Properties:
Handle:
Ref: GlancePasswordHandle
Timeout: 90
Type: AWS::CloudFormation::WaitCondition
GlancePasswordHandle:
Type: AWS::CloudFormation::WaitConditionHandle
HeatPassword:
DependsOn: notcompute
Properties:
Handle:
Ref: HeatPasswordHandle
Timeout: 90
Type: AWS::CloudFormation::WaitCondition
HeatPasswordHandle:
Type: AWS::CloudFormation::WaitConditionHandle
Key:
Properties:
UserName:
Ref: User
Type: AWS::IAM::AccessKey
KeystonePassword:
DependsOn: notcompute
Properties:
Handle:
Ref: KeystonePasswordHandle
Timeout: 90
Type: AWS::CloudFormation::WaitCondition
KeystonePasswordHandle:
Type: AWS::CloudFormation::WaitConditionHandle
RabbitMQPassword:
DependsOn: notcompute
Properties:
Handle:
Ref: RabbitMQPasswordHandle
Timeout: 60
Type: AWS::CloudFormation::WaitCondition
RabbitMQPasswordHandle:
Type: AWS::CloudFormation::WaitConditionHandle
User:
Properties:
Policies:
- Ref: AccessPolicy
Type: AWS::IAM::User
notcompute:
Metadata:
OpenStack::ImageBuilder::Elements:
- rabbitmq-server
- mysql-migration
- nova-api
OpenStack::Role: stateful
admin-password:
Ref: ServicePassword
heat:
access_key_id:
Ref: ApiKey
refresh:
- resource: MySQL
secret_key:
Fn::GetAtt:
- ApiKey
- SecretAccessKey
stack:
name:
Ref: AWS::StackName
region:
Ref: AWS::Region
interfaces:
control:
Ref: NovaInterfaces
keystone:
host:
Ref: KeystoneHost
mysql:
create-users:
- database: keystone
userhandle:
Ref: KeystonePasswordHandle
username:
Ref: KeystoneUser
- database: heat
userhandle:
Ref: HeatPasswordHandle
username:
Ref: HeatUser
- database: glance
userhandle:
Ref: GlancePasswordHandle
username:
Ref: GlanceUser
mysql-migration:
bootstrap_host:
Ref: BootstrapHost
slave_password:
Ref: BootstrapSlavePassword
slave_user:
Ref: BootstrapSlaveUser
users:
dump:
password:
Ref: BootstrapDumpPassword
username: dump
root:
password:
Ref: BootstrapRootPassword
username: root
nova:
db:
Ref: NovaDSN
quantum:
host:
Ref: QuantumHost
rabbit:
host:
Ref: RabbitHost
password:
Ref: RabbitPassword
rabbitmq:
password_handle:
Ref: RabbitMQPasswordHandle
service-password:
Ref: ServicePassword
swift:
store_key: ''
store_user: ''
Properties:
ImageId:
Ref: notcomputeImage
InstanceType:
Ref: InstanceType
KeyName:
Ref: KeyName
Type: AWS::EC2::Instance