diff --git a/defaults/main.yml b/defaults/main.yml index 450935bf..d675bf1b 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -361,12 +361,17 @@ nova_nfs_client: [] # 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: '' -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 # ceph be deployed on the nova compute hosts to enable volume backed instances. 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 nova_rbd_inuse: "{{ (nova_libvirt_images_rbd_pool | length > 0) or (nova_cinder_rbd_inuse | bool) }}" diff --git a/releasenotes/notes/nova_glance_rbd-ab6e9b0f5dd7b9ec.yaml b/releasenotes/notes/nova_glance_rbd-ab6e9b0f5dd7b9ec.yaml new file mode 100644 index 00000000..213223a1 --- /dev/null +++ b/releasenotes/notes/nova_glance_rbd-ab6e9b0f5dd7b9ec.yaml @@ -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. diff --git a/tasks/main.yml b/tasks/main.yml index 8e3dd54b..49182215 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -270,7 +270,7 @@ when: - nova_virt_type != 'ironic' - nova_services['nova-compute']['group'] in group_names - - nova_rbd_inuse | bool + - (nova_rbd_inuse | bool) or (nova_glance_rbd_inuse | bool) tags: - ceph diff --git a/templates/nova.conf.j2 b/templates/nova.conf.j2 index 90800102..0d89d772 100644 --- a/templates/nova.conf.j2 +++ b/templates/nova.conf.j2 @@ -133,6 +133,11 @@ enabled = False # Glance [glance] 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]