Add a template for OpenStack Networking (Quantum).
authorClint Byrum <clint@fewbar.com>
Thu, 9 May 2013 00:00:34 +0000 (17:00 -0700)
committerClint Byrum <clint@fewbar.com>
Thu, 9 May 2013 00:00:34 +0000 (17:00 -0700)
quantum.yaml [new file with mode: 0644]

diff --git a/quantum.yaml b/quantum.yaml
new file mode 100644 (file)
index 0000000..ba8aca5
--- /dev/null
@@ -0,0 +1,77 @@
+HeatTemplateFormatVersion: '2012-12-12'
+Description: 'HEAT Template - Quantum'
+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
+  QuantumDSN:
+    Description: DSN for connecting to quantum database
+    Type: String
+  QuantumImage:
+    Type: String
+  KeystoneHost:
+    Type: String
+  ServicePassword:
+    Description: admin_password for setting up auth in quantum.
+    Type: String
+  TemplateURL:
+    Type: String
+    Default: https://raw.github.com/openstack-ops/templates/master/
+  RabbitHost:
+    Type: String
+  RabbitPassword:
+    Type: String
+  QuantuMInterfaces:
+    Type: String
+    Default: eth0
+Resources:
+  AccessPolicy:
+    Type: OS::Heat::AccessPolicy
+    Properties:
+      AllowedResources: [ Quantum ]
+  User:
+    Type: AWS::IAM::User
+    Properties:
+      Policies: [ { Ref: AccessPolicy } ]
+  Key:
+    Type: AWS::IAM::AccessKey
+    Properties:
+      UserName:
+        Ref: User
+  Quantum:
+    Type: AWS::EC2::Instance
+    Properties:
+      ImageId:
+        {Ref: QuantumImage}
+      InstanceType: {Ref: InstanceType}
+      KeyName: {Ref: KeyName}
+    Metadata:
+      OpenStack::ImageBuilder::Elements: [ quantum ]
+      heat: 
+        access_key_id:
+          Ref: Key
+        secret_key:
+          Fn::GetAtt: [ Key, SecretAccessKey ]
+        stack:
+          name: {Ref: 'AWS::StackName'}
+          region: {Ref: 'AWS::Region'}
+        refresh:
+          - resource: Quantum
+      keystone:
+        host: {Ref: KeystoneHost}
+      quantum:
+        ovs_db: {Ref: QuantumDSN}
+      service-password: {Ref: ServicePassword}
+      rabbit:
+        host: {Ref: RabbitHost}
+        password: {Ref: RabbitPassword}
+      swift:
+        store_user: ''
+        store_key: ''
+      interfaces:
+        control: {Ref: QuantumInterfaces}