Add Heat and RabbitMQ to base stack.
authorClint Byrum <clint@fewbar.com>
Thu, 18 Apr 2013 18:19:43 +0000 (11:19 -0700)
committerClint Byrum <clint@fewbar.com>
Thu, 18 Apr 2013 18:19:43 +0000 (11:19 -0700)
base.yaml
mysql.yaml

index adff04e..6db5d3e 100644 (file)
--- a/base.yaml
+++ b/base.yaml
@@ -5,6 +5,16 @@ Parameters:
     Description: URL Base where all of our templates are available
     Type: String
 Resources:
+  RabbitMQ:
+    Type: AWS::CloudFormation::Stack
+    TemplateURL:
+      Fn::Join:
+        - {Ref: TemplateRoot}
+        - rabbitmq.yaml
+    Parameters:
+      InstanceType: m1.small
+      KeyName: default
+      RabbitMQImage: image-rabbitmq
   MySQL:
     Type: AWS::CloudFormation::Stack
     TemplateURL:
@@ -30,3 +40,18 @@ Resources:
           - '@'
           - {Fn::GetAtt: [ MySQL , MySQLHost ]}
           - '/keystone'
+  Heat:
+    Type: AWS::CloudFormation::Stack
+    TemplateURL:
+      Fn::Join:
+        - {Ref: TemplateRoot}
+        - heat.yaml
+    Parameters:
+      KeyName: default
+      HeatDSN:
+        Fn::Join:
+          - 'mysql://heat:'
+          - {Fn::GetAtt: [ MySQL, HeatPassword ] }
+          - '@'
+          - {Fn::GetAtt: [ MySQL, MySQLHost ]}
+          - '/heat'
index c682bf7..1f7e8da 100644 (file)
@@ -13,6 +13,10 @@ Parameters:
     Description: Keystone database username.
     Type: String
     Default: keystone
+  HeatUser:
+    Description: Heat database username.
+    Type: String
+    Default: heat
   MySQLImage:
     Type: String
   BootstrapHost:
@@ -59,6 +63,9 @@ Resources:
             - database: keystone
               username: {Ref: KeystoneUser}
               userhandle: {Ref: KeystonePasswordHandle}
+            - database: heat
+              username: {Ref: HeatUser}
+              userhandle: {Ref: HeatPasswordHandle}
         mysql-migration:
           users:
             root:
@@ -85,6 +92,14 @@ Resources:
         {Ref: MySQLImage}
       InstanceType: {Ref: InstanceType}
       KeyName: {Ref: KeyName}
+  HeatPasswordHandle:
+    Type: AWS::CloudFormation::WaitConditionHandle
+  HeatPassword:
+    DependsOn: MySQL
+    Type: AWS::CloudFormation::WaitCondition
+    Properties:
+      Handle: {Ref: HeatPasswordHandle}
+      Timeout: 90
   KeystonePasswordHandle:
     Type: AWS::CloudFormation::WaitConditionHandle
   KeystonePassword:
@@ -99,3 +114,6 @@ Outputs:
     KeystonePassword:
         Fn::GetAtt: [ KeystonePassword, Data ]
     KeystoneUser: {Ref: KeystoneUser}
+    HeatPassword:
+        Fn::GetAtt: [ HeatPassword, Data ]
+    HeatUser: {Ref: HeatUser}