blob: b90b39ae67da30516aaffbb3237064be89f91021 [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
sgarbuz94de9292018-09-10 10:22:39 +0300443 backend_host: ceph
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300444 pool: volumes
445 engine: ceph
446 user: cinder
447 secret_uuid: da74ccb7-aa59-1721-a172-0006b1aa4e3e
448 client_cinder_key: AQDOavlU6BsSJhAAnpFR906mvdgdfRqLHwu0Uw==
449 report_discard_supported: True
stelucz9f4986c2018-08-30 09:46:55 +0200450 image_volume_cache_enabled: False
Filip Pytlounda2a0792015-10-06 16:28:31 +0200451
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300452 .. note:: `Ceph official documentation <http://ceph.com/docs/master/rbd/rbd-openstack/>`__
Filip Pytlounda2a0792015-10-06 16:28:31 +0200453
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300454* Cinder setup with HP3par:
Filip Pytlounda2a0792015-10-06 16:28:31 +0200455
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300456 .. code-block:: yaml
Filip Pytlounda2a0792015-10-06 16:28:31 +0200457
458 cinder:
459 controller:
460 enabled: true
Jakub Pavlik5d7df0d2016-01-06 13:08:30 +0100461 backend:
462 hp3par_backend:
Jakub Pavlikedd46102016-01-08 16:20:38 +0100463 type_name: hp3par
Jakub Pavlik5d7df0d2016-01-06 13:08:30 +0100464 backend: hp3par_backend
465 user: hp3paruser
466 password: something
467 url: http://10.10.10.10/api/v1
468 cpg: OpenStackCPG
469 host: 10.10.10.10
470 login: hp3paradmin
471 sanpassword: something
472 debug: True
473 snapcpg: OpenStackSNAPCPG
Filip Pytlounda2a0792015-10-06 16:28:31 +0200474
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300475* Cinder setup with Fujitsu Eternus:
Filip Pytlounda2a0792015-10-06 16:28:31 +0200476
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300477 .. code-block:: yaml
Filip Pytlounda2a0792015-10-06 16:28:31 +0200478
479 cinder:
480 volume:
481 enabled: true
Jakub Pavlik5d7df0d2016-01-06 13:08:30 +0100482 backend:
483 10kThinPro:
Jakub Pavlikedd46102016-01-08 16:20:38 +0100484 type_name: 10kThinPro
Jakub Pavlik5d7df0d2016-01-06 13:08:30 +0100485 engine: fujitsu
486 pool: 10kThinPro
487 host: 192.168.0.1
488 port: 5988
489 user: username
490 password: pass
491 connection: FC/iSCSI
marcodaa52fa2016-01-25 23:49:50 +0100492 name: 10kThinPro
Jakub Pavlik5d7df0d2016-01-06 13:08:30 +0100493 10k_SAS:
Jakub Pavlikedd46102016-01-08 16:20:38 +0100494 type_name: 10k_SAS
Jakub Pavlik5d7df0d2016-01-06 13:08:30 +0100495 pool: SAS10K
496 engine: fujitsu
497 host: 192.168.0.1
498 port: 5988
499 user: username
500 password: pass
501 connection: FC/iSCSI
marcodaa52fa2016-01-25 23:49:50 +0100502 name: 10k_SAS
Filip Pytlounda2a0792015-10-06 16:28:31 +0200503
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300504* Cinder setup with IBM GPFS filesystem:
Jakub Pavlik9703c602015-10-15 18:52:47 +0200505
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300506 .. code-block:: yaml
Jakub Pavlik9703c602015-10-15 18:52:47 +0200507
508 cinder:
509 volume:
510 enabled: true
Jakub Pavlik5d7df0d2016-01-06 13:08:30 +0100511 backend:
512 GPFS-GOLD:
Jakub Pavlikedd46102016-01-08 16:20:38 +0100513 type_name: GPFS-GOLD
Jakub Pavlik5d7df0d2016-01-06 13:08:30 +0100514 engine: gpfs
515 mount_point: '/mnt/gpfs-openstack/cinder/gold'
marcodaa52fa2016-01-25 23:49:50 +0100516 GPFS-SILVER:
Jakub Pavlikedd46102016-01-08 16:20:38 +0100517 type_name: GPFS-SILVER
Jakub Pavlik5d7df0d2016-01-06 13:08:30 +0100518 engine: gpfs
519 mount_point: '/mnt/gpfs-openstack/cinder/silver'
Kirill Bespalov01614c02017-07-31 17:06:09 +0300520
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300521* Cinder setup with HP LeftHand:
Jakub Pavlik9f5988a2016-01-11 13:44:57 +0100522
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300523 .. code-block:: yaml
Jakub Pavlik9f5988a2016-01-11 13:44:57 +0100524
525 cinder:
526 volume:
527 enabled: true
528 backend:
529 HP-LeftHand:
530 type_name: normal-storage
531 engine: hp_lefthand
532 api_url: 'https://10.10.10.10:8081/lhos'
533 username: user
534 password: password
535 clustername: cluster1
536 iscsi_chap_enabled: false
537
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300538* Extra parameters for HP LeftHand:
Jakub Pavlika63764f2016-01-11 14:41:06 +0100539
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300540 .. code-block:: yaml
Jakub Pavlik5050dda2016-01-11 16:52:32 +0100541
Kirill Bespalov01614c02017-07-31 17:06:09 +0300542 cinder type-key normal-storage set hplh:data_pl=r-10-2 hplh:provisioning=full
Jakub Pavlik5050dda2016-01-11 16:52:32 +0100543
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300544* Cinder setup with Solidfire:
Jakub Pavlik5050dda2016-01-11 16:52:32 +0100545
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300546 .. code-block:: yaml
Jakub Pavlik5050dda2016-01-11 16:52:32 +0100547
548 cinder:
549 volume:
550 enabled: true
551 backend:
552 solidfire:
553 type_name: normal-storage
554 engine: solidfire
555 san_ip: 10.10.10.10
556 san_login: user
557 san_password: password
558 clustername: cluster1
559 sf_emulate_512: false
sergio9e6387e2018-02-19 21:13:14 +0200560 sf_api_port: 14443
561 host: ctl01
Aleksieiev, Oleksii224e8ae2018-07-13 09:43:43 -0700562 #for compatibility with old versions
563 sf_account_prefix: PREFIX
Filip Pytlounda2a0792015-10-06 16:28:31 +0200564
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300565* Cinder setup with Block Device driver:
Alexander Noskov023a0032017-06-16 09:31:59 +0200566
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300567 .. code-block:: yaml
Alexander Noskov023a0032017-06-16 09:31:59 +0200568
569 cinder:
570 volume:
571 enabled: true
572 backend:
573 bdd:
574 engine: bdd
575 enabled: true
576 type_name: bdd
577 devices:
578 - sdb
579 - sdc
580 - sdd
581
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300582* Enable cinder-backup service for ceph
Petr Michaleca1c7ff12016-11-29 16:32:50 +0100583
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300584 .. code-block:: yaml
Petr Michaleca1c7ff12016-11-29 16:32:50 +0100585
Ondrej Smolaed6abbf2017-04-25 11:55:44 +0200586 cinder:
587 controller:
588 enabled: true
589 version: mitaka
590 backup:
591 engine: ceph
592 ceph_conf: "/etc/ceph/ceph.conf"
593 ceph_pool: backup
594 ceph_stripe_count: 0
595 ceph_stripe_unit: 0
596 ceph_user: cinder
597 ceph_chunk_size: 134217728
598 restore_discard_excess_bytes: false
599 volume:
600 enabled: true
601 version: mitaka
602 backup:
603 engine: ceph
604 ceph_conf: "/etc/ceph/ceph.conf"
605 ceph_pool: backup
606 ceph_stripe_count: 0
607 ceph_stripe_unit: 0
608 ceph_user: cinder
609 ceph_chunk_size: 134217728
610 restore_discard_excess_bytes: false
Kirill Bespalov01614c02017-07-31 17:06:09 +0300611
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300612* Auditing filter (CADF) enablement:
Petr Michaleca1c7ff12016-11-29 16:32:50 +0100613
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300614 .. code-block:: yaml
Petr Michaleca1c7ff12016-11-29 16:32:50 +0100615
616 cinder:
617 controller:
618 audit:
619 enabled: true
620 ....
621 filter_factory: 'keystonemiddleware.audit:filter_factory'
622 map_file: '/etc/pycadf/cinder_api_audit_map.conf'
623 ....
624 volume:
625 audit:
626 enabled: true
627 ....
628 filter_factory: 'keystonemiddleware.audit:filter_factory'
629 map_file: '/etc/pycadf/cinder_api_audit_map.conf'
630
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300631* Cinder setup with custom availability zones:
Michel Nederlofb8603eb2017-02-09 10:04:38 +0100632
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300633 .. code-block:: yaml
Michel Nederlofb8603eb2017-02-09 10:04:38 +0100634
635 cinder:
636 controller:
637 default_availability_zone: my-default-zone
638 storage_availability_zone: my-custom-zone-name
639 cinder:
640 volume:
641 default_availability_zone: my-default-zone
642 storage_availability_zone: my-custom-zone-name
643
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300644 The ``default_availability_zone`` is used when a volume has been created,
645 without specifying a zone in the ``create`` request as this zone must exist
646 in your configuration.
Andrii Ostapenkob7aa34d2017-04-20 14:22:44 +0300647
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300648 The ``storage_availability_zone`` is an actual zone where the node belongs to
649 and must be specified per each node.
Andrii Ostapenkob7aa34d2017-04-20 14:22:44 +0300650
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300651* Cinder setup with custom non-admin volume query filters:
652
653 .. code-block:: yaml
Andrii Ostapenkob7aa34d2017-04-20 14:22:44 +0300654
655 cinder:
656 controller:
657 query_volume_filters:
658 - name
659 - status
660 - metadata
661 - availability_zone
662 - bootable
663
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300664* ``public_endpoint`` and ``osapi_volume_base_url``:
Andrii Ostapenkob7aa34d2017-04-20 14:22:44 +0300665
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300666 * ``public_endpoint``
667 Used for configuring versions endpoint
668 * ``osapi_volume_base_URL``
669 Used to present Cinder URL to users
Alexander Noskov62496fb2017-02-27 16:42:54 +0100670
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300671 These parameters can be useful when running Cinder under load balancer in
672 SSL.
673
674 .. code-block:: yaml
Alexander Noskov62496fb2017-02-27 16:42:54 +0100675
676 cinder:
677 controller:
678 public_endpoint_address: https://${_param:cluster_domain}:8776
679
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300680* Client role definition:
Michel Nederlofb8603eb2017-02-09 10:04:38 +0100681
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300682 .. code-block:: yaml
Jiri Broulik47aa6b32017-07-10 18:39:15 +0200683
684 cinder:
685 client:
686 enabled: true
687 identity:
688 host: 127.0.0.1
689 port: 35357
690 project: service
691 user: cinder
692 password: pwd
693 protocol: http
694 endpoint_type: internalURL
695 region_name: RegionOne
696 backend:
697 ceph:
698 type_name: standard-iops
699 engine: ceph
700 key:
701 conn_speed: fibre-10G
702
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300703* Barbican integration enablement:
Oleg Iurchenko83ee09a2017-10-17 18:24:28 +0300704
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300705 .. code-block:: yaml
Oleg Iurchenko83ee09a2017-10-17 18:24:28 +0300706
707 cinder:
708 controller:
709 barbican:
710 enabled: true
Jiri Broulik47aa6b32017-07-10 18:39:15 +0200711
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300712* Keystone API version specification (v3 is default):
Oleg Iurchenko6fe8e5d2018-02-20 14:26:04 +0200713
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300714 .. code-block:: yaml
Oleg Iurchenko6fe8e5d2018-02-20 14:26:04 +0200715
716 cinder:
717 controller:
718 identity:
719 api_version: v2.0
720
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300721**Enhanced logging with logging.conf**
Dmitry Kalashnik3291f542017-12-05 18:43:47 +0400722
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300723By default ``logging.conf`` is disabled.
724You can enable per-binary ``logging.conf`` by setting the following
725parameters:
Dmitry Kalashnik3291f542017-12-05 18:43:47 +0400726
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300727* ``openstack_log_appender``
728 Set to ``true`` to enable ``log_config_append`` for all OpenStack
729 services
Dmitry Kalashnik3291f542017-12-05 18:43:47 +0400730
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300731* ``openstack_fluentd_handler_enabled``
732 Set to ``true`` to enable FluentHandler for all Openstack services
Dmitry Kalashnik3291f542017-12-05 18:43:47 +0400733
OlgaGusarenko74b53f22018-06-28 17:35:48 +0300734* ``openstack_ossyslog_handler_enabled``
735 Set to ``true`` to enable OSSysLogHandler for all Openstack services
736
737Only WatchedFileHandler, OSSysLogHandler, and FluentHandler are available.
738
739To configure this functionality with pillar:
Dmitry Kalashnik3291f542017-12-05 18:43:47 +0400740
741.. code-block:: yaml
742
743 cinder:
744 controller:
745 logging:
746 log_appender: true
747 log_handlers:
748 watchedfile:
749 enabled: true
750 fluentd:
751 enabled: true
Oleksii Chupryn688ae092018-02-07 09:49:21 +0200752 ossyslog:
753 enabled: true
Dmitry Kalashnik3291f542017-12-05 18:43:47 +0400754
755 volume:
756 logging:
757 log_appender: true
758 log_handlers:
759 watchedfile:
760 enabled: true
761 fluentd:
762 enabled: true
Oleksii Chupryn688ae092018-02-07 09:49:21 +0200763 ossyslog:
764 enabled: true
Dmitry Kalashnik3291f542017-12-05 18:43:47 +0400765
Oleksandr Shyshkoe17f67a2018-08-22 15:26:17 +0300766Enable x509 and ssl communication between Cinder and Galera cluster.
767---------------------
768By default communication between Cinder and Galera is unsecure.
Jakub Pavlikb513f132016-05-20 11:11:19 +0200769
Oleksandr Shyshko9a8196c2018-09-07 13:51:20 +0300770cinder:
771 volume:
772 database:
773 x509:
774 enabled: True
775 controller:
776 database:
777 x509:
778 enabled: True
Oleksandr Shyshkoe17f67a2018-08-22 15:26:17 +0300779
Oleksandr Shyshko9a8196c2018-09-07 13:51:20 +0300780You able to set custom certificates in pillar:
Oleksandr Shyshkoe17f67a2018-08-22 15:26:17 +0300781
782cinder:
783 controller:
784 database:
785 x509:
Oleksandr Shyshko9a8196c2018-09-07 13:51:20 +0300786 cacert: (certificate content)
787 cert: (certificate content)
788 key: (certificate content)
Oleksandr Shyshkoe17f67a2018-08-22 15:26:17 +0300789 volume:
790 database:
791 x509:
Oleksandr Shyshko9a8196c2018-09-07 13:51:20 +0300792 cacert: (certificate content)
793 cert: (certificate content)
794 key: (certificate content)
Oleksandr Shyshkoe17f67a2018-08-22 15:26:17 +0300795
796You can read more about it here:
797 https://docs.openstack.org/security-guide/databases/database-access-control.html
798
Oleksandr Bryndzii8f9e3882018-09-28 23:08:56 +0000799Cinder services on compute node with memcached caching and security strategy:
800
801.. code-block:: yaml
802
803 cinder:
804 volume:
805 enabled: true
806 ...
807 cache:
808 engine: memcached
809 members:
810 - host: 127.0.0.1
811 port: 11211
812 - host: 127.0.0.1
813 port: 11211
814 security:
815 enabled: true
816 strategy: ENCRYPT
817 secret_key: secret
818
819Cinder services on controller node with memcached caching and security strategy:
820
821.. code-block:: yaml
822
823 cinder:
824 controller:
825 enabled: true
826 ...
827 cache:
828 engine: memcached
829 members:
830 - host: 127.0.0.1
831 port: 11211
832 - host: 127.0.0.1
833 port: 11211
834 security:
835 enabled: true
836 strategy: ENCRYPT
837 secret_key: secret
838
Vasyl Saienko79ecd552018-09-10 10:31:21 +0000839Upgrades
840========
841
842Each openstack formula provide set of phases (logical bloks) that will help to
843build flexible upgrade orchestration logic for particular components. The list
844of phases and theirs descriptions are listed in table below:
845
846+-------------------------------+------------------------------------------------------+
847| State | Description |
848+===============================+======================================================+
849| <app>.upgrade.service_running | Ensure that all services for particular application |
850| | are enabled for autostart and running |
851+-------------------------------+------------------------------------------------------+
852| <app>.upgrade.service_stopped | Ensure that all services for particular application |
853| | disabled for autostart and dead |
854+-------------------------------+------------------------------------------------------+
855| <app>.upgrade.pkgs_latest | Ensure that packages used by particular application |
856| | are installed to latest available version. |
857| | This will not upgrade data plane packages like qemu |
858| | and openvswitch as usually minimal required version |
859| | in openstack services is really old. The data plane |
860| | packages should be upgraded separately by `apt-get |
861| | upgrade` or `apt-get dist-upgrade` |
862| | Applying this state will not autostart service. |
863+-------------------------------+------------------------------------------------------+
864| <app>.upgrade.render_config | Ensure configuration is rendered actual version. +
865+-------------------------------+------------------------------------------------------+
866| <app>.upgrade.pre | We assume this state is applied on all nodes in the |
867| | cloud before running upgrade. |
868| | Only non destructive actions will be applied during |
869| | this phase. Perform service built in service check |
870| | like (keystone-manage doctor and nova-status upgrade)|
871+-------------------------------+------------------------------------------------------+
872| <app>.upgrade.upgrade.pre | Mostly applicable for data plane nodes. During this |
873| | phase resources will be gracefully removed from |
874| | current node if it is allowed. Services for upgraded |
875| | application will be set to admin disabled state to |
876| | make sure node will not participate in resources |
877| | scheduling. For example on gtw nodes this will set |
878| | all agents to admin disable state and will move all |
879| | routers to other agents. |
880+-------------------------------+------------------------------------------------------+
881| <app>.upgrade.upgrade | This state will basically upgrade application on |
882| | particular target. Stop services, render |
883| | configuration, install new packages, run offline |
884| | dbsync (for ctl), start services. Data plane should |
885| | not be affected, only OpenStack python services. |
886+-------------------------------+------------------------------------------------------+
887| <app>.upgrade.upgrade.post | Add services back to scheduling. |
888+-------------------------------+------------------------------------------------------+
889| <app>.upgrade.post | This phase should be launched only when upgrade of |
890| | the cloud is completed. Cleanup temporary files, |
891| | perform other post upgrade tasks. |
892+-------------------------------+------------------------------------------------------+
893| <app>.upgrade.verify | Here we will do basic health checks (API CRUD |
894| | operations, verify do not have dead network |
895| | agents/compute services) |
896+-------------------------------+------------------------------------------------------+