Adding nova-api and finishing nova-compute split.
authorClint Byrum <clint@fewbar.com>
Fri, 10 May 2013 00:44:37 +0000 (17:44 -0700)
committerClint Byrum <clint@fewbar.com>
Fri, 10 May 2013 00:44:37 +0000 (17:44 -0700)
nova-api.yaml [new file with mode: 0644]
nova-compute.yaml

diff --git a/nova-api.yaml b/nova-api.yaml
new file mode 100644 (file)
index 0000000..15ce26d
--- /dev/null
@@ -0,0 +1,83 @@
+HeatTemplateFormatVersion: '2012-12-12'
+Description: 'HEAT Template - Nova API'
+Parameters:
+  KeyName: 
+    Description: Name of an existing EC2 KeyPair to enable SSH access to the instances
+    Type: String
+    Default: default
+  InstanceType:
+    Description: Use this flavor
+    Type: String
+    Default: bm.small
+  NovaDSN:
+    Description: DSN for connecting to nova database
+    Type: String
+  NovaImage:
+    Type: String
+  KeystoneHost:
+    Type: String
+  ServicePassword:
+    Description: admin_password for setting up auth in nova.
+    Type: String
+  TemplateURL:
+    Type: String
+    Default: https://raw.github.com/openstack-ops/templates/master/
+  RabbitHost:
+    Type: String
+  RabbitPassword:
+    Type: String
+  NovaInterfaces:
+    Type: String
+    Default: eth0
+  NovaAPiSize:
+    Type: Integer
+    Default: 1
+Resources:
+  AccessPolicy:
+    Type: OS::Heat::AccessPolicy
+    Properties:
+      AllowedResources: [ NovaApi ]
+  User:
+    Type: AWS::IAM::User
+    Properties:
+      Policies: [ { Ref: AccessPolicy } ]
+  Key:
+    Type: AWS::IAM::AccessKey
+    Properties:
+      UserName:
+        Ref: User
+  NovaApi:
+    Type: AWS::EC2::Instance
+    Properties:
+      ImageId:
+        {Ref: NovaImage}
+      InstanceType: {Ref: InstanceType}
+      KeyName: {Ref: KeyName}
+    Metadata:
+      OpenStack::ImageBuilder::Elements: [ nova-api ]
+      heat: 
+        access_key_id:
+          Ref: Key
+        secret_key:
+          Fn::GetAtt: [ Key, SecretAccessKey ]
+        stack:
+          name: {Ref: 'AWS::StackName'}
+          region: {Ref: 'AWS::Region'}
+        refresh:
+          - resource: NovaApi
+      keystone:
+        host: {Ref: KeystoneHost}
+      nova:
+        db: {Ref: NovaDSN}
+      quantum:
+        host: {Ref: QuantumHost}
+      service-password: {Ref: ServicePassword}
+      admin-password: {Ref: ServicePassword}
+      rabbit:
+        host: {Ref: RabbitHost}
+        password: {Ref: RabbitPassword}
+      swift:
+        store_user: ''
+        store_key: ''
+      interfaces:
+        control: {Ref: NovaInterfaces}
index 596c1b5..ae4affb 100644 (file)
@@ -9,9 +9,6 @@ Parameters:
     Description: Use this flavor
     Type: String
     Default: bm.small
-  NovaDSN:
-    Description: DSN for connecting to nova database
-    Type: String
   NovaImage:
     Type: String
   KeystoneHost:
@@ -32,6 +29,9 @@ Parameters:
   NovaComputeSize:
     Type: Integer
     Default: 1
+  NovaComputeDriver:
+    Type: String
+    Default: libvirt.LibvirtDriver
 Resources:
   AccessPolicy:
     Type: OS::Heat::AccessPolicy
@@ -65,10 +65,10 @@ Resources:
           region: {Ref: 'AWS::Region'}
         refresh:
           - resource: NovaCompute
+      nova:
+        compute_driver: {Ref: NovaComputeDriver}
       keystone:
         host: {Ref: KeystoneHost}
-      nova:
-        db: {Ref: NovaDSN}
       quantum:
         host: {Ref: QuantumHost}
       service-password: {Ref: ServicePassword}