blob: 555ef91a2fc0e79ccb186a1dd5efc832378e5566 [file] [log] [blame]
OlgaGusarenko74b53f22018-06-28 17:35:48 +03001=====
2Usage
3=====
Filip Pytlounda2a0792015-10-06 16:28:31 +02004
OlgaGusarenko74b53f22018-06-28 17:35:48 +03005Cinder provides an infrastructure for managing volumes in OpenStack.
6Originally, this project was the Nova component called ``nova-volume``
7and starting from the Folsom OpenStack release it has become an independent
8project.
Filip Pytlounda2a0792015-10-06 16:28:31 +02009
OlgaGusarenko74b53f22018-06-28 17:35:48 +030010This file provides the sample configurations for different use cases:
Filip Pytlounda2a0792015-10-06 16:28:31 +020011
OlgaGusarenko74b53f22018-06-28 17:35:48 +030012* Pillar sample of a basic Cinder configuration:
Filip Pytlounda2a0792015-10-06 16:28:31 +020013
OlgaGusarenko74b53f22018-06-28 17:35:48 +030014 The pillar structure defines ``cinder-api`` and ``cinder-scheduler`` inside
15 the ``controller`` role and ``cinder-volume`` inside the to ``volume``
16 role.
17
18 .. code-block:: yaml
Filip Pytlounda2a0792015-10-06 16:28:31 +020019
20 cinder:
21 controller:
22 enabled: true
23 version: juno
Dmitry Stremkovskiy9f4ac8b2017-07-11 09:48:46 +030024 cinder_uid: 304
25 cinder_gid: 304
Dmitry Stremkovskiyef4c7d02017-07-30 16:51:52 +030026 nas_secure_file_permissions: false
27 nas_secure_file_operations: false
Dmitry Stremkovskiya5dd7992017-07-30 19:54:23 +030028 cinder_internal_tenant_user_id: f46924c112a14c80ab0a24a613d95eef
29 cinder_internal_tenant_project_id: b7455b8974bb4064ad247c8f375eae6c
Jakub Pavlikaf96c2a2016-01-08 15:49:54 +010030 default_volume_type: 7k2SaS
stelucz1f3a82f2017-09-19 18:38:13 +020031 enable_force_upload: true
Damian Szeluga0918f5a2017-04-19 12:26:56 +020032 availability_zone_fallback: True
Filip Pytlounda2a0792015-10-06 16:28:31 +020033 database:
34 engine: mysql
35 host: 127.0.0.1
36 port: 3306
37 name: cinder
38 user: cinder
39 password: pwd
40 identity:
41 engine: keystone
42 host: 127.0.0.1
43 port: 35357
44 tenant: service
45 user: cinder
46 password: pwd
47 message_queue:
48 engine: rabbitmq
49 host: 127.0.0.1
50 port: 5672
51 user: openstack
52 password: pwd
53 virtual_host: '/openstack'
Jakub Pavlikaf96c2a2016-01-08 15:49:54 +010054 backend:
55 7k2_SAS:
56 engine: storwize
Jakub Pavlikedd46102016-01-08 16:20:38 +010057 type_name: slow-disks
Jakub Pavlikaf96c2a2016-01-08 15:49:54 +010058 host: 192.168.0.1
59 port: 22
60 user: username
61 password: pass
62 connection: FC/iSCSI
63 multihost: true
64 multipath: true
65 pool: SAS7K2
Kirill Bespalov01614c02017-07-31 17:06:09 +030066 audit:
Petr Michaleca1c7ff12016-11-29 16:32:50 +010067 enabled: false
Simon Pasquier9089de42017-02-03 16:13:22 +010068 osapi_max_limit: 500
Oleg Iurchenko83ee09a2017-10-17 18:24:28 +030069 barbican:
70 enabled: true
Filip Pytlounda2a0792015-10-06 16:28:31 +020071
72 cinder:
73 volume:
74 enabled: true
75 version: juno
Dmitry Stremkovskiy9f4ac8b2017-07-11 09:48:46 +030076 cinder_uid: 304
77 cinder_gid: 304
Dmitry Stremkovskiyef4c7d02017-07-30 16:51:52 +030078 nas_secure_file_permissions: false
79 nas_secure_file_operations: false
Dmitry Stremkovskiya5dd7992017-07-30 19:54:23 +030080 cinder_internal_tenant_user_id: f46924c112a14c80ab0a24a613d95eef
81 cinder_internal_tenant_project_id: b7455b8974bb4064ad247c8f375eae6c
Jakub Pavlikaf96c2a2016-01-08 15:49:54 +010082 default_volume_type: 7k2SaS
Michael Polenchukf0d642e2018-07-27 09:55:14 +040083 enable_force_upload: true
84 my_ip: 192.168.0.254
Filip Pytlounda2a0792015-10-06 16:28:31 +020085 database:
86 engine: mysql
87 host: 127.0.0.1
88 port: 3306
89 name: cinder
90 user: cinder
91 password: pwd
92 identity:
93 engine: keystone
94 host: 127.0.0.1
95 port: 35357
96 tenant: service
97 user: cinder
98 password: pwd
99 message_queue:
100 engine: rabbitmq
101 host: 127.0.0.1
102 port: 5672
103 user: openstack
104 password: pwd
105 virtual_host: '/openstack'
Jakub Pavlikaf96c2a2016-01-08 15:49:54 +0100106 backend:
107 7k2_SAS:
108 engine: storwize
Jakub Pavlikedd46102016-01-08 16:20:38 +0100109 type_name: 7k2 SAS disk
Jakub Pavlikaf96c2a2016-01-08 15:49:54 +0100110 host: 192.168.0.1
111 port: 22
112 user: username
113 password: pass
114 connection: FC/iSCSI
115 multihost: true
116 multipath: true
117 pool: SAS7K2
Petr Michaleca1c7ff12016-11-29 16:32:50 +0100118 audit:
119 enabled: false
Oleg Iurchenko83ee09a2017-10-17 18:24:28 +0300120 barbican:
121 enabled: true
Ondrej Smola74af21b2017-04-28 12:30:24 +0200122
123
Vasyl Saienkoa5de7512018-07-12 17:28:36 +0300124Volume vmware related options:
125
126.. code-block:: yaml
127
128 cinder:
129 volume:
130 backend:
131 vmware:
132 engine: vmware
133 host_username: vmware
134 host_password: vmware
135 cluster_names: vmware_cluster01,vmware_cluster02
136
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300137* The CORS parameters enablement:
Vasyl Saienkoa5de7512018-07-12 17:28:36 +0300138
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300139 .. code-block:: yaml
Ondrej Smola74af21b2017-04-28 12:30:24 +0200140
141 cinder:
142 controller:
143 cors:
144 allowed_origin: https:localhost.local,http:localhost.local
145 expose_headers: X-Auth-Token,X-Openstack-Request-Id,X-Subject-Token
146 allow_methods: GET,PUT,POST,DELETE,PATCH
147 allow_headers: X-Auth-Token,X-Openstack-Request-Id,X-Subject-Token
148 allow_credentials: True
149 max_age: 86400
Jiri Konecny2dce35f2016-04-19 16:29:52 +0200150
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300151* The client-side RabbitMQ HA setup for the controller:
Jiri Konecny2dce35f2016-04-19 16:29:52 +0200152
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300153 .. code-block:: yaml
Jiri Konecny2dce35f2016-04-19 16:29:52 +0200154
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300155 cinder:
156 controller:
157 ....
158 message_queue:
159 engine: rabbitmq
160 members:
161 - host: 10.0.16.1
162 - host: 10.0.16.2
163 - host: 10.0.16.3
164 user: openstack
165 password: pwd
166 virtual_host: '/openstack'
167 ....
Jiri Konecny2dce35f2016-04-19 16:29:52 +0200168
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300169* The client-side RabbitMQ HA setup for the volume component
Jiri Konecny2dce35f2016-04-19 16:29:52 +0200170
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300171 .. code-block:: yaml
Jiri Konecny2dce35f2016-04-19 16:29:52 +0200172
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300173 cinder:
174 volume:
175 ....
176 message_queue:
177 engine: rabbitmq
178 members:
179 - host: 10.0.16.1
180 - host: 10.0.16.2
181 - host: 10.0.16.3
182 user: openstack
183 password: pwd
184 virtual_host: '/openstack'
185 ....
Filip Pytlounda2a0792015-10-06 16:28:31 +0200186
Kirill Bespalov01614c02017-07-31 17:06:09 +0300187
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300188* Configuring TLS communications.
Kirill Bespalov01614c02017-07-31 17:06:09 +0300189
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300190 .. note:: By default, system-wide installed CA certs are used.
191 Therefore, the ``cacert_file`` and ``cacert`` parameters are
192 optional.
Kirill Bespalov01614c02017-07-31 17:06:09 +0300193
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300194 * RabbitMQ TLS:
Kirill Bespalov1550d6c2017-11-21 12:55:33 +0300195
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300196 .. code-block:: yaml
Kirill Bespalov1550d6c2017-11-21 12:55:33 +0300197
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300198 cinder:
199 controller, volume:
200 message_queue:
201 port: 5671
202 ssl:
203 enabled: True
204 (optional) cacert: cert body if the cacert_file does not exists
205 (optional) cacert_file: /etc/openstack/rabbitmq-ca.pem
206 (optional) version: TLSv1_2
Kirill Bespalov01614c02017-07-31 17:06:09 +0300207
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300208 * MySQL TLS:
Kirill Bespalov01614c02017-07-31 17:06:09 +0300209
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300210 .. code-block:: yaml
Kirill Bespalov01614c02017-07-31 17:06:09 +0300211
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300212 cinder:
213 controller:
214 database:
215 ssl:
216 enabled: True
217 (optional) cacert: cert body if the cacert_file does not exists
218 (optional) cacert_file: /etc/openstack/mysql-ca.pem
Kirill Bespalov01614c02017-07-31 17:06:09 +0300219
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300220 * Openstack HTTPS API:
Kirill Bespalov01614c02017-07-31 17:06:09 +0300221
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300222 .. code-block:: yaml
Kirill Bespalov01614c02017-07-31 17:06:09 +0300223
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300224 cinder:
225 controller, volume:
226 identity:
227 protocol: https
228 (optional) cacert_file: /etc/openstack/proxy.pem
229 glance:
230 protocol: https
231 (optional) cacert_file: /etc/openstack/proxy.pem
Kirill Bespalov01614c02017-07-31 17:06:09 +0300232
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300233* Cinder setup with zeroing deleted volumes:
Kirill Bespalov01614c02017-07-31 17:06:09 +0300234
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300235 .. code-block:: yaml
Alexander Noskov62496fb2017-02-27 16:42:54 +0100236
Filip Pytlounda2a0792015-10-06 16:28:31 +0200237 cinder:
238 controller:
239 enabled: true
240 wipe_method: zero
241 ...
242
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300243* Cinder setup with shreding deleted volumes:
Filip Pytlounda2a0792015-10-06 16:28:31 +0200244
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300245 .. code-block:: yaml
Filip Pytlounda2a0792015-10-06 16:28:31 +0200246
247 cinder:
248 controller:
249 enabled: true
250 wipe_method: shred
251 ...
252
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300253* Configuration of ``policy.json`` file:
Dmitry Ukov56c29072017-05-04 16:48:29 +0400254
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300255 .. code-block:: yaml
Dmitry Ukov56c29072017-05-04 16:48:29 +0400256
257 cinder:
258 controller:
259 ....
260 policy:
261 'volume:delete': 'rule:admin_or_owner'
262 # Add key without value to remove line from policy.json
263 'volume:extend':
264
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300265* Default Cinder backend ``lvm_type`` setup:
sgarbuz0901ebe2018-06-13 17:16:16 +0300266
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300267 .. code-block:: yaml
sgarbuz0901ebe2018-06-13 17:16:16 +0300268
269 cinder:
270 volume:
271 enabled: true
272 backend:
273 # Type of LVM volumes to deploy; (default, thin, or auto). Auto defaults to thin if thin is supported.
274 lvm_type: auto
275
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300276* Default Cinder setup with iSCSI target:
Filip Pytlounda2a0792015-10-06 16:28:31 +0200277
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300278 .. code-block:: yaml
Filip Pytlounda2a0792015-10-06 16:28:31 +0200279
280 cinder:
281 controller:
282 enabled: true
Jakub Pavlik3d437df2016-04-11 22:07:50 +0200283 version: mitaka
284 default_volume_type: lvmdriver-1
Filip Pytlounda2a0792015-10-06 16:28:31 +0200285 database:
286 engine: mysql
287 host: 127.0.0.1
288 port: 3306
289 name: cinder
290 user: cinder
291 password: pwd
292 identity:
293 engine: keystone
294 host: 127.0.0.1
295 port: 35357
296 tenant: service
297 user: cinder
298 password: pwd
299 message_queue:
300 engine: rabbitmq
301 host: 127.0.0.1
302 port: 5672
303 user: openstack
304 password: pwd
305 virtual_host: '/openstack'
Jakub Pavlikaf96c2a2016-01-08 15:49:54 +0100306 backend:
Jakub Pavlik3d437df2016-04-11 22:07:50 +0200307 lvmdriver-1:
308 engine: lvm
309 type_name: lvmdriver-1
310 volume_group: cinder-volume
Filip Pytlounda2a0792015-10-06 16:28:31 +0200311
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300312* Cinder setup for IBM Storwize:
Filip Pytlounda2a0792015-10-06 16:28:31 +0200313
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300314 .. code-block:: yaml
Filip Pytlounda2a0792015-10-06 16:28:31 +0200315
316 cinder:
Ales Komarekdf13bbd2016-01-05 21:33:36 +0100317 volume:
Filip Pytlounda2a0792015-10-06 16:28:31 +0200318 enabled: true
Ales Komarekdf13bbd2016-01-05 21:33:36 +0100319 backend:
320 7k2_SAS:
321 engine: storwize
Jakub Pavlikedd46102016-01-08 16:20:38 +0100322 type_name: 7k2 SAS disk
Ales Komarekdf13bbd2016-01-05 21:33:36 +0100323 host: 192.168.0.1
324 port: 22
325 user: username
326 password: pass
327 connection: FC/iSCSI
328 multihost: true
329 multipath: true
330 pool: SAS7K2
331 10k_SAS:
332 engine: storwize
Jakub Pavlikedd46102016-01-08 16:20:38 +0100333 type_name: 10k SAS disk
Ales Komarekdf13bbd2016-01-05 21:33:36 +0100334 host: 192.168.0.1
335 port: 22
336 user: username
337 password: pass
338 connection: FC/iSCSI
339 multihost: true
340 multipath: true
341 pool: SAS10K
342 15k_SAS:
343 engine: storwize
Jakub Pavlikedd46102016-01-08 16:20:38 +0100344 type_name: 15k SAS
Ales Komarekdf13bbd2016-01-05 21:33:36 +0100345 host: 192.168.0.1
346 port: 22
347 user: username
348 password: pass
349 connection: FC/iSCSI
350 multihost: true
351 multipath: true
352 pool: SAS15K
Filip Pytlounda2a0792015-10-06 16:28:31 +0200353
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300354* Cinder setup with NFS:
Jiri Broulik88548db2017-03-31 12:21:37 +0200355
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300356 .. code-block:: yaml
Jiri Broulik88548db2017-03-31 12:21:37 +0200357
358 cinder:
359 controller:
360 enabled: true
361 default_volume_type: nfs-driver
362 backend:
363 nfs-driver:
364 engine: nfs
365 type_name: nfs-driver
366 volume_group: cinder-volume
367 path: /var/lib/cinder/nfs
368 devices:
369 - 172.16.10.110:/var/nfs/cinder
370 options: rw,sync
371
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300372* Cinder setup with NetApp:
Jiri Broulik88548db2017-03-31 12:21:37 +0200373
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300374 .. code-block:: yaml
Alexey Chekunovf916f0c2017-05-25 13:29:45 +0400375
376 cinder:
377 controller:
378 backend:
379 netapp:
380 engine: netapp
381 type_name: netapp
382 user: openstack
383 vserver: vm1
384 server_hostname: 172.18.2.3
385 password: password
386 storage_protocol: nfs
387 transport_type: https
388 lun_space_reservation: enabled
389 use_multipath_for_image_xfer: True
Dmitry Stremkouskiffa53c02017-09-15 19:47:21 +0300390 nas_secure_file_operations: false
391 nas_secure_file_permissions: false
Alexey Chekunovf916f0c2017-05-25 13:29:45 +0400392 devices:
393 - 172.18.1.2:/vol_1
394 - 172.18.1.2:/vol_2
395 - 172.18.1.2:/vol_3
396 - 172.18.1.2:/vol_4
Jakub Pavlik94dc0c92017-06-14 14:53:23 +0200397 linux:
398 system:
399 package:
400 nfs-common:
401 version: latest
Alexey Chekunovf916f0c2017-05-25 13:29:45 +0400402
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300403* Cinder setup with Hitachi VPS:
Alexey Chekunovf916f0c2017-05-25 13:29:45 +0400404
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300405 .. code-block:: yaml
Filip Pytlounda2a0792015-10-06 16:28:31 +0200406
407 cinder:
408 controller:
409 enabled: true
Jakub Pavlik5d7df0d2016-01-06 13:08:30 +0100410 backend:
411 hus100_backend:
marcodaa52fa2016-01-25 23:49:50 +0100412 type_name: HUS100
Jakub Pavlik5d7df0d2016-01-06 13:08:30 +0100413 backend: hus100_backend
414 engine: hitachi_vsp
415 connection: FC
Filip Pytlounda2a0792015-10-06 16:28:31 +0200416
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300417* Cinder setup with Hitachi VPS with defined ``ldev`` range:
Ondrej Smola16d66bd2017-01-15 13:56:03 +0100418
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300419 .. code-block:: yaml
Ondrej Smola16d66bd2017-01-15 13:56:03 +0100420
421 cinder:
422 controller:
423 enabled: true
424 backend:
425 hus100_backend:
426 type_name: HUS100
427 backend: hus100_backend
428 engine: hitachi_vsp
429 connection: FC
430 ldev_range: 0-1000
431
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300432* Cinder setup with Ceph:
Filip Pytlounda2a0792015-10-06 16:28:31 +0200433
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300434 .. code-block:: yaml
Filip Pytlounda2a0792015-10-06 16:28:31 +0200435
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300436 cinder:
437 controller:
438 enabled: true
439 backend:
440 ceph_backend:
441 type_name: standard-iops
442 backend: ceph_backend
443 pool: volumes
444 engine: ceph
445 user: cinder
446 secret_uuid: da74ccb7-aa59-1721-a172-0006b1aa4e3e
447 client_cinder_key: AQDOavlU6BsSJhAAnpFR906mvdgdfRqLHwu0Uw==
448 report_discard_supported: True
stelucz9f4986c2018-08-30 09:46:55 +0200449 image_volume_cache_enabled: False
Filip Pytlounda2a0792015-10-06 16:28:31 +0200450
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300451 .. note:: `Ceph official documentation <http://ceph.com/docs/master/rbd/rbd-openstack/>`__
Filip Pytlounda2a0792015-10-06 16:28:31 +0200452
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300453* Cinder setup with HP3par:
Filip Pytlounda2a0792015-10-06 16:28:31 +0200454
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300455 .. code-block:: yaml
Filip Pytlounda2a0792015-10-06 16:28:31 +0200456
457 cinder:
458 controller:
459 enabled: true
Jakub Pavlik5d7df0d2016-01-06 13:08:30 +0100460 backend:
461 hp3par_backend:
Jakub Pavlikedd46102016-01-08 16:20:38 +0100462 type_name: hp3par
Jakub Pavlik5d7df0d2016-01-06 13:08:30 +0100463 backend: hp3par_backend
464 user: hp3paruser
465 password: something
466 url: http://10.10.10.10/api/v1
467 cpg: OpenStackCPG
468 host: 10.10.10.10
469 login: hp3paradmin
470 sanpassword: something
471 debug: True
472 snapcpg: OpenStackSNAPCPG
Filip Pytlounda2a0792015-10-06 16:28:31 +0200473
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300474* Cinder setup with Fujitsu Eternus:
Filip Pytlounda2a0792015-10-06 16:28:31 +0200475
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300476 .. code-block:: yaml
Filip Pytlounda2a0792015-10-06 16:28:31 +0200477
478 cinder:
479 volume:
480 enabled: true
Jakub Pavlik5d7df0d2016-01-06 13:08:30 +0100481 backend:
482 10kThinPro:
Jakub Pavlikedd46102016-01-08 16:20:38 +0100483 type_name: 10kThinPro
Jakub Pavlik5d7df0d2016-01-06 13:08:30 +0100484 engine: fujitsu
485 pool: 10kThinPro
486 host: 192.168.0.1
487 port: 5988
488 user: username
489 password: pass
490 connection: FC/iSCSI
marcodaa52fa2016-01-25 23:49:50 +0100491 name: 10kThinPro
Jakub Pavlik5d7df0d2016-01-06 13:08:30 +0100492 10k_SAS:
Jakub Pavlikedd46102016-01-08 16:20:38 +0100493 type_name: 10k_SAS
Jakub Pavlik5d7df0d2016-01-06 13:08:30 +0100494 pool: SAS10K
495 engine: fujitsu
496 host: 192.168.0.1
497 port: 5988
498 user: username
499 password: pass
500 connection: FC/iSCSI
marcodaa52fa2016-01-25 23:49:50 +0100501 name: 10k_SAS
Filip Pytlounda2a0792015-10-06 16:28:31 +0200502
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300503* Cinder setup with IBM GPFS filesystem:
Jakub Pavlik9703c602015-10-15 18:52:47 +0200504
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300505 .. code-block:: yaml
Jakub Pavlik9703c602015-10-15 18:52:47 +0200506
507 cinder:
508 volume:
509 enabled: true
Jakub Pavlik5d7df0d2016-01-06 13:08:30 +0100510 backend:
511 GPFS-GOLD:
Jakub Pavlikedd46102016-01-08 16:20:38 +0100512 type_name: GPFS-GOLD
Jakub Pavlik5d7df0d2016-01-06 13:08:30 +0100513 engine: gpfs
514 mount_point: '/mnt/gpfs-openstack/cinder/gold'
marcodaa52fa2016-01-25 23:49:50 +0100515 GPFS-SILVER:
Jakub Pavlikedd46102016-01-08 16:20:38 +0100516 type_name: GPFS-SILVER
Jakub Pavlik5d7df0d2016-01-06 13:08:30 +0100517 engine: gpfs
518 mount_point: '/mnt/gpfs-openstack/cinder/silver'
Kirill Bespalov01614c02017-07-31 17:06:09 +0300519
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300520* Cinder setup with HP LeftHand:
Jakub Pavlik9f5988a2016-01-11 13:44:57 +0100521
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300522 .. code-block:: yaml
Jakub Pavlik9f5988a2016-01-11 13:44:57 +0100523
524 cinder:
525 volume:
526 enabled: true
527 backend:
528 HP-LeftHand:
529 type_name: normal-storage
530 engine: hp_lefthand
531 api_url: 'https://10.10.10.10:8081/lhos'
532 username: user
533 password: password
534 clustername: cluster1
535 iscsi_chap_enabled: false
536
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300537* Extra parameters for HP LeftHand:
Jakub Pavlika63764f2016-01-11 14:41:06 +0100538
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300539 .. code-block:: yaml
Jakub Pavlik5050dda2016-01-11 16:52:32 +0100540
Kirill Bespalov01614c02017-07-31 17:06:09 +0300541 cinder type-key normal-storage set hplh:data_pl=r-10-2 hplh:provisioning=full
Jakub Pavlik5050dda2016-01-11 16:52:32 +0100542
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300543* Cinder setup with Solidfire:
Jakub Pavlik5050dda2016-01-11 16:52:32 +0100544
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300545 .. code-block:: yaml
Jakub Pavlik5050dda2016-01-11 16:52:32 +0100546
547 cinder:
548 volume:
549 enabled: true
550 backend:
551 solidfire:
552 type_name: normal-storage
553 engine: solidfire
554 san_ip: 10.10.10.10
555 san_login: user
556 san_password: password
557 clustername: cluster1
558 sf_emulate_512: false
sergio9e6387e2018-02-19 21:13:14 +0200559 sf_api_port: 14443
560 host: ctl01
Aleksieiev, Oleksii224e8ae2018-07-13 09:43:43 -0700561 #for compatibility with old versions
562 sf_account_prefix: PREFIX
Filip Pytlounda2a0792015-10-06 16:28:31 +0200563
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300564* Cinder setup with Block Device driver:
Alexander Noskov023a0032017-06-16 09:31:59 +0200565
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300566 .. code-block:: yaml
Alexander Noskov023a0032017-06-16 09:31:59 +0200567
568 cinder:
569 volume:
570 enabled: true
571 backend:
572 bdd:
573 engine: bdd
574 enabled: true
575 type_name: bdd
576 devices:
577 - sdb
578 - sdc
579 - sdd
580
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300581* Enable cinder-backup service for ceph
Petr Michaleca1c7ff12016-11-29 16:32:50 +0100582
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300583 .. code-block:: yaml
Petr Michaleca1c7ff12016-11-29 16:32:50 +0100584
Ondrej Smolaed6abbf2017-04-25 11:55:44 +0200585 cinder:
586 controller:
587 enabled: true
588 version: mitaka
589 backup:
590 engine: ceph
591 ceph_conf: "/etc/ceph/ceph.conf"
592 ceph_pool: backup
593 ceph_stripe_count: 0
594 ceph_stripe_unit: 0
595 ceph_user: cinder
596 ceph_chunk_size: 134217728
597 restore_discard_excess_bytes: false
598 volume:
599 enabled: true
600 version: mitaka
601 backup:
602 engine: ceph
603 ceph_conf: "/etc/ceph/ceph.conf"
604 ceph_pool: backup
605 ceph_stripe_count: 0
606 ceph_stripe_unit: 0
607 ceph_user: cinder
608 ceph_chunk_size: 134217728
609 restore_discard_excess_bytes: false
Kirill Bespalov01614c02017-07-31 17:06:09 +0300610
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300611* Auditing filter (CADF) enablement:
Petr Michaleca1c7ff12016-11-29 16:32:50 +0100612
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300613 .. code-block:: yaml
Petr Michaleca1c7ff12016-11-29 16:32:50 +0100614
615 cinder:
616 controller:
617 audit:
618 enabled: true
619 ....
620 filter_factory: 'keystonemiddleware.audit:filter_factory'
621 map_file: '/etc/pycadf/cinder_api_audit_map.conf'
622 ....
623 volume:
624 audit:
625 enabled: true
626 ....
627 filter_factory: 'keystonemiddleware.audit:filter_factory'
628 map_file: '/etc/pycadf/cinder_api_audit_map.conf'
629
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300630* Cinder setup with custom availability zones:
Michel Nederlofb8603eb2017-02-09 10:04:38 +0100631
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300632 .. code-block:: yaml
Michel Nederlofb8603eb2017-02-09 10:04:38 +0100633
634 cinder:
635 controller:
636 default_availability_zone: my-default-zone
637 storage_availability_zone: my-custom-zone-name
638 cinder:
639 volume:
640 default_availability_zone: my-default-zone
641 storage_availability_zone: my-custom-zone-name
642
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300643 The ``default_availability_zone`` is used when a volume has been created,
644 without specifying a zone in the ``create`` request as this zone must exist
645 in your configuration.
Andrii Ostapenkob7aa34d2017-04-20 14:22:44 +0300646
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300647 The ``storage_availability_zone`` is an actual zone where the node belongs to
648 and must be specified per each node.
Andrii Ostapenkob7aa34d2017-04-20 14:22:44 +0300649
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300650* Cinder setup with custom non-admin volume query filters:
651
652 .. code-block:: yaml
Andrii Ostapenkob7aa34d2017-04-20 14:22:44 +0300653
654 cinder:
655 controller:
656 query_volume_filters:
657 - name
658 - status
659 - metadata
660 - availability_zone
661 - bootable
662
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300663* ``public_endpoint`` and ``osapi_volume_base_url``:
Andrii Ostapenkob7aa34d2017-04-20 14:22:44 +0300664
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300665 * ``public_endpoint``
666 Used for configuring versions endpoint
667 * ``osapi_volume_base_URL``
668 Used to present Cinder URL to users
Alexander Noskov62496fb2017-02-27 16:42:54 +0100669
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300670 These parameters can be useful when running Cinder under load balancer in
671 SSL.
672
673 .. code-block:: yaml
Alexander Noskov62496fb2017-02-27 16:42:54 +0100674
675 cinder:
676 controller:
677 public_endpoint_address: https://${_param:cluster_domain}:8776
678
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300679* Client role definition:
Michel Nederlofb8603eb2017-02-09 10:04:38 +0100680
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300681 .. code-block:: yaml
Jiri Broulik47aa6b32017-07-10 18:39:15 +0200682
683 cinder:
684 client:
685 enabled: true
686 identity:
687 host: 127.0.0.1
688 port: 35357
689 project: service
690 user: cinder
691 password: pwd
692 protocol: http
693 endpoint_type: internalURL
694 region_name: RegionOne
695 backend:
696 ceph:
697 type_name: standard-iops
698 engine: ceph
699 key:
700 conn_speed: fibre-10G
701
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300702* Barbican integration enablement:
Oleg Iurchenko83ee09a2017-10-17 18:24:28 +0300703
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300704 .. code-block:: yaml
Oleg Iurchenko83ee09a2017-10-17 18:24:28 +0300705
706 cinder:
707 controller:
708 barbican:
709 enabled: true
Jiri Broulik47aa6b32017-07-10 18:39:15 +0200710
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300711* Keystone API version specification (v3 is default):
Oleg Iurchenko6fe8e5d2018-02-20 14:26:04 +0200712
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300713 .. code-block:: yaml
Oleg Iurchenko6fe8e5d2018-02-20 14:26:04 +0200714
715 cinder:
716 controller:
717 identity:
718 api_version: v2.0
719
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300720**Enhanced logging with logging.conf**
Dmitry Kalashnik3291f542017-12-05 18:43:47 +0400721
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300722By default ``logging.conf`` is disabled.
723You can enable per-binary ``logging.conf`` by setting the following
724parameters:
Dmitry Kalashnik3291f542017-12-05 18:43:47 +0400725
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300726* ``openstack_log_appender``
727 Set to ``true`` to enable ``log_config_append`` for all OpenStack
728 services
Dmitry Kalashnik3291f542017-12-05 18:43:47 +0400729
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300730* ``openstack_fluentd_handler_enabled``
731 Set to ``true`` to enable FluentHandler for all Openstack services
Dmitry Kalashnik3291f542017-12-05 18:43:47 +0400732
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300733* ``openstack_ossyslog_handler_enabled``
734 Set to ``true`` to enable OSSysLogHandler for all Openstack services
735
736Only WatchedFileHandler, OSSysLogHandler, and FluentHandler are available.
737
738To configure this functionality with pillar:
Dmitry Kalashnik3291f542017-12-05 18:43:47 +0400739
740.. code-block:: yaml
741
742 cinder:
743 controller:
744 logging:
745 log_appender: true
746 log_handlers:
747 watchedfile:
748 enabled: true
749 fluentd:
750 enabled: true
Oleksii Chupryn688ae092018-02-07 09:49:21 +0200751 ossyslog:
752 enabled: true
Dmitry Kalashnik3291f542017-12-05 18:43:47 +0400753
754 volume:
755 logging:
756 log_appender: true
757 log_handlers:
758 watchedfile:
759 enabled: true
760 fluentd:
761 enabled: true
Oleksii Chupryn688ae092018-02-07 09:49:21 +0200762 ossyslog:
763 enabled: true
Dmitry Kalashnik3291f542017-12-05 18:43:47 +0400764
Oleksandr Shyshkoe17f67a2018-08-22 15:26:17 +0300765Enable x509 and ssl communication between Cinder and Galera cluster.
766---------------------
767By default communication between Cinder and Galera is unsecure.
Jakub Pavlikb513f132016-05-20 11:11:19 +0200768
Oleksandr Shyshkoe17f67a2018-08-22 15:26:17 +0300769You able to set custom certificates in pillar:
770controller:
771 database:
772 x509:
773 enabled: True
774
775volume:
776 database:
777 x509:
778 enabled: True
779
780cinder:
781 controller:
782 database:
783 x509:
784 cacert (certificate content)
785 cert (certificate content)
786 key (certificate content)
787 volume:
788 database:
789 x509:
790 cacert (certificate content)
791 cert (certificate content)
792 key (certificate content)
793
794You can read more about it here:
795 https://docs.openstack.org/security-guide/databases/database-access-control.html
796
797**Documentation and bugs**
798======================
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300799* http://salt-formulas.readthedocs.io/
800 Learn how to install and update salt-formulas
Jakub Pavlikb513f132016-05-20 11:11:19 +0200801
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300802* https://github.com/salt-formulas/salt-formula-cinder/issues
803 In the unfortunate event that bugs are discovered, report the issue to the
804 appropriate issue tracker. Use the Github issue tracker for a specific salt
805 formula
Jakub Pavlikb513f132016-05-20 11:11:19 +0200806
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300807* https://launchpad.net/salt-formulas
808 For feature requests, bug reports, or blueprints affecting the entire
809 ecosystem, use the Launchpad salt-formulas project
Jakub Pavlikb513f132016-05-20 11:11:19 +0200810
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300811* https://launchpad.net/~salt-formulas-users
812 Join the salt-formulas-users team and subscribe to mailing list if required
Jakub Pavlikb513f132016-05-20 11:11:19 +0200813
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300814* https://github.com/salt-formulas/salt-formula-cinder
815 Develop the salt-formulas projects in the master branch and then submit pull
816 requests against a specific formula
Jakub Pavlikb513f132016-05-20 11:11:19 +0200817
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300818* #salt-formulas @ irc.freenode.net
819 Use this IRC channel in case of any questions or feedback which is always
820 welcome