本文整理汇总了Python中ovs.dal.hybrids.vmachine.VMachine.delete方法的典型用法代码示例。如果您正苦于以下问题:Python VMachine.delete方法的具体用法?Python VMachine.delete怎么用?Python VMachine.delete使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ovs.dal.hybrids.vmachine.VMachine
的用法示例。
在下文中一共展示了VMachine.delete方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: delete
# 需要导入模块: from ovs.dal.hybrids.vmachine import VMachine [as 别名]
# 或者: from ovs.dal.hybrids.vmachine.VMachine import delete [as 别名]
def delete(machineguid):
"""
Delete a vmachine
@param machineguid: guid of the machine
"""
machine = VMachine(machineguid)
storagedriver_mountpoint, storagedriver_storage_ip = None, None
try:
storagedriver = [storagedriver for storagedriver in machine.vpool.storagedrivers if storagedriver.storagerouter.pmachine_guid == machine.pmachine_guid][0]
storagedriver_mountpoint = storagedriver.mountpoint
storagedriver_storage_ip = storagedriver.storage_ip
except Exception as ex:
VMachineController._logger.debug('No mountpoint info could be retrieved. Reason: {0}'.format(str(ex)))
storagedriver_mountpoint = None
disks_info = []
for vd in machine.vdisks:
for storagedriver in vd.vpool.storagedrivers:
if storagedriver.storagerouter.pmachine_guid == machine.pmachine_guid:
disks_info.append((storagedriver.mountpoint, vd.devicename))
if machine.pmachine: # Allow hypervisor id node, lookup strategy is hypervisor dependent
try:
hypervisor_id = machine.hypervisor_id
if machine.pmachine.hvtype == 'KVM':
hypervisor_id = machine.name # On KVM we can lookup the machine by name, not by id
hv = Factory.get(machine.pmachine)
hv.delete_vm(hypervisor_id, storagedriver_mountpoint, storagedriver_storage_ip, machine.devicename, disks_info, True)
except Exception as exception:
VMachineController._logger.error('Deletion of vm on hypervisor failed: {0}'.format(str(exception)), print_msg=True)
for disk in machine.vdisks:
VMachineController._logger.debug('Deleting disk {0} with guid: {1}'.format(disk.name, disk.guid))
for junction in disk.mds_services:
junction.delete()
disk.delete()
VMachineController._logger.debug('Deleting vmachine {0} with guid {1}'.format(machine.name, machine.guid))
machine.delete()