blob: 430939d93ae0d18aa80940ed316736465afa105b [file] [log] [blame]
Filip Pytloun923d8692015-10-06 16:28:32 +02001
OlgaGusarenko769c8192018-07-30 18:16:44 +03002=====
3Usage
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
OlgaGusarenko769c8192018-07-30 18:16:44 +030017Single Heat services on the controller node:
Filip Pytloun923d8692015-10-06 16:28:32 +020018
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
Dmitry Stremkouskib3d83a92017-11-08 16:01:18 +030069 max_stacks_per_tenant: 150
Dmitry Stremkouski9cacd162017-11-08 16:39:38 +030070 max_nested_stack_depth: 10
Filip Pytloun923d8692015-10-06 16:28:32 +020071
OlgaGusarenko769c8192018-07-30 18:16:44 +030072Define server clients Keystone parameter:
Ondrej Smola24ae6a82017-07-18 10:53:14 +020073
74.. code-block:: yaml
75
76 heat:
77 server:
78 clients:
79 keystone:
80 protocol: https
81 host: 10.0.106.10
82 port: 5000
83 insecure: false
84
OlgaGusarenko769c8192018-07-30 18:16:44 +030085Enable CORS parameters:
Ondrej Smola70f29342017-04-28 12:58:06 +020086
87.. code-block:: yaml
88
89 heat:
90 server:
91 cors:
92 allowed_origin: https:localhost.local,http:localhost.local
93 expose_headers: X-Auth-Token,X-Openstack-Request-Id,X-Subject-Token
94 allow_methods: GET,PUT,POST,DELETE,PATCH
95 allow_headers: X-Auth-Token,X-Openstack-Request-Id,X-Subject-Token
96 allow_credentials: True
97 max_age: 86400
98
OlgaGusarenko769c8192018-07-30 18:16:44 +030099Heat client with specified git templates:
Filip Pytloun923d8692015-10-06 16:28:32 +0200100
101.. code-block:: yaml
102
103 heat:
104 client:
105 enabled: true
Jiri Broulikb2ef3282017-02-07 22:33:30 +0100106 template:
107 admin:
108 domain: default
109 source:
110 engine: git
111 address: git@repo.domain.com/admin-templates.git
112 revision: master
113 default:
114 domain: default
115 source:
116 engine: git
117 address: git@repo.domain.com/default-templates.git
118 revision: master
119
OlgaGusarenko769c8192018-07-30 18:16:44 +0300120Ceilometer notification:
Filip Pytloun923d8692015-10-06 16:28:32 +0200121
122.. code-block:: yaml
123
124 heat:
125 server:
126 enabled: true
127 version: icehouse
128 notification: true
129
OlgaGusarenko769c8192018-07-30 18:16:44 +0300130Configuration of ``policy.json`` file:
Dmitry Ukovf3f33a82017-05-05 11:56:46 +0400131
132.. code-block:: yaml
133
134 heat:
135 server:
136 ....
137 policy:
138 deny_stack_user: 'not role:heat_stack_user'
139 'cloudformation:ValidateTemplate': 'rule:deny_stack_user'
140 # Add key without value to remove line from policy.json
141 'cloudformation:DescribeStackResource':
142
OlgaGusarenko769c8192018-07-30 18:16:44 +0300143Client-side RabbitMQ HA setup:
Jiri Konecnyf94dd922016-04-20 12:09:22 +0200144
145.. code-block:: yaml
146
147 heat:
148 server:
149 ....
150 message_queue:
151 engine: rabbitmq
152 members:
153 - host: 10.0.16.1
154 - host: 10.0.16.2
155 - host: 10.0.16.3
156 user: openstack
157 password: pwd
158 virtual_host: '/openstack'
159 ....
160
Kirill Bespalov00da2512017-11-21 13:21:21 +0300161Configuring TLS communications
162-------------------------------
Kirill Bespalov27d20ca2017-08-06 15:43:28 +0300163
OlgaGusarenko769c8192018-07-30 18:16:44 +0300164.. note:: By default, system-wide installed CA certs are used, so the
165 ``cacert_file`` param is optional, as well as ``cacert``.
Kirill Bespalov27d20ca2017-08-06 15:43:28 +0300166
OlgaGusarenko769c8192018-07-30 18:16:44 +0300167- **RabbitMQ TLS**
Kirill Bespalov27d20ca2017-08-06 15:43:28 +0300168
OlgaGusarenko769c8192018-07-30 18:16:44 +0300169 .. code-block:: yaml
Kirill Bespalov27d20ca2017-08-06 15:43:28 +0300170
OlgaGusarenko769c8192018-07-30 18:16:44 +0300171 heat:
Kirill Bespalov00da2512017-11-21 13:21:21 +0300172 server:
OlgaGusarenko769c8192018-07-30 18:16:44 +0300173 message_queue:
174 port: 5671
175 ssl:
176 enabled: True
177 (optional) cacert: cert body if the cacert_file does not exists
178 (optional) cacert_file: /etc/openstack/rabbitmq-ca.pem
179 (optional) version: TLSv1_2
Kirill Bespalov27d20ca2017-08-06 15:43:28 +0300180
OlgaGusarenko769c8192018-07-30 18:16:44 +0300181- **MySQL TLS**
Kirill Bespalov27d20ca2017-08-06 15:43:28 +0300182
OlgaGusarenko769c8192018-07-30 18:16:44 +0300183 .. code-block:: yaml
Kirill Bespalov27d20ca2017-08-06 15:43:28 +0300184
OlgaGusarenko769c8192018-07-30 18:16:44 +0300185 heat:
186 server:
187 database:
188 ssl:
189 enabled: True
190 (optional) cacert: cert body if the cacert_file does not exists
191 (optional) cacert_file: /etc/openstack/mysql-ca.pem
Kirill Bespalov27d20ca2017-08-06 15:43:28 +0300192
OlgaGusarenko769c8192018-07-30 18:16:44 +0300193- **Openstack HTTPS API**
194
195 .. code-block:: yaml
196
197 heat:
Kirill Bespalov00da2512017-11-21 13:21:21 +0300198 server:
OlgaGusarenko769c8192018-07-30 18:16:44 +0300199 identity:
200 protocol: https
201 (optional) cacert_file: /etc/openstack/proxy.pem
202 clients:
203 keystone:
204 protocol: https
205 (optional) cacert_file: /etc/openstack/proxy.pem
Kirill Bespalov27d20ca2017-08-06 15:43:28 +0300206
Dmitry Kalashnik1c26ac02017-12-06 13:37:19 +0400207Enhanced logging with logging.conf
208----------------------------------
209
210By default logging.conf is disabled.
211
212That is possible to enable per-binary logging.conf with new variables:
Dmitry Kalashnik1c26ac02017-12-06 13:37:19 +0400213
OlgaGusarenko769c8192018-07-30 18:16:44 +0300214* ``openstack_log_appender``
215 Set to true to enable ``log_config_append`` for all OpenStack services
Dmitry Kalashnik1c26ac02017-12-06 13:37:19 +0400216
OlgaGusarenko769c8192018-07-30 18:16:44 +0300217* ``openstack_fluentd_handler_enabled``
218 Set to true to enable ``FluentHandler`` for all Openstack services
219
220* ``openstack_ossyslog_handler_enabled``
221 Set to true to enable ``OSSysLogHandler`` for all Openstack services
222
223Only `WatchedFileHandler``, ``OSSysLogHandler``, and ``FluentHandler`` are
224available.
225
226Also, it is possible to configure this with pillar:
Dmitry Kalashnik1c26ac02017-12-06 13:37:19 +0400227
228.. code-block:: yaml
229
230 heat:
231 server:
232 logging:
233 log_appender: true
234 log_handlers:
235 watchedfile:
236 enabled: true
237 fluentd:
238 enabled: true
Oleksii Chupryn99a3e1b2018-02-07 09:40:30 +0200239 ossyslog:
240 enabled: true
Jiri Konecnyf94dd922016-04-20 12:09:22 +0200241
Filip Pytloundc94d872017-02-02 13:02:03 +0100242Documentation and Bugs
243======================
244
OlgaGusarenko769c8192018-07-30 18:16:44 +0300245* http://salt-formulas.readthedocs.io/
246 Learn how to install and update salt-formulas
Filip Pytloundc94d872017-02-02 13:02:03 +0100247
OlgaGusarenko769c8192018-07-30 18:16:44 +0300248* https://github.com/salt-formulas/salt-formula-heat/issues
249 In the unfortunate event that bugs are discovered, report the issue to the
250 appropriate issue tracker. Use the Github issue tracker for a specific salt
251 formula
Filip Pytloundc94d872017-02-02 13:02:03 +0100252
OlgaGusarenko769c8192018-07-30 18:16:44 +0300253* https://launchpad.net/salt-formulas
254 For feature requests, bug reports, or blueprints affecting the entire
255 ecosystem, use the Launchpad salt-formulas project
Filip Pytloundc94d872017-02-02 13:02:03 +0100256
OlgaGusarenko769c8192018-07-30 18:16:44 +0300257* https://launchpad.net/~salt-formulas-users
258 Join the salt-formulas-users team and subscribe to mailing list if required
Filip Pytloundc94d872017-02-02 13:02:03 +0100259
OlgaGusarenko769c8192018-07-30 18:16:44 +0300260* https://github.com/salt-formulas/salt-formula-heat
261 Develop the salt-formulas projects in the master branch and then submit pull
262 requests against a specific formula
Filip Pytloundc94d872017-02-02 13:02:03 +0100263
OlgaGusarenko769c8192018-07-30 18:16:44 +0300264* #salt-formulas @ irc.freenode.net
265 Use this IRC channel in case of any questions or feedback which is always
266 welcome
Filip Pytloundc94d872017-02-02 13:02:03 +0100267