aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2025-03-27 20:57:40 +0000
committerGerrit Code Review <review@openstack.org>2025-03-27 20:57:40 +0000
commite2b7e4de7781d72902b21fe20580010acd3a2e20 (patch)
tree8b4e62e1d151cd1e874f47ad4b7428d0cacc88e1
parent965c49305416506755decf3aa2200eec83828063 (diff)
parent4b05fa8a5faec3584e40f30b687cf3ea28abf158 (diff)
downloadkolla-ansible-e2b7e4de7781d72902b21fe20580010acd3a2e20.tar.gz
kolla-ansible-e2b7e4de7781d72902b21fe20580010acd3a2e20.zip
Merge "add lightbits driver support"
-rw-r--r--ansible/group_vars/all.yml1
-rw-r--r--ansible/roles/cinder/defaults/main.yml13
-rw-r--r--ansible/roles/cinder/tasks/precheck.yml11
-rw-r--r--ansible/roles/cinder/templates/cinder.conf.j211
-rw-r--r--doc/source/reference/storage/cinder-guide-lightbits.rst33
-rw-r--r--doc/source/reference/storage/cinder-guide.rst3
-rw-r--r--doc/source/reference/storage/index.rst1
-rw-r--r--etc/kolla/globals.yml1
-rw-r--r--releasenotes/notes/add-lightbits-cinder-plugin-support-f5445f2dbb1a56ed.yaml4
9 files changed, 78 insertions, 0 deletions
diff --git a/ansible/group_vars/all.yml b/ansible/group_vars/all.yml
index 7452ef953..8fb995656 100644
--- a/ansible/group_vars/all.yml
+++ b/ansible/group_vars/all.yml
@@ -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"
diff --git a/ansible/roles/cinder/defaults/main.yml b/ansible/roles/cinder/defaults/main.yml
index dd8f11c66..6cd8b8f14 100644
--- a/ansible/roles/cinder/defaults/main.yml
+++ b/ansible/roles/cinder/defaults/main.yml
@@ -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 }}"
@@ -308,6 +311,16 @@ 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
################################
cinder_backup_s3_url: "{{ s3_url }}"
diff --git a/ansible/roles/cinder/tasks/precheck.yml b/ansible/roles/cinder/tasks/precheck.yml
index 632636ddf..0c42e3766 100644
--- a/ansible/roles/cinder/tasks/precheck.yml
+++ b/ansible/roles/cinder/tasks/precheck.yml
@@ -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:
diff --git a/ansible/roles/cinder/templates/cinder.conf.j2 b/ansible/roles/cinder/templates/cinder.conf.j2
index 55e137cb2..969bda689 100644
--- a/ansible/roles/cinder/templates/cinder.conf.j2
+++ b/ansible/roles/cinder/templates/cinder.conf.j2
@@ -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
diff --git a/doc/source/reference/storage/cinder-guide-lightbits.rst b/doc/source/reference/storage/cinder-guide-lightbits.rst
new file mode 100644
index 000000000..b09d0e4a1
--- /dev/null
+++ b/doc/source/reference/storage/cinder-guide-lightbits.rst
@@ -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.
diff --git a/doc/source/reference/storage/cinder-guide.rst b/doc/source/reference/storage/cinder-guide.rst
index 7c45a8d28..cd674d8cc 100644
--- a/doc/source/reference/storage/cinder-guide.rst
+++ b/doc/source/reference/storage/cinder-guide.rst
@@ -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>`_
diff --git a/doc/source/reference/storage/index.rst b/doc/source/reference/storage/index.rst
index e88494265..d363954a1 100644
--- a/doc/source/reference/storage/index.rst
+++ b/doc/source/reference/storage/index.rst
@@ -12,5 +12,6 @@ supported by kolla.
cinder-guide
cinder-guide-quobyte
cinder-guide-pure
+ cinder-guide-lightbits
manila-guide
manila-hnas-guide
diff --git a/etc/kolla/globals.yml b/etc/kolla/globals.yml
index ea95e4f53..98ca4ec50 100644
--- a/etc/kolla/globals.yml
+++ b/etc/kolla/globals.yml
@@ -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"
diff --git a/releasenotes/notes/add-lightbits-cinder-plugin-support-f5445f2dbb1a56ed.yaml b/releasenotes/notes/add-lightbits-cinder-plugin-support-f5445f2dbb1a56ed.yaml
new file mode 100644
index 000000000..bae551026
--- /dev/null
+++ b/releasenotes/notes/add-lightbits-cinder-plugin-support-f5445f2dbb1a56ed.yaml
@@ -0,0 +1,4 @@
+---
+features:
+ - |
+ Add Lightbits(NVMe/TCP) Cinder plugin support.