diff --git a/ansible/roles/nova/defaults/main.yml b/ansible/roles/nova/defaults/main.yml index 2d80abf33e..bf24c02f78 100644 --- a/ansible/roles/nova/defaults/main.yml +++ b/ansible/roles/nova/defaults/main.yml @@ -13,6 +13,10 @@ nova_pool_name: "{{ ceph_nova_pool_name }}" nova_pool_type: "{{ ceph_nova_pool_type }}" nova_cache_mode: "{{ ceph_nova_cache_mode }}" +# Discard option for nova managed disks. Requires libvirt (1, 0, 6) or later and +# qemu (1, 6, 0) or later. Set to "" to disable. +nova_hw_disk_discard: "unmap" + #################### # Database diff --git a/ansible/roles/nova/templates/nova.conf.j2 b/ansible/roles/nova/templates/nova.conf.j2 index 613c8d5cd9..6706d16e96 100644 --- a/ansible/roles/nova/templates/nova.conf.j2 +++ b/ansible/roles/nova/templates/nova.conf.j2 @@ -174,7 +174,9 @@ images_rbd_pool = {{ ceph_nova_pool_name }} images_rbd_ceph_conf = /etc/ceph/ceph.conf rbd_user = nova disk_cachemodes="network=writeback" -hw_disk_discard = unmap +{% if nova_hw_disk_discard != '' %} +hw_disk_discard = {{ nova_hw_disk_discard }} +{% endif %} {% endif %} {% if nova_backend == "rbd" %} rbd_secret_uuid = {{ rbd_secret_uuid }}