Merge "add lightbits driver support"

This commit is contained in:
Zuul 2025-03-27 20:57:40 +00:00 committed by Gerrit Code Review
commit e2b7e4de77
9 changed files with 78 additions and 0 deletions

@ -847,6 +847,7 @@ enable_cinder_backend_pure_iscsi: "no"
enable_cinder_backend_pure_fc: "no"
enable_cinder_backend_pure_roce: "no"
enable_cinder_backend_pure_nvme_tcp: "no"
enable_cinder_backend_lightbits: "no"
enable_cloudkitty: "no"
enable_collectd: "no"
enable_cyborg: "no"

@ -256,6 +256,8 @@ cinder_backends:
enabled: "{{ enable_cinder_backend_pure_roce | bool }}"
- name: "{{ cinder_backend_pure_nvme_tcp_name }}"
enabled: "{{ enable_cinder_backend_pure_nvme_tcp | bool }}"
- name: "{{ cinder_backend_lightbits_name }}"
enabled: "{{ enable_cinder_backend_lightbits | bool }}"
cinder_backend_ceph_name: "rbd-1"
cinder_backend_lvm_name: "lvm-1"
@ -267,6 +269,7 @@ cinder_backend_pure_iscsi_name: "Pure-FlashArray-iscsi"
cinder_backend_pure_fc_name: "Pure-FlashArray-fc"
cinder_backend_pure_roce_name: "Pure-FlashArray-roce"
cinder_backend_pure_nvme_tcp_name: "Pure-FlashArray-nvme-tcp"
cinder_backend_lightbits_name: "Lightbits-NVMe-TCP"
cinder_ceph_backends:
- name: "{{ cinder_backend_ceph_name }}"
@ -307,6 +310,16 @@ pure_fc_backend: "pure_fc_backend"
pure_api_token:
pure_san_ip:
################################
# Lightbits Storage Driver
###############################
lightbits_nvme_tcp_backend_name: "lightbits_nvme_backend"
lightos_skip_ssl_verify: False
lightos_api_port: 443
lightos_default_num_replicas: 3
lightos_api_address:
lightos_jwt:
################################
# Cinder Backup S3
################################

@ -43,6 +43,7 @@
- not enable_cinder_backend_pure_fc | bool
- not enable_cinder_backend_pure_roce | bool
- not enable_cinder_backend_pure_nvme_tcp | bool
- not enable_cinder_backend_lightbits | bool
- name: Checking LVM volume group exists for Cinder
become: true
@ -68,6 +69,16 @@
- cinder_backup_s3_secret_key
when: cinder_backup_driver == "s3"
- name: Check if Lightbits configurations are defined
assert:
that:
- vars[item] is defined
msg: "Cinder Lightbits backend is enabled, the {{ item }} variable must be defined."
with_items:
- lightos_api_address
- lightos_jwt
when: enable_cinder_backend_lightbits == "yes"
- name: Check if cinder_cluster_name is configured for HA configurations
assert:
that:

@ -239,6 +239,17 @@ san_ip = {{ pure_san_ip }}
pure_api_token = {{ pure_api_token }}
{% endif %}
{% if enable_cinder_backend_lightbits | bool %}
[{{ cinder_backend_lightbits_name }}]
volume_driver = cinder.volume.drivers.lightos.LightOSVolumeDriver
volume_backend_name = {{ lightbits_nvme_tcp_backend_name }}
lightos_api_address = {{ lightbits_target_ips }}
lightos_api_port = {{ lightbits_api_port }}
lightos_default_num_replicas = {{ lightbits_default_num_replicas }}
lightos_skip_ssl_verify = {{ lightbits_skip_ssl_verify }}
lightos_jwt = {{ lightbits_JWT }}
{% endif %}
[privsep_entrypoint]
helper_command=sudo cinder-rootwrap /etc/cinder/rootwrap.conf privsep-helper --config-file /etc/cinder/cinder.conf

@ -0,0 +1,33 @@
.. cinder-guide-Lightbits:
=====================================
Lightbits labs storage for OpenStack
=====================================
Lightbits labs Cinder Driver
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To use the ``Lightbits labs`` Cinder backend, enable and
configure the ``Lightbits labs`` Cinder driver in
``/etc/kolla/globals.yml``.
.. code-block:: yaml
enable_cinder_backend_lightbits: "yes"
.. end
Also set the values for the following parameters in ``/etc/kolla/globals.yml``:
- ``lightos_api_address``
- ``lightos_api_port``
- ``lightos_default_num_replicas``
- ``lightos_skip_ssl_verify``
- ``lightos_jwt``
For details on how to use these parameters, refer to the
`Lightbits labs Cinder Reference Guide <https://docs.openstack.org/cinder/latest/configuration/block-storage/drivers/lightbits-lightos-driver.html>`_.
There are numerous other parameters that can be set for this driver and
these are detailed in the above link.

@ -296,6 +296,9 @@ that appears in cinder.conf:
* - Pure Storage FlashArray for OpenStack
- cinder_backend_pure_nvme_tcp_name
- Pure-FlashArray-nvme-tcp
* - Lightbits Labs storage backend
- cinder_backend_lightbits_name
- Lightbits-NVMe-TCP
These are the names you use when
`configuring <https://docs.openstack.org/cinder/latest/admin/multi-backend.html#volume-type>`_

@ -12,5 +12,6 @@ supported by kolla.
cinder-guide
cinder-guide-quobyte
cinder-guide-pure
cinder-guide-lightbits
manila-guide
manila-hnas-guide

@ -344,6 +344,7 @@ workaround_ansible_issue_8743: yes
#enable_cinder_backend_pure_fc: "no"
#enable_cinder_backend_pure_roce: "no"
#enable_cinder_backend_pure_nvme_tcp: "no"
#enable_cinder_backend_lightbits: "no"
#enable_cloudkitty: "no"
#enable_collectd: "no"
#enable_cyborg: "no"

@ -0,0 +1,4 @@
---
features:
- |
Add Lightbits(NVMe/TCP) Cinder plugin support.