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