New single instance nova-compute.
authorClint Byrum <clint@fewbar.com>
Thu, 23 May 2013 22:48:15 +0000 (15:48 -0700)
committerClint Byrum <clint@fewbar.com>
Thu, 6 Jun 2013 16:40:16 +0000 (09:40 -0700)
nova-compute-instance.yaml [new file with mode: 0644]

diff --git a/nova-compute-instance.yaml b/nova-compute-instance.yaml
new file mode 100644 (file)
index 0000000..2c9b838
--- /dev/null
@@ -0,0 +1,83 @@
+HeatTemplateFormatVersion: '2012-12-12'
+Description: 'Nova Compute'
+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: baremetal
+  NovaImage:
+    Type: String
+  KeystoneHost:
+    Type: String
+  ServicePassword:
+    Description: admin_password for setting up auth in nova.
+    Type: String
+  QuantumHost:
+    Type: String
+  RabbitHost:
+    Type: String
+  RabbitPassword:
+    Type: String
+  NovaInterfaces:
+    Type: String
+    Default: eth0
+  NovaComputeDriver:
+    Type: String
+    Default: libvirt.LibvirtDriver
+  GlanceHost:
+    Type: String
+Resources:
+  AccessPolicy:
+    Type: OS::Heat::AccessPolicy
+    Properties:
+      AllowedResources: [ NovaCompute ]
+  User:
+    Type: AWS::IAM::User
+    Properties:
+      Policies: [ { Ref: AccessPolicy } ]
+  Key:
+    Type: AWS::IAM::AccessKey
+    Properties:
+      UserName:
+        Ref: User
+  NovaCompute:
+    Type: AWS::EC2::Instance
+    Properties:
+      ImageId:
+        {Ref: NovaImage}
+      InstanceType: {Ref: InstanceType}
+      KeyName: {Ref: KeyName}
+    Metadata:
+      OpenStack::ImageBuilder::Elements: [ nova-compute ]
+      heat: 
+        access_key_id:
+          Ref: Key
+        secret_key:
+          Fn::GetAtt: [ Key, SecretAccessKey ]
+        stack:
+          name: {Ref: 'AWS::StackName'}
+          region: {Ref: 'AWS::Region'}
+        refresh:
+          - resource: NovaCompute
+      nova:
+        compute_driver: {Ref: NovaComputeDriver}
+      glance:
+        host: {Ref: GlanceHost}
+      keystone:
+        host: {Ref: KeystoneHost}
+      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}