@@ -4482,6 +4482,7 @@ class VmPlugin(kvmagent.KvmAgent):
44824482 KVM_DETACH_VOLUME = "/vm/detachdatavolume"
44834483 KVM_MIGRATE_VM_PATH = "/vm/migrate"
44844484 KVM_BLOCK_LIVE_MIGRATION_PATH = "/vm/blklivemigration"
4485+ KVM_VM_CHECK_VOLUME_PATH = "/vm/volume/check"
44854486 KVM_TAKE_VOLUME_SNAPSHOT_PATH = "/vm/volume/takesnapshot"
44864487 KVM_TAKE_VOLUME_BACKUP_PATH = "/vm/volume/takebackup"
44874488 KVM_BLOCK_STREAM_VOLUME_PATH = "/vm/volume/blockstream"
@@ -5100,7 +5101,6 @@ def stop_vm(self, req):
51005101 rsp = StopVmResponse ()
51015102 try :
51025103 self ._record_operation (cmd .uuid , self .VM_OP_STOP )
5103-
51045104 self ._stop_vm (cmd )
51055105 logger .debug ("successfully stopped vm[uuid:%s]" % cmd .uuid )
51065106 except kvmagent .KvmError as e :
@@ -5237,6 +5237,17 @@ def migrate_vm(self, req):
52375237
52385238 return jsonobject .dumps (rsp )
52395239
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+
52405251 def _get_new_disk (self , oldDisk , volume ):
52415252 def filebased_volume (_v ):
52425253 disk = etree .Element ('disk' , {'type' : 'file' , 'device' : 'disk' , 'snapshot' : 'external' })
@@ -6937,6 +6948,7 @@ def start(self):
69376948 http_server .register_async_uri (self .KVM_DETACH_ISO_PATH , self .detach_iso )
69386949 http_server .register_async_uri (self .KVM_MIGRATE_VM_PATH , self .migrate_vm )
69396950 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 )
69406952 http_server .register_async_uri (self .KVM_TAKE_VOLUME_SNAPSHOT_PATH , self .take_volume_snapshot )
69416953 http_server .register_async_uri (self .KVM_TAKE_VOLUME_BACKUP_PATH , self .take_volume_backup , cmd = TakeVolumeBackupCommand ())
69426954 http_server .register_async_uri (self .KVM_TAKE_VOLUMES_SNAPSHOT_PATH , self .take_volumes_snapshots )
0 commit comments