Browse Source

Merge "Add support for Quobyte backend to Cinder and Nova"

tags/8.0.0.0b1
Zuul 5 months ago
parent
commit
0b4587e947

+ 1
- 0
ansible/group_vars/all.yml View File

@@ -453,6 +453,7 @@ enable_cinder_backend_iscsi: "{{ enable_cinder_backend_lvm | bool or enable_cind
453 453
 enable_cinder_backend_lvm: "no"
454 454
 enable_cinder_backend_nfs: "no"
455 455
 enable_cinder_backend_zfssa_iscsi: "no"
456
+enable_cinder_backend_quobyte: "no"
456 457
 enable_cloudkitty: "no"
457 458
 enable_congress: "no"
458 459
 enable_designate: "no"

+ 8
- 0
ansible/roles/cinder/defaults/main.yml View File

@@ -188,6 +188,8 @@ cinder_backends:
188 188
     enabled: "{{ cinder_backend_vmwarevc_vmdk | bool }}"
189 189
   - name: "zfssa-iscsi"
190 190
     enabled: "{{ enable_cinder_backend_zfssa_iscsi | bool }}"
191
+  - name: "QuobyteHD"
192
+    enabled: "{{ enable_cinder_backend_quobyte | bool }}"
191 193
 
192 194
 cinder_enabled_backends: "{{ cinder_backends|selectattr('enabled', 'equalto', true)|list }}"
193 195
 
@@ -221,6 +223,12 @@ zfssa_iscsi_initiator_group:
221 223
 zfssa_iscsi_target_portal:
222 224
 zfssa_iscsi_target_interfaces:
223 225
 
226
+#########################
227
+# Quobyte Storage Driver
228
+#########################
229
+quobyte_storage_host:
230
+quobyte_storage_volume:
231
+
224 232
 
225 233
 ####################
226 234
 # Kolla

+ 1
- 0
ansible/roles/cinder/tasks/precheck.yml View File

@@ -28,6 +28,7 @@
28 28
     - not cinder_backend_ceph | bool
29 29
     - not cinder_backend_vmwarevc_vmdk | bool
30 30
     - not enable_cinder_backend_zfssa_iscsi | bool
31
+    - not enable_cinder_backend_quobyte | bool
31 32
 
32 33
 - name: Checking LVM volume group exists for Cinder
33 34
   command: "vgs {{ cinder_volume_group }}"

+ 6
- 0
ansible/roles/cinder/templates/cinder.conf.j2 View File

@@ -197,6 +197,12 @@ zfssa_target_portal = {{ zfssa_iscsi_target_portal }}
197 197
 zfssa_target_interfaces = {{ zfssa_iscsi_target_interfaces }}
198 198
 {% endif %}
199 199
 
200
+{% if enable_cinder_backend_quobyte | bool %}
201
+[QuobyteHD]
202
+volume_driver = cinder.volume.drivers.quobyte.QuobyteDriver
203
+quobyte_volume_url = quobyte://{{ quobyte_storage_host }}/{{ quobyte_storage_volume }}
204
+{% endif %}
205
+
200 206
 [privsep_entrypoint]
201 207
 helper_command=sudo cinder-rootwrap /etc/cinder/rootwrap.conf privsep-helper --config-file /etc/cinder/cinder.conf
202 208
 

+ 9
- 3
ansible/roles/nova/defaults/main.yml View File

@@ -19,7 +19,7 @@ nova_services:
19 19
       - "kolla_logs:/var/log/kolla/"
20 20
       - "libvirtd:/var/lib/libvirt"
21 21
       - "{{ nova_instance_datadir_volume }}:/var/lib/nova/"
22
-      - "{% if enable_cinder_backend_nfs | bool %}/var/lib/nova/mnt:/var/lib/nova/mnt:shared{% endif %}"
22
+      - "{% if enable_shared_var_lib_nova_mnt | bool %}/var/lib/nova/mnt:/var/lib/nova/mnt:shared{% endif %}"
23 23
       - "nova_libvirt_qemu:/etc/libvirt/qemu"
24 24
       - "{{ kolla_dev_repos_directory ~ '/nova/nova:/var/lib/kolla/venv/lib/python2.7/site-packages/nova' if nova_dev_mode | bool else '' }}"
25 25
     dimensions: "{{ nova_libvirt_dimensions }}"
@@ -33,7 +33,7 @@ nova_services:
33 33
       - "/etc/localtime:/etc/localtime:ro"
34 34
       - "kolla_logs:/var/log/kolla"
35 35
       - "{{ nova_instance_datadir_volume }}:/var/lib/nova"
36
-      - "{% if enable_cinder_backend_nfs | bool %}/var/lib/nova/mnt:/var/lib/nova/mnt:shared{% endif %}"
36
+      - "{% if enable_shared_var_lib_nova_mnt | bool %}/var/lib/nova/mnt:/var/lib/nova/mnt:shared{% endif %}"
37 37
       - "{{ kolla_dev_repos_directory ~ '/nova/nova:/var/lib/kolla/venv/lib/python2.7/site-packages/nova' if nova_dev_mode | bool else '' }}"
38 38
     dimensions: "{{ nova_ssh_dimensions }}"
39 39
   placement-api:
@@ -222,7 +222,7 @@ nova_services:
222 222
       - "{% if enable_iscsid | bool %}iscsi_info:/etc/iscsi{% endif %}"
223 223
       - "libvirtd:/var/lib/libvirt"
224 224
       - "{{ nova_instance_datadir_volume }}:/var/lib/nova/"
225
-      - "{% if enable_cinder_backend_nfs | bool %}/var/lib/nova/mnt:/var/lib/nova/mnt:shared{% endif %}"
225
+      - "{% if enable_shared_var_lib_nova_mnt | bool %}/var/lib/nova/mnt:/var/lib/nova/mnt:shared{% endif %}"
226 226
       - "{{ kolla_dev_repos_directory ~ '/nova/nova:/var/lib/kolla/venv/lib/python2.7/site-packages/nova' if nova_dev_mode | bool else '' }}"
227 227
     dimensions: "{{ nova_compute_dimensions }}"
228 228
   nova-compute-ironic:
@@ -403,3 +403,9 @@ nova_git_repository: "{{ kolla_dev_repos_git }}/{{ project_name }}"
403 403
 nova_dev_repos_pull: "{{ kolla_dev_repos_pull }}"
404 404
 nova_dev_mode: "{{ kolla_dev_mode }}"
405 405
 nova_source_version: "{{ kolla_source_version }}"
406
+
407
+###################################
408
+# Enable Shared Bind Propogation
409
+###################################
410
+
411
+enable_shared_var_lib_nova_mnt: "{{ enable_cinder_backend_nfs | bool or enable_cinder_backend_quobyte | bool }}"

+ 29
- 0
doc/source/reference/storage/cinder-guide-quobyte.rst View File

@@ -0,0 +1,29 @@
1
+.. _cinder-guide-quobyte:
2
+
3
+=============================
4
+Quobyte Storage for OpenStack
5
+=============================
6
+
7
+Quobyte Cinder Driver
8
+~~~~~~~~~~~~~~~~~~~~~
9
+
10
+To use the ``Quobyte`` Cinder backend, enable and configure the ``Quobyte``
11
+Cinder driver in ``/etc/kolla/globals.yml``.
12
+
13
+.. code-block:: yaml
14
+
15
+   enable_cinder_backend_quobyte: "yes"
16
+
17
+.. end
18
+
19
+Also set values for ``quobyte_storage_host`` and ``quobyte_storage_volume`` in
20
+``/etc/kolla/globals.yml`` to the hostname or IP address of the Quobyte
21
+registry and the Quobyte volume respectively.
22
+
23
+Since ``Quobyte`` is proprietary software that requires a license, the use of
24
+this backend requires the ``Quobyte`` Client software package to be installed
25
+in the ``cinder-volume`` and ``nova-compute`` containers. To do this follow the
26
+steps outlined in the `kolla image building guide
27
+<https://docs.openstack.org/kolla/latest/admin/image-building.html>`__,
28
+particularly the ``Package Customisation`` and ``Custom Repos`` sections. The
29
+repository information is available in the ``Quobyte`` customer portal.

+ 1
- 0
doc/source/reference/storage/index.rst View File

@@ -12,6 +12,7 @@ supported by kolla.
12 12
    external-ceph-guide
13 13
    cinder-guide
14 14
    cinder-guide-hnas
15
+   cinder-guide-quobyte
15 16
    manila-guide
16 17
    manila-hnas-guide
17 18
    swift-guide

+ 1
- 0
etc/kolla/globals.yml View File

@@ -189,6 +189,7 @@ kolla_internal_vip_address: "10.10.10.254"
189 189
 #enable_cinder_backend_iscsi: "no"
190 190
 #enable_cinder_backend_lvm: "no"
191 191
 #enable_cinder_backend_nfs: "no"
192
+#enable_cinder_backend_quobyte: "no"
192 193
 #enable_cloudkitty: "no"
193 194
 #enable_collectd: "no"
194 195
 #enable_congress: "no"

+ 3
- 0
releasenotes/notes/add-cinder-quobyte-support-0de697a0800fb962.yaml View File

@@ -0,0 +1,3 @@
1
+---
2
+features:
3
+  - Add support in Cinder and Nova for Quobyte volumes

Loading…
Cancel
Save