Implement nova direct RBD image retrieve

When nova don't use rbd images (ie local storage) it still might be good
idea to use direct connection to rbd to get images rather then
connect through HTTP.

Change-Id: I4f2d7cf54e07376c7a25d45093f5d83be5422234
This commit is contained in:
Dmitriy Rabotyagov 2022-02-11 17:24:18 +02:00 committed by Dmitriy Rabotyagov
parent 1b6ee682b1
commit 3a68118d9b
4 changed files with 18 additions and 2 deletions

View File

@ -365,12 +365,17 @@ nova_nfs_client: []
# Enble and define nova_libvirt_images_rbd_pool to use rbd as nova backend # Enble and define nova_libvirt_images_rbd_pool to use rbd as nova backend
#nova_libvirt_images_rbd_pool: vms #nova_libvirt_images_rbd_pool: vms
nova_libvirt_images_rbd_pool: '' nova_libvirt_images_rbd_pool: ''
nova_ceph_client: '{{ cinder_ceph_client }}' nova_ceph_client: "{{ cinder_ceph_client }}"
# Enabled upstream if RBD is in use on cinder backends, which requires that # Enabled upstream if RBD is in use on cinder backends, which requires that
# ceph be deployed on the nova compute hosts to enable volume backed instances. # ceph be deployed on the nova compute hosts to enable volume backed instances.
nova_cinder_rbd_inuse: False nova_cinder_rbd_inuse: False
# Enable compute nodes to retrieve images from RBD directly rather then through
# HTTP if images_type is NOT set to RBD. Must be False if nova images stored in RBD.
nova_glance_rbd_inuse: False
nova_glance_images_rbd_pool: "{{ glance_rbd_store_pool | default('images') }}"
# Used to determine if we need a Ceph client # Used to determine if we need a Ceph client
nova_rbd_inuse: "{{ (nova_libvirt_images_rbd_pool | length > 0) or (nova_cinder_rbd_inuse | bool) }}" nova_rbd_inuse: "{{ (nova_libvirt_images_rbd_pool | length > 0) or (nova_cinder_rbd_inuse | bool) }}"

View File

@ -0,0 +1,6 @@
---
features:
- |
New variables ``nova_glance_rbd_inuse`` and ``nova_glance_images_rbd_pool`` have
been implemented that allows deployer to easily configure nova to retrieve glance
images from RBD directly, if nova uses local storage for ephemeral drives.

View File

@ -270,7 +270,7 @@
when: when:
- nova_virt_type != 'ironic' - nova_virt_type != 'ironic'
- nova_services['nova-compute']['group'] in group_names - nova_services['nova-compute']['group'] in group_names
- nova_rbd_inuse | bool - (nova_rbd_inuse | bool) or (nova_glance_rbd_inuse | bool)
tags: tags:
- ceph - ceph

View File

@ -133,6 +133,11 @@ enabled = False
# Glance # Glance
[glance] [glance]
insecure = {{ keystone_service_internaluri_insecure | bool }} insecure = {{ keystone_service_internaluri_insecure | bool }}
{% if nova_glance_rbd_inuse | bool %}
rbd_user = {{ nova_ceph_client }}
rbd_pool = {{ nova_glance_images_rbd_pool }}
rbd_ceph_conf = /etc/ceph/ceph.conf
{% endif %}
# Neutron # Neutron
[neutron] [neutron]