Hand modifying notcompute to work with elements.
[apex-tripleo-heat-templates.git] / notcompute.yaml
1 Description: Nova API,Keystone,Heat Engine and API,Glance,Quantum,Dedicated MySQL
2   server,Dedicated RabbitMQ Server
3 HeatTemplateFormatVersion: '2012-12-12'
4 Parameters:
5   AdminToken:
6     Type: String
7   BootstrapDumpPassword:
8     Default: ''
9     Description: Password to use for mysqldump from Bootstrap Host
10     Type: String
11   BootstrapHost:
12     Default: ''
13     Description: Load mysqldump from this Host
14     Type: String
15   BootstrapRootPassword:
16     Default: ''
17     Description: Root password for localhost access after bootstrap
18     Type: String
19   BootstrapSlavePassword:
20     Default: ''
21     Description: Password to use with BootstrapSlaveUser
22     Type: String
23   BootstrapSlaveUser:
24     Default: ''
25     Description: User to use for replication from bootstrap host
26     Type: String
27   GlanceDBPassword:
28     Description: Password for connecting to glance database
29     Type: String
30   HeatDBPassword:
31     Description: Password for accessing Heat database.
32     Type: String
33   InstanceType:
34     Default: baremetal
35     Description: Use this flavor
36     Type: String
37   KeyName:
38     Default: default
39     Description: Name of an existing EC2 KeyPair to enable SSH access to the instances
40     Type: String
41   KeystoneDBPassword:
42     Description: Password for connecting to keystone
43     Type: String
44   NovaDBPassword:
45     Description: Password for connecting to nova database
46     Type: String
47   NovaInterfaces:
48     Default: eth0
49     Type: String
50   QuantumDBPassword:
51     Description: Password for connecting to quantum database
52     Type: String
53   QuantumInterfaces:
54     Default: eth0
55     Type: String
56   RabbitMQPassword:
57     Description: Password for RabbitMQ
58     Type: String
59   RabbitPassword:
60     Type: String
61   ServicePassword:
62     Description: admin_password for setting up auth in nova.
63     Type: String
64   notcomputeImage:
65     Type: String
66 Resources:
67   AccessPolicy:
68     Properties:
69       AllowedResources:
70       - notcompute
71     Type: OS::Heat::AccessPolicy
72   Key:
73     Properties:
74       UserName:
75         Ref: User
76     Type: AWS::IAM::AccessKey
77   User:
78     Properties:
79       Policies:
80       - Ref: AccessPolicy
81     Type: AWS::IAM::User
82   notcompute:
83     Metadata:
84       OpenStack::ImageBuilder::Elements:
85       - nova-api
86       - keystone
87       - heat-api
88       - heat-engine
89       - glance
90       - mysql-migration
91       - rabbitmq-server
92       admin-password:
93         Ref: ServicePassword
94       admin-token:
95         Ref: AdminToken
96       glance:
97         db:
98           Fn::Join:
99             - ''
100             - - 'mysql://glance:'
101               - {Ref: GlanceDBPassword}
102               - '@127.0.0.1/glance'
103       heat:
104         db:
105           Fn::Join:
106             - ''
107             - - 'mysql://heat:'
108               - {Ref: HeatDBPassword}
109               - '@127.0.0.1/heat'
110         access_key_id:
111           Ref: Key
112         refresh:
113         - resource: notcompute
114         secret_key:
115           Fn::GetAtt:
116           - Key
117           - SecretAccessKey
118         stack:
119           name:
120             Ref: AWS::StackName
121           region:
122             Ref: AWS::Region
123       interfaces:
124         control:
125           Ref: NovaInterfaces
126       keystone:
127         host:
128           Fn::GetAtt: [ notocmpute, PrivateIp ]
129         db:
130           Fn::Join:
131             - ''
132             - - 'mysql://keystone:'
133               - {Ref: KeystoneDBPassword}
134               - '@127.0.0.1/keystone'
135       nova:
136         db:
137           Fn::Join:
138             - ''
139             - - 'mysql://nova:'
140               - {Ref: NovaDBPassword}
141               - '@127.0.0.1/nova'
142       quantum:
143         host:
144           Fn::GetAtt: [ notcompute , PrivateIp ]
145         ovs_db:
146           Fn::Join:
147             - ''
148             - - 'mysql://quantum:'
149               - {Ref: QuantumDBPassword}
150               - '@127.0.0.1/ovs_quantum'
151       rabbit:
152         host:
153           Fn::GetAtt: [ notcompute , PrivateIp ]
154         password:
155           Ref: RabbitPassword
156       service-password:
157         Ref: ServicePassword
158     Properties:
159       ImageId:
160         Ref: notcomputeImage
161       InstanceType:
162         Ref: InstanceType
163       KeyName:
164         Ref: KeyName
165     Type: AWS::EC2::Instance