@@ -4482,6 +4482,7 @@ class VmPlugin(kvmagent.KvmAgent):
4482
4482
KVM_DETACH_VOLUME = "/vm/detachdatavolume"
4483
4483
KVM_MIGRATE_VM_PATH = "/vm/migrate"
4484
4484
KVM_BLOCK_LIVE_MIGRATION_PATH = "/vm/blklivemigration"
4485
+ KVM_VM_CHECK_VOLUME_PATH = "/vm/volume/check"
4485
4486
KVM_TAKE_VOLUME_SNAPSHOT_PATH = "/vm/volume/takesnapshot"
4486
4487
KVM_TAKE_VOLUME_BACKUP_PATH = "/vm/volume/takebackup"
4487
4488
KVM_BLOCK_STREAM_VOLUME_PATH = "/vm/volume/blockstream"
@@ -5100,7 +5101,6 @@ def stop_vm(self, req):
5100
5101
rsp = StopVmResponse ()
5101
5102
try :
5102
5103
self ._record_operation (cmd .uuid , self .VM_OP_STOP )
5103
-
5104
5104
self ._stop_vm (cmd )
5105
5105
logger .debug ("successfully stopped vm[uuid:%s]" % cmd .uuid )
5106
5106
except kvmagent .KvmError as e :
@@ -5237,6 +5237,17 @@ def migrate_vm(self, req):
5237
5237
5238
5238
return jsonobject .dumps (rsp )
5239
5239
5240
+ @kvmagent .replyerror
5241
+ def check_volume (self , req ):
5242
+ cmd = jsonobject .loads (req [http .REQUEST_BODY ])
5243
+ rsp = kvmagent .AgentResponse ()
5244
+
5245
+ vm = get_vm_by_uuid (cmd .uuid )
5246
+ for volume in cmd .volumes :
5247
+ vm ._get_target_disk (volume )
5248
+
5249
+ return jsonobject .dumps (rsp )
5250
+
5240
5251
def _get_new_disk (self , oldDisk , volume ):
5241
5252
def filebased_volume (_v ):
5242
5253
disk = etree .Element ('disk' , {'type' : 'file' , 'device' : 'disk' , 'snapshot' : 'external' })
@@ -6937,6 +6948,7 @@ def start(self):
6937
6948
http_server .register_async_uri (self .KVM_DETACH_ISO_PATH , self .detach_iso )
6938
6949
http_server .register_async_uri (self .KVM_MIGRATE_VM_PATH , self .migrate_vm )
6939
6950
http_server .register_async_uri (self .KVM_BLOCK_LIVE_MIGRATION_PATH , self .block_migrate_vm )
6951
+ http_server .register_async_uri (self .KVM_VM_CHECK_VOLUME_PATH , self .check_volume )
6940
6952
http_server .register_async_uri (self .KVM_TAKE_VOLUME_SNAPSHOT_PATH , self .take_volume_snapshot )
6941
6953
http_server .register_async_uri (self .KVM_TAKE_VOLUME_BACKUP_PATH , self .take_volume_backup , cmd = TakeVolumeBackupCommand ())
6942
6954
http_server .register_async_uri (self .KVM_TAKE_VOLUMES_SNAPSHOT_PATH , self .take_volumes_snapshots )
0 commit comments