Esempio n. 1
0
 def __init__(self, interface=None):
     if isinstance(interface, Interface):
         import virtualbox 
         manager = virtualbox.Manager()
         self._i = manager.cast_object(interface, self.__class__)._i
     else:
         self._i = interface
Esempio n. 2
0
 def __init__(self, interface=None, manager=None):
     if interface is not None:
         super(ISession, self).__init__(interface)
     elif manager is not None:
         self._i = manager.get_session()._i
     else:
         manager = virtualbox.Manager()
         self._i = manager.get_session()._i
Esempio n. 3
0
 def __init__(self, image, name, arch, release):
     self.image = image
     self.name = name
     self.arch = arch
     self.release = release
     self.vbox = virtualbox.VirtualBox()
     manager = virtualbox.Manager()
     self.session = manager.get_session()
Esempio n. 4
0
    def update_guest_additions(self, source=None, arguments=None, flags=None):
        if arguments is None:
            arguments = []
        if flags is None:
            flags = [library.AdditionsUpdateFlag.none]
        if source is None:
            manager = virtualbox.Manager()
            source = os.path.join(manager.bin_path, "VBoxGuestAdditions.iso")
        if not os.path.exists(source):
            raise IOError("ISO path '%s' not found" % source)

        return super(IGuest, self).update_guest_additions(source, arguments, flags)
Esempio n. 5
0
    def update_guest_additions(self,
                               source=None,
                               arguments=[],
                               flags=[library.AdditionsUpdateFlag.none]):
        if source is None:
            manager = virtualbox.Manager()
            source = os.path.join(manager.bin_path, "VBoxGuestAdditions.iso")
        if not os.path.exists(source):
            raise IOError("ISO path '%s' not found" % source)

        #BUG:doesn't take "arguments" as specified in xidl
        #super(IGuest, self).update_guest_additions(source, arguments, flags)
        p = self._call('updateGuestAdditions', in_p=[source, flags])
        p = library.IProgress(p)
        return p
Esempio n. 6
0
    def __init__(self): 

        # vboxapi.VirtualBoxManager
        self.manager = virtualbox.Manager().manager

        #IVrtualBox
        self.vbox = self.manager.vbox

        # IHost
        self.host = self.manager.vbox.host

        self.ctx = {
            'manager':       self.manager,
            'vbox':          self.manager.vbox,
            'host':          self.manager.vbox.host,
        }
Esempio n. 7
0
    def __init__(self, interface=None, manager=None):
        if interface is not None:
            super(IVirtualBox, self).__init__(interface)
        elif manager is not None:
            self._i = manager.get_virtualbox()._i
        else:
            manager = virtualbox.Manager()
            self._i = manager.get_virtualbox()._i

        this_version = ".".join(self.version.split('.')[0:2])
        build_version = ".".join(self.version.split(library.vbox_version)[0:2])
        if IVirtualBox.assert_version and this_version == build_version:
            msg = ("pyvbox built against version %s != "
                   "installed VirtualBox version %s.\n"
                   "Set vbox.VirtualBox.assert_version = False to "
                   "disable the version check assertion") % (this_version,
                                                             build_version)
            raise EnvironmentError(msg)
Esempio n. 8
0
import subprocess as subprocess
import virtualbox
import shlex
import os

vbox = virtualbox.VirtualBox()
vmanager = virtualbox.Manager()
vm = [m.name for m in vbox.machines]
states = [m.state for m in vbox.machines]
################# list of VMs
print(vm)
################# States: 5=FirstOnline , 1=PoweredOff
print(states)
################# run machine
machine = vbox.machines[0]
session = vmanager.get_session()
progress = machine.launch_vm_process(session, "gui", [])
progress.wait_for_completion()
################# shutdown machine
session.console.power_down()
################# delete machine
machine = vbox.machines[2]
machine.remove("delete=true")
################# clone machine
machine.clone(snapshot_name_or_id=None,
              mode=virtualbox.library.CloneMode.machine_state,
              options=[],
              name="VM2",
              uuid=None,
              groups=[],
              basefolder='D:/Cloud/123',