diff options
Diffstat (limited to 'nova-compute.yaml')
-rw-r--r-- | nova-compute.yaml | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/nova-compute.yaml b/nova-compute.yaml new file mode 100644 index 00000000..596c1b50 --- /dev/null +++ b/nova-compute.yaml @@ -0,0 +1,88 @@ +HeatTemplateFormatVersion: '2012-12-12' +Description: 'HEAT Template - 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: 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 + NovaComputeSize: + Type: Integer + Default: 1 +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 + NovaLaunch: + Type: AWS::AutoScaling::LaunchConfiguration + 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 + 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} + NovaCompute: + Type: OS::Heat::InstanceGroup + Properties: + LaunchConfiguration: {Ref: NovaLaunch} + Size: {Ref: NovaComputeSize} |