From 026916cb4c6fea7e453a06b60978eef8b64615f6 Mon Sep 17 00:00:00 2001 From: Sebastien Badia Date: Wed, 6 Aug 2014 01:46:13 +0200 Subject: [PATCH] compute/hypervisor: Update libvirtd flags for block_migrations In case of a live-migration w/o shared storage, the base image (backing file) is shared on all compute nodes, but with only NON_SHARED_INC (default) flag libvirt do a merge of image and backing file during the transfer. This result in a big and not sparsify image. LP: #1350857 --- manifests/compute/hypervisor.pp | 7 ++++--- spec/classes/cloud_compute_hypervisor_spec.rb | 1 + 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/manifests/compute/hypervisor.pp b/manifests/compute/hypervisor.pp index 621a21be..781868e8 100644 --- a/manifests/compute/hypervisor.pp +++ b/manifests/compute/hypervisor.pp @@ -222,9 +222,10 @@ Host * # Extra config for nova-compute nova_config { - 'libvirt/inject_key': value => false; - 'libvirt/inject_partition': value => '-2'; - 'libvirt/live_migration_flag': value => 'VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_PERSIST_DEST'; + 'libvirt/inject_key': value => false; + 'libvirt/inject_partition': value => '-2'; + 'libvirt/live_migration_flag': value => 'VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_PERSIST_DEST'; + 'libvirt/block_migration_flag': value => 'VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_DOMAIN_BLOCK_REBASE_COPY,VIR_DOMAIN_BLOCK_REBASE_SHALLOW'; } class { 'ceilometer::agent::compute': } diff --git a/spec/classes/cloud_compute_hypervisor_spec.rb b/spec/classes/cloud_compute_hypervisor_spec.rb index b215abee..c346ae8b 100644 --- a/spec/classes/cloud_compute_hypervisor_spec.rb +++ b/spec/classes/cloud_compute_hypervisor_spec.rb @@ -250,6 +250,7 @@ describe 'cloud::compute::hypervisor' do should contain_nova_config('libvirt/inject_key').with('value' => false) should contain_nova_config('libvirt/inject_partition').with('value' => '-2') should contain_nova_config('libvirt/live_migration_flag').with('value' => 'VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_PERSIST_DEST') + should contain_nova_config('libvirt/block_migration_flag').with('value' => 'VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_DOMAIN_BLOCK_REBASE_COPY,VIR_DOMAIN_BLOCK_REBASE_SHALLOW') end context 'with dbus on Ubuntu' do