Bug 1055434

Summary: [RFE] Enable configuration of maximum allowed downtime during live migration per guest
Product: [Retired] oVirt Reporter: Martin Betak <mbetak>
Component: ovirt-engine-coreAssignee: Martin Betak <mbetak>
Status: CLOSED CURRENTRELEASE QA Contact: Pavel Novotny <pnovotny>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 3.4CC: acathrow, gklein, iheim, mavital, mbetak, michal.skrivanek, yeylon
Target Milestone: ---Keywords: FutureFeature, Triaged
Target Release: 3.4.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: virt
Fixed In Version: ovirt-3.4.0-beta2 Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-03-31 15:04:58 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 994391    

Description Martin Betak 2014-01-20 09:14:22 UTC
Currently the maximum live-migration downtime needs to be configured for each individual host in VDSM config. 
It would be useful to have ability to configure this value per VM as well as a global default option for engine-config.

Comment 1 Michal Skrivanek 2014-01-23 10:21:49 UTC
aaaaargh, automation!

Comment 2 Sandro Bonazzola 2014-02-07 11:20:09 UTC
Fixes should be in ovirt-3.4.0-beta2. Assignee please check.

Comment 3 Martin Betak 2014-02-10 10:39:30 UTC
Yes, all relevant patches are included in ovirt-3.4.0_beta2.

Comment 4 Pavel Novotny 2014-03-19 18:45:07 UTC
Verified downstream in rhevm-3.4.0-0.9.beta1.el6ev.noarch (av3.1).

Verification steps:
Terms:
- "VM downtime": migration donwtime set on VM; in GUI - VM dialog / Host: "Use custom migration downtime"
- "global downtime": parameter "DefaultMaximumMigrationDowntime" set via engine-config utility (in milliseconds); don't forget to restart engine service after every update

Verification:
1. Follow the matrix below and for each case set the VM downtime and global downtime values (6 cases in total).
2. Run the VM and migrate it from source host to destination host.
3. On *source* host open the vdsm.log and look up the "vmMigrate" command and inspect its parameters.


 # | VM downtime & global downtime = vmMigrate called w/ parameter
-- | ----------- | --------------- | -----------------------------
 1 |  disabled   |  0              |  no 'downtime' parameter present (*)
 2 |  0          |  0              |  no 'downtime' parameter present (*)
 3 |  125        |  0              |  'downtime': '125'
 4 |  disabled   |  250            |  'downtime': '250'
 5 |  0          |  250            |  no 'downtime' parameter present (*)
 6 |  125        |  250            |  'downtime': '125'


(*) When vmMigrate command doesn't contain the 'downtime' parameter, then value defined in VDSM is used, either defined in the VDSM config file or default 500 (milliseconds).

Example of VDSM log - vmMigrate command with downtime parameter:
-~-
Thread-13::DEBUG::2014-03-19 17:55:18,604::BindingXMLRPC::1067::vds::(wrapper) client [10.0.0.1]::call vmMigrate with ({'tunneled': 'false', 'src': '10.0.0.2', '
dst': '10.0.0.3:54321', 'vmId': 'b26a0729-10d7-456f-9c8d-8b54c6fc3129', 'abortOnError': 'true', 'downtime': '125', 'method': 'online'},) {} flowID [59c86a0d]
-~-

Comment 5 Sandro Bonazzola 2014-03-31 15:04:58 UTC
This is an automated message: moving to Closed CURRENT_RELEASE since oVirt 3.4.0 has been released.