Adding floatingip_start and floatingip_end to heat template.
[apex-tripleo-heat-templates.git] / nova-compute.yaml
1 HeatTemplateFormatVersion: '2012-12-12'
2 Description: 'Nova Compute'
3 Parameters:
4   KeyName: 
5     Description: Name of an existing EC2 KeyPair to enable SSH access to the instances
6     Type: String
7     Default: default
8   InstanceType:
9     Description: Use this flavor
10     Type: String
11     Default: baremetal
12   NovaImage:
13     Type: String
14   KeystoneHost:
15     Type: String
16   ServicePassword:
17     Description: admin_password for setting up auth in nova.
18     Type: String
19   QuantumHost:
20     Type: String
21   RabbitHost:
22     Type: String
23   RabbitPassword:
24     Type: String
25   NovaInterfaces:
26     Type: String
27     Default: eth0
28   NovaComputeSize:
29     Type: Number
30     Default: 1
31   NovaComputeDriver:
32     Type: String
33     Default: libvirt.LibvirtDriver
34 Resources:
35   AccessPolicy:
36     Type: OS::Heat::AccessPolicy
37     Properties:
38       AllowedResources: [ NovaCompute ]
39   User:
40     Type: AWS::IAM::User
41     Properties:
42       Policies: [ { Ref: AccessPolicy } ]
43   Key:
44     Type: AWS::IAM::AccessKey
45     Properties:
46       UserName:
47         Ref: User
48   NovaLaunch:
49     Type: AWS::AutoScaling::LaunchConfiguration
50     Properties:
51       ImageId:
52         {Ref: NovaImage}
53       InstanceType: {Ref: InstanceType}
54       KeyName: {Ref: KeyName}
55     Metadata:
56       OpenStack::ImageBuilder::Elements: [ nova-compute ]
57       heat: 
58         access_key_id:
59           Ref: Key
60         secret_key:
61           Fn::GetAtt: [ Key, SecretAccessKey ]
62         stack:
63           name: {Ref: 'AWS::StackName'}
64           region: {Ref: 'AWS::Region'}
65         refresh:
66           - resource: NovaCompute
67       nova:
68         compute_driver: {Ref: NovaComputeDriver}
69       keystone:
70         host: {Ref: KeystoneHost}
71       quantum:
72         host: {Ref: QuantumHost}
73       service-password: {Ref: ServicePassword}
74       admin-password: {Ref: ServicePassword}
75       rabbit:
76         host: {Ref: RabbitHost}
77         password: {Ref: RabbitPassword}
78       swift:
79         store_user: ''
80         store_key: ''
81       interfaces:
82         control: {Ref: NovaInterfaces}
83   NovaCompute:
84       Type: OS::Heat::InstanceGroup
85       Properties:
86         LaunchConfigurationName: {Ref: NovaLaunch}
87         Size: {Ref: NovaComputeSize}
88         AvailabilityZones:
89           Fn::GetAZs: ''