[vbox-dev] Help with sessions

Nikolay Igotti nikolay.igotti at oracle.com
Tue Oct 26 18:29:44 GMT 2010


        Lucas,


  Snapshot operations could be expensive, depending on your storage 
hardware and current IO activity.  Probably faster hardware may help here.

   Nikolay.



26.10.2010 2:44, Lucas Charles ?????:
> Hi Nikolay,
>
>
> Thank you very much for sorting this out, now it's solved.
> What I actually didn't get was that I had to close the session after 
> openRemoteSession. (My bad)
>
> I just had one question, it seems to me that using snapshot (Either 
> restore the snapshot or start from a saved one) can be really 
> expensive if I have modifications on the harddrive.. It takes 
> something like 5-10 seconds to recover form a snapshot that has been 
> done after an install of a few package in an Ubuntu guest.
>
> - Does it make any sense ?
>
> Lucas
>
> On Mon, Oct 25, 2010 at 4:46 PM, Nikolay Igotti 
> <nikolay.igotti at oracle.com <mailto:nikolay.igotti at oracle.com>> wrote:
>
>      Hi Lucas,
>
>
>
>     Lucas Charles wrote:
>
>         Thanks also for reminding me the change of the API, I also
>         remember that there should be an xpcom-like API for java in
>         the next version.
>
>     Yes, but look and feel of both WS and XPCOM API shall be the same,
>     and you can use pretty much the same Java code for both.
>
>         I understood that openRemoteSession is used to start a vm and
>         I used this call to open several vms.
>         The problem is how to access this session once it has been opened.
>
>     To create a session object you may want to use getSessionObject().
>     Complete example can be found in
>     src/VBox/Main/webservice/samples/java/jax-ws/clienttest.java which
>     is also shipped with SDK.
>
>
>
>         Up to know I passed the same session object to every open
>         remote session call, which is apparently wrong.
>         I tried to reused this session object to command the
>         snapshots, and it apparently failed. I understood that a
>         session is
>         linked to one machine, so it makes sense that I cannot reuse
>         them everywhere.
>
>     Yes, you need one session per machine. See my getSessionObject()
>     remark above.
>
>
>
>         I saw in some threads in the mailing list that I could create
>         one IWebsessionManager to start all the vms and then
>         create one IWesessionManager per machine started to create new
>         session objects. Is it really the right thing to do, since the
>         IVirtualbox is a singleton.
>
>     You need different managers if you maintain connection to multiple
>     VirtualBox hosts, if you all your VMs run on the same host/port
>     there is no need for multiple managers.
>
>      Nikolay
>
>
>
>         On Mon, Oct 25, 2010 at 11:14 AM, Nikolay Igotti
>         <nikolay.igotti at oracle.com <mailto:nikolay.igotti at oracle.com>
>         <mailto:nikolay.igotti at oracle.com
>         <mailto:nikolay.igotti at oracle.com>>> wrote:
>
>               Hi Lucas,
>
>
>            First of all, please keep in mind that for next major release
>            there will be significant rework of both session API and
>            the way it's accessed from Java. Having said that, with 3.x
>             approach, which is, indeed not very straightforward,
>            openRemoteSession() API is just a way start a new VM, so
>         it's not
>            possible to use one remote session to start several VMs -
>            you have to openRemoteSession() for every VM you want to start.
>            Please refer to SDK documentation, and vboxshell.py TUI example
>            (while in Python, patterns of API usage is the same).
>
>
>            Hope that will help,
>              Nikolay
>
>
>            Lucas Charles wrote:
>
>                Hello everyone,
>
>                I'm stuck with a problem related to the sdk for java-ws.
>                I want to manage several machines on a given host from
>         my java
>                client.
>
>                I need to start vms Take snapshots of the one I started at
>                given intervals.
>                After a new boot I need to restore the machines to their
>                latest snapshot.
>                Start them and redo snapshots.
>
>                The problem I'm facing is how to open sessions.
>
>                Yet I'm starting the vms by calling
>                ------
>
>                IWebsessionManager mgr;
>
>                IVirtualBox vbox
>
>                mgr = new IWebsessionManager("http://localhost:18083");
>
>                vbox = mgr.logon("", "");
>
>                ISession session = mgr.getSessionObject(vbox);
>
>                IProgress prog = vbox.openRemoteSession(session,
>                machineToStart.getId(), "gui", "");
>
>                prog.waitForCompletion(-1);
>
>                -----
>
>                Isn't it a problem to call openRemoteSession with the
>         session
>                I got from IWebSessionManager::getSessiontObject() ?
>                Because I then use only one session to start several vms.
>
>                My next question is when I want to take snapshots of every
>                machines I have in charge.
>
>                Which session object should I use to get the IConsole ?
>                Can/Must I reuse the one I used upon calling
>                openRemoteSession() ? Reusing seems to work, if I
>         control only
>                one machine but fails with more than one.
>
>                Best Regard,
>                Lucas Charles
>              
>          ------------------------------------------------------------------------
>
>                _______________________________________________
>                vbox-dev mailing list
>         vbox-dev at virtualbox.org <mailto:vbox-dev at virtualbox.org>
>         <mailto:vbox-dev at virtualbox.org <mailto:vbox-dev at virtualbox.org>>
>
>         http://vbox.innotek.de/mailman/listinfo/vbox-dev
>
>
>
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.virtualbox.org/pipermail/vbox-dev/attachments/20101026/f5fc4564/attachment.html>


More information about the vbox-dev mailing list