blob: 7f7668b7af169d70df9710a4a0a5aa7e8fc0df10 [file] [log] [blame]
Filip Pytloun923d8692015-10-06 16:28:32 +02001
Aleš Komárekd13365c2017-04-11 13:13:37 +02002============
3Heat Formula
4============
Filip Pytloun923d8692015-10-06 16:28:32 +02005
Jakub Pavlik3bed97a2016-05-20 11:16:08 +02006Heat is the main project in the OpenStack Orchestration program. It implements
7an orchestration engine to launch multiple composite cloud applications based
8on templates in the form of text files that can be treated like code. A native
9Heat template format is evolving, but Heat also endeavours to provide
10compatibility with the AWS CloudFormation template format, so that many
11existing CloudFormation templates can be launched on OpenStack. Heat provides
12both an OpenStack-native ReST API and a CloudFormation-compatible Query API.
Filip Pytloun923d8692015-10-06 16:28:32 +020013
Aleš Komárekd13365c2017-04-11 13:13:37 +020014Sample Pillars
Filip Pytloun923d8692015-10-06 16:28:32 +020015==============
16
17Single Heat services on the controller node
18
19.. code-block:: yaml
20
21 heat:
22 server:
23 enabled: true
24 version: icehouse
Jakub Pavlik51e15e02016-03-12 13:32:26 +010025 region: RegionOne
Filip Pytloun923d8692015-10-06 16:28:32 +020026 bind:
27 metadata:
28 address: 10.0.106.10
29 port: 8000
Oleksii Chupryncd1be6f2017-04-07 09:30:26 +030030 protocol: http
Filip Pytloun923d8692015-10-06 16:28:32 +020031 waitcondition:
32 address: 10.0.106.10
33 port: 8000
Oleksii Chupryncd1be6f2017-04-07 09:30:26 +030034 protocol: http
Filip Pytloun923d8692015-10-06 16:28:32 +020035 watch:
36 address: 10.0.106.10
37 port: 8003
Oleksii Chupryncd1be6f2017-04-07 09:30:26 +030038 protocol: http
Filip Pytloun923d8692015-10-06 16:28:32 +020039 cloudwatch:
40 host: 10.0.106.20
41 api:
42 host: 10.0.106.20
43 api_cfn:
44 host: 10.0.106.20
45 database:
46 engine: mysql
47 host: 10.0.106.20
48 port: 3306
49 name: heat
50 user: heat
51 password: password
52 identity:
53 engine: keystone
54 host: 10.0.106.20
55 port: 35357
56 tenant: service
57 user: heat
58 password: password
Dennis Dmitriev09650272017-03-09 17:51:00 +020059 endpoint_type_default: internalURL
60 endpoint_type_heat: publicURL
Filip Pytloun923d8692015-10-06 16:28:32 +020061 message_queue:
62 engine: rabbitmq
63 host: 10.0.106.20
64 port: 5672
65 user: openstack
66 password: password
67 virtual_host: '/openstack'
68 ha_queues: True
69
Ondrej Smola70f29342017-04-28 12:58:06 +020070Enable CORS parameters
71
72.. code-block:: yaml
73
74 heat:
75 server:
76 cors:
77 allowed_origin: https:localhost.local,http:localhost.local
78 expose_headers: X-Auth-Token,X-Openstack-Request-Id,X-Subject-Token
79 allow_methods: GET,PUT,POST,DELETE,PATCH
80 allow_headers: X-Auth-Token,X-Openstack-Request-Id,X-Subject-Token
81 allow_credentials: True
82 max_age: 86400
83
84
Filip Pytloun923d8692015-10-06 16:28:32 +020085Heat client with specified git templates
86
87.. code-block:: yaml
88
89 heat:
90 client:
91 enabled: true
Jiri Broulikb2ef3282017-02-07 22:33:30 +010092 template:
93 admin:
94 domain: default
95 source:
96 engine: git
97 address: git@repo.domain.com/admin-templates.git
98 revision: master
99 default:
100 domain: default
101 source:
102 engine: git
103 address: git@repo.domain.com/default-templates.git
104 revision: master
105
Filip Pytloun923d8692015-10-06 16:28:32 +0200106
107Heat system definition of several stacks/systems
108
109.. code-block:: yaml
110
111 heat:
112 control:
113 enabled: true
114 system:
115 web_production:
116 format: hot
117 template_file: /srv/heat/template/web_cluster.hot
118 environment: /srv/heat/env/web_cluster/prd.env
119 web_staging:
120 format: hot
121 template_file: /srv/heat/template/web_cluster.hot
122 environment: /srv/heat/env/web_cluster/stg.env
123
124Ceilometer notification
125
126.. code-block:: yaml
127
128 heat:
129 server:
130 enabled: true
131 version: icehouse
132 notification: true
133
Dmitry Ukovf3f33a82017-05-05 11:56:46 +0400134Configuration of policy.json file
135
136.. code-block:: yaml
137
138 heat:
139 server:
140 ....
141 policy:
142 deny_stack_user: 'not role:heat_stack_user'
143 'cloudformation:ValidateTemplate': 'rule:deny_stack_user'
144 # Add key without value to remove line from policy.json
145 'cloudformation:DescribeStackResource':
146
Jiri Konecnyf94dd922016-04-20 12:09:22 +0200147
148Client-side RabbitMQ HA setup
149
150.. code-block:: yaml
151
152 heat:
153 server:
154 ....
155 message_queue:
156 engine: rabbitmq
157 members:
158 - host: 10.0.16.1
159 - host: 10.0.16.2
160 - host: 10.0.16.3
161 user: openstack
162 password: pwd
163 virtual_host: '/openstack'
164 ....
165
166
Filip Pytloundc94d872017-02-02 13:02:03 +0100167Documentation and Bugs
168======================
169
170To learn how to install and update salt-formulas, consult the documentation
171available online at:
172
173 http://salt-formulas.readthedocs.io/
174
175In the unfortunate event that bugs are discovered, they should be reported to
176the appropriate issue tracker. Use Github issue tracker for specific salt
177formula:
178
179 https://github.com/salt-formulas/salt-formula-heat/issues
180
181For feature requests, bug reports or blueprints affecting entire ecosystem,
182use Launchpad salt-formulas project:
183
184 https://launchpad.net/salt-formulas
185
186You can also join salt-formulas-users team and subscribe to mailing list:
187
188 https://launchpad.net/~salt-formulas-users
189
190Developers wishing to work on the salt-formulas projects should always base
191their work on master branch and submit pull request against specific formula.
192
193 https://github.com/salt-formulas/salt-formula-heat
194
195Any questions or feedback is always welcome so feel free to join our IRC
196channel:
197
198 #salt-formulas @ irc.freenode.net