From b4113dc7ef843e5a08541cb1e861876a20e2e495 Mon Sep 17 00:00:00 2001 From: Clint Byrum Date: Tue, 14 May 2013 11:20:17 -0700 Subject: Add a 'notcompute' template. --- notcompute.yaml | 254 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 254 insertions(+) create mode 100644 notcompute.yaml diff --git a/notcompute.yaml b/notcompute.yaml new file mode 100644 index 00000000..91bdfa2e --- /dev/null +++ b/notcompute.yaml @@ -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 -- cgit 1.2.3-korg