Add a 'notcompute' template.
authorClint Byrum <clint@fewbar.com>
Tue, 14 May 2013 18:20:17 +0000 (11:20 -0700)
committerClint Byrum <clint@fewbar.com>
Thu, 6 Jun 2013 16:25:27 +0000 (09:25 -0700)
notcompute.yaml [new file with mode: 0644]

diff --git a/notcompute.yaml b/notcompute.yaml
new file mode 100644 (file)
index 0000000..91bdfa2
--- /dev/null
@@ -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