コード例 #1
0
ファイル: test_vm.py プロジェクト: markredman/vcdriver
def test_virtual_machine_destroy_vm_on(wait_for_vcenter_task, connection):
    vm = VirtualMachine()
    vm_object_mock = mock.MagicMock()
    vm.__setattr__('_vm_object', vm_object_mock)
    vm.destroy()
    vm.destroy()
    assert vm.__getattribute__('_vm_object') is None
    assert wait_for_vcenter_task.call_count == 2
コード例 #2
0
ファイル: test_vm.py プロジェクト: markredman/vcdriver
def test_virtual_machine_destroy_vm_off(wait_for_vcenter_task, connection):
    vm = VirtualMachine()
    vm_object_mock = mock.MagicMock()
    vm.__setattr__('_vm_object', vm_object_mock)
    wait_for_vcenter_task.side_effect = [vim.fault.InvalidPowerState, None]
    vm.destroy()
    vm.destroy()
    assert vm.__getattribute__('_vm_object') is None
    assert wait_for_vcenter_task.call_count == 2
コード例 #3
0
ファイル: folder.py プロジェクト: matthooper1/vcdriver
def destroy_virtual_machines(folder_name, timeout=600):
    """
    Destroy all the virtual machines in the folder with the given name
    :param folder_name: The folder name
    :param timeout: The timeout for vcenter tasks in seconds

    :return: A list with the destroyed vms
    """
    folder = get_vcenter_object_by_name(connection(), vim.Folder, folder_name)
    destroyed_vms = []
    for entity in folder.childEntity:
        if isinstance(entity, vim.VirtualMachine):
            vm = VirtualMachine(name=entity.summary.config.name,
                                timeout=timeout)
            vm.__setattr__('_vm_object', entity)
            vm.destroy()
            destroyed_vms.append(vm)
    return destroyed_vms