Martin Betak has uploaded a new change for review.

Change subject: restapi: Add per-VM migration_downtime to REST API
......................................................................

restapi: Add per-VM migration_downtime to REST API

Added migration_downtime field to VM representing maximum number of
milliseconds for downtime during live migration.

Change-Id: I53eaecc790d8805f55417f7eb74095001a325140
Signed-off-by: Martin Betak <mbe...@redhat.com>
---
M 
backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd
M 
backend/manager/modules/restapi/interface/definition/src/main/resources/rsdl_metadata.yaml
M 
backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/TemplateMapper.java
M 
backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/VmMapper.java
M 
backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/TemplateMapperTest.java
M 
backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/VmMapperTest.java
6 files changed, 23 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/40/23140/1

diff --git 
a/backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd
 
b/backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd
index 012dd94..f0c59ae 100644
--- 
a/backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd
+++ 
b/backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd
@@ -2255,6 +2255,7 @@
           <xs:element ref="domain" minOccurs="0" maxOccurs="1"/>
           <xs:element ref="usb" minOccurs="0" maxOccurs="1"/>
           <xs:element name="tunnel_migration" type="xs:boolean" minOccurs="0" 
maxOccurs="1"/>
+          <xs:element name="migration_downtime" type="xs:int" minOccurs="0" 
maxOccurs="1" />
           <xs:element ref="virtio_scsi" minOccurs="0" maxOccurs="1"/>
           <xs:element ref="permissions" minOccurs="0" maxOccurs="1"/>
           <!-- also rel="cdroms/disks/nics/watchdogs" links, see Devices below 
-->
@@ -2537,6 +2538,7 @@
           <xs:element ref="quota" minOccurs="0" maxOccurs="1"/>
           <xs:element ref="usb" minOccurs="0" maxOccurs="1"/>
           <xs:element name="tunnel_migration" type="xs:boolean" minOccurs="0" 
maxOccurs="1"/>
+          <xs:element name="migration_downtime" type="xs:int" minOccurs="0" 
maxOccurs="1" />
           <xs:element ref="virtio_scsi" minOccurs="0" maxOccurs="1"/>
           <xs:element ref="permissions" minOccurs="0" maxOccurs="1"/>
           <xs:element ref="vmpool" minOccurs="0" maxOccurs="1">
diff --git 
a/backend/manager/modules/restapi/interface/definition/src/main/resources/rsdl_metadata.yaml
 
b/backend/manager/modules/restapi/interface/definition/src/main/resources/rsdl_metadata.yaml
index ae491c9..527af30 100644
--- 
a/backend/manager/modules/restapi/interface/definition/src/main/resources/rsdl_metadata.yaml
+++ 
b/backend/manager/modules/restapi/interface/definition/src/main/resources/rsdl_metadata.yaml
@@ -84,6 +84,7 @@
           vm.origin: xs:string
           vm.os.kernel: xs:string
           vm.tunnel_migration: xs:boolean
+          vm.migration_downtime: xs:int
           vm.virtio_scsi.enabled: xs:boolean
           vm.payloads.payload--COLLECTION: {payload.type: 'xs:string', 
payload.volume_id: 'xs:string', payload.files.file--COLLECTION: {file.name: 
'xs:string', file.content: 'xs:string'}}
           vm.cpu.cpu_tune.vcpu_pin--COLLECTION: {vcpu_pin.vcpu: 'xs:int', 
vcpu_pin.cpu_set: 'xs:string'}
@@ -156,6 +157,7 @@
           vm.os.kernel: xs:string
           vm.disks.clone: xs:boolean
           vm.tunnel_migration: xs:boolean
+          vm.migration_downtime: xs:int
           vm.virtio_scsi.enabled: xs:boolean
           vm.payloads.payload--COLLECTION: {payload.type: 'xs:string', 
payload.volume_id: 'xs:string', payload.files.file--COLLECTION: {file.name: 
'xs:string', file.content: 'xs:string'}}
           vm.initialization.configuration.type: 'xs:string'
@@ -201,6 +203,7 @@
           vm.origin: xs:string
           vm.os.kernel: xs:string
           vm.tunnel_migration: xs:boolean
+          vm.migration_downtime: xs:int
           vm.virtio_scsi.enabled: xs:boolean
           vm.payloads.payload--COLLECTION: {payload.type: 'xs:string', 
payload.volume_id: 'xs:string', payload.files.file--COLLECTION: {file.name: 
'xs:string', file.content: 'xs:string'}}
           vm.cpu.cpu_tune.vcpu_pin--COLLECTION: {vcpu_pin.vcpu: 'xs:int', 
vcpu_pin.cpu_set: 'xs:string'}
@@ -243,6 +246,7 @@
                 vm.os.kernel: xs:string
                 vm.disks.clone: xs:boolean
                 vm.tunnel_migration: xs:boolean
+                vm.migration_downtime: xs:int
                 vm.virtio_scsi.enabled: xs:boolean
                 vm.payloads.payload--COLLECTION: {payload.type: 'xs:string', 
payload.volume_id: 'xs:string', payload.files.file--COLLECTION: {file.name: 
'xs:string', file.content: 'xs:string'}}
                 vm.initialization.configuration.type: 'xs:string'
@@ -3214,6 +3218,7 @@
           template.usb.enabled: xs:boolean
           template.usb.type: xs:string
           template.tunnel_migration: xs:boolean
+          template.migration_downtime: xs:int
           template.virtio_scsi.enabled: xs:boolean
         description: update the specified template in the system
     urlparams: {}
@@ -3260,6 +3265,7 @@
           template.usb.enabled: xs:boolean
           template.usb.type: xs:string
           template.tunnel_migration: xs:boolean
+          template.migration_downtime: xs:int
           template.virtio_scsi.enabled: xs:boolean
           template.vm.disks.disk--COLLECTION: {disk.id: 'xs:string', 
storage_domains.storage_domain--COLLECTION: {storage_domain.id: 'xs:string'}}
           template.permissions.clone: xs:boolean
diff --git 
a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/TemplateMapper.java
 
b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/TemplateMapper.java
index 0a3c8d5..0146056 100644
--- 
a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/TemplateMapper.java
+++ 
b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/TemplateMapper.java
@@ -149,6 +149,9 @@
         if (model.isSetTunnelMigration()) {
             entity.setTunnelMigration(model.isTunnelMigration());
         }
+        if (model.isSetMigrationDowntime()) {
+            entity.setMigrationDowntime(model.getMigrationDowntime());
+        }
         return entity;
     }
 
@@ -260,6 +263,9 @@
         if (model.isSetTunnelMigration()) {
             staticVm.setTunnelMigration(model.isTunnelMigration());
         }
+        if (model.isSetMigrationDowntime()) {
+            staticVm.setMigrationDowntime(model.getMigrationDowntime());
+        }
         return staticVm;
     }
 
@@ -345,6 +351,8 @@
         }
         model.setTimezone(entity.getTimeZone());
         model.setTunnelMigration(entity.getTunnelMigration());
+        model.setMigrationDowntime(entity.getMigrationDowntime());
+
         return model;
     }
 
diff --git 
a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/VmMapper.java
 
b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/VmMapper.java
index 412d10b..defe52f 100644
--- 
a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/VmMapper.java
+++ 
b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/VmMapper.java
@@ -116,6 +116,7 @@
         staticVm.setUsbPolicy(entity.getUsbPolicy());
         staticVm.setTunnelMigration(entity.getTunnelMigration());
         staticVm.setVncKeyboardLayout(entity.getVncKeyboardLayout());
+        staticVm.setMigrationDowntime(entity.getMigrationDowntime());
         return staticVm;
     }
 
@@ -264,6 +265,9 @@
         }
         if (vm.isSetTunnelMigration()) {
             staticVm.setTunnelMigration(vm.isTunnelMigration());
+        }
+        if (vm.isSetMigrationDowntime()) {
+            staticVm.setMigrationDowntime(vm.getMigrationDowntime());
         }
         return staticVm;
     }
@@ -482,6 +486,7 @@
             model.setQuota(quota);
         }
         model.setTunnelMigration(entity.getTunnelMigration());
+        model.setMigrationDowntime(entity.getMigrationDowntime());
         return model;
     }
 
diff --git 
a/backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/TemplateMapperTest.java
 
b/backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/TemplateMapperTest.java
index d206616..eb4aa87 100644
--- 
a/backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/TemplateMapperTest.java
+++ 
b/backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/TemplateMapperTest.java
@@ -79,5 +79,6 @@
         assertEquals(model.getDisplay().isSmartcardEnabled(), 
transform.getDisplay().isSmartcardEnabled());
         assertEquals(model.isDeleteProtected(), transform.isDeleteProtected());
         assertEquals(model.isTunnelMigration(), transform.isTunnelMigration());
+        assertEquals(model.getMigrationDowntime(), 
transform.getMigrationDowntime());
     }
 }
diff --git 
a/backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/VmMapperTest.java
 
b/backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/VmMapperTest.java
index 25bbb38..d002278 100644
--- 
a/backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/VmMapperTest.java
+++ 
b/backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/VmMapperTest.java
@@ -135,6 +135,7 @@
         assertEquals(model.getDisplay().getKeyboardLayout(), 
transform.getDisplay().getKeyboardLayout());
         assertEquals(model.isDeleteProtected(), transform.isDeleteProtected());
         assertEquals(model.isTunnelMigration(), transform.isTunnelMigration());
+        assertEquals(model.getMigrationDowntime(), 
transform.getMigrationDowntime());
     }
 
     @Test


-- 
To view, visit http://gerrit.ovirt.org/23140
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I53eaecc790d8805f55417f7eb74095001a325140
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Martin Betak <mbe...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to