From c8b133e025a270202e6cc7f11c286f557362f37a Mon Sep 17 00:00:00 2001 From: git-harry Date: Fri, 7 Aug 2015 14:25:29 +0100 Subject: [PATCH] Add support for additional nova.conf options The following options have been added to improve support for rbd (Ceph) in nova. libvirt/hw_disk_discard = unmap www.sebastien-han.fr/blog/2015/02/02/openstack-and-ceph-rbd-discard libvirt/disk_cachemodes = "network=writeback" www.sebastien-han.fr/blog/2013/08/22/configure-rbd-caching-on-nova http://ceph.com/docs/master/rbd/rbd-openstack/ DocImpact Implements: blueprint ceph-block-devices Change-Id: Ibf717fa88326805254ca31421d9a77c47b326b67 --- playbooks/roles/os_nova/defaults/main.yml | 2 ++ playbooks/roles/os_nova/templates/nova.conf.j2 | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/playbooks/roles/os_nova/defaults/main.yml b/playbooks/roles/os_nova/defaults/main.yml index 3ea4e9b4cf..22281eec6d 100644 --- a/playbooks/roles/os_nova/defaults/main.yml +++ b/playbooks/roles/os_nova/defaults/main.yml @@ -250,6 +250,8 @@ nova_recreate_keys: False #nova_libvirt_images_rbd_pool: vms nova_ceph_client: '{{ cinder_ceph_client }}' nova_ceph_client_uuid: 517a4663-3927-44bc-9ea7-4a90e1cd4c66 +nova_libvirt_disk_cachemodes: '{{ nova_libvirt_images_rbd_pool is defined | ternary("network=writeback", "") }}' +nova_libvirt_hw_disk_discard: '{{ nova_libvirt_images_rbd_pool is defined | ternary("unmap", "ignore") }}' ## General Neutron configuration # If ``nova_osapi_compute_workers`` is unset the system will use half the number of available VCPUS to diff --git a/playbooks/roles/os_nova/templates/nova.conf.j2 b/playbooks/roles/os_nova/templates/nova.conf.j2 index 098e76c7d1..c1c31dd66f 100644 --- a/playbooks/roles/os_nova/templates/nova.conf.j2 +++ b/playbooks/roles/os_nova/templates/nova.conf.j2 @@ -254,4 +254,5 @@ images_rbd_pool = {{ nova_libvirt_images_rbd_pool }} images_rbd_ceph_conf = /etc/ceph/ceph.conf live_migration_flag="VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_PERSIST_DEST" {% endif %} - +hw_disk_discard = {{ nova_libvirt_hw_disk_discard }} +disk_cachemodes = {{ nova_libvirt_disk_cachemodes }}